diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index a01fd495a..41d74ad94 100644 --- a/locale/sources/administration.pot +++ b/locale/sources/administration.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -548,260 +548,276 @@ msgstr "" msgid "Odoo static files are located in each module's :file:`static/` folder, so static files can be served by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module (and file) in the various addons paths." msgstr "" -#: ../../content/administration/install/deploy.rst:443 -msgid "Say Odoo has been installed via the **debian packages** for Community and Enterprise and the :option:`--addons-path ` is ``'/usr/lib/python3/dist-packages/odoo/addons'``." +#: ../../content/administration/install/deploy.rst:442 +msgid "It is recommended to set the ``Content-Security-Policy: default-src 'none'`` header on all images delivered by the web server. It is not strictly necessary as users cannot modify/inject content inside of modules' :file:`static/` folder and existing images are final (they do not fetch new resources by themselves). However, it is good practice." msgstr "" -#: ../../content/administration/install/deploy.rst:446 -#: ../../content/administration/install/deploy.rst:468 -msgid "Using the above NGINX (https) configuration, the following location block should be added to serve static files via NGINX." +#: ../../content/administration/install/deploy.rst:447 +msgid "Using the above NGINX (https) configuration, the following ``map`` and ``location`` blocks should be added to serve static files via NGINX." msgstr "" -#: ../../content/administration/install/deploy.rst:463 -msgid "Say Odoo has been installed via the **source**. The two git repositories for Community and Enterprise have been cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise` respectively and the :option:`--addons-path ` is ``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``." +#: ../../content/administration/install/deploy.rst:474 +msgid "The actual ``root`` and ``try_files`` directives are dependant on your installation, specifically on your :option:`--addons-path `." msgstr "" -#: ../../content/administration/install/deploy.rst:485 -msgid "The actual NGINX configuration you need is highly dependent on your own installation. The two above snippets only highlight two possible configurations and may not be used as-is." +#: ../../content/administration/install/deploy.rst:481 +msgid "Debian package" msgstr "" -#: ../../content/administration/install/deploy.rst:489 -msgid "Serving attachments" +#: ../../content/administration/install/deploy.rst:483 +msgid "Say Odoo has been installed via the **debian packages** for Community and Enterprise, and that the :option:`--addons-path ` is ``'/usr/lib/python3/dist-packages/odoo/addons'``." msgstr "" -#: ../../content/administration/install/deploy.rst:491 -msgid "Attachments are files stored in the filestore which access is regulated by Odoo. They cannot be directly accessed via a static web server as accessing them requires multiple lookups in the database to determine where the files are stored and whether the current user can access them or not." +#: ../../content/administration/install/deploy.rst:487 +#: ../../content/administration/install/deploy.rst:501 +msgid "The ``root`` and ``try_files`` should be:" +msgstr "" + +#: ../../content/administration/install/deploy.rst:494 +msgid "Git sources" msgstr "" #: ../../content/administration/install/deploy.rst:496 +msgid "Say Odoo has been installed via the **sources**, that both the Community and Enterprise git repositories were cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise` respectively, and that the :option:`--addons-path ` is ``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``." +msgstr "" + +#: ../../content/administration/install/deploy.rst:509 +msgid "Serving attachments" +msgstr "" + +#: ../../content/administration/install/deploy.rst:511 +msgid "Attachments are files stored in the filestore which access is regulated by Odoo. They cannot be directly accessed via a static web server as accessing them requires multiple lookups in the database to determine where the files are stored and whether the current user can access them or not." +msgstr "" + +#: ../../content/administration/install/deploy.rst:516 msgid "Nevertheless, once the file has been located and the access rights verified by Odoo, it is a good idea to serve the file using the static web server instead of Odoo. For Odoo to delegate serving files to the static web server, the `X-Sendfile `_ (apache) or `X-Accel `_ (nginx) extensions must be enabled and configured on the static web server. Once it is set up, start Odoo with the :option:`--x-sendfile ` CLI flag (this unique flag is used for both X-Sendfile and X-Accel)." msgstr "" -#: ../../content/administration/install/deploy.rst:506 +#: ../../content/administration/install/deploy.rst:526 msgid "The X-Sendfile extension for apache (and compatible web servers) does not require any supplementary configuration." msgstr "" -#: ../../content/administration/install/deploy.rst:508 +#: ../../content/administration/install/deploy.rst:528 msgid "The X-Accel extension for NGINX **does** require the following additionnal configuration:" msgstr "" -#: ../../content/administration/install/deploy.rst:517 +#: ../../content/administration/install/deploy.rst:537 msgid "In case you don't know what is the path to your filestore, start Odoo with the :option:`--x-sendfile ` option and navigate to the ``/web/filestore`` URL directly via Odoo (don't navigate to the URL via NGINX). This logs a warnings, the message contains the configuration you need." msgstr "" -#: ../../content/administration/install/deploy.rst:526 +#: ../../content/administration/install/deploy.rst:546 msgid "Security" msgstr "" -#: ../../content/administration/install/deploy.rst:528 +#: ../../content/administration/install/deploy.rst:548 msgid "For starters, keep in mind that securing an information system is a continuous process, not a one-shot operation. At any moment, you will only be as secure as the weakest link in your environment." msgstr "" -#: ../../content/administration/install/deploy.rst:532 +#: ../../content/administration/install/deploy.rst:552 msgid "So please do not take this section as the ultimate list of measures that will prevent all security problems. It's only intended as a summary of the first important things you should be sure to include in your security action plan. The rest will come from best security practices for your operating system and distribution, best practices in terms of users, passwords, and access control management, etc." msgstr "" -#: ../../content/administration/install/deploy.rst:538 +#: ../../content/administration/install/deploy.rst:558 msgid "When deploying an internet-facing server, please be sure to consider the following security-related topics:" msgstr "" -#: ../../content/administration/install/deploy.rst:541 +#: ../../content/administration/install/deploy.rst:561 msgid "Always set a strong super-admin admin password, and restrict access to the database management pages as soon as the system is set up. See :ref:`db_manager_security`." msgstr "" -#: ../../content/administration/install/deploy.rst:544 +#: ../../content/administration/install/deploy.rst:564 msgid "Choose unique logins and strong passwords for all administrator accounts on all databases. Do not use 'admin' as the login. Do not use those logins for day-to-day operations, only for controlling/managing the installation. *Never* use any default passwords like admin/admin, even for test/staging databases." msgstr "" -#: ../../content/administration/install/deploy.rst:549 +#: ../../content/administration/install/deploy.rst:569 msgid "Do **not** install demo data on internet-facing servers. Databases with demo data contain default logins and passwords that can be used to get into your systems and cause significant trouble, even on staging/dev systems." msgstr "" -#: ../../content/administration/install/deploy.rst:553 +#: ../../content/administration/install/deploy.rst:573 msgid "Use appropriate database filters ( :option:`--db-filter `) to restrict the visibility of your databases according to the hostname. See :ref:`db_filter`. You may also use :option:`-d ` to provide your own (comma-separated) list of available databases to filter from, instead of letting the system fetch them all from the database backend." msgstr "" -#: ../../content/administration/install/deploy.rst:560 +#: ../../content/administration/install/deploy.rst:580 msgid "Once your ``db_name`` and ``db_filter`` are configured and only match a single database per hostname, you should set ``list_db`` configuration option to ``False``, to prevent listing databases entirely, and to block access to the database management screens (this is also exposed as the :option:`--no-database-list ` command-line option)" msgstr "" -#: ../../content/administration/install/deploy.rst:566 +#: ../../content/administration/install/deploy.rst:586 msgid "Make sure the PostgreSQL user (:option:`--db_user `) is *not* a super-user, and that your databases are owned by a different user. For example they could be owned by the ``postgres`` super-user if you are using a dedicated non-privileged ``db_user``. See also :ref:`setup/deploy/odoo`." msgstr "" -#: ../../content/administration/install/deploy.rst:571 +#: ../../content/administration/install/deploy.rst:591 msgid "Keep installations updated by regularly installing the latest builds, either via GitHub or by downloading the latest version from https://www.odoo.com/page/download or http://nightly.odoo.com" msgstr "" -#: ../../content/administration/install/deploy.rst:575 +#: ../../content/administration/install/deploy.rst:595 msgid "Configure your server in multi-process mode with proper limits matching your typical usage (memory/CPU/timeouts). See also :ref:`builtin_server`." msgstr "" -#: ../../content/administration/install/deploy.rst:578 +#: ../../content/administration/install/deploy.rst:598 msgid "Run Odoo behind a web server providing HTTPS termination with a valid SSL certificate, in order to prevent eavesdropping on cleartext communications. SSL certificates are cheap, and many free options exist. Configure the web proxy to limit the size of requests, set appropriate timeouts, and then enable the :option:`proxy mode ` option. See also :ref:`https_proxy`." msgstr "" -#: ../../content/administration/install/deploy.rst:585 +#: ../../content/administration/install/deploy.rst:605 msgid "If you need to allow remote SSH access to your servers, make sure to set a strong password for **all** accounts, not just `root`. It is strongly recommended to entirely disable password-based authentication, and only allow public key authentication. Also consider restricting access via a VPN, allowing only trusted IPs in the firewall, and/or running a brute-force detection system such as `fail2ban` or equivalent." msgstr "" -#: ../../content/administration/install/deploy.rst:591 +#: ../../content/administration/install/deploy.rst:611 msgid "Consider installing appropriate rate-limiting on your proxy or firewall, to prevent brute-force attacks and denial of service attacks. See also :ref:`login_brute_force` for specific measures." msgstr "" -#: ../../content/administration/install/deploy.rst:595 +#: ../../content/administration/install/deploy.rst:615 msgid "Many network providers provide automatic mitigation for Distributed Denial of Service attacks (DDOS), but this is often an optional service, so you should consult with them." msgstr "" -#: ../../content/administration/install/deploy.rst:599 +#: ../../content/administration/install/deploy.rst:619 msgid "Whenever possible, host your public-facing demo/test/staging instances on different machines than the production ones. And apply the same security precautions as for production." msgstr "" -#: ../../content/administration/install/deploy.rst:603 +#: ../../content/administration/install/deploy.rst:623 msgid "If your public-facing Odoo server has access to sensitive internal network resources or services (e.g. via a private VLAN), implement appropriate firewall rules to protect those internal resources. This will ensure that the Odoo server cannot be used accidentally (or as a result of malicious user actions) to access or disrupt those internal resources. Typically this can be done by applying an outbound default DENY rule on the firewall, then only explicitly authorizing access to internal resources that the Odoo server needs to access. `Systemd IP traffic access control `_ may also be useful to implement per-process network access control." msgstr "" -#: ../../content/administration/install/deploy.rst:614 +#: ../../content/administration/install/deploy.rst:634 msgid "If your public-facing Odoo server is behind a Web Application Firewall, a load-balancer, a transparent DDoS protection service (like CloudFlare) or a similar network-level device, you may wish to avoid direct access to the Odoo system. It is generally difficult to keep the endpoint IP addresses of your Odoo servers secret. For example they can appear in web server logs when querying public systems, or in the headers of emails posted from Odoo. In such a situation you may want to configure your firewall so that the endpoints are not accessible publicly except from the specific IP addresses of your WAF, load-balancer or proxy service. Service providers like CloudFlare usually maintain a public list of their IP address ranges for this purpose." msgstr "" -#: ../../content/administration/install/deploy.rst:625 +#: ../../content/administration/install/deploy.rst:645 msgid "If you are hosting multiple customers, isolate customer data and files from each other using containers or appropriate \"jail\" techniques." msgstr "" -#: ../../content/administration/install/deploy.rst:628 +#: ../../content/administration/install/deploy.rst:648 msgid "Setup daily backups of your databases and filestore data, and copy them to a remote archiving server that is not accessible from the server itself." msgstr "" -#: ../../content/administration/install/deploy.rst:631 +#: ../../content/administration/install/deploy.rst:651 msgid "Deploying Odoo on Linux is strongly recommended over Windows. Should you choose nevertheless to deploy on a Windows platform, a thorough security hardening review of the server should be conducted and is outside of the scope of this guide." msgstr "" -#: ../../content/administration/install/deploy.rst:639 +#: ../../content/administration/install/deploy.rst:659 msgid "Blocking Brute Force Attacks" msgstr "" -#: ../../content/administration/install/deploy.rst:641 +#: ../../content/administration/install/deploy.rst:661 msgid "For internet-facing deployments, brute force attacks on user passwords are very common, and this threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt is performed, and reports the result: success or failure, along with the target login and source IP." msgstr "" -#: ../../content/administration/install/deploy.rst:645 +#: ../../content/administration/install/deploy.rst:665 msgid "The log entries will have the following form." msgstr "" -#: ../../content/administration/install/deploy.rst:647 +#: ../../content/administration/install/deploy.rst:667 msgid "Failed login::" msgstr "" -#: ../../content/administration/install/deploy.rst:651 +#: ../../content/administration/install/deploy.rst:671 msgid "Successful login::" msgstr "" -#: ../../content/administration/install/deploy.rst:656 +#: ../../content/administration/install/deploy.rst:676 msgid "These logs can be easily analyzed by an intrusion prevention system such as `fail2ban`." msgstr "" -#: ../../content/administration/install/deploy.rst:658 +#: ../../content/administration/install/deploy.rst:678 msgid "For example, the following fail2ban filter definition should match a failed login::" msgstr "" -#: ../../content/administration/install/deploy.rst:665 +#: ../../content/administration/install/deploy.rst:685 msgid "This could be used with a jail definition to block the attacking IP on HTTP(S)." msgstr "" -#: ../../content/administration/install/deploy.rst:667 +#: ../../content/administration/install/deploy.rst:687 msgid "Here is what it could look like for blocking the IP for 15 minutes when 10 failed login attempts are detected from the same IP within 1 minute::" msgstr "" -#: ../../content/administration/install/deploy.rst:681 +#: ../../content/administration/install/deploy.rst:701 msgid "Database Manager Security" msgstr "" -#: ../../content/administration/install/deploy.rst:683 +#: ../../content/administration/install/deploy.rst:703 msgid ":ref:`setup/deploy/odoo` mentioned ``admin_passwd`` in passing." msgstr "" -#: ../../content/administration/install/deploy.rst:685 +#: ../../content/administration/install/deploy.rst:705 msgid "This setting is used on all database management screens (to create, delete, dump or restore databases)." msgstr "" -#: ../../content/administration/install/deploy.rst:688 +#: ../../content/administration/install/deploy.rst:708 msgid "If the management screens must not be accessible at all, you should set ``list_db`` configuration option to ``False``, to block access to all the database selection and management screens." msgstr "" -#: ../../content/administration/install/deploy.rst:694 +#: ../../content/administration/install/deploy.rst:714 msgid "It is strongly recommended to disable the Database Manager for any internet-facing system! It is meant as a development/demo tool, to make it easy to quickly create and manage databases. It is not designed for use in production, and may even expose dangerous features to attackers. It is also not designed to handle large databases, and may trigger memory limits." msgstr "" -#: ../../content/administration/install/deploy.rst:700 +#: ../../content/administration/install/deploy.rst:720 msgid "On production systems, database management operations should always be performed by the system administrator, including provisioning of new databases and automated backups." msgstr "" -#: ../../content/administration/install/deploy.rst:703 +#: ../../content/administration/install/deploy.rst:723 msgid "Be sure to setup an appropriate ``db_name`` parameter (and optionally, ``db_filter`` too) so that the system can determine the target database for each request, otherwise users will be blocked as they won't be allowed to choose the database themselves." msgstr "" -#: ../../content/administration/install/deploy.rst:708 +#: ../../content/administration/install/deploy.rst:728 msgid "If the management screens must only be accessible from a selected set of machines, use the proxy server's features to block access to all routes starting with ``/web/database`` except (maybe) ``/web/database/selector`` which displays the database-selection screen." msgstr "" -#: ../../content/administration/install/deploy.rst:712 +#: ../../content/administration/install/deploy.rst:732 msgid "If the database-management screen should be left accessible, the ``admin_passwd`` setting must be changed from its ``admin`` default: this password is checked before allowing database-alteration operations." msgstr "" -#: ../../content/administration/install/deploy.rst:716 +#: ../../content/administration/install/deploy.rst:736 msgid "It should be stored securely, and should be generated randomly e.g." msgstr "" -#: ../../content/administration/install/deploy.rst:722 +#: ../../content/administration/install/deploy.rst:742 msgid "which will generate a 32 characters pseudorandom printable string." msgstr "" -#: ../../content/administration/install/deploy.rst:725 +#: ../../content/administration/install/deploy.rst:745 msgid "Supported Browsers" msgstr "" -#: ../../content/administration/install/deploy.rst:727 +#: ../../content/administration/install/deploy.rst:747 msgid "Odoo supports all the major desktop and mobile browsers available on the market, as long as they are supported by their publishers." msgstr "" -#: ../../content/administration/install/deploy.rst:730 +#: ../../content/administration/install/deploy.rst:750 msgid "Here are the supported browsers:" msgstr "" -#: ../../content/administration/install/deploy.rst:732 +#: ../../content/administration/install/deploy.rst:752 msgid "Google Chrome" msgstr "" -#: ../../content/administration/install/deploy.rst:733 +#: ../../content/administration/install/deploy.rst:753 msgid "Mozilla Firefox" msgstr "" -#: ../../content/administration/install/deploy.rst:734 +#: ../../content/administration/install/deploy.rst:754 msgid "Microsoft Edge" msgstr "" -#: ../../content/administration/install/deploy.rst:735 +#: ../../content/administration/install/deploy.rst:755 msgid "Apple Safari" msgstr "" -#: ../../content/administration/install/deploy.rst:737 +#: ../../content/administration/install/deploy.rst:757 msgid "Please make sure your browser is up-to-date and still supported by its publisher before filing a bug report." msgstr "" -#: ../../content/administration/install/deploy.rst:742 +#: ../../content/administration/install/deploy.rst:762 msgid "Since Odoo 13.0, ES6 is supported. Therefore, IE support is dropped." msgstr "" -#: ../../content/administration/install/deploy.rst:745 +#: ../../content/administration/install/deploy.rst:765 msgid "to have multiple Odoo installations use the same PostgreSQL database, or to provide more computing resources to both software." msgstr "" -#: ../../content/administration/install/deploy.rst:748 +#: ../../content/administration/install/deploy.rst:768 msgid "technically a tool like socat_ can be used to proxy UNIX sockets across networks, but that is mostly for software which can only be used over UNIX sockets" msgstr "" -#: ../../content/administration/install/deploy.rst:752 +#: ../../content/administration/install/deploy.rst:772 msgid "or be accessible only over an internal packet-switched network, but that requires secured switches, protections against `ARP spoofing`_ and precludes usage of WiFi. Even over secure packet-switched networks, deployment over HTTPS is recommended, and possible costs are lowered as \"self-signed\" certificates are easier to deploy on a controlled environment than over the internet." msgstr "" @@ -976,7 +992,7 @@ msgstr "" #: ../../content/administration/install/packages.rst:57 #: ../../content/administration/install/source.rst:416 -msgid "`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5 `_ for it to support headers and footers. Check out the `wkhtmltopdf wiki `_ for more details on the various versions." +msgid "`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6 `_ for it to support headers and footers. Check out the `wkhtmltopdf wiki `_ for more details on the various versions." msgstr "" #: ../../content/administration/install/packages.rst:63 @@ -3136,11 +3152,11 @@ msgid "To remove users, select them and click :guilabel:`Remove`." msgstr "" #: ../../content/administration/maintain/odoo_online.rst:132 -msgid ":doc:`../../applications/general/users/manage_users`" +msgid ":doc:`/applications/general/users/manage_users`" msgstr "" #: ../../content/administration/maintain/odoo_online.rst:133 -msgid ":doc:`../../applications/general/users/delete_account`" +msgid ":doc:`/applications/general/users/odoo_account`" msgstr "" #: ../../content/administration/maintain/on_premise.rst:3 diff --git a/locale/sources/contributing.pot b/locale/sources/contributing.pot index 0fb8073d6..2fc6ad955 100644 --- a/locale/sources/contributing.pot +++ b/locale/sources/contributing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" diff --git a/locale/sources/developer.pot b/locale/sources/developer.pot index eab866027..48f22e172 100644 --- a/locale/sources/developer.pot +++ b/locale/sources/developer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1000,7 +1000,6 @@ msgstr "" #: ../../content/developer/reference/user_interface/view_architecture.rst:2783 #: ../../content/developer/reference/user_interface/view_records.rst:10 #: ../../content/developer/reference/user_interface/view_records.rst:209 -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:5 #: ../../content/developer/tutorials/web.rst:134 #: ../../content/developer/tutorials/web.rst:1872 #: ../../content/developer/tutorials/website.rst:495 @@ -1267,27 +1266,27 @@ msgstr "" msgid "If you have a field that you do not want as a measure (i.e., in your pivot or graph views), add `store=False` to it, and it will not show." msgstr "" -#: ../../content/developer/howtos/javascript_client_action.rst:4 +#: ../../content/developer/howtos/javascript_client_action.rst:6 msgid "Create a client action" msgstr "" -#: ../../content/developer/howtos/javascript_client_action.rst:6 +#: ../../content/developer/howtos/javascript_client_action.rst:8 msgid "A client action triggers an action that is entirely implemented in the client side. One of the benefits of using a client action is the ability to create highly customized interfaces with ease. A client action is typically defined by an OWL component; we can also use the web framework and use services, core components, hooks,..." msgstr "" -#: ../../content/developer/howtos/javascript_client_action.rst:11 +#: ../../content/developer/howtos/javascript_client_action.rst:13 msgid "Create the :ref:`client action `, don't forget to make it accessible." msgstr "" -#: ../../content/developer/howtos/javascript_client_action.rst:21 +#: ../../content/developer/howtos/javascript_client_action.rst:23 msgid "Create a component that represents the client action." msgstr "" -#: ../../content/developer/howtos/javascript_client_action.rst:23 +#: ../../content/developer/howtos/javascript_client_action.rst:25 msgid ":file:`my_client_action.js`" msgstr "" -#: ../../content/developer/howtos/javascript_client_action.rst:38 +#: ../../content/developer/howtos/javascript_client_action.rst:40 msgid ":file:`my_client_action.xml`" msgstr "" @@ -3890,8 +3889,8 @@ msgid "Icon options" msgstr "" #: ../../content/developer/howtos/website_themes/setup.rst:3 -#: ../../content/developer/tutorials/discover_js_framework.rst:34 -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:28 +#: ../../content/developer/tutorials/discover_js_framework.rst:37 +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:46 msgid "Setup" msgstr "" @@ -4187,7 +4186,7 @@ msgid ":option:`--addons-path `" msgstr "" #: ../../content/developer/howtos/website_themes/setup.rst:213 -#: ../../content/developer/reference/cli.rst:793 +#: ../../content/developer/reference/cli.rst:807 msgid "Comma-separated list of directories in which modules are stored. These directories are scanned for modules." msgstr "" @@ -14087,451 +14086,463 @@ msgid "TCP port for websocket connections in multiprocessing or gevent mode, def msgstr "" #: ../../content/developer/reference/cli.rst:440 -msgid "enables the use of ``X-Forwarded-*`` headers through `Werkzeug's proxy support`_. Only enable this when running behind a trusted web proxy!" +msgid "enables the use of ``X-Forwarded-*`` headers through `Werkzeug's proxy support`_." msgstr "" -#: ../../content/developer/reference/cli.rst:444 -msgid "proxy mode *must not* be enabled outside of a reverse proxy scenario" +#: ../../content/developer/reference/cli.rst:443 +msgid "It ignores all ``X-Forwarded-*`` headers in case ``X-Forwarded-Host`` is missing from the request." msgstr "" -#: ../../content/developer/reference/cli.rst:449 -msgid "delegates serving attachments files to the static web server and sets both ``X-Sendfile`` (apache) and ``X-Accel-*`` (nginx) http headers on stream responses. See :ref:`deploy/streaming` for web server configuration." +#: ../../content/developer/reference/cli.rst:446 +msgid "It always gets the real IP from the last entry of the ``X-Forwarded-For`` chain. Configure your web server accordingly using directives such as nginx's `set_real_ip_from `_ in case there are other trusted proxies along the chain that must be ignored." msgstr "" -#: ../../content/developer/reference/cli.rst:456 -msgid "Logging" +#: ../../content/developer/reference/cli.rst:451 +msgid "``X-Forwarded-Proto`` and ``X-Forwarded-Host`` are used to update the request root URL, which in turn is used to update the ``web.base.url`` system parameter upon a successful admin authentication. This system parameter is used to generate all links for the current database; see :ref:`domain-name/web-base-url`." msgstr "" #: ../../content/developer/reference/cli.rst:458 -msgid "By default, Odoo displays all logging of level_ ``info`` except for workflow logging (``warning`` only), and log output is sent to ``stdout``. Various options are available to redirect logging to other destinations and to customize the amount of logging output." +msgid "proxy mode *must not* be enabled outside of a reverse proxy scenario" msgstr "" -#: ../../content/developer/reference/cli.rst:465 -msgid "sends logging output to the specified file instead of stdout. On Unix, the file `can be managed by external log rotation programs `_ and will automatically be reopened when replaced" +#: ../../content/developer/reference/cli.rst:463 +msgid "delegates serving attachments files to the static web server and sets both ``X-Sendfile`` (apache) and ``X-Accel-*`` (nginx) http headers on stream responses. See :ref:`deploy/streaming` for web server configuration." +msgstr "" + +#: ../../content/developer/reference/cli.rst:470 +msgid "Logging" msgstr "" #: ../../content/developer/reference/cli.rst:472 -msgid "logs to the system's event logger: `syslog on unices `_ and `the Event Log on Windows `_." -msgstr "" - -#: ../../content/developer/reference/cli.rst:475 -msgid "Neither is configurable" +msgid "By default, Odoo displays all logging of level_ ``info`` except for workflow logging (``warning`` only), and log output is sent to ``stdout``. Various options are available to redirect logging to other destinations and to customize the amount of logging output." msgstr "" #: ../../content/developer/reference/cli.rst:479 -msgid "logs to the ``ir.logging`` model (``ir_logging`` table) of the specified database. The database can be the name of a database in the \"current\" PostgreSQL, or `a PostgreSQL URI`_ for e.g. log aggregation." +msgid "sends logging output to the specified file instead of stdout. On Unix, the file `can be managed by external log rotation programs `_ and will automatically be reopened when replaced" msgstr "" -#: ../../content/developer/reference/cli.rst:485 -msgid ":samp:`{LOGGER}:{LEVEL}`, enables ``LOGGER`` at the provided ``LEVEL`` e.g. ``odoo.models:DEBUG`` will enable all logging messages at or above ``DEBUG`` level in the models." +#: ../../content/developer/reference/cli.rst:486 +msgid "logs to the system's event logger: `syslog on unices `_ and `the Event Log on Windows `_." msgstr "" #: ../../content/developer/reference/cli.rst:489 -msgid "The colon ``:`` is mandatory" -msgstr "" - -#: ../../content/developer/reference/cli.rst:490 -msgid "The logger can be omitted to configure the root (default) handler" -msgstr "" - -#: ../../content/developer/reference/cli.rst:491 -msgid "If the level is omitted, the logger is set to ``INFO``" +msgid "Neither is configurable" msgstr "" #: ../../content/developer/reference/cli.rst:493 +msgid "logs to the ``ir.logging`` model (``ir_logging`` table) of the specified database. The database can be the name of a database in the \"current\" PostgreSQL, or `a PostgreSQL URI`_ for e.g. log aggregation." +msgstr "" + +#: ../../content/developer/reference/cli.rst:499 +msgid ":samp:`{LOGGER}:{LEVEL}`, enables ``LOGGER`` at the provided ``LEVEL`` e.g. ``odoo.models:DEBUG`` will enable all logging messages at or above ``DEBUG`` level in the models." +msgstr "" + +#: ../../content/developer/reference/cli.rst:503 +msgid "The colon ``:`` is mandatory" +msgstr "" + +#: ../../content/developer/reference/cli.rst:504 +msgid "The logger can be omitted to configure the root (default) handler" +msgstr "" + +#: ../../content/developer/reference/cli.rst:505 +msgid "If the level is omitted, the logger is set to ``INFO``" +msgstr "" + +#: ../../content/developer/reference/cli.rst:507 msgid "The option can be repeated to configure multiple loggers e.g." msgstr "" -#: ../../content/developer/reference/cli.rst:501 +#: ../../content/developer/reference/cli.rst:515 msgid "enables DEBUG logging of HTTP requests and responses, equivalent to ``--log-handler=odoo.http:DEBUG``" msgstr "" -#: ../../content/developer/reference/cli.rst:506 +#: ../../content/developer/reference/cli.rst:520 msgid "enables DEBUG logging of SQL querying, equivalent to ``--log-handler=odoo.sql_db:DEBUG``" msgstr "" -#: ../../content/developer/reference/cli.rst:511 +#: ../../content/developer/reference/cli.rst:525 msgid "Shortcut to more easily set predefined levels on specific loggers. \"real\" levels (``critical``, ``error``, ``warn``, ``debug``) are set on the ``odoo`` and ``werkzeug`` loggers (except for ``debug`` which is only set on ``odoo``)." msgstr "" -#: ../../content/developer/reference/cli.rst:516 +#: ../../content/developer/reference/cli.rst:530 msgid "Odoo also provides debugging pseudo-levels which apply to different sets of loggers:" msgstr "" -#: ../../content/developer/reference/cli.rst:521 +#: ../../content/developer/reference/cli.rst:535 msgid "``debug_sql``" msgstr "" -#: ../../content/developer/reference/cli.rst:520 +#: ../../content/developer/reference/cli.rst:534 msgid "sets the SQL logger to ``debug``" msgstr "" -#: ../../content/developer/reference/cli.rst:522 +#: ../../content/developer/reference/cli.rst:536 msgid "equivalent to ``--log-sql``" msgstr "" -#: ../../content/developer/reference/cli.rst:525 +#: ../../content/developer/reference/cli.rst:539 msgid "``debug_rpc``" msgstr "" -#: ../../content/developer/reference/cli.rst:524 +#: ../../content/developer/reference/cli.rst:538 msgid "sets the ``odoo`` and HTTP request loggers to ``debug``" msgstr "" -#: ../../content/developer/reference/cli.rst:526 +#: ../../content/developer/reference/cli.rst:540 msgid "equivalent to ``--log-level debug --log-request``" msgstr "" -#: ../../content/developer/reference/cli.rst:531 +#: ../../content/developer/reference/cli.rst:545 msgid "``debug_rpc_answer``" msgstr "" -#: ../../content/developer/reference/cli.rst:528 +#: ../../content/developer/reference/cli.rst:542 msgid "sets the ``odoo`` and HTTP request and response loggers to ``debug``" msgstr "" -#: ../../content/developer/reference/cli.rst:531 +#: ../../content/developer/reference/cli.rst:545 msgid "equivalent to ``--log-level debug --log-request --log-response``" msgstr "" -#: ../../content/developer/reference/cli.rst:535 +#: ../../content/developer/reference/cli.rst:549 msgid "In case of conflict between :option:`--log-level` and :option:`--log-handler`, the latter is used" msgstr "" -#: ../../content/developer/reference/cli.rst:541 +#: ../../content/developer/reference/cli.rst:555 msgid "Multiprocessing" msgstr "" -#: ../../content/developer/reference/cli.rst:545 +#: ../../content/developer/reference/cli.rst:559 msgid "if ``count`` is not 0 (the default), enables multiprocessing and sets up the specified number of HTTP workers (sub-processes processing HTTP and RPC requests)." msgstr "" -#: ../../content/developer/reference/cli.rst:549 +#: ../../content/developer/reference/cli.rst:563 msgid "multiprocessing mode is only available on Unix-based systems" msgstr "" -#: ../../content/developer/reference/cli.rst:551 +#: ../../content/developer/reference/cli.rst:565 msgid "A number of options allow limiting and recycling workers:" msgstr "" -#: ../../content/developer/reference/cli.rst:555 +#: ../../content/developer/reference/cli.rst:569 msgid "Number of requests a worker will process before being recycled and restarted." msgstr "" -#: ../../content/developer/reference/cli.rst:558 +#: ../../content/developer/reference/cli.rst:572 msgid "Defaults to *8196*." msgstr "" -#: ../../content/developer/reference/cli.rst:562 +#: ../../content/developer/reference/cli.rst:576 msgid "Maximum allowed virtual memory per worker in bytes. If the limit is exceeded, the worker is killed and recycled at the end of the current request." msgstr "" -#: ../../content/developer/reference/cli.rst:565 +#: ../../content/developer/reference/cli.rst:579 msgid "Defaults to *2048MiB (2048\\*1024\\*1024B)*." msgstr "" -#: ../../content/developer/reference/cli.rst:569 +#: ../../content/developer/reference/cli.rst:583 msgid "Hard limit on virtual memory in bytes, any worker exceeding the limit will be immediately killed without waiting for the end of the current request processing." msgstr "" -#: ../../content/developer/reference/cli.rst:573 +#: ../../content/developer/reference/cli.rst:587 msgid "Defaults to *2560MiB (2560\\*1024\\*1024B)*." msgstr "" -#: ../../content/developer/reference/cli.rst:577 +#: ../../content/developer/reference/cli.rst:591 msgid "Prevents the worker from using more than CPU seconds for each request. If the limit is exceeded, the worker is killed." msgstr "" -#: ../../content/developer/reference/cli.rst:580 +#: ../../content/developer/reference/cli.rst:594 msgid "Defaults to *60*." msgstr "" -#: ../../content/developer/reference/cli.rst:584 +#: ../../content/developer/reference/cli.rst:598 msgid "Prevents the worker from taking longer than seconds to process a request. If the limit is exceeded, the worker is killed." msgstr "" -#: ../../content/developer/reference/cli.rst:587 +#: ../../content/developer/reference/cli.rst:601 msgid "Differs from :option:`--limit-time-cpu` in that this is a \"wall time\" limit including e.g. SQL queries." msgstr "" -#: ../../content/developer/reference/cli.rst:590 +#: ../../content/developer/reference/cli.rst:604 msgid "Defaults to *120*." msgstr "" -#: ../../content/developer/reference/cli.rst:594 +#: ../../content/developer/reference/cli.rst:608 msgid "number of workers dedicated to :ref:`cron ` jobs. Defaults to *2*. The workers are threads in multi-threading mode and processes in multi-processing mode." msgstr "" -#: ../../content/developer/reference/cli.rst:597 +#: ../../content/developer/reference/cli.rst:611 msgid "For multi-processing mode, this is in addition to the HTTP worker processes." msgstr "" -#: ../../content/developer/reference/cli.rst:602 +#: ../../content/developer/reference/cli.rst:616 msgid "Configuration file" msgstr "" -#: ../../content/developer/reference/cli.rst:606 +#: ../../content/developer/reference/cli.rst:620 msgid "Most of the command-line options can also be specified via a configuration file. Most of the time, they use similar names with the prefix ``-`` removed and other ``-`` are replaced by ``_`` e.g. :option:`--db-template` becomes ``db_template``." msgstr "" -#: ../../content/developer/reference/cli.rst:611 +#: ../../content/developer/reference/cli.rst:625 msgid "Some conversions don't match the pattern:" msgstr "" -#: ../../content/developer/reference/cli.rst:613 +#: ../../content/developer/reference/cli.rst:627 msgid ":option:`--db-filter` becomes ``dbfilter``" msgstr "" -#: ../../content/developer/reference/cli.rst:614 +#: ../../content/developer/reference/cli.rst:628 msgid ":option:`--no-http` corresponds to the ``http_enable`` boolean" msgstr "" -#: ../../content/developer/reference/cli.rst:615 +#: ../../content/developer/reference/cli.rst:629 msgid "logging presets (all options starting with ``--log-`` except for :option:`--log-handler` and :option:`--log-db`) just add content to ``log_handler``, use that directly in the configuration file" msgstr "" -#: ../../content/developer/reference/cli.rst:618 +#: ../../content/developer/reference/cli.rst:632 msgid ":option:`--smtp` is stored as ``smtp_server``" msgstr "" -#: ../../content/developer/reference/cli.rst:619 +#: ../../content/developer/reference/cli.rst:633 msgid ":option:`--database` is stored as ``db_name``" msgstr "" -#: ../../content/developer/reference/cli.rst:620 +#: ../../content/developer/reference/cli.rst:634 msgid ":option:`--i18n-import` and :option:`--i18n-export` aren't available at all from configuration files" msgstr "" -#: ../../content/developer/reference/cli.rst:625 +#: ../../content/developer/reference/cli.rst:639 msgid "The default configuration file is :file:`{$HOME}/.odoorc` which can be overridden using :option:`--config `. Specifying :option:`--save ` will save the current configuration state back to that file. The configuration items relative to the command-line are to be specified in the section ``[options]``." msgstr "" -#: ../../content/developer/reference/cli.rst:631 +#: ../../content/developer/reference/cli.rst:645 msgid "Here is a sample file:" msgstr "" -#: ../../content/developer/reference/cli.rst:656 +#: ../../content/developer/reference/cli.rst:670 msgid "Shell" msgstr "" -#: ../../content/developer/reference/cli.rst:658 +#: ../../content/developer/reference/cli.rst:672 msgid "Odoo command-line also allows to launch odoo as a python console environment. This enables direct interaction with the :ref:`orm ` and its functionalities." msgstr "" -#: ../../content/developer/reference/cli.rst:668 +#: ../../content/developer/reference/cli.rst:682 msgid "Specify a preferred REPL to use in shell mode." msgstr "" -#: ../../content/developer/reference/cli.rst:674 +#: ../../content/developer/reference/cli.rst:688 msgid "Scaffolding" msgstr "" -#: ../../content/developer/reference/cli.rst:678 +#: ../../content/developer/reference/cli.rst:692 msgid "Scaffolding is the automated creation of a skeleton structure to simplify bootstrapping (of new modules, in the case of Odoo). While not necessary it avoids the tedium of setting up basic structures and looking up what all starting requirements are." msgstr "" -#: ../../content/developer/reference/cli.rst:683 +#: ../../content/developer/reference/cli.rst:697 msgid "Scaffolding is available via the :command:`odoo-bin scaffold` subcommand." msgstr "" -#: ../../content/developer/reference/cli.rst:691 +#: ../../content/developer/reference/cli.rst:705 msgid "the name of the module to create, may munged in various manners to generate programmatic names (e.g. module directory name, model names, …)" msgstr "" -#: ../../content/developer/reference/cli.rst:696 +#: ../../content/developer/reference/cli.rst:710 msgid "directory in which to create the new module, defaults to the current directory" msgstr "" -#: ../../content/developer/reference/cli.rst:701 +#: ../../content/developer/reference/cli.rst:715 msgid "a template directory, files are passed through jinja2_ then copied to the ``destination`` directory" msgstr "" -#: ../../content/developer/reference/cli.rst:705 +#: ../../content/developer/reference/cli.rst:719 msgid "This will create module *my_module* in directory */addons/*." msgstr "" -#: ../../content/developer/reference/cli.rst:710 +#: ../../content/developer/reference/cli.rst:724 msgid "Database Population" msgstr "" -#: ../../content/developer/reference/cli.rst:714 +#: ../../content/developer/reference/cli.rst:728 msgid "Odoo CLI supports database population features. If the feature is :ref:`implemented on a given model `, it allows automatic data generation of the model's records to test your modules in databases containing non-trivial amounts of records." msgstr "" -#: ../../content/developer/reference/cli.rst:725 +#: ../../content/developer/reference/cli.rst:739 msgid "list of models for which the database should be filled" msgstr "" -#: ../../content/developer/reference/cli.rst:729 +#: ../../content/developer/reference/cli.rst:743 msgid "population size, the actual records number depends on the model's `_populate_sizes` attribute. The generated records content is specified by the :meth:`~odoo.models._populate_factories` method of a given model (cf. the :file:`populate` folder of modules for further details)." msgstr "" -#: ../../content/developer/reference/cli.rst:734 +#: ../../content/developer/reference/cli.rst:748 msgid ":ref:`reference/performance/populate`" msgstr "" -#: ../../content/developer/reference/cli.rst:739 +#: ../../content/developer/reference/cli.rst:753 msgid "Cloc" msgstr "" -#: ../../content/developer/reference/cli.rst:743 +#: ../../content/developer/reference/cli.rst:757 msgid "Odoo Cloc is a tool to count the number of relevant lines written in Python, Javascript, CSS, SCSS, or XML. This can be used as a rough metric for pricing maintenance of extra modules." msgstr "" -#: ../../content/developer/reference/cli.rst:748 +#: ../../content/developer/reference/cli.rst:762 msgid "Command-line options" msgstr "" -#: ../../content/developer/reference/cli.rst:753 +#: ../../content/developer/reference/cli.rst:767 msgid "Process the code of all extra modules installed on the provided database, and of all server actions and computed fields manually created in the provided database." msgstr "" -#: ../../content/developer/reference/cli.rst:755 +#: ../../content/developer/reference/cli.rst:769 msgid "The :option:`--addons-path` option is required to specify the path(s) to the module folder(s)." msgstr "" -#: ../../content/developer/reference/cli.rst:758 +#: ../../content/developer/reference/cli.rst:772 msgid "If combined with :option:`--path`, the count will be that of the sum of both options' results (with possible overlaps). At least one of these two options is required to specify which code to process." msgstr "" -#: ../../content/developer/reference/cli.rst:765 +#: ../../content/developer/reference/cli.rst:779 msgid ":ref:`reference/cmdline/cloc/database-option`" msgstr "" -#: ../../content/developer/reference/cli.rst:770 +#: ../../content/developer/reference/cli.rst:784 msgid "Process the files in the provided path." msgstr "" -#: ../../content/developer/reference/cli.rst:773 +#: ../../content/developer/reference/cli.rst:787 msgid "If combined with :option:`--database`, the count will be that of the sum of both options' results (with possible overlaps). At least one of these two options is required to specify which code to process." msgstr "" -#: ../../content/developer/reference/cli.rst:780 +#: ../../content/developer/reference/cli.rst:794 msgid "Multiple paths can be provided by repeating the option." msgstr "" -#: ../../content/developer/reference/cli.rst:787 +#: ../../content/developer/reference/cli.rst:801 msgid ":ref:`reference/cmdline/cloc/path-option`" msgstr "" -#: ../../content/developer/reference/cli.rst:794 +#: ../../content/developer/reference/cli.rst:808 msgid "Required if the :option:`--database` option is used." msgstr "" -#: ../../content/developer/reference/cli.rst:799 +#: ../../content/developer/reference/cli.rst:813 msgid "Specify a configuration file to use in place of the :option:`--addons-path` option." msgstr "" -#: ../../content/developer/reference/cli.rst:808 +#: ../../content/developer/reference/cli.rst:822 msgid "Show the details of lines counted for each file." msgstr "" -#: ../../content/developer/reference/cli.rst:812 +#: ../../content/developer/reference/cli.rst:826 msgid "Processed files" msgstr "" -#: ../../content/developer/reference/cli.rst:817 +#: ../../content/developer/reference/cli.rst:831 msgid "With the :option:`--database` option" msgstr "" -#: ../../content/developer/reference/cli.rst:819 +#: ../../content/developer/reference/cli.rst:833 msgid "Odoo Cloc counts the lines in each file of extra installed modules in a given database. In addition, it counts the Python lines of server actions and custom computed fields that have been directly created in the database or imported. Finally, it counts the lines of code of Javascript, CSS, and SCSS files, and of QWeb views from imported modules." msgstr "" -#: ../../content/developer/reference/cli.rst:825 +#: ../../content/developer/reference/cli.rst:839 msgid "Some files are excluded from the count by default:" msgstr "" -#: ../../content/developer/reference/cli.rst:827 +#: ../../content/developer/reference/cli.rst:841 msgid "The manifest (:file:`__manifest__.py` or :file:`__openerp__.py`)" msgstr "" -#: ../../content/developer/reference/cli.rst:828 +#: ../../content/developer/reference/cli.rst:842 msgid "The contents of the folder :file:`static/lib`" msgstr "" -#: ../../content/developer/reference/cli.rst:829 +#: ../../content/developer/reference/cli.rst:843 msgid "The tests defined in the folder :file:`tests` and :file:`static/tests`" msgstr "" -#: ../../content/developer/reference/cli.rst:830 +#: ../../content/developer/reference/cli.rst:844 msgid "The migrations scripts defined in the folder :file:`migrations` and `upgrades`" msgstr "" -#: ../../content/developer/reference/cli.rst:831 +#: ../../content/developer/reference/cli.rst:845 msgid "The XML files declared in the ``demo`` or ``demo_xml`` sections of the manifest" msgstr "" -#: ../../content/developer/reference/cli.rst:833 +#: ../../content/developer/reference/cli.rst:847 msgid "For special cases, a list of files that should be ignored by Odoo Cloc can be defined per module. This is specified by the ``cloc_exclude`` entry of the manifest:" msgstr "" -#: ../../content/developer/reference/cli.rst:846 +#: ../../content/developer/reference/cli.rst:860 msgid "The pattern ``**/*`` can be used to ignore an entire module. This can be useful to exclude a module from maintenance service costs." msgstr "" -#: ../../content/developer/reference/cli.rst:848 +#: ../../content/developer/reference/cli.rst:862 msgid "For more information about the pattern syntax, see `glob `_." msgstr "" -#: ../../content/developer/reference/cli.rst:853 +#: ../../content/developer/reference/cli.rst:867 msgid "With the :option:`--path` option" msgstr "" -#: ../../content/developer/reference/cli.rst:855 +#: ../../content/developer/reference/cli.rst:869 msgid "This method works the same as with the :ref:`--database option ` if a manifest file is present in the given folder. Otherwise, it counts all files." msgstr "" -#: ../../content/developer/reference/cli.rst:861 +#: ../../content/developer/reference/cli.rst:875 msgid "Identifying Extra Modules" msgstr "" -#: ../../content/developer/reference/cli.rst:863 +#: ../../content/developer/reference/cli.rst:877 msgid "To distinguish between standard and extra modules, Odoo Cloc uses the following heuristic: modules that are located (real file system path, after following symbolic links) in the same parent directory as the ``base``, ``web`` or ``web_enterprise`` standard modules are considered standard. Other modules are treated as extra modules." msgstr "" -#: ../../content/developer/reference/cli.rst:870 +#: ../../content/developer/reference/cli.rst:884 #: ../../content/developer/reference/frontend/services.rst:662 msgid "Error Handling" msgstr "" -#: ../../content/developer/reference/cli.rst:872 +#: ../../content/developer/reference/cli.rst:886 msgid "Some file cannot be counted by Odoo Cloc. Those file are reported at the end of the output." msgstr "" -#: ../../content/developer/reference/cli.rst:876 +#: ../../content/developer/reference/cli.rst:890 msgid "Max file size exceeded" msgstr "" -#: ../../content/developer/reference/cli.rst:878 +#: ../../content/developer/reference/cli.rst:892 msgid "Odoo Cloc rejects any file larger than 25MB. Usually, source files are smaller than 1 MB. If a file is rejected, it may be:" msgstr "" -#: ../../content/developer/reference/cli.rst:881 +#: ../../content/developer/reference/cli.rst:895 msgid "A generated XML file that contains lots of data. It should be excluded in the manifest." msgstr "" -#: ../../content/developer/reference/cli.rst:882 +#: ../../content/developer/reference/cli.rst:896 msgid "A JavaScript library that should be placed in the :file:`static/lib` folder." msgstr "" -#: ../../content/developer/reference/cli.rst:885 +#: ../../content/developer/reference/cli.rst:899 msgid "Syntax Error" msgstr "" -#: ../../content/developer/reference/cli.rst:887 +#: ../../content/developer/reference/cli.rst:901 msgid "Odoo Cloc cannot count the lines of code of a Python file with a syntax problem. If an extra module contains such files, they should be fixed to allow the module to load. If the module works despite the presence of those files, they are probably not loaded and should therefore be removed from the module, or at least excluded in the manifest via ``cloc_exclude``." msgstr "" -#: ../../content/developer/reference/cli.rst:894 +#: ../../content/developer/reference/cli.rst:908 msgid "TSConfig Generator" msgstr "" -#: ../../content/developer/reference/cli.rst:898 +#: ../../content/developer/reference/cli.rst:912 msgid "When working on javascript, there are ways to help your editor providing you with powerful auto-completion. One of those ways is the use of a tsconfig.json file. Originally meant for typescript, editors can use its information with plain javascript also. With this config file, you will now have full auto-completion across modules." msgstr "" -#: ../../content/developer/reference/cli.rst:903 +#: ../../content/developer/reference/cli.rst:917 msgid "The command to generate this files takes as many unnamed arguments as you need. Those are relative paths to your addon directories. In the example below, we move up one folder to save the tsconfig file in the folder containing community and enterprise." msgstr "" @@ -19776,7 +19787,7 @@ msgid "a function that returns the `DOMRect` of an ancestor of the editor (can b msgstr "" #: ../../content/developer/reference/frontend/owl_components.rst:5 -msgid "Owl Components" +msgid "Owl components" msgstr "" #: ../../content/developer/reference/frontend/owl_components.rst:7 @@ -20995,51 +21006,51 @@ msgstr "" msgid "Getters and setters are supported too:" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:101 +#: ../../content/developer/reference/frontend/patching_code.rst:103 msgid "Patching a javascript class" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:103 +#: ../../content/developer/reference/frontend/patching_code.rst:105 msgid "The ``patch`` function is designed to work with anything: object or ES6 class." msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:105 +#: ../../content/developer/reference/frontend/patching_code.rst:107 msgid "However, since javascript classes work with the prototypal inheritance, when one wishes to patch a standard method from a class, then we actually need to patch the `prototype`:" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:127 +#: ../../content/developer/reference/frontend/patching_code.rst:129 msgid "Also, Javascript handles the constructor in a special native way which makes it impossible to be patched. The only workaround is to call a method in the original constructor and patch that method instead:" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:151 +#: ../../content/developer/reference/frontend/patching_code.rst:153 msgid "It is impossible to patch directly the `constructor` of a class!" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:154 +#: ../../content/developer/reference/frontend/patching_code.rst:156 msgid "Patching a component" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:156 +#: ../../content/developer/reference/frontend/patching_code.rst:158 msgid "Components are defined by javascript classes, so all the information above still holds. For these reasons, Owl components should use the `setup` method, so they can easily be patched as well (see the section on :ref:`best practices`)." msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:169 +#: ../../content/developer/reference/frontend/patching_code.rst:171 msgid "Removing a patch" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:171 +#: ../../content/developer/reference/frontend/patching_code.rst:173 msgid "The `patch` function returns its counterpart. This is mostly useful for testing purposes, when we patch something at the beginning of a test, and unpatch it at the end." msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:182 +#: ../../content/developer/reference/frontend/patching_code.rst:184 msgid "Applying the same patch to multiple objects" msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:184 +#: ../../content/developer/reference/frontend/patching_code.rst:186 msgid "It could happen that one wants to apply the same patch to multiple objects but because of the way the `super` keyword works, the `extension` can only be used for patching once and cannot be copied/cloned (`check the documentation of the keyword `_). A function returning the object used to patch can be used to make it unique." msgstr "" -#: ../../content/developer/reference/frontend/patching_code.rst:217 +#: ../../content/developer/reference/frontend/patching_code.rst:219 msgid "If an `extension` is based on another then the two extensions should be applied separately. Do not copy/clone an extension." msgstr "" @@ -22062,8 +22073,8 @@ msgid "Returns the sub registry associated with the `subcategory`. If it does no msgstr "" #: ../../content/developer/reference/frontend/registries.rst:108 -#: ../../content/developer/tutorials/discover_js_framework.rst:42 -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:36 +#: ../../content/developer/tutorials/discover_js_framework.rst:46 +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:55 msgid "Content" msgstr "" @@ -22230,6 +22241,7 @@ msgstr "" #: ../../content/developer/reference/frontend/registries.rst:244 #: ../../content/developer/reference/frontend/services.rst:548 #: ../../content/developer/reference/frontend/services.rst:579 +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:294 msgid "For example:" msgstr "" @@ -22282,6 +22294,7 @@ msgid "Services are long lived pieces of code that provide a feature. They may b msgstr "" #: ../../content/developer/reference/frontend/services.rst:15 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:86 msgid "The following example registers a simple service that displays a notification every 5 seconds:" msgstr "" @@ -30873,49 +30886,49 @@ msgid "It can be necessary to `initialize the database ` tutorial before proceeding with this one." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework.rst:36 -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:30 -msgid "Clone the `official Odoo tutorials repository `_ and switch to the branch `17.0`." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework.rst:38 -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:32 -msgid "Add the cloned repository to the :option:`--addons-path `." +#: ../../content/developer/tutorials/discover_js_framework.rst:31 +msgid "Each chapter of this tutorial is an independant project. If you feel comfortable with Owl, you can start directly with chapter 2." msgstr "" #: ../../content/developer/tutorials/discover_js_framework.rst:39 -msgid "Start a new Odoo database and install the modules `owl_playground` and `awesome_tshirt`." +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:48 +msgid "Clone the `official Odoo tutorials repository `_ and switch to the branch `17.0`." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework.rst:44 +#: ../../content/developer/tutorials/discover_js_framework.rst:41 +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:50 +msgid "Add the cloned repository to your :option:`--addons-path `." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework.rst:42 +msgid "Start a new Odoo database and install the modules `awesome_owl` (for chapter 1) and `awesome_dashboard` (for chapter 2)." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework.rst:48 msgid ":doc:`discover_js_framework/01_owl_components`" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework.rst:45 -msgid ":doc:`discover_js_framework/02_web_framework`" +#: ../../content/developer/tutorials/discover_js_framework.rst:49 +msgid ":doc:`discover_js_framework/02_build_a_dashboard`" msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:3 -msgid "Chapter 1: Owl Components" +msgid "Chapter 1: Owl components" msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:5 @@ -30927,551 +30940,919 @@ msgid "In Owl, every part of user interface is managed by a component: they hold msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:13 -msgid "Before getting into the exercises, make sure you have followed all the steps described in this :ref:`tutorial introduction `." +msgid "To get started, you need a running Odoo server and a development environment setup. Before getting into the exercises, make sure you have followed all the steps described in this :ref:`tutorial introduction `." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:18 -msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_. It is recommended to try to solve them first without looking at the solution!" -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:24 msgid "If you use Chrome as your web browser, you can install the `Owl Devtools` extension. This extension provides many features to help you understand and profile any Owl application." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:27 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:21 msgid "`Video: How to use the DevTools `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:29 -msgid "In this chapter, we use the `owl_playground` addon, which provides a simplified environment that only contains Owl and a few other files. The goal is to learn Owl itself, without relying on Odoo web client code. To get started, open the `/owl_playground/playground` route with your browser: it should display an Owl component with the text *hello world*." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:23 +msgid "In this chapter, we use the `awesome_owl` addon, which provides a simplified environment that only contains Owl and a few other files. The goal is to learn Owl itself, without relying on Odoo web client code. To get started, open the `/awesome_owl` route with your browser: it should display an Owl component with the text *hello world*." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:35 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:30 +msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_. It is recommended to try to solve them first without looking at the solution!" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:36 msgid "Example: a `Counter` component" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:37 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:38 msgid "First, let us have a look at a simple example. The `Counter` component shown below is a component that maintains an internal number value, displays it, and updates it whenever the user clicks on the button." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:57 -msgid "The `Counter` component specifies the name of the template to render. The template is written in XML and defines a part of user interface:" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:58 +msgid "The `Counter` component specifies the name of a template that represents its html. It is written in XML using the QWeb language:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:71 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:72 msgid "1. Displaying a counter" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:73 -msgid "As a first exercise, let us implement a counter in the `Playground` component located in :file:`owl_playground/static/src/`. To see the result, you can go to the `/owl_playground/playground` route with your browser." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:77 +msgid "As a first exercise, let us modify the `Playground` component located in :file:`awesome_owl/static/src/` to turn it into a counter. To see the result, you can go to the `/awesome_owl` route with your browser." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:79 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:82 msgid "Modify :file:`playground.js` so that it acts as a counter like in the example above. You will need to use the `useState hook `_ so that the component is re-rendered whenever any part of the state object that has been read by this component is modified." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:83 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:86 msgid "In the same component, create an `increment` method." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:84 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:87 msgid "Modify the template in :file:`playground.xml` so that it displays your counter variable. Use `t-esc `_ to output the data." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:86 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:89 msgid "Add a button in the template and specify a `t-on-click `_ attribute in the button to trigger the `increment` method whenever the button is clicked." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:95 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:94 msgid "The Odoo JavaScript files downloaded by the browser are minified. For debugging purpose, it's easier when the files are not minified. Switch to :ref:`debug mode with assets ` so that the files are not minified." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:100 -msgid "2. Extract counter in a component" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:98 +msgid "This exercise showcases an important feature of Owl: the `reactivity system `_. The `useState` function wraps a value in a proxy so Owl can keep track of which component needs which part of the state, so it can be updated whenever a value has been changed. Try removing the `useState` function and see what happens." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:102 -msgid "For now we have the logic of a counter in the `Playground` component, let us see how to create a `sub-component `_ from it." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:104 +msgid "2. Extract `Counter` in a sub component" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:107 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:106 +msgid "For now we have the logic of a counter in the `Playground` component, but it is not reusable. Let us see how to create a `sub-component `_ from it:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:109 msgid "Extract the counter code from the `Playground` component into a new `Counter` component." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:108 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:110 msgid "You can do it in the same file first, but once it's done, update your code to move the `Counter` in its own folder and file. Import it relatively from `./counter/counter`. Make sure the template is in its own file, with the same name." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:113 -msgid "Don't forget :code:`/** @odoo-module **/` in your JavaScript files. More information on this can be found :ref:`here `." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:117 -msgid "3. A todo component" +msgid "Add two counters in your playground." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:119 -msgid "We will create new components in :file:`owl_playground/static/src/` to keep track of a list of todos. This will be done incrementally in multiple exercises that will introduce various concepts." +msgid "By convention, most components code, template and css should have the same snake-cased name as the component. For example, if we have a `TodoList` component, its code should be in `todo_list.js`, `todo_list.xml` and if necessary, `todo_list.scss`" msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:124 -msgid "Create a `Todo` component that receive a `todo` object in `props `_, and display it. It should show something like **3. buy milk**." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:127 -msgid "Add the Bootstrap classes `text-muted` and `text-decoration-line-through` on the task if it is done. To do that, you can use `dynamic attributes `_." +msgid "Don't forget :code:`/** @odoo-module **/` in your JavaScript files. More information on this can be found :ref:`here `." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:130 -msgid "Modify :file:`owl_playground/static/src/playground.js` and :file:`owl_playground/static/src/playground.xml` to display your new `Todo` component with some hard-coded props to test it first." +msgid "3. A simple `Card` component" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:148 -msgid "`Owl: Dynamic class attributes `_" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:132 +msgid "Components are really the most natural way to divide a complicated user interface into multiple reusable pieces. But to make them truly useful, it is necessary to be able to communicate some information between them. Let us see how a parent component can provide information to a sub component by using attributes (most commonly known as `props `_)." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:151 -msgid "4. Props validation" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:137 +msgid "The goal of this exercise is to create a `Card` component, that takes two props: `title` and `content`. For example, here is how it could be used:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:153 -msgid "The `Todo` component has an implicit API. It expects to receive in its props the description of a todo object in a specified format: `id`, `description` and `done`. Let us make that API more explicit. We can add a props definition that will let Owl perform a validation step in `dev mode `_. You can activate the dev mode in the `App configuration `_." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:144 +msgid "The above example should produce some html using bootstrap that look like this:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:159 -msgid "It is a good practice to do props validation for every component." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:157 +msgid "Create a `Card` component" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:163 -msgid "Add `props validation `_ to the `Todo` component." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:158 +msgid "Import it in `Playground` and display a few cards in its template" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:165 -msgid "Open the :guilabel:`Console` tab of your browser's dev tools and make sure the props validation passes in dev mode, which is activated by default in `owl_playground`. The dev mode can be activated and deactivated by modifying the `dev` attribute in the in the `config` parameter of the `mount `_ function in :file:`owl_playground/static/src/main.js`." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:164 +msgid "4. Using `markup` to display html" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:170 -msgid "Remove `done` from the props and reload the page. The validation should fail." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:166 +msgid "If you used `t-esc` in the previous exercise, then you may have noticed that Owl will automatically escape its content. For example, if you try to display some html like this: `` with `this.html = \"
some content
\"\"`, the resulting output will simply display the html as a string." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:173 -msgid "5. A list of todos" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:171 +msgid "In this case, since the `Card` component may be used to display any kind of content, it makes sense to allow the user to display some html. This is done with the `t-out directive `_." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:175 -msgid "Now, let us display a list of todos instead of just one todo. For now, we can still hard-code the list." +msgid "However, displaying arbitrary content as html is dangerous, it could be used to inject malicious code, so by default, Owl will always escape a string unless it has been explicitely marked as safe with the `markup` function." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:179 +msgid "Update `Card` to use `t-out`" msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:180 -msgid "Change the code to display a list of todos instead of just one. Create a new `TodoList` component to hold the `Todo` components and use `t-foreach `_ in its template." +msgid "Update `Playground` to import `markup`, and use it on some html values" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:183 -msgid "Think about how it should be keyed with the `t-key` directive." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:181 +msgid "Make sure that you see that normal strings are always escaped, unlike markuped strings." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:190 -msgid "6. Adding a todo" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:185 +msgid "The `t-esc` directive can still be used in Owl templates. It is slightly faster than `t-out`." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:192 -msgid "So far, the todos in our list are hard-coded. Let us make it more useful by allowing the user to add a todo to the list." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:191 +msgid "5. Props validation" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:197 -msgid "Add an input above the task list with placeholder *Enter a new task*." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:198 -msgid "Add an `event handler `_ on the `keyup` event named `addTodo`." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:193 +msgid "The `Card` component has an implicit API. It expects to receive two strings in its props: the `title` and the `content`. Let us make that API more explicit. We can add a props definition that will let Owl perform a validation step in `dev mode `_. You can activate the dev mode in the `App configuration `_ (but it is activated by default on the `awesome_owl` playground)." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:200 -msgid "Implement `addTodo` to check if enter was pressed (:code:`ev.keyCode === 13`), and in that case, create a new todo with the current content of the input as the description and clear the input of all content." +msgid "It is a good practice to do props validation for every component." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:203 -msgid "Make sure the todo has a unique id. It can be just a counter that increments at each todo." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:202 +msgid "Add `props validation `_ to the `Card` component." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:204 -msgid "Wrap the todo list in a `useState` hook to let Owl know that it should update the UI when the list is modified." +msgid "Rename the `title` props into something else in the playground template, then check in the :guilabel:`Console` tab of your browser's dev tools that you can see an error." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:206 -msgid "Bonus point: don't do anything if the input is empty." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:208 +msgid "6. The sum of two `Counter`" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:217 -msgid "`Owl: Reactivity `_" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:210 +msgid "We saw in a previous exercise that `props` can be used to provide information from a parent to a child component. Now, let us see how we can communicate information in the opposite direction: in this exercise, we want to display two `Counter` components, and below them, the sum of their values. So, the parent component (`Playground`) need to be informed whenever one of the `Counter` value is changed." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:220 -msgid "7. Focusing the input" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:216 +msgid "This can be done by using a `callback prop `_: a prop that is a function meant to be called back. The child component can choose to call that function with any argument. In our case, we will simply add an optional `onChange` prop that will be called whenever the `Counter` component is incremented." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:222 -msgid "Let's see how we can access the DOM with `t-ref `_ and `useRef `_." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:221 +msgid "Add prop validation to the `Counter` component: it should accept an optional `onChange` function prop." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:223 +msgid "Update the `Counter` component to call the `onChange` prop (if it exists) whenever it is incremented." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:225 +msgid "Modify the `Playground` component to maintain a local state value (`sum`), initially set to 2, and display it in its template" msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:227 -msgid "Focus the `input` from the previous exercise when the dashboard is `mounted `_. This this should be done from the `TodoList` component." +msgid "Implement an `incrementSum` method in `Playground`" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:230 -msgid "Bonus point: extract the code into a specialized `hook `_ `useAutofocus` in a new :file:`owl_playground/utils.js` file." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:228 +msgid "Give that method as a prop to two (or more!) sub `Counter` components." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:234 -msgid "`Owl: Component lifecycle `_" -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:237 -msgid "8. Toggling todos" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:235 +msgid "There is a subtlety with callback props: they usually should be defined with the `.bind` suffix. See the `documentation `_" msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:239 -msgid "Now, let's add a new feature: mark a todo as completed. This is actually trickier than one might think. The owner of the state is not the same as the component that displays it. So, the `Todo` component needs to communicate to its parent that the todo state needs to be toggled. One classic way to do this is by using a `callback prop `_ `toggleState`." +msgid "7. A todo list" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:247 -msgid "Add an input with the attribute :code:`type=\"checkbox\"` before the id of the task, which must be checked if the state `done` is true." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:241 +msgid "Let us now discover various features of Owl by creating a todo list. We need two components: a `TodoList` component that will display a list of `TodoItem` components. The list of todos is a state that should be maintained by the `TodoList`." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:251 -msgid "QWeb does not create attributes computed with the `t-att` directive if it evaluates to a falsy value." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:245 +msgid "For this tutorial, a `todo` is an object that contains three values: an `id` (number), a `description` (string) and a flag `isCompleted` (boolean):" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:252 +msgid "Create a `TodoList` and a `TodoItem` components" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:253 +msgid "The `TodoItem` component should receive a `todo` as a prop, and display its `id` and `description` in a `div`." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:254 -msgid "Add a callback props `toggleState`." +msgid "For now, hardcode the list of todos:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:255 -msgid "Add a `click` event handler on the input in the `Todo` component and make sure it calls the `toggleState` function with the todo id." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:261 +msgid "Use `t-foreach `_ to display each todo in a `TodoItem`" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:257 -msgid "Make it work!" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:262 +msgid "Display a `TodoList` in the playground" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:264 -msgid "9. Deleting todos" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:263 +msgid "Add props validation to `TodoItem`" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:266 -msgid "The final touch is to let the user delete a todo." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:268 +msgid "Note that the `t-foreach` directive is not exactly the same in Owl as the QWeb python implementation: it requires a `t-key` unique value, so Owl can properly reconciliate each element." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:270 -msgid "Add a new callback prop `removeTodo`." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:273 +msgid "Since the `TodoList` and `TodoItem` components are so tightly coupled, it makes sense to put them in the same folder" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:271 -msgid "Insert :code:`` in the template of the `Todo` component." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:277 +msgid "8. Use dynamic attributes" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:272 -msgid "Whenever the user clicks on it, it should call the `removeTodo` method." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:279 +msgid "For now, the `TodoItem` component does not visually show if the `todo` is completed. Let us do that by using a `dynamic attributes `_." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:275 -msgid "If you're using an array to store your todo list, you can use the JavaScript `splice` function to remove a todo from it." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:282 +msgid "Add the Bootstrap classes `text-muted` and `text-decoration-line-through` on the `TodoItem` root element if it is completed." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:284 +msgid "Change the hardcoded `todo` value to check that it is properly displayed." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:286 +msgid "Even though the directive is named `t-att` (for attribute), it can be used to set a `class` value (and html properties such as the `value` of an input)." msgstr "" #: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:294 -msgid "10. Generic card with slots" +msgid "Owl let you combine static class values with dynamic values. The following example will work as expected:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:296 -msgid "Owl has a powerful `slot `_ system to allow you to write generic components. This is useful to factorize the common layout between different parts of the interface." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:300 +msgid "See also: `Owl: Dynamic class attributes `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:301 -msgid "Insert a new `Card` component between the `Counter` and `Todolist` components. Use the following Bootstrap HTML structure for the card:" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:303 +msgid "9. Adding a todo" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:318 -msgid "This component should have two slots: one slot for the title, and one for the content (the default slot). It should be possible to use the `Card` component as follows:" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:305 +msgid "So far, the todos in our list are hard-coded. Let us make it more useful by allowing the user to add a todo to the list." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:329 -msgid "Bonus point: if the `title` slot is not given, the `h5` should not be rendered at all." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:308 +msgid "Remove the hardcoded values in the `TodoList` component" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:336 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:314 +msgid "Add an input above the task list with placeholder *Enter a new task*." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:315 +msgid "Add an `event handler `_ on the `keyup` event named `addTodo`." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:317 +msgid "Implement `addTodo` to check if enter was pressed (:code:`ev.keyCode === 13`), and in that case, create a new todo with the current content of the input as the description and clear the input of all content." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:320 +msgid "Make sure the todo has a unique id. It can be just a counter that increments at each todo." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:321 +msgid "Bonus point: don't do anything if the input is empty." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:328 +msgid "`Owl: Reactivity `_" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:331 +msgid "Theory: Component lifecycle and hooks" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:333 +msgid "So far, we have seen one example of a hook function: `useState`. A `hook `_ is a special function that *hook into* the internals of the component. In the case of `useState`, it generates a proxy object linked to the current component. This is why hook functions have to be called in the `setup` method, and no later!" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:383 +msgid "An Owl component goes through a lot of phases: it can be instantiated, rendered, mounted, updated, detached, destroyed, ... This is the `component lifecycle `_. The figure above show the most important events in the life of a component (hooks are shown in purple). Roughly speaking, a component is created, then updated (potentially many times), then is destroyed." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:388 +msgid "Owl provides a variety of built-in `hooks functions `_. All of them have to be called in the `setup` function. For example, if you want to execute some code when your component is mounted, you can use the `onMounted` hook:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:402 +msgid "All hook functions start with `use` or `on`. For example: `useState` or `onMounted`." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:406 +msgid "10. Focusing the input" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:408 +msgid "Let's see how we can access the DOM with `t-ref `_ and `useRef `_. The main idea is that you need to mark the target element in the component template with a `t-ref`:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:416 +msgid "Then you can access it in the JS with the `useRef hook `_. However, there is a problem if you think about it: the actual html element for a component does not exist when the component is created. It only exists when the component is mounted. But hooks have to be called in the `setup` method. So, `useRef` return an object that contains a `el` (for element) key that is only defined when the component is mounted." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:433 +msgid "Focus the `input` from the previous exercise. This this should be done from the `TodoList` component (note that there is a `focus` method on the input html element)." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:435 +msgid "Bonus point: extract the code into a specialized `hook `_ `useAutofocus` in a new :file:`awesome_owl/utils.js` file." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:443 +msgid "Refs are usually suffixed by `Ref` to make it obvious that they are special objects:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:450 +msgid "11. Toggling todos" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:452 +msgid "Now, let's add a new feature: mark a todo as completed. This is actually trickier than one might think. The owner of the state is not the same as the component that displays it. So, the `TodoItem` component needs to communicate to its parent that the todo state needs to be toggled. One classic way to do this is by using a `callback prop `_ `toggleState`." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:458 +msgid "Add an input with the attribute :code:`type=\"checkbox\"` before the id of the task, which must be checked if the state `isCompleted` is true." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:462 +msgid "Owl does not create attributes computed with the `t-att` directive if it evaluates to a falsy value." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:465 +msgid "Add a callback props `toggleState` to `TodoItem`." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:466 +msgid "Add a `click` event handler on the input in the `TodoItem` component and make sure it calls the `toggleState` function with the todo id." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:468 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:481 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:279 +msgid "Make it work!" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:474 +msgid "12. Deleting todos" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:476 +msgid "The final touch is to let the user delete a todo." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:478 +msgid "Add a new callback prop `removeTodo` in `TodoItem`." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:479 +msgid "Insert :code:`` in the template of the `TodoItem` component." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:480 +msgid "Whenever the user clicks on it, it should call the `removeTodo` method." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:484 +msgid "If you're using an array to store your todo list, you can use the JavaScript `splice` function to remove a todo from it." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:502 +msgid "13. Generic `Card` with slots" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:504 +msgid "In a :ref:`previous exercise `, we built a simple `Card` component. But it is honestly quite limited. What if we want to display some arbitrary content inside a card, such as a sub component? Well, it does not work, since the content of the card is described by a string. It would however be very convenient if we could describe the content as a piece of template." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:510 +msgid "This is exactly what Owl `slot `_ system is designed for: allowing to write generic components." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:513 +msgid "Let us modify the `Card` component to use slots:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:515 +msgid "Remove the `content` prop" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:516 +msgid "Use the default slot to define the body" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:517 +msgid "Insert a few cards with arbitrary content, such as a `Counter` component" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:518 +msgid "(bonus) Add prop validation" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:524 msgid "`Bootstrap: documentation on cards `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:339 -msgid "11. Extensive props validation" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:527 +msgid "14. Minimizing card content" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:343 -msgid "Add prop validation on the `Card` component." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:529 +msgid "Finally, let's add a feature to the `Card` component, to make it more interesting: we want a button to toggle its content (show it or hide it)" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:344 -msgid "Try to express in the props validation system that it requires a `default` slot, and an optional `title` slot." +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:532 +msgid "Add a state to the `Card` component to track if it is open (the default) or not" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:3 -msgid "Chapter 2: Odoo Web Framework" +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:533 +msgid "Add a `t-if` in the template to conditionally render the content" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:5 +#: ../../content/developer/tutorials/discover_js_framework/01_owl_components.rst:534 +msgid "Add a button in the header, and modify the code to flip the state when the button is clicked" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:3 +msgid "Chapter 2: Build a dashboard" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:5 msgid "The first part of this tutorial introduced you to most of Owl ideas. It is now time to learn about the Odoo JavaScript framework in its entirety, as used by the web client." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:23 -msgid "For this chapter, we will start from the empty dashboard provided by the `awesome_tshirt` addon. We will progressively add features to it, using the Odoo JavaScript framework." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:23 +msgid "To get started, you need a running Odoo server and a development environment setup. Before getting into the exercises, make sure you have followed all the steps described in this :ref:`tutorial introduction `. For this chapter, we will start from the empty dashboard provided by the `awesome_dashboard` addon. We will progressively add features to it, using the Odoo JavaScript framework." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:26 -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:39 -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:22 -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:31 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:29 +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:14 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:25 +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:15 msgid "Goal" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:33 -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:46 -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:29 -msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:36 +msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:38 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:41 msgid "1. A new Layout" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:40 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:43 msgid "Most screens in the Odoo web client uses a common layout: a control panel on top, with some buttons, and a main content zone just below. This is done using the `Layout component `_, available in `@web/search/layout`." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:46 -msgid "Update the `AwesomeDashboard` component located in :file:`awesome_tshirt/static/src/` to use the `Layout` component. You can use :code:`{controlPanel: { \"top-right\": false, \"bottom-right\": false } }` for the `display` props of the `Layout` component." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:47 +msgid "Update the `AwesomeDashboard` component located in :file:`awesome_dashboard/static/src/` to use the `Layout` component. You can use :code:`{controlPanel: {} }` for the `display` props of the `Layout` component." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:51 -msgid "Open http://localhost:8069/web, then open the :guilabel:`Awesome T-Shirts` app, and see the result." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:51 +msgid "Add a `className` prop to `Layout`: `className=\"'o_dashboard h-100'\"`" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:59 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:52 +msgid "Add a `dashboard.scss` file in which you set the background-color of `.o_dashboard` to gray (or your favorite color)" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:55 +msgid "Open http://localhost:8069/web, then open the :guilabel:`Awesome Dashboard` app, and see the result." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:63 msgid "`Example: use of Layout in client action `_ and `template `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:62 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:66 msgid "`Example: use of Layout in kanban view `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:66 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:72 +msgid "Theory: Services" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:74 +msgid "In practice, every component (except the root component) may be destroyed at any time and replaced (or not) with another component. This means that each component internal state is not persistent. This is fine in many cases, but there certainly are situations where we want to keep some data around. For example, all discuss messages should not be reloaded every time we display a channel." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:79 +msgid "Also, it may happen that we need to write some code that is not a component. Maybe something that process all barcodes, or that manages the user configuration (context, ...)." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:82 +msgid "The Odoo framework defines the idea of a :ref:`service `, which is a persistent piece of code that exports state and/or functions. Each service can depend on other services, and components can import a service." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:104 +msgid "Services can be accessed by any component. Imagine that we have a service to maintain some shared state:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:129 +msgid "Then, any component can do this:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:142 msgid "2. Add some buttons for quick navigation" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:68 -msgid "Let us now use the action service for an easy access to the common views in Odoo." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:144 +msgid "One important service provided by Odoo is the `action` service: it can execute all kind of standard actions defined by Odoo. For example, here is how one component could execute an action by its xml id:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:70 -msgid ":ref:`Services ` is a notion defined by the Odoo JavaScript framework; it is a persistent piece of code that exports a state and/or functions. Each service can depend on other services, and components can import a service with the `useService()` hook." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:160 +msgid "Let us now add two buttons to our control panel:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:76 -msgid "This shows how to open the settings view from a component using the action service." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:162 +msgid "A button `Customers`, which opens a kanban view with all customers (this action already exists, so you should use `its xml id `_)." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:92 -msgid "Let us add three buttons in the control panel bottom left zone." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:166 +msgid "A button `Leads`, which opens a dynamic action on the `crm.lead` model with a list and a form view." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:94 -msgid "A button `Customers`, which opens a kanban view with all customers (this action already exists, so you should use `its xml id `_)." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:98 -msgid "A button `New Orders`, which opens a list view with all orders created in the last 7 days. Use the `Domain `_ helper class to represent the domain." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:103 -msgid "One way to represent the desired domain could be :code:`[('create_date','>=', (context_today() - datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]`" -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:106 -msgid "A button `Cancelled Order`, which opens a list of all orders created in the last 7 days, but already cancelled. Rather than defining the action twice, factorize it in a new `openOrders` method." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:114 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:172 msgid "`Example: doAction use `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:117 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:175 msgid "`Code: action service `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:121 -msgid "3. Call the server, add some statistics" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:179 +msgid "3. Add a DashboardItem" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:123 -msgid "Let's improve the dashboard by adding a few cards (see the `Card` component :ref:`made in the previous chapter `) containing a few statistics. There is a route `/awesome_tshirt/statistics` that performs some computations and returns an object containing some useful information." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:181 +msgid "Let us now improve our content." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:128 -msgid "Whenever we need to call a specific controller, we need to use the :ref:`rpc service `. It only exports a single function that perform the request: :code:`rpc(route, params, settings)`" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:183 +msgid "Create a generic `DashboardItem` component that display its default slot in a nice card layout It should take an optional `size` number props, that default to `1` The width should be hardcoded to `(18*size)rem`." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:132 -msgid "Here is a short explanation on the various arguments:" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:186 +msgid "Add a few cards in the dashboard, with no size and a size of 2." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:134 -msgid "`route` is the target route, as a string. For example `/myroute/`." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:192 +msgid "`Owl slot system `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:135 -msgid "`params` is an object that contains all data that will be given to the controller. (optional)" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:195 +msgid "4. Call the server, add some statistics" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:136 -msgid "`settings` are for advanced controls on the request. Make it silent, or using a specific xhr instance. (optional)" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:197 +msgid "Let's improve the dashboard by adding a few dashboard items to display *real* business data. The *awesome_dashboard* addon provides a `/awesome_dashboard/statistics` route that is meant to return some interesting information." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:141 -msgid "A basic request could look like this:" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:201 +msgid "To call a specific controller, we need to use the :ref:`rpc service `. It only exports a single function that perform the request: :code:`rpc(route, params, settings)`. A basic request could look like this:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:154 -msgid "Change `Dashboard` so that it uses the `rpc` service." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:215 +msgid "Update `Dashboard` so that it uses the `rpc` service." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:155 -msgid "Call the statistics route `/awesome_tshirt/statistics` in the `onWillStart` hook." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:216 +msgid "Call the statistics route `/awesome_dashboard/statistics` in the `onWillStart` hook." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:156 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:217 msgid "Display a few cards in the dashboard containing:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:158 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:219 msgid "Number of new orders this month" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:159 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:220 msgid "Total amount of new orders this month" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:160 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:221 msgid "Average amount of t-shirt by order this month" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:161 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:222 msgid "Number of cancelled orders this month" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:162 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:223 msgid "Average time for an order to go from 'new' to 'sent' or 'cancelled'" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:169 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:230 msgid "`Code: rpc service `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:170 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:231 msgid "`Example: calling a route in onWillStart `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:175 -msgid "4. Cache network calls, create a service" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:236 +msgid "5. Cache network calls, create a service" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:177 -msgid "If you open the :guilabel:`Network` tab of your browser's dev tools, you will see that the call to `/awesome_tshirt/statistics` is done every time the client action is displayed. This is because the `onWillStart` hook is called each time the `Dashboard` component is mounted. But in this case, we would prefer to do it only the first time, so we actually need to maintain some state outside of the `Dashboard` component. This is a nice use case for a service!" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:238 +msgid "If you open the :guilabel:`Network` tab of your browser's dev tools, you will see that the call to `/awesome_dashboard/statistics` is done every time the client action is displayed. This is because the `onWillStart` hook is called each time the `Dashboard` component is mounted. But in this case, we would prefer to do it only the first time, so we actually need to maintain some state outside of the `Dashboard` component. This is a nice use case for a service!" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:185 -msgid "The following example registers a simple service that displays a notification every 5 seconds." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:244 +msgid "Register and import a new `awesome_dashboard.statistics` service." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:203 -msgid "Register and import a new `awesome_tshirt.statistics` service." -msgstr "" - -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:204 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:245 msgid "It should provide a function `loadStatistics` that, once called, performs the actual rpc, and always return the same information." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:206 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:247 msgid "Use the `memoize `_ utility function from `@web/core/utils/functions` that will allow caching the statistics." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:209 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:250 msgid "Use this service in the `Dashboard` component." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:210 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:251 msgid "Check that it works as expected" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:213 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:254 msgid "`Example: simple service `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:214 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:255 msgid "`Example: service with a dependency `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:218 -msgid "5. Display a pie chart" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:259 +msgid "6. Display a pie chart" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:220 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:261 msgid "Everyone likes charts (!), so let us add a pie chart in our dashboard. It will display the proportions of t-shirts sold for each size: S/M/L/XL/XXL." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:223 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:264 msgid "For this exercise, we will use `Chart.js `_. It is the chart library used by the graph view. However, it is not loaded by default, so we will need to either add it to our assets bundle, or lazy load it. Lazy loading is usually better since our users will not have to load the chartjs code every time if they don't need it." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:229 -msgid "Load chartjs, you can use the `loadJs `_ function to load :file:`/web/static/lib/Chart/Chart.js`." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:269 +msgid "Create a `PieChart` component" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:233 -msgid "In a `Card` (from previous exercises), display a `pie chart `_ in the dashboard that displays the correct quantity for each sold t-shirts in each size (that information is available in the statistics route)." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:270 +msgid "In its `onWillStart` method, load chartjs, you can use the `loadJs `_ function to load :file:`/web/static/lib/Chart/Chart.js`." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:243 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:274 +msgid "Use the `PieChart` component in a `DashboardItem` to display a `pie chart `_ that shows the correct quantity for each sold t-shirts in each size (that information is available in the statistics route). Note that you can use the `size` property to make it look larger" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:278 +msgid "The `PieChart` component will need to render a canvas, and draw on it using `chart.js`." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:286 msgid "`Example: lazy loading a js file `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:246 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:289 msgid "`Example: rendering a chart in a component `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:251 -msgid "6. Going further" +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:294 +msgid "7. Real life update" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:253 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:296 +msgid "Since we moved the data loading in a cache, it does not ever updates. But let us say that we are looking at fast moving data, so we want to periodically (for example, every 10min) reload fresh data." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:300 +msgid "This is quite simple to implement, with a `setTimeout` or `setInterval` in the dashboard service. However, here is the tricky part: if the dashboard is currently being displayed, it should be updated immediately." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:304 +msgid "To do that, one can use a `reactive` object: it is just like the proxy returned by `useState`, but not linked to any component. A component can then do a `useState` on it to subscribe to its changes." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:309 +msgid "Update the dashboard service to reload data every 10 minutes (to test it, use 10s instead!)" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:310 +msgid "Modify it to return a `reactive `_ object. Reloading data should update the reactive object in place." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:312 +msgid "The `Dashboard` component can now use it with a `useState`" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:315 +msgid "`Documentation on reactivity `_" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:316 +msgid "`Example: Use of reactive in a service `_" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:321 +msgid "8. Lazy loading the dashboard" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:323 +msgid "Let us imagine that our dashboard is getting quite big, and is only of interest to some of our users. In that case, it could make sense to lazy load our dashboard, and all related assets, so we only pay the cost of loading the code when we actually want to look at it." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:328 +msgid "To do that, we will need to create a new bundle containing all our dashboard assets, then use the `LazyComponent` (located in `@web/core/assets`)." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:331 +msgid "Move all dashboard assets into a sub folder `/dashboard` to make it easier to add to a bundle." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:333 +msgid "Create a `awesome_dashboard.dashboard` assets bundle containing all content of the `/dashboard` folder" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:335 +msgid "Modify `dashboard.js` to register itself in the `lazy_components` registry, and not in the `action` registry." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:337 +msgid "Add in `src/` a file `dashboard_action` that import `LazyComponent` and register it to the `action` registry" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:341 +msgid "9. Making our dashboard generic" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:343 +msgid "So far, we have a nice working dashboard. But it is currently hardcoded in the dashboard template. What if we want to customize our dashboard? Maybe some users have different needs, and want to see some other data." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:347 +msgid "So, the next step is then to make our dashboard generic: instead of hardcoding its content in the template, it can just iterate over a list of dashboard items. But then, many questions comes up: how to represent a dashboard item, how to register it, what data should it receive, and so on. There are many different ways to design such a system, with different trade offs." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:353 +msgid "For this tutorial, we will say that a dashboard item is an object with the folowing structure:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:369 +msgid "The `description` value will be useful in a later exercise to show the name of items that the user can choose to add to his dashboard. The `size` number is optional, and simply describes the size of the dashboard item that will be displayed. Finally, the `props` function is optional. If not given, we will simply give the `statistics` object as data. But if it is defined, it will be used to compute specific props for the component." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:375 +msgid "The goal is to replace the content of the dashboard with the following snippet:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:386 +msgid "Note that the above example features two advanced features of Owl: dynamic components, and dynamic props." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:388 +msgid "We currently have two kinds of item components: number cards, with a title and a number, and pie cards, with some label and a pie chart." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:391 +msgid "create and implement two components: `NumberCard` and `PieChartCard`, with the corresponding props" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:392 +msgid "create a file `dashboard_items.js` in which you define and export a list of items, using `NumberCard` and `PieChartCard` to recreate our current dashboard" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:394 +msgid "import that list of items in our `Dashboard` component, add it to the component, and update the template to use a `t-foreach` like shown above" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:403 +msgid "And now, our dashboard template is generic!" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:406 +msgid "10. Making our dashboard extensible" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:408 +msgid "However, the content of our item list is still hardcoded. Let us fix that by using a registry:" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:410 +msgid "Instead of exporting a list, register all dashboard items in a `awesome_dashboard` registry" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:411 +msgid "Import all the items of the `awesome_dashboard` registry in the `Dashboard` component" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:413 +msgid "The dashboard is now easily extensible. Any other odoo addon that want to register a new item to the dashboard can just add it to the registry." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:417 +msgid "11. Add and remove dashboard items" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:419 +msgid "Let us see how we can make our dashboard customizable. To make it simple, we will save the user dashboard configuration in the local storage, so it is persistent, but we don't have to deal with the server for now." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:423 +msgid "The dashboard configuration will be saved as a list of removed item ids." +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:425 +msgid "Add a button in the control panel with a gear icon, to indicate that it is a settings button" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:426 +msgid "Clicking on that button should open a dialog" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:427 +msgid "In that dialog, we want to see a list of all existing dashboard items, each with a checkbox" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:428 +msgid "There should be a `Apply` button in the footer. Clicking on it will build a list of all item ids that are unchecked" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:430 +msgid "We want to store that value in the local storage" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:431 +msgid "And modify the `Dashboard` component to filter the current items by removing the ids of items from the configuration" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:440 +msgid "12. Going further" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:442 msgid "Here is a list of some small improvements you could try to do if you have the time:" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:257 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:444 msgid "Make sure your application can be :ref:`translated ` (with `env._t`)." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:259 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:446 msgid "Clicking on a section of the pie chart should open a list view of all orders which have the corresponding size." msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:261 -msgid "Add a SCSS file and see if you can change the background color of the dashboard action." +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:448 +msgid "Save the content of the dashboard in a user settings on the server!" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:268 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:449 +msgid "Make it responsive: in mobile mode, each card should take 100% of the width" +msgstr "" + +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:452 msgid "`Example: use of env._t function `_" msgstr "" -#: ../../content/developer/tutorials/discover_js_framework/02_web_framework.rst:271 +#: ../../content/developer/tutorials/discover_js_framework/02_build_a_dashboard.rst:455 msgid "`Code: translation code in web/ `_" msgstr "" @@ -34955,1184 +35336,1223 @@ msgid "Feel free to go to the runbot website and open the last stable version of msgstr "" #: ../../content/developer/tutorials/master_odoo_web_framework.rst:5 -msgid "Master the Odoo Web Framework" +msgid "Master the Odoo web framework" msgstr "" #: ../../content/developer/tutorials/master_odoo_web_framework.rst:13 -msgid "This tutorial is designed for those who have completed the :doc:`discover_js_framework` tutorial and are looking to deepen their knowledge of the Odoo web framework." +msgid "This tutorial is designed for those who have completed the :doc:`discover_js_framework` tutorial and are looking to deepen their knowledge of the Odoo web framework. It is organized in four independant projects, each focusing on different features of Odoo." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:16 -msgid "For this training, we will step into the shoes of the IT staff at the fictional company Awesome T-Shirt, which is dedicated to printing custom t-shirts for online customers. The Awesome T-Shirt company uses Odoo to manage orders and has created a dedicated Odoo module to manage their workflow." +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:19 +msgid "Each of these chapters can be done independantly, in any order. Also, be aware that some of them cover a lot of material, so they may be quite long." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:20 -msgid "In this tutorial, we will explore various aspects of the Odoo web framework in detail, including fields and views, notifications, command palette, and much more. This tutorial will provide you with the knowledge and skills you need to take full advantage of the Odoo web framework. So, let's get started!" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:22 +msgid "The first project is about building a `clicker game `_. While working on it, you will learn various aspects of the web framework: systray, command palette, dialogs, notifications, customizing existing components and much more." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:33 -msgid "Start a new Odoo database and install the modules `awesome_tshirt` and `awesome_gallery`." +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:26 +msgid "The second project is focused on an important category of components: fields. Field components represent the value of a field for a record, they appear in many places in the web client: in form views, obviously, but also in kanban and list views, and may even be used alone, without a view. Due to their importance, it makes sense to learn how to create and manipulate such components." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:38 -msgid ":doc:`master_odoo_web_framework/01_fields_and_views`" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:31 +msgid "In the context of the web framework, views usually refers to the javascript implementation of a component that represents one or many records, depending on a description (`ir.ui.view`). Such components are actually quite complicated and usually requires various sub systems (a renderer, a model, a controller, a arch parser, ...). In chapter 3, we create a new view from scratch to represent a list of images." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:39 -msgid ":doc:`master_odoo_web_framework/02_miscellaneous`" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:37 +msgid "Finally, the last project in chapter 4 is about customizing an existing view (a kanban view) by adding a search panel on its left. It is interesting to see how one can take existing code, and modify it to suit our needs. Also, it is a realistic project, that will feature many common issues that arises while working on Odoo." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:40 -msgid ":doc:`master_odoo_web_framework/03_custom_kanban_view`" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:51 +msgid "Start a new Odoo database and install the modules for each chapter that you want to work on: `awesome_clicker` (for chapter 1), `awesome_fields` (for chapter 2), `awesome_gallery` (for chapter 3) or `awesome_kanban` (for chapter 4)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:41 -msgid ":doc:`master_odoo_web_framework/04_creating_view_from_scratch`" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:57 +msgid ":doc:`master_odoo_web_framework/01_build_clicker_game`" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework.rst:42 -msgid ":doc:`master_odoo_web_framework/05_testing`" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:58 +msgid ":doc:`master_odoo_web_framework/02_create_gallery_view`" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:3 -msgid "Chapter 1: Fields and Views" +#: ../../content/developer/tutorials/master_odoo_web_framework.rst:59 +msgid ":doc:`master_odoo_web_framework/03_customize_kanban_view`" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:5 -msgid "In the previous chapter, we learned a range of skills, including how to create and use services, work with the Layout component, make the dashboard translatable, and lazy load a JavaScript library like Chart.js. Now, let's learn how to create new fields and views." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:3 +msgid "Chapter 1: Build a Clicker game" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:11 -msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_. It is recommended not to look at them before trying the exercises." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:5 +msgid "For this project, we will build together a `clicker game `_, completely integrated with Odoo. In this game, the goal is to accumulate a large number of clicks, and to automate the system. The interesting part is that we will use the Odoo user interface as our playground. For example, we will hide bonuses in some random parts of the web client." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:16 -msgid "Fields and views are among the most important concepts in the Odoo user interface. They are key to many important user interactions, and should therefore work perfectly. In the context of the JavaScript framework, fields are components specialized for visualizing/editing a specific field for a given record. For example, a (Python) model may define a char field, which will be represented by a field component `CharField`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:10 +msgid "To get started, you need a running Odoo server and a development environment. Before getting into the exercises, make sure you have followed all the steps described in this :ref:`tutorial introduction `." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:22 -msgid "A field component is basically just a component registered in the `fields` :ref:`registry `. The field component may define some additional static keys (metadata), such as `displayName` or `supportedTypes`, and the most important one: `extractProps`, which prepare the base props received by the `CharField`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:21 +msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:28 -msgid "Example: a simple field" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:27 +msgid "1. Create a systray item" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:30 -msgid "Let us discuss a simplified implementation of a `CharField`. First, here is the template:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:29 +msgid "To get started, we want to display a counter in the systray." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:48 -msgid "It features a readonly mode and an edit mode, which is an input with a few attributes. Now, here is the JavaScript code:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:31 +msgid "Create a `clicker_systray_item.js` (and `xml`) file with a hello world Owl component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:82 -msgid "There are a few important things to notice:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:32 +msgid "Register it to the systray registry, and make sure it is visible." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:84 -msgid "The `CharField` receives its (raw) value in props. It needs to format it before displaying it." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:33 +msgid "Update the content of the item so that it displays the following string: `Clicks: 0`, and add a button on the right to increment the value." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:85 -msgid "It receives an `update` function in its props, which is used by the field to notify the owner of the state that the value of this field has been changed. Note that the field does not (and should not) maintain a local state with its value. Whenever the change has been applied, it will come back (possibly after an onchange) by the way of the props." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:39 +msgid "And voila, we have a completely working clicker game!" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:89 -msgid "It defines an `extractProps` function. This is a step that translates generic standard props, specific to a view, to specialized props, useful to the component. This allows the component to have a better API, and may make it so that it is reusable." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:43 +msgid ":ref:`Documentation on the systray registry `" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:93 -msgid "Fields have to be registered in the `fields` registry. Once it's done, they can be used in some views (namely: `form`, `list`, `kanban`) by using the `widget` attribute." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:44 +msgid "`Example: adding a systray item to the registry `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:105 -msgid "1. An `image_preview` field" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:48 +msgid "2. Count external clicks" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:107 -msgid "Each new order on the website will be created as an `awesome_tshirt.order`. This model has a `image_url` field (of type `char`), which is currently only visible as a string. We want to be able to see the image itself in the form view." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:50 +msgid "Well, to be honest, it is not much fun yet. So let us add a new feature: we want all clicks in the user interface to count, so the user is incentivized to use Odoo as much as possible! But obviously, the intentional clicks on the main counter should still count more." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:113 -msgid "Create a new `ImagePreview` component and register it in the proper :ref:`registry `. Use the `CharField` component in your template. You can use `t-props `_ to pass props received by `ImagePreview` to `CharField`. Update the arch of the form view to use your new field by setting the `widget` attribute." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:54 +msgid "Use `useExternalListener` to listen on all clicks on `document.body`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:118 -msgid "Change the code of the `ImagePreview` component so that the image is displayed below the URL." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:55 +msgid "Each of these clicks should increase the counter value by 1." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:119 -msgid "When the field is readonly, only the image should be displayed and the URL should be hidden." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:56 +msgid "Modify the code so that each click on the counter increased the value by 10" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:122 -msgid "It is possible to solve this exercise by inheriting `CharField`, but the goal of this exercise is to create a field from scratch." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:57 +msgid "Make sure that a click on the counter does not increase the value by 11!" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:131 -msgid "`Code: CharField `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:58 +msgid "Also additional challenge: make sure the external listener capture the events, so we don't miss any clicks." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:134 -msgid "2. Improving the `image_preview` field" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:63 +msgid "`Owl documentation on useExternalListener `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:136 -msgid "We want to improve the field of the previous task to help the staff recognize orders for which some action should be done." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:64 +msgid "`MDN page on event capture `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:141 -msgid "Display a warning \"MISSING TSHIRT DESIGN\" in red if there is no image URL specified on the order." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:68 +msgid "3. Create a client action" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:147 -msgid "3. Customizing a field component" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:70 +msgid "Currently, the current user interface is quite small: it is just a systray item. We certainly need more room to display more of our game. To do that, let us create a client action. A client action is a main action, managed by the web client, that displays a component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:149 -msgid "Let's see how to use inheritance to extend an existing component." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:74 +msgid "Create a `client_action.js` (and `xml`) file, with a hello world component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:151 -msgid "There is a `is_late`, readonly, boolean field on the order model. That would be useful information to see on the list/kanban/view. Then, let us say that we want to add a red word \"Late!\" next to it whenever it is set to `true`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:75 +msgid "Register that client action in the action registry under the name `awesome_clicker.client_action`" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:157 -msgid "Create a new `LateOrderBoolean` field inheriting from `BooleanField`. The template of `LateOrderBoolean` can also :ref:`inherit ` from the `BooleanField` template." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:76 +msgid "Add a button on the systray item with the text `Open`. Clicking on it should open the client action `awesome_clicker.client_action` (use the action service to do that)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:160 -msgid "Use it in the list/kanban/form view." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:78 +msgid "To avoid disrupting employees' workflow, we prefer the client action to open within a popover rather than in fullscreen mode. Modify the `doAction` call to open it in a popover." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:161 -msgid "Modify it to add a red `Late` next to it, as requested." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:83 +msgid "You can use `target: \"new\"` in the `doAction` to open the action in a popover:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:167 -msgid "`Example: A field inheriting another `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:99 +msgid ":ref:`How to create a client action `" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:169 -msgid ":ref:`Documentation on xpath `" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:102 +msgid "4. Move the state to a service" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:172 -msgid "4. Message for some customers" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:104 +msgid "For now, our client action is just a hello world component. We want it to display our game state, but that state is currently only available in the systray item. So it means that we need to change the location of our state to make it available for all our components. This is a perfect use case for services." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:174 -msgid "Odoo form views support a `widget` API, which is like a field, but more generic. It is useful to insert arbitrary components in the form view. Let us see how we can use it." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:108 +msgid "Create a `clicker_service.js` file with the corresponding service." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:179 -msgid "For a super efficient workflow, we would like to display an alert block with specific messages depending on some conditions:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:109 +msgid "This service should export a reactive value (the number of clicks) and a few functions to update it:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:182 -msgid "If the `image_url` field is not set, it should display \"No image\"." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:122 +msgid "Access the state in both the systray item and the client action (don't forget to `useState` it). Modify the systray item to remove its own local state and use it. Also, you can remove the `+10 clicks` button." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:183 -msgid "If the `amount` of the order is higher than 100 euros, it should display \"Add promotional material\"." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:124 +msgid "Display the state in the client action, and add a `+10` clicks button in it." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:185 -msgid "Make sure that your widget is updated in real time." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:131 +msgid ":ref:`Short explanation on services `" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:188 -msgid "Try to evaluate `props.record` in the :guilabel:`Console` tab of your browser's dev tools." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:134 +msgid "5. Use a custom hook" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:195 -msgid "`Example: Using the tag in a form view `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:136 +msgid "Right now, every part of the code that will need to use our clicker service will have to import `useService` and `useState`. Since it is quite common, let us use a custom hook. It is also useful to put more emphasis on the `clicker` part, and less emphasis on the `service` part." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:198 -msgid "`Example: Implementation of a widget `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:140 +msgid "Export a `useClicker` hook." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:202 -msgid "5. Use `markup`" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:141 +msgid "Update all current uses of the clicker service to the new hook:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:204 -msgid "Let’s see how we can display raw HTML in a template. The `t-out` directive can be used for that propose. Indeed, `it generally acts like t-esc, unless the data has been marked explicitly with a markup function `_. In that case, its value is injected as HTML." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:149 +msgid "`Documentation on hooks: `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:211 -msgid "Modify the previous exercise to put the `image` and `material` words in bold." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:152 +msgid "6. Humanize the displayed value" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:212 -msgid "The warnings should be markuped, and the template should be modified to use `t-out`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:154 +msgid "We will in the future display large numbers, so let us get ready for that. There is a `humanNumber` function that format numbers in a easier to comprehend way: for example, `1234` could be formatted as `1.2k`" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:213 -msgid "Import the `markup` function from Owl and, for each message, replace it with a call of the function with the message passed as argument." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:157 +msgid "Use it to display our counters (both in the systray item and the client action)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:217 -msgid "This is an example of a safe use of `t-out`, since the string is static." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:158 +msgid "Create a `ClickValue` component that display the value." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:223 -msgid "6. Add buttons in the control panel" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:162 +msgid "Owl allows component that contains just text nodes!" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:225 -msgid "Views are among the most important components in Odoo: they allow users to interact with their data. Let us discuss how Odoo views are designed." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:169 +msgid "`definition of humanNumber function `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:228 -msgid "The power of Odoo views is that they declare how a particular screen should work with an XML document (usually named `arch`, short for architecture). This description can be extended/modified by xpaths serverside. Then, the browser loads that document, parses it (fancy word to say that it extracts the useful information), and then represents the data accordingly." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:172 +msgid "7. Add a tooltip in `ClickValue` component" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:235 -msgid "The `arch` document is view specific. Here is how a `graph` view or a `calendar` view could be defined:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:174 +msgid "With the `humanNumber` function, we actually lost some precision on our interface. Let us display the real number as a tooltip." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:251 -msgid "A view is defined in the view registry by an object with a few specific keys." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:177 +msgid "Tooltip needs an html element. Change the `ClickValue` to wrap the value in a `` element" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:253 -msgid "`type`: The (base) type of a view (for example, `form`, `list`...)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:178 +msgid "Add a dynamic `data-tooltip` attribute to display the exact value." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:254 -msgid "`display_name`: What should be displayed in the tooltip in the view switcher." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:185 +msgid "`Documentation in the tooltip service `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:255 -msgid "`icon`: Which icon to use in the view switcher." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:188 +msgid "8. Buy ClickBots" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:256 -msgid "`multiRecord`: Whether the view is supposed to manage a single record or a set of records." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:190 +msgid "Let us make our game even more interesting: once a player get to 1000 clicks for the first time, the game should unlock a new feature: the player can buy robots for 1000 clicks. These robots will generate 10 clicks every 10 seconds." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:257 -msgid "`Controller`: The component that will be used to render the view (the most important information)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:194 +msgid "Add a `level` number to our state. This is a number that will be incremented at some milestones, and open new features" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:261 -msgid "Here is a minimal `Hello` view, which does not display anything:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:196 +msgid "Add a `clickBots` number to our state. It represents the number of robots that have been purchased." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:279 -msgid "Most (or all?) Odoo views share a common architecture:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:197 +msgid "Modify the client action to display the number of click bots (only if `level >= 1`), with a `Buy` button that is enabled if `clicks >= 1000`. The `Buy` button should increment the number of clickbots by 1." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:308 -msgid "The view description can define a `props` function, which receives the standard props, and computes the base props of the concrete view. The `props` function is executed only once, and can be thought of as being some kind of factory. It is useful to parse the `arch` XML document, and to allow the view to be parameterized (for example, it can return a Renderer component that will be used as Renderer). Then, it is easy to customize the specific renderer used by a sub view." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:199 +msgid "Set a 10s interval in the service that will increment the number of clicks by `10*clickBots`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:314 -msgid "The props will be extended before being given to the Controller. In particular, the search props (domain/context/groupby) will be added." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:200 +msgid "Make sure the Buy button is disabled if the player does not have enough clicks." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:317 -msgid "Finally, the root component, commonly called the `Controller`, coordinates everything. It uses the generic `Layout` component (to add a control panel), instantiates a `Model`, and uses a `Renderer` component in the `Layout` default slot. The `Model` is tasked with loading and updating data, and the `Renderer` is supposed to handle all rendering work, along with all user interactions." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:206 +msgid "9. Refactor to a class model" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:322 -msgid "In practice, once the t-shirt order is printed, we need to print a label to put on the package. To do that, let us add a button in the order's form view's control panel, which will call a model method." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:208 +msgid "The current code is written in a somewhat functional style. But to do so, we have to export the state and all its update functions in our clicker object. As this project grows, this may become more and more complex. To make it simpler, let us split our business logic out of our service and into a class." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:326 -msgid "There is a service dedicated to calling models methods: `orm_service`, located in `core/orm_service.js`. It provides a way to call common model methods, as well as a generic `call(model, method, args, kwargs)` method." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:212 +msgid "Create a `clicker_model` file that exports a reactive class. Move all the state and update functions from the service into the model." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:345 -msgid "Create a customized form view extending the `web` form view and register it as `awesome_tshirt.order_form_view`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:217 +msgid "You can extends the ClickerModel with the `Reactive` class from :file:`@web/core/utils/reactive`. The `Reactive` class wrap the model into a reactive proxy." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:347 -msgid "Add a `js_class=\"awesome_tshirt.order_form_view\"` attribute to the arch of the form view so that Odoo will load it." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:220 +msgid "Rewrite the clicker service to instantiate and export the clicker model class." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:349 -msgid "Create a new template inheriting from the form controller template and add a \"Print Label\" button after the \"New\" button." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:224 +msgid "`Example of subclassing Reactive `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:351 -msgid "Clicking on this button should call the method `print_label` from the model `awesome_tshirt.order` with the proper id." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:227 +msgid "10. Notify when a milestone is reached" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:355 -msgid "`print_label` is a mock method; it only displays a message in the logs." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:229 +msgid "There is not much feedback that something changed when we reached 1k clicks. Let us use the `effect` service to communicate that information clearly. The problem is that our click model does not have access to services. Also, we want to keep as much as possible the UI concern out of the model. So, we can explore a new strategy for communication: event buses." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:357 -msgid "The button should not be disabled if the current order is in `create` mode (i.e., it does not exist yet)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:234 +msgid "Update the clicker model to instantiate a bus, and to trigger a `MILESTONE_1k` event when we reach 1000 clicks for the first time." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:361 -msgid "Log `this.props.resId` and `this.model.root.resId` and compare the two values before and after entering `create` mode." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:236 +msgid "Change the clicker service to listen to the same event on the model bus." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:364 -msgid "The button should be displayed as a primary button if the customer is properly set and if the task stage is `printed`. Otherwise, it should be displayed as a secondary button." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:237 +msgid "When that happens, use the `effect` service to display a rainbow man." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:366 -msgid "Bonus point: clicking twice on the button should not trigger 2 RPCs." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:238 +msgid "Add some text to explain that the user can now buy clickbots." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:372 -msgid "`Example: Extending a view (JS) `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:245 +msgid "`Owl documentation on event bus `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:374 -msgid "`Example: Extending a view (XML) `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:246 +msgid ":ref:`Documentation on effect service `" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:376 -msgid "`Example: Using a js_class attribute `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:249 +msgid "11. Add BigBots" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:379 -msgid "`Code: orm service `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:251 +msgid "Clearly, we need a way to provide the player with more choices. Let us add a new type of clickbot: `BigBots`, which are just more powerful: they provide with 100 clicks each 10s, but they cost 5000 clicks" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:380 -msgid "`Example: Using the orm service `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:254 +msgid "increment `level` when it gets to 5k (so it should be 2)" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:382 -msgid "`Code: useDebounced hook `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:255 +msgid "Update the state to keep track of bigbots" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:387 -msgid "7. Auto-reload the kanban view" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:256 +msgid "bigbots should be available at `level >=2`" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:389 -msgid "Bafien is upset: he wants to see the kanban view of the tshirt orders on his external monitor, but the view needs to be up-to-date. He is tired of clicking on the :guilabel:`refresh` icon every 30s, so he tasked you to find a way to do it automatically." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:257 +msgid "Display the corresponding information in the client action" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:393 -msgid "Just like the previous exercise, that kind of customization requires creating a new JavaScript view." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:261 +msgid "If you need to use `<` or `>` in a template as a javascript expression, be careful since it might class with the xml parser. To solve that, you can use one of the special aliases: `gt, gte, lt` or `lte`. See the `Owl documentation page on template expressions `_." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:397 -msgid "Extend the kanban view/controller to reload its data every minute." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:269 +msgid "12. Add a new type of resource: power" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:398 -msgid "Register it in the view registry, under `awesome_tshirt.autoreloadkanban`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:271 +msgid "Now, to add another scaling point, let us add a new type of resource: a power multiplier. This is a number that can be increased at `level >= 3`, and multiplies the action of the bots (so, instead of providing one click, clickbots now provide us with `multiplier` clicks)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:399 -msgid "Use it in the arch of the kanban view (with the `js_class` attribute)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:275 +msgid "increment `level` when it gets to 100k (so it should be 3)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/01_fields_and_views.rst:402 -msgid "If you use `setInterval` or something similar, make sure that it is properly canceled when your component is unmounted. Otherwise, you will introduce a memory leak." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:276 +msgid "update the state to keep track of the power (initial value is 1)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:3 -msgid "Chapter 2: Miscellaneous" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:277 +msgid "change bots to use that number as a multiplier." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:5 -msgid "In the previous task, we learned how to create fields and views. There is still much more to discover in the feature-rich Odoo web framework, so let's dive in and explore more in this chapter!" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:278 +msgid "Update the user interface to display and let the user purchase a new power level (costs: 50k)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:36 -msgid "This is the progress that we have made in discovering the JavaScript web framework at the end of :doc:`01_fields_and_views`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:284 +msgid "13. Define some random rewards" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:51 -msgid "1. Interacting with the notification system" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:286 +msgid "We want the user to obtain sometimes bonuses, to reward using Odoo." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:54 -msgid "This task depends on :doc:`the previous exercises <01_fields_and_views>`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:288 +msgid "Define a list of rewards in `click_rewards.js`. A reward is an object with: - a `description` string. - a `apply` function that take the game state in argument and can modify it. - a `minLevel` number (optional) that describes at which unlock level the bonus is available. - a `maxLevel` number (optional) that describes at which unlock level a bonus is no longer available." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:56 -msgid "After using the :guilabel:`Print Label` button for some t-shirt tasks, it is apparent that there should be some feedback that the `print_label` action is completed (or failed, for example, the printer is not connected or ran out of paper)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:323 +msgid "You can add whatever you want to that list!" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:61 -msgid "Display a :ref:`notification ` message when the action is completed successfully, and a warning if it failed." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:325 +msgid "Define a function `getReward` that will select a random reward from the list of rewards that matches the current unlock level." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:63 -msgid "If it failed, the notification should be permanent." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:327 +msgid "Extract the code that choose randomly in an array in a function `choose` that you can move to another `utils.js` file." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:70 -msgid "`Example: Using the notification service `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:330 +msgid "14. Provide a reward when opening a form view" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:74 -msgid "2. Add a systray item" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:332 +msgid "Patch the form controller. Each time a form controller is created, it should randomly decides (1% chance) if a reward should be given." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:76 -msgid "Our beloved leader wants to keep a close eye on new orders. He wants to see the number of new, unprocessed orders at all time. Let's do that with a systray item." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:334 +msgid "If the answer is yes, call a method `getReward` on the model." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:79 -msgid "A :ref:`systray ` item is an element that appears in the system tray, which is a small area located on the right-hand side of the navbar. The systray is used to display notifications and provide access to certain features." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:335 +msgid "That method should choose a reward, send a sticky notification, with a button `Collect` that will then apply the reward, and finally, it should open the `clicker` client action." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:85 -msgid "Create a systray component that connects to the statistics service we made previously." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:343 +msgid ":ref:`Documentation on patching a class `" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:86 -msgid "Use it to display the number of new orders." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:344 +msgid "`Definition of patch function `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:87 -msgid "Clicking on it should open a list view with all of those orders." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:345 +msgid "`Example of patching a class `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:88 -msgid "Bonus point: avoid making the initial RPC by adding the information to the session info. The session info is given to the web client by the server in the initial response." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:348 +msgid "15. Add commands in command palette" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:95 -msgid "`Example: Systray item `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:350 +msgid "Add a command `Open Clicker Game` to the command palette." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:96 -msgid "`Example: Adding some information to the \"session info\" `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:351 +msgid "Add another command: `Buy 1 click bot`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:98 -msgid "`Example: Reading the session information `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:358 +msgid "`Example of use of command provider registry `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:103 -msgid "3. Real life update" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:361 +msgid "16. Add yet another resource: trees" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:105 -msgid "So far, the systray item from above does not update unless the user refreshes the browser. Let us do that by calling periodically (for example, every minute) the server to reload the information." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:363 +msgid "It is now time to introduce a completely new type of resources. Here is one that should not be too controversial: trees. We will now allow the user to plant (collect?) fruit trees. A tree costs 1 million clicks, but it will provide us with fruits (either pears or cherries)." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:110 -msgid "The `tshirt` service should periodically reload its data." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:367 +msgid "Update the state to keep track of various types of trees: pear/cherries, and their fruits." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:112 -msgid "Now, the question arises: how is the systray item notified that it should re-render itself? It can be done in various ways but, for this training, we choose to use the most *declarative* approach:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:368 +msgid "Add a function that computes the total number of trees and fruits." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:117 -msgid "Modify the `tshirt` service to return a `reactive `_ object. Reloading data should update the reactive object in place." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:369 +msgid "Define a new unlock level at `clicks >= 1 000 000`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:120 -msgid "The systray item can then perform a `useState `_ on the service return value." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:370 +msgid "Update the client user interface to display the number of trees and fruits, and also, to buy trees." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:122 -msgid "This is not really necessary, but you can also *package* the calls to `useService` and `useState` in a custom hook `useStatistics`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:371 +msgid "Increment the fruit number by 1 for each tree every 30s." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:126 -msgid "`Documentation on reactivity `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:377 +msgid "17. Use a dropdown menu for the systray item" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:127 -msgid "`Example: Use of reactive in a service `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:379 +msgid "Our game starts to become interesting. But for now, the systray only displays the total number of clicks. We want to see more information: the total number of trees and fruits. Also, it would be useful to have a quick access to some commands and some more information. Let us use a dropdown menu!" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:132 -msgid "4. Add a command to the command palette" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:383 +msgid "Replace the systray item by a dropdown menu." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:134 -msgid "Now, let us see how we can interact with the command palette. The command palette is a feature that allows users to quickly access various commands and functions within the application. It is accessed by pressing `CTRL+K` in the Odoo interface." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:384 +msgid "It should display the numbers of clicks, trees, and fruits, each with a nice icon." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:140 -msgid "Modify the :ref:`image preview field ` to add a command to the command palette to open the image in a new browser tab (or window)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:385 +msgid "Clicking on it should open a dropdown menu that displays more detailed information: each types of trees and fruits." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:143 -msgid "Ensure the command is only active whenever a field preview is visible on the screen." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:387 +msgid "Also, a few dropdown items with some commands: open the clicker game, buy a clickbot, ..." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:149 -msgid "`Example: Using the useCommand hook `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:393 +msgid "18. Use a Notebook component" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:154 -msgid "5. Monkey patching a component" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:395 +msgid "We now keep track of a lot more information. Let us improve our client interface by organizing the information and features in various tabs, with the `Notebook` component:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:156 -msgid "Often, we can achieve what we want by using existing extension points that allow for customization, such as registering something in a registry. Sometimes, however, it happens that we want to modify something that has no such mechanism. In that case, we must fall back on a less safe form of customization: monkey patching. Almost everything in Odoo can be monkey patched." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:398 +msgid "Use the `Notebook` component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:161 -msgid "Bafien, our beloved leader, heard about employees performing better if they are constantly being watched. Since he cannot be there in person for each of his employees, he tasked you with updating the user interface to add a blinking red eye in the control panel. Clicking on that eye should open a dialog with the following message: \"Bafien is watching you. This interaction is recorded and may be used in legal proceedings if necessary. Do you agree to these terms?\"" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:399 +msgid "All `click` content should be displayed in one tab." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:169 -msgid ":ref:`Inherit ` the `web.Breadcrumbs` template of the `ControlPanel component `_ to add an icon next to the breadcrumbs. You might want to use the `fa-eye` or `fa-eyes` icons." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:400 +msgid "All `tree/fruits` content should be displayed in another tab." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:172 -msgid ":doc:`Patch ` the component to display the message on click by using `the dialog service `_. You can use `ConfirmationDialog `_." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:407 +msgid ":ref:`Odoo: Documentation on Notebook component `" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:177 -msgid "Add the CSS class `blink` to the element representing the eye and paste the following code in a new CSS file located in your patch's directory." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:408 +msgid "`Owl: Documentation on slots `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:206 -msgid "`Code: The patch function `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:409 +msgid "`Tests of Notebook component `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:209 -msgid "`The Font Awesome website `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:412 +msgid "19. Persist the game state" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:210 -msgid "`Example: Using the dialog service `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:414 +msgid "You certainly noticed a big flaw in our game: it is transient. The game state is lost each time the user closes the browser tab. Let us fix that. We will use the local storage to persist the state." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:215 -msgid "6. Fetching orders from a customer" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:417 +msgid "Import `browser` from :file:`@web/core/browser/browser` to access the localstorage." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:217 -msgid "Let's see how to use some standard components to build a powerful feature combining autocomplete, fetching data, and fuzzy lookup. We will add an input in our dashboard to easily search all orders from a given customer." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:418 +msgid "Serialize the state every 10s (in the same interval code) and store it on the local storage." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:223 -msgid "Update :file:`tshirt_service.js` to add a `loadCustomers` method, which returns a promise that returns the list of all customers (and only performs the call once)." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:419 +msgid "When the `clicker` service is started, it should load the state from the local storage (if any), or initialize itself otherwise." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:225 -msgid "Add the `AutoComplete component `_ to the dashboard, next to the buttons in the control panel." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:423 +msgid "20. Introduce state migration system" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:227 -msgid "Fetch the list of customers with the tshirt service, and display it in the AutoComplete component, filtered by the `fuzzyLookup `_ method." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:425 +msgid "Once you persist state somewhere, a new problem arises: what happens when you update your code, so the shape of the state changes, and the user opens its browser with a state that was created with an old version? Welcome to the world of migration issues!" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:236 -msgid "7. Reintroduce Kitten Mode" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:429 +msgid "It is probably wise to tackle the problem early. What we will do here is add a version number to the state, and introduce a system to automatically update the states if it is not up to date." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:238 -msgid "Let us add a special mode to Odoo: whenever the URL contains `kitten=1`, we will display a kitten in the background of Odoo, because we like kittens." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:432 +msgid "Add a version number to the state." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:243 -msgid "Create a `kitten` service, which should check the content of the active URL hash with the help of the :ref:`router service `. If `kitten` is set in the URL, add the class `o-kitten-mode` to the document body." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:433 +msgid "Define an (empty) list of migrations. A migration is an object with a `fromVersion` number, a `toVersion` number, and a `apply` function." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:246 -msgid "Add the following SCSS in :file:`kitten_mode.scss`:" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:434 +msgid "Whenever the code loads the state from the local storage, it should check the version number. If the state is not uptodate, it should apply all necessary migrations." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:260 -msgid "Add a command to the command palette to toggle the kitten mode. Toggling the kitten mode should toggle the class `o-kitten-mode` and update the current URL accordingly." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:438 +msgid "21. Add another type of trees" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:267 -msgid "8. Lazy loading our dashboard" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:440 +msgid "To test our migration system, let us add a new type of trees: peaches." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:269 -msgid "This is not really necessary, but the exercise is interesting. Imagine that our awesome dashboard is a large application with potentially multiple external libraries and lots of code/styles/templates. Also, suppose that the dashboard is used only by some users in some business flows. It would be interesting to lazy load it in order to speed up the loading of the web client in most cases." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:442 +msgid "Add `peach` trees." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:274 -msgid "So, let us do that!" +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:443 +msgid "Increment the state version number." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:278 -msgid "Modify the manifest to create a new :ref:`bundle ` `awesome_tshirt.dashboard`." +#: ../../content/developer/tutorials/master_odoo_web_framework/01_build_clicker_game.rst:444 +msgid "Define a migration." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:280 -msgid "Add the awesome dashboard code to this bundle. Create folders and move files if needed." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:3 +msgid "Chapter 2: Create a Gallery View" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:281 -msgid "Remove the code from the `web.assets_backend` bundle so that it is not loaded twice." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:283 -msgid "So far, we only removed the dashboard from the main bundle; we now want to lazy load it. Currently, no client action is registered in the action registry." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:288 -msgid "Create a new file :file:`dashboard_loader.js`." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:289 -msgid "Copy the code registering `AwesomeDashboard` to the dashboard loader." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:290 -msgid "Register `AwesomeDashboard` as a `LazyComponent `_." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:293 -msgid "Modify the code in the dashboard loader to use the lazy component `AwesomeDashboard`." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:295 -msgid "If you open the :guilabel:`Network` tab of your browser's dev tools, you should see that :file:`awesome_tshirt.dashboard.min.js` is now loaded only when the Dashboard is first accessed." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/02_miscellaneous.rst:299 -msgid ":ref:`Documentation on assets `" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:3 -msgid "Chapter 3: Custom kanban view" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:5 -msgid "It'd be cool to follow the naming convention of the previous chapters: \"Chapter N: The concept studied in the chapter\"" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:8 -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:6 -msgid "It is highly recommended that you complete :doc:`01_fields_and_views` before starting this chapter. The concepts introduced in Chapter 3, including views and examples, will be essential for understanding the material covered in this chapter." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:12 -msgid "We have gained an understanding of the numerous capabilities offered by the Odoo web framework. As a next step, we will customize a kanban view. This is a more complicated project that will showcase some non trivial aspects of the framework. The goal is to practice composing views, coordinating various aspects of the UI, and doing it in a maintainable way." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:17 -msgid "Bafien had the greatest idea ever: a mix of a kanban view and a list view would be perfect for your needs! In a nutshell, he wants a list of customers on the left of the task's kanban view. When you click on a customer on the left sidebar, the kanban view on the right is filtered to only display orders linked to that customer." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:34 -msgid "1. Create a new kanban view" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:36 -msgid "Since we are customizing the kanban view, let us start by extending it and using our extension in the kanban view for the tshirt orders." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:41 -msgid "Extend the kanban view by extending the kanban controller and by creating a new view object." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:42 -msgid "Register it in the views registry under `awesome_tshirt.customer_kanban`." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:43 -msgid "Update the kanban arch to use the extended view. This can be done with the `js_class` attribute." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:47 -msgid "2. Create a CustomerList component" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:49 -msgid "We will need to display a list of customers, so we might as well create the component." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:53 -msgid "Create a `CustomerList` component which only displays a `div` with some text for now." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:54 -msgid "It should have a `selectCustomer` prop." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:55 -msgid "Create a new template extending (XPath) the kanban controller template to add the `CustomerList` next to the kanban renderer. Give it an empty function as `selectCustomer` for now." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:58 -msgid "Subclass the kanban controller to add `CustomerList` in its sub-components." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:59 -msgid "Make sure you see your component in the kanban view." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:66 -msgid "3. Load and display data" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:70 -msgid "Modify the `CustomerList` component to fetch a list of all customers in `onWillStart`." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:71 -msgid "Display the list in the template with a `t-foreach`." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:72 -msgid "Whenever a customer is selected, call the `selectCustomer` function prop." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:79 -msgid "4. Update the main kanban view" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:83 -msgid "Implement `selectCustomer` in the kanban controller to add the proper domain." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:84 -msgid "Modify the template to give the real function to the `CustomerList` `selectCustomer` prop." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:86 -msgid "Since it is not trivial to interact with the search view, here is a quick snippet to help:" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:104 -msgid "5. Only display customers which have an active order" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:106 -msgid "There is a `has_active_order` field on `res.partner`. Let us allow the user to filter results on customers with an active order." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:111 -msgid "Add an input of type checkbox in the `CustomerList` component, with a label \"Active customers\" next to it." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:113 -msgid "Changing the value of the checkbox should filter the list on customers with an active order." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:120 -msgid "6. Add a search bar to the customer list" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:124 -msgid "Add an input above the customer list that allows the user to enter a string and to filter the displayed customers, according to their name." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:128 -msgid "You can use the `fuzzyLookup` function to perform the filter." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:136 -msgid "`Code: The fuzzylookup function `_" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:137 -msgid "`Example: Using fuzzyLookup `_" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:142 -msgid "7. Refactor the code to use `t-model`" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:144 -msgid "To solve the previous two exercises, it is likely that you used an event listener on the inputs. Let us see how we could do it in a more declarative way, with the `t-model `_ directive." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:150 -msgid "Make sure you have a reactive object that represents the fact that the filter is active (something like :code:`this.state = useState({ displayActiveCustomers: false, searchString: ''})`)." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:153 -msgid "Modify the code to add a getter `displayedCustomers` which returns the currently active list of customers." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:155 -msgid "Modify the template to use `t-model`." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:158 -msgid "8. Paginate customers!" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:162 -msgid "Add a :ref:`pager ` in the `CustomerList`, and only load/render the first 20 customers." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:164 -msgid "Whenever the pager is changed, the customer list should update accordingly." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/03_custom_kanban_view.rst:166 -msgid "This is actually pretty hard, in particular in combination with the filtering done in the previous exercise. There are many edge cases to take into account." -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:3 -msgid "Chapter 4: Creating a view from scratch" -msgstr "" - -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:10 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:5 msgid "Let us see how one can create a new view, completely from scratch. In a way, it is not very difficult to do, but there are no really good resources on how to do it. Note that most situations should be solved by either customizing an existing view, or with a client action." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:14 -msgid "For this exercise, let's assume that we want to create a `gallery` view, which is a view that lets us represent a set of records with an image field. In our Awesome Tshirt scenario, we would like to be able to see a set of t-shirts images." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:9 +msgid "For this exercise, let's assume that we want to create a `gallery` view, which is a view that lets us represent a set of records with an image field." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:18 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:12 msgid "The problem could certainly be solved with a kanban view, but this means that it is not possible to have our normal kanban view and the gallery view in the same action." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:21 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:15 msgid "Let us make a gallery view. Each gallery view will be defined by an `image_field` attribute in its arch:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:28 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:22 msgid "To complete the tasks in this chapter, you will need to install the awesome_gallery addon. This addon includes the necessary server files to add a new view." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:38 -msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:32 +msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:43 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:37 msgid "1. Make a hello world view" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:45 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:39 msgid "First step is to create a JavaScript implementation with a simple component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:49 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:41 msgid "Create the `gallery_view.js` , `gallery_controller.js` and `gallery_controller.xml` files in `static/src`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:51 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:43 msgid "Implement a simple hello world component in `gallery_controller.js`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:52 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:44 msgid "In `gallery_view.js`, import the controller, create a view object, and register it in the view registry under the name `gallery`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:54 -msgid "Add `gallery` as one of the view type in the orders action." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:48 +msgid "Here is an example on how to define a view object:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:55 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:65 +msgid "Add `gallery` as one of the view type in the `contacts.action_contacts` action." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:66 msgid "Make sure that you can see your hello world component when switching to the gallery view." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:64 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:75 msgid "2. Use the Layout component" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:66 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:77 msgid "So far, our gallery view does not look like a standard view. Let's use the `Layout` component to have the standard features like other views." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:71 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:80 msgid "Import the `Layout` component and add it to the `components` of `GalleryController`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:72 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:81 msgid "Update the template to use `Layout`. It needs a `display` prop, which can be found in `props.display`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:79 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:88 msgid "3. Parse the arch" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:81 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:90 msgid "For now, our gallery view does not do much. Let's start by reading the information contained in the arch of the view." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:84 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:93 msgid "The process of parsing an arch is usually done with a `ArchParser`, specific to each view. It inherits from a generic `XMLParser` class." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:89 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:98 msgid "Here is an example of what an ArchParser might look like:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:107 -msgid "Create the `ArchParser` class in its own file. It can inherit from `XMLParser` in `@web/core/utils/xml`." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:111 +msgid "Create the `ArchParser` class in its own file." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:109 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:112 msgid "Use it to read the `image_field` information." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:110 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:113 msgid "Update the `gallery` view code to add it to the props received by the controller." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:113 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:116 msgid "It is probably a little overkill to do it like that, since we basically only need to read one attribute from the arch, but it is a design that is used by every other odoo views, since it lets us extract some upfront processing out of the controller." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:118 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:121 msgid "`Example: The graph arch parser `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:122 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:125 msgid "4. Load some data" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:124 -msgid "Let us now get some real data." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:127 +msgid "Let us now get some real data from the server. For that we must use `webSearchRead` from the orm service." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:128 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:132 +msgid "Here is an example of a `webSearchRead` to get the records from a model:" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:146 msgid "Add a :code:`loadImages(domain) {...}` method to the `GalleryController`. It should perform a `webSearchRead` call from the orm service to fetch records corresponding to the domain, and use `imageField` received in props." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:131 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:149 +msgid "If you didn't include `bin_size` in the context of the call, you will receive the image field encoded in base64. Make sure to put `bin_size` in the context to receive the size of the image field. We will display the image later." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:152 msgid "Modify the `setup` code to call that method in the `onWillStart` and `onWillUpdateProps` hooks." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:133 -msgid "Modify the template to display the data inside the default slot of the `Layout` component." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:154 +msgid "Modify the template to display the id and the size of each image inside the default slot of the `Layout` component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:136 -msgid "The loading data code will be moved into a proper model in the next exercise." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:158 +msgid "The loading data code will be moved into a proper model in a next exercise." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:142 -msgid "5. Reorganize code" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:164 +msgid "5. Solve the concurrency problem" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:144 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:166 +msgid "For now, our code is not concurrency proof. If one changes the domain twice, it will trigger the `loadImages(domain)` twice. We have thus two requests that can arrive at different time depending on different factors. Receiving the response for the first request after receiving the response for the second request will lead to an inconsistent state." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:171 +msgid "The `KeepLast` primitive from Odoo solves this problem, it manages a list of tasks, and only keeps the last task active." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:174 +msgid "Import `KeepLast` from :file:`@web/core/utils/concurrency`." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:175 +msgid "Instanciate a `KeepLast` object in the model." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:176 +msgid "Add the `webSearchRead` call in the `KeepLast` so that only the last call is resolved." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:179 +msgid "`Example: usage of KeepLast `_" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:182 +msgid "6. Reorganize code" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:184 msgid "Real views are a little bit more organized. This may be overkill in this example, but it is intended to learn how to structure code in Odoo. Also, this will scale better with changing requirements." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:149 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:187 msgid "Move all the model code in its own `GalleryModel` class." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:150 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:188 msgid "Move all the rendering code in a `GalleryRenderer` component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:151 -msgid "Adapt the `GalleryController` and `gallery_view` to make it work." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:189 +msgid "Import `GalleryModel` and `GalleryRenderer` in `GalleryController` to make it work." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:154 -msgid "6. Display images" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:192 +msgid "7. Make the view extensible" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:158 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:194 +msgid "To extends the view, one could import the gallery view object to modify it to their taste. The problem is that for the moment, it is not possible to define a custom model or renderer because it is hardcoded in the controller." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:198 +msgid "Import `GalleryModel` and `GalleryRenderer` in the gallery view file." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:199 +msgid "Add a `Model` and `Renderer` key to the gallery view object and assign them to `GalleryModel` and `GalleryRenderer`. Pass `Model` and `Renderer` as props to the controller." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:201 +msgid "Remove the hardcoded import in the controller and get them from the props." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:202 +msgid "Use `t-component `_ to have dynamic sub component." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:208 +msgid "This is how someone could now extend the gallery view by modifying the renderer:" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:232 +msgid "8. Display images" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:234 msgid "Update the renderer to display images in a nice way, if the field is set. If `image_field` is empty, display an empty box instead." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:165 -msgid "7. Switch to form view on click" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:239 +msgid "There is a controller that allows to retrieve an image from a record. You can use this snippet to construct the link:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:169 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:255 +msgid "9. Switch to form view on click" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:257 msgid "Update the renderer to react to a click on an image and switch to a form view. You can use the `switchView` function from the action service." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:173 -msgid "`Code: The switchView function `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:261 +msgid "`Code: The switchView function `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:178 -msgid "8. Add an optional tooltip" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:264 +msgid "10. Add an optional tooltip" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:180 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:266 msgid "It is useful to have some additional information on mouse hover." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:184 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:268 msgid "Update the code to allow an optional additional attribute on the arch:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:190 -msgid "On mouse hover, display the content of the tooltip field. It should work if the field is a char field, a number field or a many2one field." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:274 +msgid "On mouse hover, display the content of the tooltip field. It should work if the field is a char field, a number field or a many2one field. To put a tooltip to an html element, you can put the string in the `data-tooltip` attribute of the element." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:192 -msgid "Update the orders gallery view to add the customer as tooltip field." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:277 +msgid "Update the customer gallery view arch to add the customer as tooltip field." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:199 -msgid "`Code: The tooltip hook `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:284 +msgid "`Example: usage of t-att-data-tooltip `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:202 -msgid "9. Add pagination" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:287 +msgid "11. Add pagination" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:206 -msgid "Let's add a pager on the control panel and manage all the pagination like in a normal Odoo view. Note that it is surprisingly difficult." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:289 +msgid "Let's add a pager on the control panel and manage all the pagination like in a normal Odoo view." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:213 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:295 msgid "`Code: The usePager hook `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:216 -msgid "10. Validating views" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:296 +msgid "`Example: usePager in list controller `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:218 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:299 +msgid "12. Validating views" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:301 msgid "We have a nice and useful view so far. But in real life, we may have issue with users incorrectly encoding the `arch` of their Gallery view: it is currently only an unstructured piece of XML." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:221 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:304 msgid "Let us add some validation! In Odoo, XML documents can be described with an RN file :dfn:`(Relax NG file)`, and then validated." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:226 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:307 msgid "Add an RNG file that describes the current grammar:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:228 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:309 msgid "A mandatory attribute `image_field`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:229 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:310 msgid "An optional attribute: `tooltip_field`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:231 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:312 msgid "Add some code to make sure all views are validated against this RNG file." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:232 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:313 msgid "While we are at it, let us make sure that `image_field` and `tooltip_field` are fields from the current model." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:235 +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:316 msgid "Since validating an RNG file is not trivial, here is a snippet to help:" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/04_creating_view_from_scratch.rst:272 -msgid "`Example: The RNG file of the graph view `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:353 +msgid "`Example: The RNG file of the graph view `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:3 -msgid "Chapter 5: Testing" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:356 +msgid "13. Uploading an image" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:5 -msgid "Automatically testing code is important when working on a codebase. It helps ensure we don't introduce (too many) bugs or regressions. Let us see how to test our code." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:358 +msgid "Our gallery view does not allow users to upload images. Let us implement that." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:10 -msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:360 +msgid "Add a button on each image by using the `FileUploader` component." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:15 -msgid "1. Integration testing" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:361 +msgid "The `FileUploader` component accepts the `onUploaded` props, which is called when the user uploads an image. Make sure to call `webSave` from the orm service to upload the new image." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:17 -msgid "To make sure our application works as expected, we can perform :ref:`integration testing ` by creating a tour: this is a sequence of steps that we can execute. Each step wait until some desired DOM state is reached, then performs an action. If, at some point, it is unable to go to the next step for a long time, the tour fails." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:363 +msgid "You maybe noticed that the image is uploaded but it is not re-rendered by the browser. This is because the image link did not change so the browser do not re-fetch them. Include the `write_date` from the record to the image url." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:22 -msgid "Let's write a tour to ensure that it is possible to perform an tshirt order from our public route" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:366 +msgid "Make sure that clicking on the upload button does not trigger the switchView." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:26 -msgid "In the `awesome_tshirt` addon, add a :file:`/static/tests/tours` folder." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:374 +msgid "`Example: usage of FileUploader `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:27 -msgid "Add a :file:`/static/tests/tours/order_flow.js` file." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:375 +msgid "`Odoo: webSave definition `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:28 -msgid "Add a tour that performs the following steps:" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:378 +msgid "14. Advanced tooltip template" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:30 -msgid "Open the `/awesome_tshirt/order` route." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:380 +msgid "For now we can only specify a tooltip field. But what if we want to allow to write a specific template for it ?" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:31 -msgid "Fill the order form." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:385 +msgid "This is an example of a gallery arch view that should work after this exercise." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:32 -msgid "Validate it." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:404 +msgid "Replace the `res.partner` gallery arch view in :file:`awesome_gallery/views/views.xml` with the arch in example above. Don't worry if it does not pass the rng validation." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:33 -msgid "Navigate to our webclient." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:406 +msgid "Modify the gallery rng validator to accept the new arch structure." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:34 -msgid "Open the list view for the the t-shirt order." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:410 +msgid "You can use this rng snippet to validate the tooltip-template tag" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:35 -msgid "Check that our order can be found in the list." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:437 +msgid "The arch parser should parse the fields and the tooltip template. Import `visitXML` from :file:`@web/core/utils/xml` and use it to parse field names and the tooltip template." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:37 -msgid "Run the tour manually." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:439 +msgid "Make sure that the model call the `webSearchRead` by including the parsed field names in the specification." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:38 -msgid "Add a Python test to run it programmatically." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:441 +msgid "The renderer (or any sub-component you created for it) should receive the parsed tooltip template. Manipulate this template to replace the `` element into a `` element." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:39 -msgid "Run the tour from the terminal." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:447 +msgid "The template is an `Element` object so it can be manipulated like a HTML element." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:42 -msgid "2. Unit testing a Component" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:449 +msgid "Register the template to Owl thanks to the `xml` function from :file:`@odoo/owl`." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:44 -msgid "It is also useful to test independently a component or a piece of code. :ref:`QUnit ` tests are useful to quickly locate an issue." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:450 +msgid "Use the `useTooltip` hook from :file:`@web/core/tooltip/tooltip_hook` to display the tooltips. This hooks take as argument the Owl template and the variable needed by the template." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:49 -msgid "In the `awesome_tshirt` addon, add a :file:`static/tests/counter_tests.js` file." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:460 +msgid "`Example: useTooltip used in Kaban `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:50 -msgid "Add a QUnit test that instantiates a counter, clicks on it, and makes sure it is incremented." +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:461 +msgid "`Example: visitXML usage `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:57 -msgid "`Example: Testing an Owl component `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/02_create_gallery_view.rst:462 +msgid "`Owl: Inline templates with xml helper function `_" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:61 -msgid "3. Unit testing our gallery view" +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:3 +msgid "Chapter 3: Customize a kanban view" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:63 -msgid "Many components need more setup to be tested. In particular, we often need to mock some demo data. Let us see how to do that." +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:5 +msgid "We have gained an understanding of the numerous capabilities offered by the Odoo web framework. As a next step, we will customize a kanban view. This is a more complicated project that will showcase some non trivial aspects of the framework. The goal is to practice composing views, coordinating various aspects of the UI, and doing it in a maintainable way." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:67 -msgid "This depends on our Gallery View from :doc:`04_creating_view_from_scratch`." +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:10 +msgid "Bafien had the greatest idea ever: a mix of a kanban view and a list view would be perfect for your needs! In a nutshell, he wants a list of customers on the left of the CRM kanban view. When you click on a customer on the left sidebar, the kanban view on the right is filtered to only display leads linked to that customer." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:71 -msgid "In the `awesome_gallery` addon, add a :file:`/static/tests/gallery_view_tests.js` file." +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:22 +msgid "The solutions for each exercise of the chapter are hosted on the `official Odoo tutorials repository `_." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:72 -msgid "Add a test that instantiates the gallery view with some demo data." +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:27 +msgid "1. Create a new kanban view" msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:73 -msgid "Add another test that checks that when the user clicks on an image, it is switched to the form view of the corresponding order." +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:29 +msgid "Since we are customizing the kanban view, let us start by extending it and using our extension in the kanban view of CRM." msgstr "" -#: ../../content/developer/tutorials/master_odoo_web_framework/05_testing.rst:80 -msgid "`Example: Testing a list view `_" +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:32 +msgid "Create a new empty component that extends the `KanbanController` component from :file:`@web/views/kanban/kanban_controller`." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:34 +msgid "Create a new view object and assign all keys and values from `kanbanView` from :file:`@web/views/kanban/kanban_view`. Override the Controller key by putting your newly created controller." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:37 +msgid "Register it in the views registry under `awesome_kanban`." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:38 +msgid "Update the crm kanban arch in :file:`awesome_kanban/views/views.xml` to use the extended view. This can be done by specifying the `js_class` attribute in the kanban node." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:43 +msgid "`Example: Create a new view by extending a pre-existing one `_" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:46 +msgid "2. Create a CustomerList component" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:48 +msgid "We will need to display a list of customers, so we might as well create the component." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:50 +msgid "Create a `CustomerList` component which only displays a `div` with some text for now." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:51 +msgid "It should have a `selectCustomer` prop." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:52 +msgid "Create a new template extending (XPath) the kanban controller template `web.KanbanView` to add the `CustomerList` next to the kanban renderer. Give it an empty function as `selectCustomer` for now." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:58 +msgid "You can use this xpath inside the template to add a div before the renderer component." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:66 +msgid "Subclass the kanban controller to add `CustomerList` in its sub-components." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:67 +msgid "Make sure you see your component in the kanban view." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:74 +msgid ":ref:`Template inheritance `" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:77 +msgid "3. Load and display data" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:79 +msgid "Modify the `CustomerList` component to fetch a list of all customers in `onWillStart`." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:80 +msgid "Display the list in the template with a `t-foreach`." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:81 +msgid "Whenever a customer is selected, call the `selectCustomer` function prop." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:88 +msgid "`Example: fetching records from a model `_" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:91 +msgid "4. Update the main kanban view" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:93 +msgid "Implement `selectCustomer` in the kanban controller to add the proper domain." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:97 +msgid "Since it is not trivial to interact with the search view, here is a snippet to create a filter:" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:108 +msgid "By clicking on multiple customers, you can see that the old customer filter is not replaced. Make sure that by clicking on a customer, the old filter is replaced by the new one." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:113 +msgid "You can use this snippet to get the customers filters and toggle them." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:127 +msgid "Modify the template to give the real function to the `CustomerList` `selectCustomer` prop." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:131 +msgid "You can use `Symbol `_ to make sure that the custom `isFromAwesomeKanban` key will not collide with keys any other code might add to the object." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:140 +msgid "5. Only display customers which have an active order" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:142 +msgid "There is a `opportunity_ids` field on `res.partner`. Let us allow the user to filter results on customers with at least one opportunity." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:145 +msgid "Add an input of type checkbox in the `CustomerList` component, with a label \"Active customers\" next to it." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:147 +msgid "Changing the value of the checkbox should filter the list of customers." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:154 +msgid "6. Add a search bar to the customer list" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:156 +msgid "Add an input above the customer list that allows the user to enter a string and to filter the displayed customers, according to their name." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:160 +msgid "You can use the `fuzzyLookup` from :file:`@web/core/utils/search` function to perform the filter." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:169 +msgid "`Code: The fuzzylookup function `_" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:170 +msgid "`Example: Using fuzzyLookup `_" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:175 +msgid "7. Refactor the code to use `t-model`" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:177 +msgid "To solve the previous two exercises, it is likely that you used an event listener on the inputs. Let us see how we could do it in a more declarative way, with the `t-model `_ directive." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:181 +msgid "Make sure you have a reactive object that represents the fact that the filter is active (something like :code:`this.state = useState({ displayActiveCustomers: false, searchString: ''})`)." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:184 +msgid "Modify the code to add a getter `displayedCustomers` which returns the currently active list of customers." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:186 +msgid "Modify the template to use `t-model`." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:189 +msgid "8. Paginate customers!" +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:191 +msgid "Add a :ref:`pager ` in the `CustomerList`, and only load/render the first 20 customers." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:193 +msgid "Whenever the pager is changed, the customer list should update accordingly." +msgstr "" + +#: ../../content/developer/tutorials/master_odoo_web_framework/03_customize_kanban_view.rst:195 +msgid "This is actually pretty hard, in particular in combination with the filtering done in the previous exercise. There are many edge cases to take into account." msgstr "" #: ../../content/developer/tutorials/mixins.rst:3 diff --git a/locale/sources/finance.pot b/locale/sources/finance.pot index 9e8e638a3..719fc1442 100644 --- a/locale/sources/finance.pot +++ b/locale/sources/finance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -49,7 +49,7 @@ msgid "Odoo uses the double-entry bookkeeping system, whereby every entry needs msgstr "" #: ../../content/applications/finance/accounting.rst:67 -#: ../../content/applications/finance/accounting.rst:223 +#: ../../content/applications/finance/accounting.rst:222 msgid ":doc:`Accounting Cheat Sheet `" msgstr "" @@ -128,7 +128,7 @@ msgstr "" #: ../../content/applications/finance/accounting.rst:133 #: ../../content/applications/finance/fiscal_localizations/austria.rst:28 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:951 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1161 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:418 msgid "Financial reports" msgstr "" @@ -167,10 +167,12 @@ msgid "Audit" msgstr "" #: ../../content/applications/finance/accounting.rst:145 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1076 msgid "General ledger" msgstr "" #: ../../content/applications/finance/accounting.rst:147 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1038 msgid "Trial balance" msgstr "" @@ -275,38 +277,38 @@ msgid "Both periodic (manual) and perpetual (automated) inventory valuations are msgstr "" #: ../../content/applications/finance/accounting.rst:212 -msgid ":doc:`View the impact of the valuation methods on transactions <../inventory_and_mrp/inventory/management/reporting/inventory_valuation_config>`" +msgid ":doc:`../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config`" msgstr "" -#: ../../content/applications/finance/accounting.rst:216 +#: ../../content/applications/finance/accounting.rst:215 msgid "Retained earnings" msgstr "" -#: ../../content/applications/finance/accounting.rst:218 +#: ../../content/applications/finance/accounting.rst:217 msgid "Retained earnings are the portion of income retained by a business. Odoo calculates current year earnings in real-time, so no year-end journal or rollover is required. The profit and loss balance is automatically reported on the balance sheet report." msgstr "" -#: ../../content/applications/finance/accounting.rst:226 +#: ../../content/applications/finance/accounting.rst:225 msgid "Fiduciaries" msgstr "" -#: ../../content/applications/finance/accounting.rst:228 +#: ../../content/applications/finance/accounting.rst:227 msgid "The :guilabel:`Accounting Firms` mode can be activated by going to :menuselection:`Accounting --> Configuration --> Settings --> Accounting Firms mode`. When enabled:" msgstr "" -#: ../../content/applications/finance/accounting.rst:231 +#: ../../content/applications/finance/accounting.rst:230 msgid "The document's sequence becomes editable on all documents;" msgstr "" -#: ../../content/applications/finance/accounting.rst:232 +#: ../../content/applications/finance/accounting.rst:231 msgid "The :guilabel:`Total (tax incl.)` field appears to speed up and control the encoding by automating line creation with the right account and tax;" msgstr "" -#: ../../content/applications/finance/accounting.rst:234 +#: ../../content/applications/finance/accounting.rst:233 msgid ":guilabel:`Invoice Date` and :guilabel:`Bill Date` are pre-filled when encoding a transaction." msgstr "" -#: ../../content/applications/finance/accounting.rst:235 +#: ../../content/applications/finance/accounting.rst:234 msgid "A :guilabel:`Quick encoding` option is available for customer invoices and vendor bills." msgstr "" @@ -413,7 +415,7 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:46 #: ../../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:37 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:36 #: ../../content/applications/finance/accounting/get_started/multi_currency.rst:15 #: ../../content/applications/finance/accounting/get_started/vat_units.rst:22 #: ../../content/applications/finance/accounting/payments/batch.rst:11 @@ -441,17 +443,17 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/austria.rst:45 #: ../../content/applications/finance/fiscal_localizations/belgium.rst:8 #: ../../content/applications/finance/fiscal_localizations/belgium.rst:370 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:25 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:28 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:21 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:34 #: ../../content/applications/finance/fiscal_localizations/germany.rst:58 #: ../../content/applications/finance/fiscal_localizations/italy.rst:8 #: ../../content/applications/finance/fiscal_localizations/kenya.rst:8 #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:6 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:36 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:620 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:726 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:847 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:40 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:653 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:769 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:909 #: ../../content/applications/finance/fiscal_localizations/peru.rst:29 #: ../../content/applications/finance/fiscal_localizations/philippines.rst:6 #: ../../content/applications/finance/fiscal_localizations/romania.rst:6 @@ -1583,7 +1585,7 @@ msgid "Open the model you want to modify, or click on *Create* to create a new o msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:88 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:52 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:43 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:56 msgid "Type" msgstr "" @@ -1758,8 +1760,9 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:5 #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:90 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:352 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:346 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:310 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:321 msgid "Customer invoices" msgstr "" @@ -1925,7 +1928,7 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:109 #: ../../content/applications/finance/accounting/customer_invoices.rst:132 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:168 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:170 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:58 msgid "Accounts Receivable" msgstr "" @@ -1951,11 +1954,11 @@ msgstr "" #: ../../content/applications/finance/accounting/taxes.rst:5 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:167 #: ../../content/applications/finance/fiscal_localizations/belgium.rst:32 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:168 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:368 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:378 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:180 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:370 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:380 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:192 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:190 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:186 #: ../../content/applications/finance/fiscal_localizations/peru.rst:73 #: ../../content/applications/finance/fiscal_localizations/peru.rst:246 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:121 @@ -1979,13 +1982,13 @@ msgid "Sales" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:113 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:170 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:172 #: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:226 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:228 #: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:236 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:238 #: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:252 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:254 #: ../../content/applications/finance/accounting/taxes.rst:127 msgid "100" msgstr "" @@ -2003,8 +2006,8 @@ msgid "A typical journal entry generated from a payment will look like as follow msgstr "" #: ../../content/applications/finance/accounting/customer_invoices.rst:130 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:236 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:252 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:238 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:254 #: ../../content/applications/finance/accounting/payments/checks.rst:108 #: ../../content/applications/finance/accounting/payments/checks.rst:127 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:67 @@ -2373,55 +2376,55 @@ msgstr "" msgid "Issuing a credit/debit note is the only legal way to cancel, refund, or modify a validated invoice. Do not forget to **register the payment** afterward if you need to send money back to your customer and/or validate the :doc:`return ` if a storable product is returned." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:25 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:27 msgid "Issue a credit note" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:27 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:29 msgid "You can create a credit note from scratch by going to :menuselection:`Accounting --> Customers --> Credit Notes`, and by clicking on :guilabel:`Create`. Filling out a credit note form works the same way as an invoice form." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:31 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:33 msgid "However, most of the time, credit notes are generated directly from the related invoices. To do so, go to :menuselection:`Accounting --> Customers --> Invoices`, open the related **customer invoice**, and click on :guilabel:`Credit Note`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:35 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:37 msgid "You can choose between three options:" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:37 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:39 msgid ":guilabel:`Partial Refund`" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:38 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:40 msgid ":guilabel:`Full Refund`" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:39 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:41 msgid ":guilabel:`Full refund and new draft invoice`" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:42 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:44 msgid "A credit note sequence starts with `R` and is followed by the number of the related document (e.g., RINV/2019/0004 is related to the invoice INV/2019/0004)." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:46 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:48 msgid "Partial refund" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:48 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:50 msgid "When selecting the :guilabel:`Partial Refund` option, Odoo creates a draft credit note already prefilled with all the necessary information from the original invoice. This is the option to choose if you wish to do a partial refund or if you want to modify any detail of the credit note." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:53 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:55 msgid "This is the only option for invoices marked as *in payment* or *paid*." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:56 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:58 msgid "Full refund" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:58 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:60 msgid "When selecting the :guilabel:`Full Refund` option, Odoo creates a credit note, automatically validates it, and reconciles it with the related invoice." msgstr "" @@ -2429,66 +2432,66 @@ msgstr "" msgid "Full refund credit note." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:64 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:66 msgid "This is the option to choose for a full refund or to **cancel** a *validated* invoice." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:67 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:69 msgid "Full refund and new draft invoice" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:69 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:71 msgid "When selecting the :guilabel:`Full refund and new draft invoice` option, Odoo creates a credit note, automatically validates it, reconciles it with the related invoice, and opens a new draft invoice prefilled with the same details from the original invoice." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:73 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:75 msgid "This is the option to **modify** the content of a *validated* invoice." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:76 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:80 msgid "Issue a debit note" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:78 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:82 msgid "You can create a debit note from scratch by going to :menuselection:`Accounting --> Customers --> Invoices` or by clicking on the related invoice you wish to issue a debit note for. On the invoice form view, click :guilabel:`Cog icon (⚙) --> Debit Note`, fill in the information, and click :guilabel:`Create Debit Note`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:84 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:88 msgid "Record a vendor refund" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:86 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:90 msgid "**Vendor refunds** are recorded the same way as credit notes:" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:88 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:92 msgid "You can either create a credit note from scratch by going to :menuselection:`Accounting --> Vendors --> Refund`, and by clicking on :guilabel:`Create`; or by opening the related **vendor bill**, and clicking on :guilabel:`Credit Note`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:93 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:97 msgid "Record a debit note" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:95 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:99 msgid "**Debit notes** from vendors are recorded in a similar way to how they are issued to customers:" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:97 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:101 msgid "Go to :menuselection:`Accounting --> Vendors --> Bills`, open the related bill you wish to record a debit note for, and click :guilabel:`Cog icon (⚙) --> Debit Note`. Fill in the information, and click :guilabel:`Create Debit Note`." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:102 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:106 #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:111 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:133 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:135 #: ../../content/applications/finance/accounting/payments/checks.rst:84 msgid "Journal entries" msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:104 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:108 msgid "Issuing a credit/debit note from an invoice/bill creates a **reverse entry** that zeroes out the journal items generated by the original invoice." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:109 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:113 msgid "The journal invoice of an entry:" msgstr "" @@ -2496,7 +2499,7 @@ msgstr "" msgid "Invoice journal entry." msgstr "" -#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:114 +#: ../../content/applications/finance/accounting/customer_invoices/credit_notes.rst:118 msgid "And here is the credit note’s journal entry generated to reverse the original invoice above:" msgstr "" @@ -2943,7 +2946,7 @@ msgid "Every PDF generated by Odoo includes an integrated **Factur-X** XML file. msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/electronic_invoicing.rst:58 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:189 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:183 #: ../../content/applications/finance/accounting/reporting/tax_returns.rst:123 #: ../../content/applications/finance/accounting/taxes/eu_distance_selling.rst:38 msgid ":doc:`../../fiscal_localizations`" @@ -3609,9 +3612,9 @@ msgid "In this example, an invoice of $1000 has been issued with the following p msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:130 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:222 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:232 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:248 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 #: ../../content/applications/finance/accounting/payments/checks.rst:93 #: ../../content/applications/finance/accounting/payments/checks.rst:104 #: ../../content/applications/finance/accounting/payments/checks.rst:123 @@ -3619,10 +3622,10 @@ msgid "Account" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:130 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:168 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:222 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:232 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:248 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:170 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 #: ../../content/applications/finance/accounting/payments/checks.rst:93 #: ../../content/applications/finance/accounting/payments/checks.rst:104 #: ../../content/applications/finance/accounting/payments/checks.rst:123 @@ -3631,10 +3634,10 @@ msgid "Debit" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:130 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:168 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:222 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:232 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:248 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:170 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 #: ../../content/applications/finance/accounting/payments/checks.rst:93 #: ../../content/applications/finance/accounting/payments/checks.rst:104 #: ../../content/applications/finance/accounting/payments/checks.rst:123 @@ -3644,8 +3647,8 @@ msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:132 #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:134 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:226 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:252 #: ../../content/applications/finance/accounting/payments/checks.rst:95 #: ../../content/applications/finance/accounting/payments/checks.rst:125 msgid "Account Receivable" @@ -4035,287 +4038,287 @@ msgstr "" msgid "Average price on returned goods" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:9 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:8 msgid "*Average cost valuation* (AVCO) is an inventory valuation method that evaluates cost based on the total cost of goods bought or produced during a period, divided by the total number of items on-hand. Inventory valuation is used to:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:13 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:12 msgid "reflect the value of a company's assets;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:14 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:13 msgid "keep track of the amount of unsold goods;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:15 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:14 msgid "account for monetary value in goods that have yet to generate profit;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:16 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:15 msgid "report on flow of goods throughout the quarter." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:18 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:17 msgid "Because |AVCO| uses the weighted average to evaluate the cost, it is a good fit for companies that sell only a few different products in large quantities. In Odoo, this costing analysis is *automatically updated* each time products are received." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:22 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:21 msgid "Thus, when shipments are returned to their supplier, Odoo automatically generates accounting entries to reflect the change in inventory valuation. However, Odoo does **not** automatically update the |AVCO| calculation, because :ref:`this can potentially create inconsistencies with inventory valuation `." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:28 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:27 msgid "This document addresses a specific use case for theoretical purposes. Navigate :ref:`here ` for instructions on how to set up and use |AVCO| in Odoo." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:33 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:32 msgid ":ref:`Using inventory valuation `" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:34 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:33 msgid ":ref:`Other inventory valuation methods `" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:39 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:38 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:45 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:44 msgid ":ref:`Inventory valuation configuration `" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:48 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:47 msgid "Using average cost valuation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:50 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:49 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:57 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:56 msgid "Formula" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:59 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:58 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:61 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:60 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:64 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:63 msgid "**Old Qty**: product count in stock before receiving the new shipment;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:65 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:64 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:67 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:66 msgid "**Incoming Qty**: count of products arriving in the new shipment;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:68 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:67 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 :ref:`landed costs `. At reception of the vendor bill, this price is adjusted;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:72 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:71 msgid "**Final Qty**: quantity of on-hand stock after the stock move." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:77 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:76 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:83 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:82 msgid "Compute average cost" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:85 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:84 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:90 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:196 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:237 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../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:273 msgid "Operation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:90 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 msgid "Incoming Value" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:90 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:196 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:237 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../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:273 msgid "Inventory Value" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:90 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:196 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:237 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../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:273 msgid "Qty On Hand" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:90 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:196 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:237 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:89 +#: ../../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:273 msgid "Avg Cost" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:92 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:286 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:290 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:275 +#: ../../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:285 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 msgid "$0" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:92 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:276 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:91 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:275 #: ../../content/applications/finance/fiscal_localizations/france.rst:240 msgid "0" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:94 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 msgid "Receive 8 tables at $10/unit" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:94 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:93 msgid "8 * $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:94 -#: ../../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:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 msgid "$80" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:94 -#: ../../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:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 msgid "8" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:94 -#: ../../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:93 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 msgid "$10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:96 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 msgid "Receive 4 tables at $16/unit" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:96 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 msgid "4 * $16" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:96 -#: ../../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:95 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 msgid "$144" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:96 -#: ../../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:95 +#: ../../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/fiscal_localizations/france.rst:88 #: ../../content/applications/finance/fiscal_localizations/france.rst:111 msgid "12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:96 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:98 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:198 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:200 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:239 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:241 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:243 -#: ../../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:286 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:290 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:95 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:197 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 +#: ../../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:242 +#: ../../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:285 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 msgid "$12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:98 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 msgid "Deliver 10 tables" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:98 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 msgid "-10 * $12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:98 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:198 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:239 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:286 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 +#: ../../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:285 msgid "$24" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:98 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:198 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:239 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:286 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:97 +#: ../../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:285 msgid "2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:104 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:103 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:107 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:106 msgid "Initially, the product stock is 0, so all values are $0." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:109 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:108 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:112 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:111 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:115 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:114 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:116 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:115 msgid "The inventory value in the numerator is evaluated to `$80`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:117 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:116 msgid "`$80` is divided by the total amount of tables to store, `8`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:118 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:117 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:120 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:119 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:123 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:122 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:128 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:127 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:131 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:130 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 "" @@ -4323,53 +4326,53 @@ msgstr "" msgid "Show inventory valuation of 8 tables in Odoo." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:142 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:141 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:147 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:146 msgid "Product delivery (use case)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:149 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:148 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:155 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:154 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:158 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:157 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:161 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:160 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:163 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:162 msgid "The *incoming inventory value* is `-10 * $12 = -$120`;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:164 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:163 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:166 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:165 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:168 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:167 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:170 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:169 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:175 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:174 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 "" @@ -4377,59 +4380,59 @@ msgstr "" msgid "Show how deliveries decrease inventory valuation." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:185 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:184 msgid "Return items to supplier (use case)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:187 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:186 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:190 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:189 msgid "Products are returned to suppliers at the original purchase price, but;" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:191 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:190 msgid "The internal cost valuation remains unchanged." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:193 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:192 msgid "The above :ref:`example table ` is updated as follows:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:196 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:195 msgid "Qty*Avg Cost" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:200 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 msgid "Return 1 table bought at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:200 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:199 msgid "-1 * $12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:200 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:241 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:290 +#: ../../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:287 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 #: ../../content/applications/finance/fiscal_localizations/france.rst:242 msgid "1" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:203 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:202 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:209 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:208 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:214 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:213 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:218 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:217 msgid "Return to :menuselection:`Inventory --> Reporting --> Inventory Valuation` to see how the outgoing shipment decreases the inventory value by $12." msgstr "" @@ -4437,181 +4440,181 @@ msgstr "" msgid "Inventory valuation for return." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:228 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:227 msgid "Eliminate stock valuation errors in outgoing products" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:230 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:229 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:233 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:232 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:237 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:236 msgid "Qty*Price" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:241 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 msgid "Ship 1 product to customer" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:241 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:240 msgid "-1 \\* $12" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:243 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 msgid "Return 1 product initially bought at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:243 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 msgid "-1 \\* $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:243 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 msgid "**$2**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:243 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:242 msgid "**0**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:246 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:245 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:249 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:248 msgid "Correct method" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:251 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:250 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:256 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:255 msgid "Anglo-Saxon accounting" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:258 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:257 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:264 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:263 msgid ":ref:`Anglo-Saxon vs. Continental `" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:266 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:265 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:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:273 msgid "Stock Input" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:274 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:273 msgid "Price Diff" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 msgid "Receive 8 tables at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:278 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:277 msgid "($80)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:280 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:279 msgid "Receive vendor bill $80" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 msgid "Receive 4 tables at $16" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:282 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:281 msgid "($64)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:284 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:283 msgid "Receive vendor bill $64" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:286 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:285 msgid "Deliver 10 tables to customer" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 msgid "Return 1 table initially bought at $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 msgid "**$10**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:288 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:287 msgid "**$12**" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:290 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 msgid "Receive vendor refund $10" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:290 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:289 msgid "$2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:294 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:293 msgid "Product reception" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:297 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:296 msgid "Summary" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:299 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:298 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:306 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:305 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:311 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:310 msgid "To conceptualize all this, follow the breakdown below." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:314 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:313 msgid "Accounts balanced at received products" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:316 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:315 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:319 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:318 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:321 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:320 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:322 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:321 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:325 -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:368 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:324 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:367 msgid "In Odoo" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:327 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:326 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:331 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:330 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 "" @@ -4619,7 +4622,7 @@ msgstr "" msgid "Create price difference account." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:339 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:338 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 "" @@ -4627,7 +4630,7 @@ msgstr "" msgid "Show accounting entry of 8 tables from the list." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:347 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:346 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 "" @@ -4635,31 +4638,31 @@ msgstr "" msgid "Debit stock valuation and credit stock input 80 dollars." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:356 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:355 msgid "Accounts balanced at received vendor bill" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:358 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:357 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:361 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:360 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:363 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:362 msgid "Debit **Stock Input** `$80` (to reconcile this account)." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:364 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:363 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:370 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:369 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:374 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:373 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 "" @@ -4667,19 +4670,19 @@ msgstr "" msgid "Show bill linked to the purchase order for 8 tables." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:383 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:382 msgid "On product delivery" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:385 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:384 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:389 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:388 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:391 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:390 msgid "Debit **Accounts Receivable** to record revenue from the sale." msgstr "" @@ -4687,39 +4690,39 @@ msgstr "" msgid "Show journal items linked to sale order." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:399 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:398 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:403 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:402 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:409 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:408 msgid "On product return" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:411 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:410 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:418 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:417 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:421 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:420 msgid "Summary:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:423 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:422 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:425 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:424 msgid "Debit **Stock Input** an additional `$2` to account for the **Price Difference**." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:426 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:425 msgid "Credit **Stock Valuation** `$12` because the item is leaving the stock." msgstr "" @@ -4727,15 +4730,15 @@ msgstr "" msgid "2 dollar difference expensed in Price Difference account." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:432 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:431 msgid "Once the vendor's refund is received," msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:434 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:433 msgid "Credit **Stock Input** account `$10` to reconcile the price of the table." msgstr "" -#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:435 +#: ../../content/applications/finance/accounting/get_started/avg_price_valuation.rst:434 msgid "Debit **Accounts Payable** `$10` to have the accountants collect and register the payment in their journal." msgstr "" @@ -4747,10 +4750,11 @@ msgstr "" #: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:79 #: ../../content/applications/finance/accounting/get_started/multi_currency.rst:87 #: ../../content/applications/finance/fiscal_localizations/belgium.rst:17 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:154 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:363 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:146 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:365 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:247 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:241 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1011 #: ../../content/applications/finance/fiscal_localizations/romania.rst:65 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:38 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:41 @@ -4758,134 +4762,105 @@ msgid "Chart of accounts" msgstr "" #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:5 -msgid "The **chart of accounts (COA)** is the list of all the accounts used to record financial transactions in the general ledger of an organization." +msgid "The **chart of accounts (COA)** is the list of all the accounts used to record financial transactions in the general ledger of an organization. The chart of accounts can be found under :menuselection:`Accounting --> Configuration --> Chart of Accounts`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:8 -msgid "The accounts are usually listed in the order of appearance in the financial reports. Most of the time, they are listed as follows :" +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:9 +msgid "When browsing your chart of accounts, you can sort the accounts by :guilabel:`Code`, :guilabel:`Account Name`, or :guilabel:`Type`, but other options are available in the drop-down menu" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:11 -msgid "Balance Sheet accounts:" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:13 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:67 -msgid "Assets" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:14 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:79 -msgid "Liabilities" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:15 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:87 -msgid "Equity" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:17 -msgid "Profit & Loss:" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:19 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:91 -msgid "Income" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:20 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:95 -msgid "Expense" -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:22 -msgid "When browsing your chart of accounts, you can filter the accounts by number, in the left column, and also group them by :guilabel:`Account Type`." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:-1 +msgid "Drop-down toggle button" msgstr "" #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:-1 msgid "Group the accounts by type in Odoo Accounting" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:30 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:19 msgid "Configuration of an account" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:32 -msgid "The country you select at the creation of your database (or additional company on your database) determines which **fiscal localization package** is installed by default. This package includes a standard chart of accounts already configured according to the country's regulations. You can use it directly or set it according to your company's needs." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:21 +msgid "The country you select during the creation of your database (or additional company in your database) determines which :doc:`fiscal localization package <../../fiscal_localizations>` is installed by default. This package includes a standard chart of accounts already configured according to the country's regulations. You can use it directly or set it according to your company's needs." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:38 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:26 +msgid "To create a new account, go to :menuselection:`Accounting --> Configuration --> Chart of Accounts`, click :guilabel:`Create`, and fill in (at the minimum) the required fields (:guilabel:`Code, Account Name, Type`)." +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:31 msgid "It is not possible to modify the **fiscal localization** of a company once a journal entry has been posted." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:41 -msgid "To create a new account, go to :menuselection:`Accounting --> Configuration --> Chart of Accounts`, click on :guilabel:`Create`, and fill out the form." -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:45 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:35 msgid "Code and name" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:47 -msgid "Each account is identified by its **code** and **name**, which also indicates the account's purpose." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:37 +msgid "Each account is identified by its :guilabel:`Code` and :guilabel:`Name`, which also indicate the account's purpose." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:54 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:45 msgid "Correctly configuring the **account type** is critical as it serves multiple purposes:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:56 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:47 msgid "Information on the account's purpose and behavior" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:57 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:48 msgid "Generate country-specific legal and financial reports" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:58 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:49 msgid "Set the rules to close a fiscal year" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:59 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:50 msgid "Generate opening entries" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:61 -msgid "To configure an account type, open the :guilabel:`Type` field's drop-down selector and select the right type among the following list:" +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:52 +msgid "To configure an account type, open the :guilabel:`Type` field's drop-down selector and select the corresponding type from the following list:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:65 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:56 msgid "Report" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:65 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:56 msgid "Category" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:65 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:56 msgid "Account Types" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:67 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:58 #: ../../content/applications/finance/accounting/reporting.rst:36 #: ../../content/applications/finance/fiscal_localizations/germany.rst:23 #: ../../content/applications/finance/fiscal_localizations/spain.rst:27 msgid "Balance Sheet" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:67 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:58 +msgid "Assets" +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:58 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:59 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:62 msgid "Receivable" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:69 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:60 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:68 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:71 msgid "Bank and Cash" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:71 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:62 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:74 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:77 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:80 @@ -4893,195 +4868,211 @@ msgstr "" msgid "Current Assets" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:73 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:64 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:86 msgid "Non-current Assets" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:75 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:66 msgid "Prepayments" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:77 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:68 msgid "Fixed Assets" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:79 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:70 +msgid "Liabilities" +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:70 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:65 msgid "Payable" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:81 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:72 msgid "Credit Card" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:83 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:74 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:89 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:92 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:95 msgid "Current Liabilities" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:85 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:76 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:98 msgid "Non-current Liabilities" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:89 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:78 +msgid "Equity" +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:80 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:101 msgid "Current Year Earnings" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:91 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:82 #: ../../content/applications/finance/fiscal_localizations/germany.rst:24 #: ../../content/applications/finance/fiscal_localizations/netherlands.rst:20 msgid "Profit & Loss" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:93 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:82 +msgid "Income" +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:84 msgid "Other Income" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:97 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:86 +msgid "Expense" +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:88 msgid "Depreciation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:99 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:90 msgid "Cost of Revenue" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:101 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:92 msgid "Other" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:101 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:92 msgid "Off-Balance Sheet" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:105 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:96 msgid "Assets, deferred expenses, and deferred revenues automation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:107 -msgid "Some **account types** display a new field **to automate** the creation of :ref:`assets ` entries, :ref:`deferred expenses ` entries, and :ref:`deferred revenues ` entries." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:98 +msgid "Some **account types** can **automate** the creation of :ref:`assets ` entries, :ref:`deferred expenses ` entries, and :ref:`deferred revenues ` entries. To **automate** entries, click :guilabel:`View` on an account line and go to the :guilabel:`Automation` tab." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:111 -msgid "You have three choices for the :guilabel:`Automation` field:" +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:103 +msgid "You have three choices for the :guilabel:`Automation` tab:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:113 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:105 msgid ":guilabel:`No`: this is the default value. Nothing happens." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:114 -msgid ":guilabel:`Create in draft`: whenever a transaction is posted on the account, a draft entry is created, but not validated. You must first fill out the corresponding form." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:106 +msgid ":guilabel:`Create in draft`: whenever a transaction is posted on the account, a draft entry is created but not validated. You must first fill out the corresponding form." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:116 -msgid ":guilabel:`Create and validate`: you must also select a **model**. Whenever a transaction is posted on the account, an entry is created and immediately validated." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:108 +msgid ":guilabel:`Create and validate`: you must also select a :guilabel:`Deferred Expense Model`. Whenever a transaction is posted on the account, an entry is created and immediately validated." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:120 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:112 #: ../../content/applications/finance/accounting/taxes.rst:14 msgid "Default taxes" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:122 -msgid "Select a **default tax** that will be applied when this account is chosen for a product sale or purchase." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:114 +msgid "In the :guilabel:`View` menu of an account, select a **default tax** to be applied when this account is chosen for a product sale or purchase." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:126 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:118 #: ../../content/applications/finance/documents.rst:52 #: ../../content/applications/finance/sign.rst:227 msgid "Tags" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:128 -msgid "Some accounting reports require **tags** to be set on the relevant accounts. By default, you can choose among the tags that are used by the *Cash Flow Statement*." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:120 +msgid "Some accounting reports require **tags** to be set on the relevant accounts. To add a tag, under :guilabel:`View`, click the :guilabel:`Tags` field and select an existing tag or :guilabel:`Create` a new one." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:132 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:125 msgid "Account groups" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:134 -msgid "**Account groups** are useful to list multiple accounts as *sub-accounts* of a bigger account and thus consolidate reports such as the **Trial Balance**. By default, groups are handled automatically based on the code of the group. For example, a new account `131200` is going to be part of the group `131000`." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:127 +msgid "**Account groups** are useful to list multiple accounts as *sub-accounts* of a bigger account and thus consolidate reports such as the **Trial Balance**. By default, groups are handled automatically based on the code of the group. For example, a new account `131200` is going to be part of the group `131000`. You can attribute a specific group to an account in the :guilabel:`Group` field under :guilabel:`View`." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:140 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:134 msgid "Create account groups manually" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:143 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:137 msgid "Regular users should not need to create account groups manually. The following section is only intended for rare and advanced use cases." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:146 -msgid "To create a new account group, :ref:`developer mode ` and head to :menuselection:`Accounting app --> Configuration --> Account Groups`. Here, create a new group and enter the :guilabel:`name, code prefix, and company` to which that group account should be available. Note that you must enter the same code prefix in both :guilabel:`From` and :guilabel:`to` fields." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:140 +msgid "To create a new account group, activate :ref:`developer mode ` and head to :menuselection:`Accounting --> Configuration --> Account Groups`. Here, create a new group and enter the :guilabel:`name, code prefix, and company` to which that group account should be available. Note that you must enter the same code prefix in both :guilabel:`From` and :guilabel:`to` fields." msgstr "" #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:-1 msgid "Account groups creation." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:156 -msgid "To display your **Trial Balance** report with your account groups, go to :menuselection:`Accounting app-->Reporting-->Trial Balance`, then open the :guilabel:`Options` menu and select :guilabel:`Hierarchy and Subtotals`." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:148 +msgid "To display your **Trial Balance** report with your account groups, go to :menuselection:`Accounting --> Reporting --> Trial Balance`, then open the :guilabel:`Options` menu and select :guilabel:`Hierarchy and Subtotals`." msgstr "" #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:-1 msgid "Account Groups in the Trial Balance in Odoo Accounting" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:165 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:156 msgid "Allow reconciliation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:167 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:158 msgid "Some accounts, such as accounts made to record the transactions of a payment method, can be used for the reconciliation of journal entries." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:170 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:161 msgid "For example, an invoice paid with a credit card can be marked as :guilabel:`paid` if reconciled with its payment. Therefore, the account used to record credit card payments needs to be configured as **allowing reconciliation**." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:174 -msgid "To do so, check the :guilabel:`Allow Reconciliation` box in the account's settings, and save." +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:165 +msgid "To do so, check the :guilabel:`Allow Reconciliation` box in the account's settings, and :guilabel:`Save`; or enable the button from the chart of accounts view." msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:177 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:-1 +msgid "Allow reconciliation for accounts in Odoo Accounting" +msgstr "" + +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:172 msgid "Deprecated" msgstr "" +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:174 +msgid "It is not possible to delete an account once a transaction has been recorded on it. You can make them unusable by using the **Deprecated** feature: check the :guilabel:`Deprecated` box in the account's settings, and :guilabel:`Save`." +msgstr "" + #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:179 -msgid "It is not possible to delete an account once a transaction has been recorded on it. You can make them unusable by using the **Deprecated** feature." -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:182 -msgid "To do so, check the :guilabel:`Deprecated` box in the account's settings, and save." -msgstr "" - -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:185 msgid ":doc:`cheat_sheet`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:186 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:180 msgid ":doc:`../vendor_bills/assets`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:187 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:181 msgid ":doc:`../vendor_bills/deferred_expenses`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:188 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:182 msgid ":doc:`../customer_invoices/deferred_revenues`" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:190 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:184 msgid "`Odoo Tutorials: Chart of accounts `_" msgstr "" -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:191 +#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:185 msgid "`Odoo Tutorials: Update your chart of accounts `_" msgstr "" @@ -5217,42 +5208,42 @@ msgstr "" msgid "Balance = Debit - Credit" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:135 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:137 msgid "Every financial document of the company (e.g., an invoice, a bank statement, a pay slip, a capital increase contract) is recorded as a journal entry, impacting several accounts." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:138 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:140 msgid "For a journal entry to be balanced, the sum of all its debits must be equal to the sum of all its credits." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:143 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:145 msgid "examples of accounting entries for various transactions. (see entries.js)" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:148 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:222 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:232 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:248 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:150 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 msgid "Reconciliation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:150 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:152 msgid ":doc:`Reconciliation <../../accounting/bank/reconciliation>` is the process of linking journal items of a specific account and matching credits and debits." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:153 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:155 msgid "Its primary purpose is to link payments to their related invoices to mark them as paid. This is done by doing a reconciliation on the accounts receivable account and/or the accounts payable account." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:156 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:158 msgid "Reconciliation is performed automatically by the system when:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:158 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:160 msgid "the payment is registered directly on the invoice" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:159 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:161 msgid "the links between the payments and the invoices are detected at the bank matching process" msgstr "" @@ -5260,121 +5251,121 @@ msgstr "" msgid "Customer Statement Example" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:170 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:172 msgid "Invoice 1" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:172 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:174 msgid "Partial payment 1/2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:172 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:174 msgid "70" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:174 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:176 msgid "Invoice 2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:174 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:178 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:176 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:180 msgid "65" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:176 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:178 msgid "Partial payment 2/2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:176 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:178 msgid "30" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:178 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:180 msgid "Payment 2" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:180 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:182 msgid "Invoice 3" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:180 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:184 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:182 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:186 msgid "50" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:184 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:186 msgid "Total to pay" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:188 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:190 #: ../../content/applications/finance/accounting/reporting.rst:149 msgid "Bank Reconciliation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:190 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:192 msgid "Bank reconciliation is the matching of bank statement lines (provided by your bank) with transactions recorded internally (payments to suppliers or from customers). For each line in a bank statement, it can be:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:194 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:196 msgid "**matched with a previously recorded payment**: a payment is registered when a check is received from a customer, then matched when checking the bank statement." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:196 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:198 msgid "**recorded as a new payment**: the payment's journal entry is created and reconciled with the related invoice when processing the bank statement." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:198 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:200 msgid "**recorded as another transaction**: bank transfer, direct charge, etc." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:200 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:202 msgid "Odoo should automatically reconcile most transactions; only a few should need manual review. When the bank reconciliation process is finished, the balance on the bank account in Odoo should match the bank statement's balance." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:207 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:209 msgid "Checks Handling" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:209 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:211 msgid "There are two approaches to managing checks and internal wire transfers:" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:211 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:213 msgid "Two journal entries and a reconciliation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:212 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:214 msgid "One journal entry and a bank reconciliation" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:216 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:218 msgid "The first journal entry is created by registering the payment on the invoice. The second one is created when registering the bank statement." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:224 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:226 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:252 msgid "Invoice ABC" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:226 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:228 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:236 msgid "Undeposited funds" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:226 -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:234 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:228 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:236 msgid "Check 0123" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:241 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:243 msgid "A journal entry is created by registering the payment on the invoice. When reconciling the bank statement, the statement line is linked to the existing journal entry." msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:248 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:250 msgid "Bank Statement" msgstr "" -#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:252 +#: ../../content/applications/finance/accounting/get_started/cheat_sheet.rst:254 msgid "Statement XYZ" msgstr "" @@ -5464,7 +5455,8 @@ msgstr "" #: ../../content/applications/finance/accounting/get_started/multi_currency.rst:99 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:252 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:280 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:159 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:282 #: ../../content/applications/finance/fiscal_localizations/france.rst:194 #: ../../content/applications/finance/fiscal_localizations/india.rst:101 #: ../../content/applications/finance/fiscal_localizations/peru.rst:299 @@ -6459,7 +6451,6 @@ msgid ":doc:`/applications/inventory_and_mrp/purchase/manage_deals/manage`" msgstr "" #: ../../content/applications/finance/accounting/payments/multiple.rst:10 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:403 msgid ":doc:`/applications/finance/accounting/bank/reconciliation`" msgstr "" @@ -8998,9 +8989,9 @@ msgid "In terms of finance, you have no more revenues selling your product at 10 msgstr "" #: ../../content/applications/finance/accounting/taxes/B2B_B2C.rst:63 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:9 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:10 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:6 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:25 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:27 #: ../../content/applications/finance/fiscal_localizations/peru.rst:6 msgid "Introduction" msgstr "" @@ -9134,7 +9125,7 @@ msgid "Avatax is a tax calculation provider that can be integrated in Odoo." msgstr "" #: ../../content/applications/finance/accounting/taxes/avatax.rst:10 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:116 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:98 msgid "Credential configuration" msgstr "" @@ -9625,7 +9616,8 @@ msgstr "" #: ../../content/applications/finance/accounting/vendor_bills.rst:5 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:588 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:702 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:463 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:704 #: ../../content/applications/finance/fiscal_localizations/italy.rst:279 msgid "Vendor bills" msgstr "" @@ -10356,9 +10348,8 @@ msgid "Workspaces are hierarchical folders having their own set of tags and :ref msgstr "" #: ../../content/applications/finance/documents.rst:47 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:70 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:233 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:234 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:236 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1051 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:78 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:271 msgid ":guilabel:`Name`" @@ -10399,7 +10390,6 @@ msgstr "" #: ../../content/applications/finance/documents.rst:74 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:31 #: ../../content/applications/finance/fiscal_localizations/austria.rst:16 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:39 #: ../../content/applications/finance/fiscal_localizations/chile.rst:32 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:35 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:48 @@ -10410,9 +10400,8 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/kenya.rst:18 #: ../../content/applications/finance/fiscal_localizations/kenya.rst:36 #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:16 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:68 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:100 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:124 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:73 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:117 #: ../../content/applications/finance/fiscal_localizations/romania.rst:16 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:17 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:16 @@ -10779,130 +10768,130 @@ msgid "Only two fields are required, the :guilabel:`Product Name` and the :guila 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 view, create, and edit the units of measure. Refer to :doc:`this document ` to learn more about units of measure and how to configure them." +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/product_replenishment/uom>`." msgstr "" -#: ../../content/applications/finance/expenses.rst:51 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:57 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:63 +#: ../../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`:" msgstr "" -#: ../../content/applications/finance/expenses.rst:66 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:69 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:73 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:75 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:80 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:84 +#: ../../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." msgstr "" -#: ../../content/applications/finance/expenses.rst:91 +#: ../../content/applications/finance/expenses.rst:90 msgid "Record expenses" msgstr "" -#: ../../content/applications/finance/expenses.rst:94 +#: ../../content/applications/finance/expenses.rst:93 msgid "Manually create a new expense" msgstr "" -#: ../../content/applications/finance/expenses.rst:96 +#: ../../content/applications/finance/expenses.rst:95 msgid "To record a new expense, begin in the main :menuselection:`Expenses` app dashboard, which presents the default :guilabel:`My Expenses` view. This view can also be accessed from :menuselection:`Expenses app --> My Expenses --> My Expenses`." msgstr "" -#: ../../content/applications/finance/expenses.rst:100 +#: ../../content/applications/finance/expenses.rst:99 msgid "First, click :guilabel:`New`, and then fill out the various fields on the form." msgstr "" -#: ../../content/applications/finance/expenses.rst:102 +#: ../../content/applications/finance/expenses.rst:101 msgid ":guilabel:`Description`: Enter a short description for the expense in the :guilabel:`Description` field. This should be short and informative, such as `lunch with client` or `hotel for conference`." msgstr "" -#: ../../content/applications/finance/expenses.rst:105 +#: ../../content/applications/finance/expenses.rst:104 msgid ":guilabel:`Category`: Select the expense category from the drop-down menu that most closely corresponds to the expense. For example, an airplane ticket would be appropriate for an expense :guilabel:`Category` named :guilabel:`Air Travel`." msgstr "" -#: ../../content/applications/finance/expenses.rst:108 +#: ../../content/applications/finance/expenses.rst:107 msgid ":guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:" msgstr "" -#: ../../content/applications/finance/expenses.rst:110 +#: ../../content/applications/finance/expenses.rst:109 msgid "If the expense is for one 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.rst:112 +#: ../../content/applications/finance/expenses.rst:111 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 :guilabel:`Unit Price` x the :guilabel:`Quantity` = the total). Be advised, the word \"total\" does not appear, the total cost simply appears below the :guilabel:`Quantity`." msgstr "" -#: ../../content/applications/finance/expenses.rst:119 +#: ../../content/applications/finance/expenses.rst:118 msgid "For example, 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." msgstr "" -#: ../../content/applications/finance/expenses.rst:123 +#: ../../content/applications/finance/expenses.rst:122 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`." msgstr "" -#: ../../content/applications/finance/expenses.rst:128 +#: ../../content/applications/finance/expenses.rst:127 msgid "When a tax is configured on an expense category, the :guilabel:`Included Taxes` value will update in real time as the :guilabel:`Total` or :guilabel:`Quantity` is updated." msgstr "" -#: ../../content/applications/finance/expenses.rst:131 +#: ../../content/applications/finance/expenses.rst:130 msgid ":guilabel:`Employee`: Using the drop-down menu, select the employee this expense is for." msgstr "" -#: ../../content/applications/finance/expenses.rst:132 +#: ../../content/applications/finance/expenses.rst:131 msgid ":guilabel:`Paid By`: Click the radio button to indicate who paid for the expense and should be reimbursed. If the employee paid for the expense (and should be reimbursed) select :guilabel:`Employee (to reimburse)`. If the company paid directly instead (e.g. if the company credit card was used to pay for the expense) select :guilabel:`Company`. Depending on the expense category selected, this field may not appear." msgstr "" -#: ../../content/applications/finance/expenses.rst:137 +#: ../../content/applications/finance/expenses.rst:136 msgid ":guilabel:`Bill Reference`: If there is any reference text that should be included for the expense, enter it in this field." msgstr "" -#: ../../content/applications/finance/expenses.rst:139 +#: ../../content/applications/finance/expenses.rst:138 msgid ":guilabel:`Expense Date`: Using the calendar module, enter the date the expense was incurred. Use the :guilabel:`< (left)` and :guilabel:`> (right)` arrows to navigate to the correct month, then click on the specific day to enter the selection." msgstr "" -#: ../../content/applications/finance/expenses.rst:142 +#: ../../content/applications/finance/expenses.rst:141 msgid ":guilabel:`Account`: Select the expense account that this expense should be logged on from the drop-down menu." msgstr "" -#: ../../content/applications/finance/expenses.rst:144 +#: ../../content/applications/finance/expenses.rst:143 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 will 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, but 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.rst:151 +#: ../../content/applications/finance/expenses.rst:150 msgid "A customer wishes to have an on-site meeting for a custom garden (design and installation) 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`." msgstr "" -#: ../../content/applications/finance/expenses.rst:156 +#: ../../content/applications/finance/expenses.rst:155 msgid ":guilabel:`Analytic Distribution`: Select the account(s) 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 the account." msgstr "" -#: ../../content/applications/finance/expenses.rst:160 +#: ../../content/applications/finance/expenses.rst:159 msgid ":guilabel:`Company`: If multiple companies are set up, select the company this expense should be filed for from the drop-down menu. The current company will automatically populate this field." msgstr "" -#: ../../content/applications/finance/expenses.rst:162 +#: ../../content/applications/finance/expenses.rst:161 msgid ":guilabel:`Notes...`: If any notes are needed in order to clarify the expense, enter them in the notes field." msgstr "" @@ -10910,11 +10899,11 @@ msgstr "" msgid "A filled in expense form for a client lunch." msgstr "" -#: ../../content/applications/finance/expenses.rst:170 +#: ../../content/applications/finance/expenses.rst:169 msgid "Attach a receipt" msgstr "" -#: ../../content/applications/finance/expenses.rst:172 +#: ../../content/applications/finance/expenses.rst:171 msgid "After the expense 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`. The new receipt is recorded in the chatter, and the number of receipts will appear next to the :guilabel:`📎 (paperclip)` icon beneath the expense form. More than one receipt can be attached to an individual expense, as needed. The number of receipts attached to the expense will be noted on the paperclip icon." msgstr "" @@ -10922,15 +10911,15 @@ msgstr "" msgid "Attach a receipt and it appears in the chatter." msgstr "" -#: ../../content/applications/finance/expenses.rst:184 +#: ../../content/applications/finance/expenses.rst:183 msgid "Create new expenses from a scanned receipt" msgstr "" -#: ../../content/applications/finance/expenses.rst:186 +#: ../../content/applications/finance/expenses.rst:185 msgid "Rather than manually inputting all of the information for an expense, expenses can be created by scanning a PDF receipt." msgstr "" -#: ../../content/applications/finance/expenses.rst:189 +#: ../../content/applications/finance/expenses.rst:188 msgid "First, in the main :guilabel:`Expenses` app dashboard view (this view can also be accessed from :menuselection:`Expenses app --> My Expenses --> My Expenses`), click :guilabel:`Scan`, and a file explorer pops up. Navigate to the receipt to be uploaded, click on it to select it, and then click :guilabel:`Open`." msgstr "" @@ -10939,19 +10928,19 @@ msgid "Create an expense by scanning a receipt. Click Scan at the top of the Exp "view." msgstr "" -#: ../../content/applications/finance/expenses.rst:199 +#: ../../content/applications/finance/expenses.rst:198 msgid "The receipt is scanned, and a new entry is created with today's date as the :guilabel:`Expense Date`, and any other fields it can populate based on the scanned data, such as the total. Click on the new entry to open the individual expense form, and make any changes needed. The scanned receipt appears in the chatter." msgstr "" -#: ../../content/applications/finance/expenses.rst:205 +#: ../../content/applications/finance/expenses.rst:204 msgid "Automatically create new expenses from an email" msgstr "" -#: ../../content/applications/finance/expenses.rst:207 +#: ../../content/applications/finance/expenses.rst:206 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.rst:210 +#: ../../content/applications/finance/expenses.rst:209 msgid "To do so, first, an email alias needs to be configured. Go to :menuselection:`Expenses app --> Configuration --> Settings`. Ensure :guilabel:`Incoming Emails` is enabled." msgstr "" @@ -10960,19 +10949,19 @@ msgstr "" msgid "Create the domain alias by clicking the link." msgstr "" -#: ../../content/applications/finance/expenses.rst:218 +#: ../../content/applications/finance/expenses.rst:217 msgid "If the domain alias needs to be set up, :guilabel:`Setup your domain alias` will appear beneath the incoming emails check box instead of the email address field. Refer to this documentation for setup instructions and more information: :doc:`/administration/maintain/domain_names`. Once the domain alias is configured, the email address field will be visible beneath the incoming emails section." msgstr "" -#: ../../content/applications/finance/expenses.rst:224 +#: ../../content/applications/finance/expenses.rst:223 msgid "Next, enter the email address to be used in the email field, and then click :guilabel:`Save`. Now that 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.rst:228 +#: ../../content/applications/finance/expenses.rst:227 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 in the email subject. 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.rst:233 +#: ../../content/applications/finance/expenses.rst:232 msgid "To check an expense categories 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." msgstr "" @@ -10980,7 +10969,7 @@ msgstr "" msgid "Internal reference numbers are listed in the main Expense Categories view." msgstr "" -#: ../../content/applications/finance/expenses.rst:241 +#: ../../content/applications/finance/expenses.rst:240 msgid "To add an internal reference on an expense category, click on the category to open the form. Enter the internal reference in the field. Beneath the :guilabel:`Internal Reference` field, this sentence appears: :guilabel:`Use this reference as a subject prefix when submitting by email.`" msgstr "" @@ -10988,43 +10977,43 @@ msgstr "" msgid "Internal reference numbers are listed in the main Expense Products view." msgstr "" -#: ../../content/applications/finance/expenses.rst:250 +#: ../../content/applications/finance/expenses.rst:249 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`" msgstr "" -#: ../../content/applications/finance/expenses.rst:259 +#: ../../content/applications/finance/expenses.rst:258 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.rst:262 +#: ../../content/applications/finance/expenses.rst:261 msgid "Explanation:" msgstr "" -#: ../../content/applications/finance/expenses.rst:264 +#: ../../content/applications/finance/expenses.rst:263 msgid "The :guilabel:`Internal Reference` for the expense category `Meals` is `FOOD`" msgstr "" -#: ../../content/applications/finance/expenses.rst:265 +#: ../../content/applications/finance/expenses.rst:264 msgid "The :guilabel:`Cost` for the expense is `$25.00`" msgstr "" -#: ../../content/applications/finance/expenses.rst:270 +#: ../../content/applications/finance/expenses.rst:269 msgid "Create an expense report" msgstr "" -#: ../../content/applications/finance/expenses.rst:272 +#: ../../content/applications/finance/expenses.rst:271 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. Go to the main :menuselection:`Expenses` app dashboard, which displays a default :guilabel:`My Expenses` view, or go to :menuselection:`Expenses app --> My Expenses --> My Expenses`." msgstr "" -#: ../../content/applications/finance/expenses.rst:277 +#: ../../content/applications/finance/expenses.rst:276 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) the text appears in blue. All other statuses (:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black." msgstr "" -#: ../../content/applications/finance/expenses.rst:281 +#: ../../content/applications/finance/expenses.rst:280 msgid "First, select each individual expense for the report by clicking the check box next to each entry, or quickly select all the expenses in the list by clicking the check box next to :guilabel:`Expense Date`." msgstr "" -#: ../../content/applications/finance/expenses.rst:285 +#: ../../content/applications/finance/expenses.rst:284 msgid "Another way to quickly add all expenses that are not on an expense report is to click :guilabel:`Create Report` without selecting any expenses, and Odoo will select all expenses with a status of :guilabel:`To Submit` that are not already on a report." msgstr "" @@ -11032,15 +11021,15 @@ msgstr "" msgid "Select the expenses to submit, then create the report." msgstr "" -#: ../../content/applications/finance/expenses.rst:294 +#: ../../content/applications/finance/expenses.rst:293 msgid "Any expense can be selected from the :guilabel:`My Expenses` list, regardless of status. The :guilabel:`Create Report` button is visible as long as there is a minimum of 1 expense with a status of :guilabel:`To Report` selected. When the :guilabel:`Create Report` button is clicked, only expenses with a status of :guilabel:`To Submit` that are *not* currently on another expense report will appear in the newly created expense report." msgstr "" -#: ../../content/applications/finance/expenses.rst:300 +#: ../../content/applications/finance/expenses.rst:299 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 :guilabel:`📎 (paperclip)` icon appears next to the :guilabel:`Customer to Reinvoice` and :guilabel:`Analytic Distribution` columns." msgstr "" -#: ../../content/applications/finance/expenses.rst:305 +#: ../../content/applications/finance/expenses.rst:304 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 short description for the expense report (such as `Client Trip NYC`, or `Repairs for Company Car`) in the :guilabel:`Expense Report Summary` field. Next, select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report. If needed, the :guilabel:`Journal` can be changed. Use the drop-down menu to select a different :guilabel:`Journal`." msgstr "" @@ -11048,7 +11037,7 @@ msgstr "" msgid "Enter a short description and select a manager for the report." msgstr "" -#: ../../content/applications/finance/expenses.rst:317 +#: ../../content/applications/finance/expenses.rst:316 msgid "If some expenses are not on the report that should be, they can still be added. Click :guilabel:`Add a line` at the bottom of the :guilabel:`Expense` tab. A pop up appears with all the available expenses that can be added to the report (with a status of :guilabel:`To Submit`). Click the check box next to each expense to add, then click :guilabel:`Select`. The items now appear on the report that was just created. If a new expense needs to be added that does *not* appear on the list, click :guilabel:`New` to create a new expense and add it to the report." msgstr "" @@ -11056,39 +11045,39 @@ msgstr "" msgid "Add more expenses to the report before submitting." msgstr "" -#: ../../content/applications/finance/expenses.rst:329 +#: ../../content/applications/finance/expenses.rst:328 msgid "Expense reports can be created in one of three places:" msgstr "" -#: ../../content/applications/finance/expenses.rst:331 +#: ../../content/applications/finance/expenses.rst:330 msgid "Go to the main :menuselection:`Expenses` app dashboard (also accessed by going to :menuselection:`Expenses app --> My Expenses --> My Expenses`)" msgstr "" -#: ../../content/applications/finance/expenses.rst:333 +#: ../../content/applications/finance/expenses.rst:332 msgid "Go to :menuselection:`Expenses app --> My Expenses --> My Reports`" msgstr "" -#: ../../content/applications/finance/expenses.rst:334 +#: ../../content/applications/finance/expenses.rst:333 msgid "Go to :menuselection:`Expenses app --> Expense Reports`" msgstr "" -#: ../../content/applications/finance/expenses.rst:336 +#: ../../content/applications/finance/expenses.rst:335 msgid "In any of these views, click :guilabel:`New` to create a new expense report." msgstr "" -#: ../../content/applications/finance/expenses.rst:341 +#: ../../content/applications/finance/expenses.rst:340 msgid "Submit an expense report" msgstr "" -#: ../../content/applications/finance/expenses.rst:343 +#: ../../content/applications/finance/expenses.rst:342 msgid "When an expense report is completed, the next step is to submit the report to a manager for approval. Reports must be individually submitted, and cannot be submitted in batches. Open the specific report from the list of expense reports (if the report is not already open). To view all expense reports, go to :menuselection:`Expenses app --> My Expenses --> My Reports`." msgstr "" -#: ../../content/applications/finance/expenses.rst:348 +#: ../../content/applications/finance/expenses.rst:347 msgid "If the list is large, grouping the results by status may be helpful since only reports that have a :guilabel:`To Submit` status need to be submitted, reports with an :guilabel:`Approved` or :guilabel:`Submitted` status do not." msgstr "" -#: ../../content/applications/finance/expenses.rst:352 +#: ../../content/applications/finance/expenses.rst:351 msgid "The :guilabel:`To Submit` expenses are easily identifiable not just from the :guilabel:`To Submit` status, but the text appears in blue, while the other expenses text appears in black." msgstr "" @@ -11096,71 +11085,71 @@ msgstr "" msgid "Submit the report to the manager." msgstr "" -#: ../../content/applications/finance/expenses.rst:360 +#: ../../content/applications/finance/expenses.rst:359 msgid "The status of each report is shown in the :guilabel:`Status` column on the right. If the :guilabel:`Status` column is not visible, click the :guilabel:`Additional Options (two dots)` icon at the end of the row, and enable :guilabel:`Status`." msgstr "" -#: ../../content/applications/finance/expenses.rst:364 +#: ../../content/applications/finance/expenses.rst:363 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." msgstr "" -#: ../../content/applications/finance/expenses.rst:368 +#: ../../content/applications/finance/expenses.rst:367 msgid "The :ref:`expenses/approve`, :ref:`expenses/post`, and :ref:`expenses/reimburse` sections are **only** for users with the *necessary rights*." msgstr "" -#: ../../content/applications/finance/expenses.rst:374 +#: ../../content/applications/finance/expenses.rst:373 msgid "Approve expenses" msgstr "" -#: ../../content/applications/finance/expenses.rst:376 +#: ../../content/applications/finance/expenses.rst:375 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." msgstr "" -#: ../../content/applications/finance/expenses.rst:381 +#: ../../content/applications/finance/expenses.rst:380 msgid "To see who has rights to approve, go to the main :menuselection:`Settings` app and click on :guilabel:`Manage Users`." msgstr "" -#: ../../content/applications/finance/expenses.rst:385 +#: ../../content/applications/finance/expenses.rst:384 msgid "If the *Settings* app is not available, then certain rights are not set on the account. Check the :guilabel:`Access Rights` tab of a user's card in the :menuselection:`Settings` app. the :guilabel:`Administration` section (bottom right of the :guilabel:`Access Rights` tab) is set to one of three options:" msgstr "" -#: ../../content/applications/finance/expenses.rst:390 +#: ../../content/applications/finance/expenses.rst:389 msgid ":guilabel:`None (blank)`: The user cannot access the *Settings* app at all." msgstr "" -#: ../../content/applications/finance/expenses.rst:391 +#: ../../content/applications/finance/expenses.rst:390 msgid ":guilabel:`Access Rights`: The user can only view the :guilabel:`User's & Companies` section of the *Settings* app." msgstr "" -#: ../../content/applications/finance/expenses.rst:393 +#: ../../content/applications/finance/expenses.rst:392 msgid ":guilabel:`Settings`: The user has access to the entire *Settings* app with no restrictions." msgstr "" -#: ../../content/applications/finance/expenses.rst:395 +#: ../../content/applications/finance/expenses.rst:394 msgid "Please refer to :doc:`this document ` to learn more about managing users and their access rights." msgstr "" -#: ../../content/applications/finance/expenses.rst:398 +#: ../../content/applications/finance/expenses.rst:397 msgid "Click on an individual to view their card, which displays the :guilabel:`Access Rights` tab in the default view. Scroll down to the :guilabel:`Human Resources` section. Under :guilabel:`Expenses`, there are four options:" msgstr "" -#: ../../content/applications/finance/expenses.rst:402 +#: ../../content/applications/finance/expenses.rst:401 msgid ":guilabel:`None (blank)`: A blank field means the user has no rights to view or approve expense reports, and can only view their own." msgstr "" -#: ../../content/applications/finance/expenses.rst:404 +#: ../../content/applications/finance/expenses.rst:403 msgid ":guilabel:`Team Approver`: The user can only view and approve expense reports for their own specific team." msgstr "" -#: ../../content/applications/finance/expenses.rst:406 +#: ../../content/applications/finance/expenses.rst:405 msgid ":guilabel:`All Approver`: The user can view and approve any expense report." msgstr "" -#: ../../content/applications/finance/expenses.rst:407 +#: ../../content/applications/finance/expenses.rst:406 msgid ":guilabel:`Administrator`: The user can view and approve any expense report, as well as access the reporting and configuration menus in the *Expenses* app." msgstr "" -#: ../../content/applications/finance/expenses.rst:410 +#: ../../content/applications/finance/expenses.rst:409 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`, and a list appears with all expense reports that have a status of either :guilabel:`To Submit`, :guilabel:`Submitted`, :guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done`. Expense reports with a status of :guilabel:`Refused` are hidden in the default view." msgstr "" @@ -11168,23 +11157,23 @@ msgstr "" msgid "Reports to validate are found on the Reports to Approve page." msgstr "" -#: ../../content/applications/finance/expenses.rst:420 +#: ../../content/applications/finance/expenses.rst:419 msgid "When viewing expense reports, there is a panel of filters that can be enabled or disabled on the left side. The three categories that filters can be applied on are :guilabel:`Status`, :guilabel:`Employee`, and :guilabel:`Company`. To view only expense reports with a particular status, enable the specific status filter to display the expense reports with only that status. Disable the specific status filter to hide the reports with that status. To view expense reports for a particular employee and/or company, enable the specific employee name filter and/or company filter in the :guilabel:`Employee` and :guilabel:`Company` sections." msgstr "" -#: ../../content/applications/finance/expenses.rst:428 +#: ../../content/applications/finance/expenses.rst:427 msgid "Reports can be approved in two ways (individually or several at once) and refused only one way. To approve multiple expense reports at once, remain in the list view. First, select the reports to approve by clicking the check box next to each report, or click the box next to :guilabel:`Employee` to select all the reports in the list." msgstr "" -#: ../../content/applications/finance/expenses.rst:434 +#: ../../content/applications/finance/expenses.rst:433 msgid "Only reports with a status of :guilabel:`Submitted` can be approved. It is recommended to only display the submitted reports by adjusting the status filter on the left side by only having the :guilabel:`Submitted` filter enabled." msgstr "" -#: ../../content/applications/finance/expenses.rst:438 +#: ../../content/applications/finance/expenses.rst:437 msgid "If a report is selected that is unable to be approved, the :guilabel:`Approve Report` button **will not appear**, indicating there is a problem with the selected report(s)." msgstr "" -#: ../../content/applications/finance/expenses.rst:441 +#: ../../content/applications/finance/expenses.rst:440 msgid "Next, click the :guilabel:`Approve Report` button." msgstr "" @@ -11192,11 +11181,11 @@ msgstr "" msgid "Approve multiple reports by clicking the checkboxes next to each report." msgstr "" -#: ../../content/applications/finance/expenses.rst:447 +#: ../../content/applications/finance/expenses.rst:446 msgid "To approve an individual report, click on a report to go to a detailed view of that report. In this view, several options are presented: :guilabel:`Approve`, :guilabel:`Report in Next Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to draft`. Click :guilabel:`Approve` to approve the report." msgstr "" -#: ../../content/applications/finance/expenses.rst:451 +#: ../../content/applications/finance/expenses.rst:450 msgid "If :guilabel:`Refuse` is clicked, a pop-up window appears. Enter a brief explanation for the refusal in the :guilabel:`Reason to Refuse Expense` field, and then click :guilabel:`Refuse`." msgstr "" @@ -11205,7 +11194,7 @@ msgstr "" msgid "Send messages in the chatter." msgstr "" -#: ../../content/applications/finance/expenses.rst:458 +#: ../../content/applications/finance/expenses.rst:457 msgid "Team managers can easily view all the expense reports for their team members. While in the :guilabel:`Expense Reports` view, click the drop-down arrow in the right-side of the search box, and click on :guilabel:`My Team` in the :guilabel:`Filters` section. This presents all the reports for the manager's team." msgstr "" @@ -11213,19 +11202,19 @@ msgstr "" msgid "Select the My Team filter." msgstr "" -#: ../../content/applications/finance/expenses.rst:468 +#: ../../content/applications/finance/expenses.rst:467 msgid "If more information is needed, such as a missing receipt, communication is easy from the chatter. In an individual report, simply click :guilabel:`Send message` to open the message text box. Type in a message, tagging the proper person (if needed), and post it to the chatter by clicking :guilabel:`Send`. The message is posted in the chatter, and the person tagged will be notified via email of the message, as well as any followers." msgstr "" -#: ../../content/applications/finance/expenses.rst:474 +#: ../../content/applications/finance/expenses.rst:473 msgid "The only people that can be tagged in a message are *followers*. To see who is a follower, click on the :guilabel:`👤 (person)` icon to display the followers of the expense." msgstr "" -#: ../../content/applications/finance/expenses.rst:484 +#: ../../content/applications/finance/expenses.rst:483 msgid "Post expenses in accounting" msgstr "" -#: ../../content/applications/finance/expenses.rst:486 +#: ../../content/applications/finance/expenses.rst:485 msgid "Once an expense report is approved, the next step is to post the report to the accounting journal. To view all expense reports, go to :menuselection:`Expenses app --> Expense Reports`. To view only the expense reports that have been approved and need to be posted, adjust the filters on the left side so that only the :guilabel:`Approved` status is enabled." msgstr "" @@ -11233,7 +11222,7 @@ msgstr "" msgid "View reports to post by clicking on expense reports, then reports to post." msgstr "" -#: ../../content/applications/finance/expenses.rst:495 +#: ../../content/applications/finance/expenses.rst:494 msgid "Just like approvals, expense reports can be posted in two ways (individually or several at once). To post multiple expense reports at once, remain in the list view. First, select the reports to post by clicking the check box next to each report, or click the box next to :guilabel:`Employee` to select all the reports in the list. Next, click :guilabel:`Post Entries`." msgstr "" @@ -11241,31 +11230,31 @@ msgstr "" msgid "Post multiple reports at a time from the Expense Reports view, with the Approved filter." msgstr "" -#: ../../content/applications/finance/expenses.rst:504 +#: ../../content/applications/finance/expenses.rst:503 msgid "To post an individual report, click on a report to go to the detailed view of that report. In this view, several options are presented: :guilabel:`Post Journal Entries`, :guilabel:`Report In Next Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to Draft`. Click :guilabel:`Post Journal Entries` to post the report." msgstr "" -#: ../../content/applications/finance/expenses.rst:509 +#: ../../content/applications/finance/expenses.rst:508 msgid "If :guilabel:`Refuse` is clicked, a pop-up window appears. Enter a brief explanation for the refusal in the :guilabel:`Reason to Refuse Expense` field, and then click :guilabel:`Refuse`. Refused reports can be viewed by going to :menuselection:`Expenses app --> Expense Reports`, then adjusting the filters on the left so that only :guilabel:`Refused` is selected. This will only show the refused expense reports." msgstr "" -#: ../../content/applications/finance/expenses.rst:516 +#: ../../content/applications/finance/expenses.rst:515 msgid "To post expense reports to an accounting journal, the user must have following access rights:" msgstr "" -#: ../../content/applications/finance/expenses.rst:518 +#: ../../content/applications/finance/expenses.rst:517 msgid "Accounting: Accountant or Adviser" msgstr "" -#: ../../content/applications/finance/expenses.rst:519 +#: ../../content/applications/finance/expenses.rst:518 msgid "Expenses: Manager" msgstr "" -#: ../../content/applications/finance/expenses.rst:524 +#: ../../content/applications/finance/expenses.rst:523 msgid "Reimburse employees" msgstr "" -#: ../../content/applications/finance/expenses.rst:526 +#: ../../content/applications/finance/expenses.rst:525 msgid "After an expense report is posted to an accounting journal, the next step is to reimburse the employee. To view all the expense reports to pay, go to :menuselection:`Expenses app --> Expense Reports --> Reports To Pay`." msgstr "" @@ -11273,7 +11262,7 @@ msgstr "" msgid "View reports to pay by clicking on expense reports, then reports to pay." msgstr "" -#: ../../content/applications/finance/expenses.rst:534 +#: ../../content/applications/finance/expenses.rst:533 msgid "Just like approvals and posting, expense reports can be paid in two ways (individually or several at once). To pay multiple expense reports at once, remain in the list view. First, select the reports to pay by clicking the check box next to each report, or click the box next to :guilabel:`Employee` to select all the reports in the list. Next, click :guilabel:`Register Payment`." msgstr "" @@ -11281,15 +11270,15 @@ msgstr "" msgid "Post multiple reports by selecting them, clicking the gear, and then post the entries." msgstr "" -#: ../../content/applications/finance/expenses.rst:543 +#: ../../content/applications/finance/expenses.rst:542 msgid "To pay an individual report, click on a report to go to a detailed view of that report. Click :guilabel:`Register Payment` to pay the employee." msgstr "" -#: ../../content/applications/finance/expenses.rst:546 +#: ../../content/applications/finance/expenses.rst:545 msgid "A :guilabel:`Register Payment` pop-up appears, and the :guilabel:`Journal`, :guilabel:`Payment Method`, and :guilabel:`Payment Date` can be modified, if needed. When the selections are correct, click :guilabel:`Create Payment` to send the payment to the employee." msgstr "" -#: ../../content/applications/finance/expenses.rst:550 +#: ../../content/applications/finance/expenses.rst:549 msgid "To pay an individual report, click on a report in the list view to go to a detailed view of that report. Click :guilabel:`Register Payment` to pay the employee. A :guilabel:`Register Payment` pop-up appears, but when paying an individual expense report instead of several at once, more options appear in the pop-up. In addition to the :guilabel:`Journal`, :guilabel:`Payment Method`, and :guilabel:`Payment Date` fields, a :guilabel:`Recipient Bank Account`, :guilabel:`Amount`, and :guilabel:`Memo` field appear. Select the employee's bank account from the drop-down menu to directly deposit the payment to their account. When all other selections are correct, click :guilabel:`Create Payment` to send the payment to the employee." msgstr "" @@ -11298,45 +11287,45 @@ msgid "Different options appear when registering an individual expense report ve "expense reports at once." msgstr "" -#: ../../content/applications/finance/expenses.rst:565 +#: ../../content/applications/finance/expenses.rst:564 msgid "Re-invoice expenses to customers" msgstr "" -#: ../../content/applications/finance/expenses.rst:567 +#: ../../content/applications/finance/expenses.rst:566 msgid "If expenses are tracked on customer projects, expenses can be automatically charged back to the customer. This is done by creating an expense, referencing the :abbr:`SO (Sales Order)` the expense should be added to, and then creating the expense report. Next, managers approve the expense report, and the accounting department posts the journal entries. Finally, once the expense report is posted to a journal, the expense(s) appears on the :abbr:`SO (Sales Order)` that was referenced. The sales order can then be invoiced, thus invoicing the customer for the expense." msgstr "" -#: ../../content/applications/finance/expenses.rst:575 +#: ../../content/applications/finance/expenses.rst:574 #: ../../content/applications/finance/fiscal_localizations/india.rst:55 #: ../../content/applications/finance/fiscal_localizations/india.rst:195 msgid "Setup" msgstr "" -#: ../../content/applications/finance/expenses.rst:577 +#: ../../content/applications/finance/expenses.rst:576 msgid "First, specify the invoicing policy for each expense category. Go to :menuselection:`Expenses app --> Configuration --> Expense Categories`. Click on the expense category to open the expense category form. Under the :guilabel:`Invoicing` section, click the radio button next to the desired selection for :guilabel:`Re-Invoicing Expenses`. Options are :guilabel:`None`, :guilabel:`At cost`, and :guilabel:`Sales price`." msgstr "" -#: ../../content/applications/finance/expenses.rst:583 +#: ../../content/applications/finance/expenses.rst:582 msgid ":guilabel:`Re-Invoicing Expenses`:" msgstr "" -#: ../../content/applications/finance/expenses.rst:585 +#: ../../content/applications/finance/expenses.rst:584 msgid ":guilabel:`None`: Expense category will not be re-invoiced." msgstr "" -#: ../../content/applications/finance/expenses.rst:586 +#: ../../content/applications/finance/expenses.rst:585 msgid ":guilabel:`At cost`: Expense category will invoice expenses at their real cost." msgstr "" -#: ../../content/applications/finance/expenses.rst:587 +#: ../../content/applications/finance/expenses.rst:586 msgid ":guilabel:`At sales price`: Expense category will invoice the price set on the sale order." msgstr "" -#: ../../content/applications/finance/expenses.rst:590 +#: ../../content/applications/finance/expenses.rst:589 msgid "Create an expense" msgstr "" -#: ../../content/applications/finance/expenses.rst:592 +#: ../../content/applications/finance/expenses.rst:591 msgid "First, when :ref:`creating a new expense `, the correct information needs to be entered in order to re-invoice a customer. Select the *sales order* the expense will appear on in the :guilabel:`Customer to Reinvoice` section, from the drop-down menu. Next, select the :guilabel:`Analytic Account` the expense will be posted to. After the expense(s) are created, the expense report needs to be :ref:`created ` and :ref:`submitted ` as usual." msgstr "" @@ -11344,31 +11333,31 @@ msgstr "" msgid "Ensure the customer to be invoiced is called out on the expense." msgstr "" -#: ../../content/applications/finance/expenses.rst:604 +#: ../../content/applications/finance/expenses.rst:603 msgid "Selecting a :guilabel:`Customer to Reinvoice` when creating an expense is critical, since this is what causes the expenses to be automatically invoiced after an expense report is approved." msgstr "" -#: ../../content/applications/finance/expenses.rst:607 +#: ../../content/applications/finance/expenses.rst:606 msgid "The :guilabel:`Customer to Reinvoice` field can be modified *until an expense report is* **approved**, then the field is no longer able to be modified." msgstr "" -#: ../../content/applications/finance/expenses.rst:611 +#: ../../content/applications/finance/expenses.rst:610 msgid "Validate and post expenses" msgstr "" -#: ../../content/applications/finance/expenses.rst:613 +#: ../../content/applications/finance/expenses.rst:612 msgid "Only employees with permissions (typically managers or supervisors) can :ref:`approve expenses `. Before approving an expense report, ensure the :guilabel:`Analytic Distribution` is set on every expense line of a report. If an :guilabel:`Analytic Distribution` is missing, assign the correct account(s) from the drop-down menu, and then click :guilabel:`Approve` or :guilabel:`Refuse`." msgstr "" -#: ../../content/applications/finance/expenses.rst:619 +#: ../../content/applications/finance/expenses.rst:618 msgid "The accounting department is typically responsible for :ref:`posting journal entries `. Once an expense report is approved, it can then be posted. The :abbr:`SO (Sales Order)` is **only** updated *after the journal entries are posted*. One the journal entries are posted, the expenses now appear on the referenced :abbr:`SO (Sales Order)`." msgstr "" -#: ../../content/applications/finance/expenses.rst:625 +#: ../../content/applications/finance/expenses.rst:624 msgid "Invoice expenses" msgstr "" -#: ../../content/applications/finance/expenses.rst:627 +#: ../../content/applications/finance/expenses.rst:626 msgid "Once the :abbr:`SO (Sales Order)` has been updated, it is time to invoice the customer. After the expense report has been approved and the journal entries have been posted, click the :guilabel:`Sales Orders` smart button to open the :abbr:`SO (Sales Order)`. The expenses to be re-invoiced are now on the :abbr:`SO (Sales Order)`." msgstr "" @@ -11377,11 +11366,11 @@ msgid "After the expense report is posted to the journal entry, the sales order "by clicking on the sales order number." msgstr "" -#: ../../content/applications/finance/expenses.rst:638 +#: ../../content/applications/finance/expenses.rst:637 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, the :guilabel:`Sales Orders` smart button will list the number of :abbr:`SO (Sales Order)`'s. If multiple :abbr:`SO (Sales Order)`'s are listed, the :guilabel:`Sales Orders` smart button opens a list view of all the :abbr:`SO (Sales Order)`'s on the expense report. Click on a :abbr:`SO (Sales Order)` to open the individual :abbr:`SO (Sales Order)`." msgstr "" -#: ../../content/applications/finance/expenses.rst:645 +#: ../../content/applications/finance/expenses.rst:644 msgid "The expenses are listed in the :abbr:`SO (Sales Order)` :guilabel:`Order Lines` tab." msgstr "" @@ -11389,7 +11378,7 @@ msgstr "" msgid "See the expenses listed on the sales order after clicking into it." msgstr "" -#: ../../content/applications/finance/expenses.rst:651 +#: ../../content/applications/finance/expenses.rst:650 msgid "Next, click :guilabel:`Create Invoice`, and select if the invoice is for a :guilabel:`Regular invoice`, a :guilabel:`Down payment (percentage)`, or a :guilabel:`Down payment (fixed amount)` by clicking the radio button next to it. Then, click :guilabel:`Create Invoice`. The customer has now been invoiced for the expenses." msgstr "" @@ -11744,7 +11733,6 @@ msgid "Webinars" msgstr "" #: ../../content/applications/finance/fiscal_localizations/argentina.rst:8 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:20 msgid "Below you can find videos with a general description of the localization, and how to configure it." msgstr "" @@ -11761,11 +11749,9 @@ msgid "`Smart Tutorial - Localización de Argentina `, :ref:`company `, :ref:`products `, and :ref:`create an account in Avatax ` from the Odoo general settings." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:18 -msgid "For the services taxes, you can create and configure them from Odoo directly without computing them with AvaTax." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:16 +msgid "For the goods tax computation and electronic invoicing process, you need to configure the :ref:`contacts `, :ref:`company `, :ref:`products `, and :ref:`create an account in Avatax ` need to be configured in the general settings." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:21 +msgid "For the services taxes, you can create and configure them from Odoo directly without computing them with AvaTax." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:24 msgid "The localization also includes taxes and a chart of accounts template that can be modified if needed." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:30 -msgid ":ref:`Install ` the following modules to get all the features of the Brazilian localization:" +msgid "Install the :guilabel:`🇧🇷 Brazil` :ref:`fiscal localization package ` to get all the default accounting features of the Brazilian localization, following the :abbr:`IFRS (International Financial Reporting Standards)` rules." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:40 -msgid ":guilabel:`Brazilian - Accounting`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:41 -msgid "`l10n_br`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:42 -msgid "Default :ref:`fiscal localization package ` - adds accounting characteristics for the Brazilian localization, which represent the minimum configuration required for a company to operate in Brazil. The module's installation automatically loads: the chart of accounts, taxes, and required fields to properly configure the contact." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:46 -msgid ":guilabel:`Brazil - Accounting Reports`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:47 -msgid "`l10n_br_reports`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:48 -msgid "Adds a simple tax report that helps check the tax amount per tax group in a given period of time. Also adds the P&L and BS adapted for the Brazilian market." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:50 -msgid ":guilabel:`Avatax Brazil`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:51 -msgid "`l10n_br_avatax`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:52 -msgid "Add Brazilian tax calculation via Avatax and all necessary fields needed to configure Odoo in order to properly use Avatax and send the needed fiscal information to retrieve the correct taxes." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:55 -msgid ":guilabel:`Avatax for SOs in Brazil`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:56 -msgid "`l10n_br_avatax_sale`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:57 -msgid "Same as the `l10n_br_avatax` module with the extension to the sales order module." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:64 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:39 msgid "To configure your company information, go to the :menuselection:`Contacts` app and search the name given to your company." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:67 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:42 msgid "Select the :guilabel:`Company` option at the top of the page. Then, configure the following fields:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:71 -msgid ":guilabel:`Address` (add :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`, :guilabel:`Country`)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:45 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:245 +msgid ":guilabel:`Name`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:73 -msgid "Tax ID (:guilabel:`CNPJ`)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:46 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:246 +msgid ":guilabel:`Address` (add :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`, :guilabel:`Country`)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:74 -msgid ":guilabel:`IE` (State Registration)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:49 +msgid "In the :guilabel:`Street` field, enter the street name, number, and any additional address information." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:75 -msgid ":guilabel:`IM` (Municipal Registration)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:51 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:250 +msgid "In the :guilabel:`Street 2` field, enter the neighborhood." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:76 -msgid ":guilabel:`SUFRAMA code` (Superintendence of the Manaus Free Trade Zone - add if applicable)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:53 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:252 +msgid ":guilabel:`Identification Number` (:guilabel:`CNPJ`, :guilabel:`CPF`)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:78 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:240 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:235 -#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:83 -#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:276 -msgid ":guilabel:`Email`" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:54 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:253 +msgid ":guilabel:`Tax ID` (associated with the identification type)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:55 +msgid ":guilabel:`IE` (State registration)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:56 +msgid ":guilabel:`IM` (Municipal registration)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:57 +msgid ":guilabel:`SUFRAMA code` (Superintendence of the Manaus Free Trade Zone - add if applicable)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:58 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:257 +msgid ":guilabel:`Phone`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:59 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:258 +msgid ":guilabel:`Email`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:0 msgid "Company configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:83 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:64 msgid "Configure the :guilabel:`Fiscal Information` within the :guilabel:`Sales and Purchase` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:85 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:66 msgid "Add the :guilabel:`Fiscal Position` for :ref:`Avatax Brazil `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:86 -msgid ":guilabel:`Tax Regime` (Federal Tax Regime)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:67 +msgid ":guilabel:`Tax Regime` (Federal Tax Regime)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:87 -msgid ":guilabel:`ICMS Taxpayer Type` (indicates ICMS regime, Exempt status, or Non-Taxpayer.)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:68 +msgid ":guilabel:`ICMS Taxpayer Type` (indicates ICMS regime, Exempt status, or Non-Taxpayer)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:88 -msgid ":guilabel:`Main Activity Sector`" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:69 +msgid ":guilabel:`Main Activity Sector`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:0 msgid "Company fiscal configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:93 -msgid "Finally, upload a company logo and save the contact." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:74 +msgid "Finally, upload a company logo and save the contact" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:96 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:77 msgid "If you are a simplified regime, you need to configure the ICMS rate under :menuselection:`Accounting --> Configuration --> Settings --> Taxes --> Avatax Brazil`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:102 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:83 msgid "Configure AvaTax integration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:104 -msgid "Avalara AvaTax is a tax calculation provider that can be integrated in Odoo to automatically compute taxes by taking into account the company, contact (customer), product, and transaction information to retrieve the correct tax to be used." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:85 +msgid "Avalara AvaTax is a tax calculation and electronic invoicing provider that can be integrated in Odoo to automatically compute taxes by taking into account the company, contact (customer), product, and transaction information to retrieve the correct tax to be used and process the e-invoice afterward with the government." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:108 -msgid "Odoo is a certified partner of Avalara Brazil, which means that Avalara experts reviewed workflows covered within the scope of the integration." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:90 +msgid "Using this integration requires :doc:`In-App-Purchases (IAPs) <../../general/in_app_purchase>` to compute the taxes and to send the electronic invoices. Whenever you compute taxes, an |API| call is made using credits from your |IAP| credits balance." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:111 -msgid "Using this integration requires :doc:`In-App-Purchases (IAPs) ` to compute taxes. Every time you compute taxes, an API call is made, using credits from your |IAP| credits balance." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:95 +msgid "Odoo is a certified partner of Avalara Brazil." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:118 -msgid "To activate AvaTax in Odoo, you need to create an account. To do so, go to :menuselection:`Accounting --> Configuration --> Settings --> Taxes`, and, in the :guilabel:`AvaTax Brazil` section, add the email address you want to use to log in to the AvaTax portal, and click on :guilabel:`Create account`. This email is used as the administrator email address in AvaTax." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:100 +msgid "To activate AvaTax in Odoo, you need to create an account. To do so, go to :menuselection:`Accounting --> Configuration --> Settings --> Taxes`, and in the :guilabel:`AvaTax Brazil` section, add the administration email address to be used for the AvaTax portal in the :guilabel:`Avatax Portal Email`, and then click on :guilabel:`Create account`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:123 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:106 +msgid "When **testing** an :guilabel:`Avatax Portal Email` integration in a testing or sandbox database, use an alternate email address. It is **not** possible to re-use the same email address on the production database." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:110 msgid "After you create the account from Odoo, you need to go to the Avalara Portal to set up your password:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:126 -msgid "Access the `Avalara portal `_" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:113 +msgid "Access the `Avalara portal `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:127 -msgid "Click on :guilabel:`Meu primeiro acesso`" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:114 +msgid "Click on :guilabel:`Meu primeiro acesso`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:128 -msgid "Add the email address you used in Odoo to create the Avalara/Avatax account, and then click :guilabel:`Solicitar Senha`" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:115 +msgid "Add the email address you used in Odoo to create the Avalara/Avatax account, and then click :guilabel:`Solicitar Senha`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:130 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:117 msgid "You will receive an email with a token and a link to create your password. Click on this link and copy-paste the token to allocate your desired password." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:134 -msgid "If you intend first to try the integration on a testing or sandbox database, using an alternate email address is recommended, as you won't be able to re-use the same email address on your production database." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:139 -msgid "You can start using AvaTax in Odoo without creating a password and accessing the Avalara Portal; for Odoo, the only requirement to start using the Avalara Tax Computation Engine is to create an account from the settings page." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:121 +msgid "You can start using AvaTax in Odoo for tax computation **only** without creating a password and accessing the Avalara portal in the Odoo database. However, in order to use the electronic invoice service, you **must** access the AvaTax portal and upload your certificate there." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 msgid "Avatax account configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:147 -msgid "You can transfer API credentials. Use this only when you have already created an account in another Odoo instance and wish to reuse it." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:129 +msgid "You can transfer |API| credentials. Use this only when you have already created an account in another Odoo instance and wish to reuse it." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:156 -msgid "The :doc:`chart of accounts ` is installed by default as part of the data set included in the localization module. The accounts are mapped automatically in their corresponding taxes, and the default account payable and account receivable fields." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:133 +msgid "A1 certificate upload" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:162 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:135 +msgid "In order to issue electronic invoices, a certificate needs to be uploaded to the `AvaTax portal `_." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:138 +msgid "The certificate will be synchronized with Odoo, as long as the external identifier number in the AvaTax portal matches - without special characters - with the CNPJ number, and the identification number (CNPJ) in Odoo matches with the CNPJ in AvaTax." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:148 +msgid "The :doc:`chart of accounts <../accounting/get_started/chart_of_accounts>` is installed by default as part of the data set included in the localization module. The accounts are mapped automatically in their corresponding taxes, and the default account payable and account receivable fields." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:153 msgid "The chart of accounts for Brazil is based on the SPED CoA, which gives a baseline of the accounts needed in Brazil." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:165 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:156 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:250 msgid "You can add or delete accounts according to the company's needs." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:170 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:161 +msgid "In Brazil, a *series* number is linked to a sequence number range for electronic invoices. The series number can be configured in Odoo on a sales journal from the :guilabel:`Series` field. If more than one series is needed, then a new sales journal will need to be created and a new series number assigned to it for each series needed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:166 +msgid "The :guilabel:`Use Documents` field needs to be selected. When issuing electronic and non-electronic invoices, the :guilabel:`Type` field selects the document type used when creating the invoice. The :guilabel:`Type` field will only be displayed if the :guilabel:`Use Documents` field is selected on the journal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Journal configuration with the Use Documents? field checked." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:175 +msgid "When creating the journal, ensure the field :guilabel:`Dedicated Credit Note Sequence` is unchecked, as in Brazil, sequences between invoices, credit notes, and debit notes are shared per series number, which means per journal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:182 msgid "Taxes are automatically created when installing the Brazilian localization. Taxes are already configured, and some of them are used by Avalara when computing taxes on the sales order or invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:173 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:185 msgid "Taxes can be edited, or more taxes can be added. For example, some taxes used for services need to be manually added and configured, as the rate may differ depending on the city where you are offering the service." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:178 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:190 msgid "Taxes attached to services are not computed by AvaTax. Only goods taxes are computed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:180 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:192 msgid "When configuring a tax used for a service that is included in the final price (when the tax is not added or subtracted on top of the product price), set the :guilabel:`Tax Computation` to :guilabel:`Percentage of Price Tax Included`, and, on the :guilabel:`Advanced Options` tab, check the :guilabel:`Included in Price` option." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:185 -msgid "For more information on configuring taxes to fit your needs better, please go to the :doc:`taxes functional documentation `." -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 msgid "Tax configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:192 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:201 msgid "Do not delete taxes, as they are used for the AvaTax tax computation. If deleted, Odoo creates them again when used in an |SO| or invoice and computing taxes with AvaTax, but the account used to register the tax needs to be re-configured in the tax's :guilabel:`Definition` tab, under the :guilabel:`Distribution for invoices` and :guilabel:`Distribution for refunds` sections." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:200 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:207 +msgid ":doc:`Taxes functional documentation <../accounting/taxes>`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:212 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:181 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:253 #: ../../content/applications/finance/fiscal_localizations/egypt.rst:172 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:246 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:662 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:771 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:251 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:703 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:820 msgid "Products" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:202 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:214 msgid "To use the AvaTax integration on sale orders and invoices, first specify the following information on the product:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:205 -msgid ":guilabel:`CEST Code` (Code for products subject to ICMS tax substitution)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:217 +msgid ":guilabel:`CEST Code` (Code for products subject to ICMS tax substitution)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:206 -msgid ":guilabel:`Mercosul NCM Code` (Mercosur Common Nomenclature Product Code)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:218 +msgid ":guilabel:`Mercosul NCM Code` (Mercosur Common Nomenclature Product Code)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:207 -msgid ":guilabel:`Source of Origin` (Indicates the origin of the product, which can be foreign or domestic, among other possible options depending on the specific use case)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:219 +msgid ":guilabel:`Source of Origin` (Indicates the origin of the product, which can be foreign or domestic, among other possible options depending on the specific use case)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:209 -msgid ":guilabel:`SPED Fiscal Product Type` (Fiscal product type according to SPED list table)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:221 +msgid ":guilabel:`SPED Fiscal Product Type` (Fiscal product type according to SPED list table)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:210 -msgid ":guilabel:`Purpose of Use` (Specify the intended purpose of use for this product)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:222 +msgid ":guilabel:`Purpose of Use` (Specify the intended purpose of use for this product)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 msgid "Product configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:216 -msgid "Odoo automatically creates three products to be used for transportation costs associated with sales. These are named `Freight`, `Insurance`, and `Other Costs`. They are already configured, if more need to be created, duplicate and use the same configuration (configuration needed: :guilabel:`Product Type` `Service`, :guilabel:`Transportation Cost Type` `Insurance`, `Freight`, or `Other Costs`)" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:228 +msgid "Odoo automatically creates three products to be used for transportation costs associated with sales. These are named `Freight`, `Insurance`, and `Other Costs`. They are already configured, if more need to be created, duplicate and use the same configuration (configuration needed: :guilabel:`Product Type` `Service`, :guilabel:`Transportation Cost Type` `Insurance`, `Freight`, or `Other Costs`)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:225 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:237 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:265 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:178 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:623 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:174 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:656 #: ../../content/applications/finance/fiscal_localizations/philippines.rst:40 msgid "Contacts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:227 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:239 msgid "Before using the integration, specify the following information on the contact:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:229 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:241 msgid "General information about the contact:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:231 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:243 msgid "Select the :guilabel:`Company` option for a contact with a tax ID (CNPJ), or check :guilabel:`Individual` for a contact with a CPF." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:234 -msgid ":guilabel:`Address`: :guilabel:`Zip Code` is a required field to compute taxes properly." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:249 +msgid "In the :guilabel:`Street` field, enter the street, number, and any extra address information." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:235 -msgid ":guilabel:`Tax ID` or :guilabel:`CPF`: Use CPF for individuals and Tax ID (CNPJ) for companies" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:254 +msgid ":guilabel:`IE`: state tax identification number." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:236 -msgid ":guilabel:`IE`: state tax identification number" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:255 +msgid ":guilabel:`IM`: municipal tax identification number." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:237 -msgid ":guilabel:`IM`: municipa tax identification number" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:238 -msgid ":guilabel:`SUFRAMA code`: SUFRAMA registration number" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:256 +msgid ":guilabel:`SUFRAMA code`: SUFRAMA registration number." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:0 msgid "Contact configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:246 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:264 msgid "The :guilabel:`CPF`, :guilabel:`IE`, :guilabel:`IM`, and :guilabel:`SUFRAMA code` fields are are hidden until the :guilabel:`Country` is set to `Brazil`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:249 -msgid "Fiscal information about the contact under the :guilabel:`Sales & Purchase` tab:" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:267 +msgid "Fiscal information about the contact under the :guilabel:`Sales \\& Purchase` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:251 -msgid ":guilabel:`Fiscal Position`: add the AvaTax fiscal position to automatically compute taxes on sale orders and invoices automatically." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:269 +msgid ":guilabel:`Fiscal Position`: add the AvaTax fiscal position to automatically compute taxes on sale orders and invoices automatically" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:253 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:271 msgid ":guilabel:`Tax Regime`: federal tax regime" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:254 -msgid ":guilabel:`ICMS Taxpayer Type`: taxpayer type determines if the contact is within the ICMS regime, if it is exempt, or if it is a non-taxpayer." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:272 +msgid ":guilabel:`ICMS Taxpayer Type`: taxpayer type determines if the contact is within the ICMS regime, if it is exempt, or if it is a non-taxpayer" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:256 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:274 msgid ":guilabel:`Main Activity Sector`: list of main activity sectors of the contact" msgstr "" @@ -14201,15 +14180,15 @@ msgstr "" msgid "Contact fiscal configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:264 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:282 msgid "Fiscal positions" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:266 -msgid "To compute taxes on sale orders and invoices, it is necessary to have a :guilabel:`Fiscal Position` with the :guilabel:`Detect Automatically` and the :guilabel:`Use AvaTax API` options enabled." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:284 +msgid "To compute taxes and send electronic invoices on sale orders and invoices, both the :guilabel:`Detect Automatically` and the :guilabel:`Use AvaTax API` options need to be enabled in the :guilabel:`Fiscal Position`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:269 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:288 msgid "The :guilabel:`Fiscal Position` can be configured on the contact or selected when creating a sales order or an invoice." msgstr "" @@ -14217,97 +14196,274 @@ msgstr "" msgid "Fiscal position configuration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:276 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:295 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:338 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:300 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:311 msgid "Workflows" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:278 -msgid "This section provides an overview of the actions that trigger API calls for tax computation." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:281 -msgid "Please note that each API call incurs a cost. Be mindful of the actions that trigger these calls to manage costs effectively." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:285 -msgid "Tax calculations on quotation / sales orders" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:287 -msgid "Trigger an API call to calculate taxes on a quotation or sales order automatically with AvaTax in any of the following ways:" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:290 -msgid "**Quotation confirmation**" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:291 -msgid "Confirm a quotation into a sales order." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:292 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:307 -msgid "**Manual trigger**" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:293 -msgid "Click on :guilabel:`Compute Taxes Using Avatax`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:294 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:309 -msgid "**Preview**" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:295 -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:310 -msgid "Click on the :guilabel:`Preview` button." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:296 -msgid "**Email a quotation / sales order**" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/brazil.rst:297 -msgid "Send a quotation or sales order to a customer via email." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:299 -msgid "**Online quotation access**" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:299 -msgid "When a customer accesses the quotation online (via the portal view), the API call is triggered." +msgid "This section provides an overview of the actions that trigger `API calls `_ for tax computation, and how to send an electronic invoice for goods (NF-e) for government validation." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:302 -msgid "Tax calculations on invoices" +msgid "Please note that each |API| call incurs a cost. Be mindful of the actions that trigger these calls to manage costs effectively." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:304 -msgid "Trigger an API call to calculate taxes on a customer invoice automatically with AvaTax any of the following ways:" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:306 +msgid "Tax computation" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:308 -msgid "Click on :guilabel:`Compute Taxes Using AvaTax`." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:309 +msgid "Tax calculations on quotations and sales orders" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:312 -msgid "**Online invoice access**" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:311 +msgid "Trigger an |API| call to calculate taxes on a quotation or sales order automatically with AvaTax in any of the following ways:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/brazil.rst:312 -msgid "When a customer accesses the invoice online (via the portal view), the API call is triggered." +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:314 +msgid "**Quotation confirmation**" msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:315 -msgid "The :guilabel:`Fiscal Position` must be set to `Automatic Tax Mapping (Avalara Brazil)` for any of these actions to compute taxes automatically." +msgid "Confirm a quotation into a sales order." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:316 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:332 +msgid "**Manual trigger**" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:317 +msgid "Click on :guilabel:`Compute Taxes Using Avatax`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:318 +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:334 +msgid "**Preview**" msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:319 -msgid ":doc:`Fiscal positions (tax and account mapping) `" +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:335 +msgid "Click on the :guilabel:`Preview` button." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:320 +msgid "**Email a quotation / sales order**" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:321 +msgid "Send a quotation or sales order to a customer via email." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:324 +msgid "**Online quotation access**" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:323 +msgid "When a customer accesses the quotation online (via the portal view), the |API| call is triggered." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:327 +msgid "Tax calculations on invoices" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:329 +msgid "Trigger an |API| call to calculate taxes on a customer invoice automatically with AvaTax any of the following ways:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:333 +msgid "Click on :guilabel:`Compute Taxes Using AvaTax`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:337 +msgid "**Online invoice access**" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:337 +msgid "When a customer accesses the invoice online (via the portal view), the |API| call is triggered." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:340 +msgid "The :guilabel:`Fiscal Position` must be set to `Automatic Tax Mapping (Avalara Brazil)` for any of these actions to compute taxes automatically." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:344 +msgid ":doc:`Fiscal positions (tax and account mapping) <../accounting/taxes/fiscal_positions>`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:349 +#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:92 +msgid "Electronic documents" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:354 +msgid "To process an electronic invoice for goods (NF-e), the invoice needs to be confirmed and taxes need to be computed by Avalara. Once that step is done, click on the :guilabel:`Send \\& Print` button in the upper left corner, and a pop-up will appear. Then click on :guilabel:`Process e-invoice` and any of the other options - :guilabel:`Download` or :guilabel:`Email`. Finally, click on :guilabel:`Send \\& Print` to process the invoice against the government." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:360 +msgid "Before sending the electronic invoice for goods (NF-e) some fields need to be filled out on the invoice:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:363 +msgid ":guilabel:`Customer` with all the customer information" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:364 +msgid ":guilabel:`Payment Method: Brazil` (how the invoice is planned to be paid)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:365 +msgid ":guilabel:`Fiscal Position` set as the :guilabel:`Automatic Tax Mapping (Avalara Brazil)`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:368 +msgid ":guilabel:`Document Type` set as :guilabel:`(55) Electronic Invoice (NF-e)`. This is the only" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:367 +msgid "electronic document supported at the moment. Non-electronic invoices can be registered, and other document types can be activated if needed" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:370 +msgid "There are some other optional fields that depend on the nature of the transaction. These fields are not required, so no errors will appear from the government if these optional fields are not populated for most cases:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:374 +msgid ":guilabel:`Freight Model` determines how the goods are planned to be transported - domestic" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:375 +msgid ":guilabel:`Transporter Brazil` determines who is doing the transportation" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Invoice information needed to process an electronic invoice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Process electronic invoice pop-up in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:384 +msgid "All of the fields available on the invoice used to issue an electronic invoice are also available on the sales order, if needed. When creating the first invoice, the field :guilabel:`Document Number` is displayed, allocated as the first number to be used sequentially for subsequent invoices." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:390 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:599 +#: ../../content/applications/finance/fiscal_localizations/colombia.rst:344 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:348 +msgid "Credit notes" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:392 +msgid "If a sales return needs to be registered, then a credit note can be created in Odoo to be sent to the government for validation." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:396 +msgid ":ref:`Issue a credit note `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:399 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:585 +msgid "Debit Notes" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:401 +msgid "If additional information needs to be included, or values need to be corrected that were not accurately provided in the original invoice, a debit note can be issued." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:405 +msgid "Only the products included in the original invoice can be part of the debit note. While changes can be made to the product's unit price or quantity, products **cannot** be added to the debit note. The purpose of this document is only to declare the amount that you want to add to the original invoice for the same or fewer products." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:411 +msgid ":ref:`Issue a debit note `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:414 +msgid "Invoice cancellation" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:416 +msgid "It is possible to cancel an electronic invoice that was validated by the government." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:419 +msgid "Check whether the electronic invoice is still within the cancellation deadline, which may vary according to the legislation of each state." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:422 +msgid "This can be done in Odoo by clicking :guilabel:`Request Cancel` and adding a cancellation :guilabel:`Reason` on the pop-up that appears. If you want to send this cancellation reason to the customer via email, activate the :guilabel:`E-mail` checkbox." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Invoice cancellation reason in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:430 +msgid "Correction letter" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:432 +msgid "A correction letter can be created and linked to an electronic invoice that was validated by the government." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:435 +msgid "This can be done in Odoo by clicking :guilabel:`Correction Letter` and adding a correction :guilabel:`Reason` on the pop-up that appears. To send this correction reason to a customer via email, activate the :guilabel:`E-mail` checkbox." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Correction letter reason in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:443 +msgid "Invalidate invoice number range" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:445 +msgid "A range of sequences that are assigned to sales journals can be invalidated with the government if they are not currently used, **and** will not be used in the future. To do so, navigate to the journal, and click the :menuselection:`⚙️ (gear) icon --> Invalidate Number Range (BR)`. On the :guilabel:`Invalidate Number Range (BR)` wizard, add the :guilabel:`Initial Number` and :guilabel:`End Number` of the range that should be canceled, and enter an invalidation :guilabel:`Reason`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Number range invalidation selection in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:-1 +msgid "Number range invalidation wizard in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:459 +msgid "The log of the canceled numbers along with the XML file are recorded in the chatter of the journal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:465 +msgid "On the vendor bills side, when receiving an invoice from a supplier, you can encode the bill in Odoo by adding all the commercial information together with the same Brazilian specific information that is recorded on the :ref:`customer invoices `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:469 +msgid "These Brazilian specific fields are:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:471 +msgid ":guilabel:`Payment Method: Brazil` (how the invoice is planned to be paid)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:472 +msgid ":guilabel:`Document Type` used by your vendor." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:473 +msgid ":guilabel:`Document Number` (the invoice number from your supplier)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:474 +msgid ":guilabel:`Freight Model` (how goods are planned to be transported - domestic)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/brazil.rst:475 +msgid ":guilabel:`Transporter Brazil` (who is doing the transportation)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:3 @@ -14659,7 +14815,7 @@ msgid "Digital certificate configuration." msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:220 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:533 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:565 #: ../../content/applications/finance/fiscal_localizations/peru.rst:230 msgid "Multicurrency" msgstr "" @@ -14668,42 +14824,49 @@ msgstr "" msgid "The official currency rate is provided by `Chilean mindicador.cl `_. Navigate to :menuselection:`Accounting --> Configuration --> Settings --> Currencies: Automatic Currency Rates` to set an :guilabel:`Interval` for when the rate is automatically updated, or to select another :guilabel:`Service`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:228 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:230 #: ../../content/applications/finance/fiscal_localizations/france.rst:306 msgid "Partner information" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:230 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:232 msgid "Configuring partner contacts is also required to send :abbr:`SII (Servicio de Impuestos Internos)` electronic invoices. Open the :menuselection:`Contacts` app to do so and fill in the following fields on a new or existing contact form." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:236 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:237 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1052 +#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:83 +#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:276 +msgid ":guilabel:`Email`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:238 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:80 msgid ":guilabel:`Identification Number`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:237 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:239 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:81 msgid ":guilabel:`Taxpayer Type`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:238 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:240 msgid ":guilabel:`Activity Description`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:240 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:242 msgid "In the :guilabel:`Electronic Invoicing` tab:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:242 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:244 msgid ":guilabel:`DTE Email`: enter the sender's email address for the partner." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:243 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:245 msgid ":guilabel:`Delivery Guide Price`: select which price the delivery guide displays, if any." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:246 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:248 msgid "The :guilabel:`DTE Email` is the email used for sending electronic documents and must be set in the contact that will be part of an electronic document." msgstr "" @@ -14711,11 +14874,11 @@ msgstr "" msgid "Chilean electronic invoice data for partners." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:256 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:258 msgid "Accounting documents are categorized by :abbr:`SII (Servicio de Impuestos Internos)`-defined document types." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:259 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:261 msgid "Document types are created automatically upon installation of the localization module, and can be managed by navigating to :menuselection:`Accounting --> Configuration --> Document Types`." msgstr "" @@ -14723,166 +14886,166 @@ msgstr "" msgid "Chilean fiscal document types list." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:267 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:269 msgid "Several document types are inactive by default but can be activated by toggling the :guilabel:`Active` option." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:273 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:275 msgid "The document type on each transaction is determined by:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:275 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:277 msgid "The journal related to the invoice, identifying if the journal uses documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:276 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:278 msgid "The condition applied based on the type of issuer and recipient (e.g., the buyer or vendor's fiscal regime)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:282 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:284 msgid "*Sales journals* in Odoo usually represent a business unit or location." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:285 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:287 msgid "Ventas Santiago." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:286 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:288 msgid "Ventas Valparaiso." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:288 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:290 msgid "For retail stores it is common to have one journal per :abbr:`POS (Point of Sale)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:291 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:293 msgid "Cashier 1." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:292 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:294 msgid "Cashier 2." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:294 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:296 msgid "The *purchase* transactions can be managed with a single journal, but sometimes companies use more than one journal in order to handle some accounting transactions that are not related to vendor bills. This configuration can easily be set by using the following model." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:299 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:301 msgid "Tax payments to the government." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:300 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:302 msgid "Employees payments." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:303 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:305 msgid "Create a sales journal" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:305 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:307 msgid "To create a sales journal, navigate to :menuselection:`Accounting --> Configuration --> Journals`. Then, click the :guilabel:`New` button, and fill in the following required information:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:308 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:310 msgid ":guilabel:`Type`: select :guilabel:`Sale` from the drop-down menu for customer invoice journals." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:309 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:311 msgid ":guilabel:`Point of sale type`: if the sales journal will be used for electronic documents, the option :guilabel:`Online` must be selected. Otherwise, if the journal is used for invoices imported from a previous system or if you are using the :abbr:`SII (Servicio de Impuestos Internos)` portal *Facturación MiPyme*, you can use the option :guilabel:`Manual`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:313 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:315 msgid ":guilabel:`Use Documents`: check this field if the journal will use document types. This field is only applicable to purchase and sales journals that can be related to the different sets of document types available in Chile. By default, all the sales journals created will use documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:317 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:319 msgid "Next, from the :guilabel:`Jounal Entries` tab, define the :guilabel:`Default Income Account` and :guilabel:`Dedicated Credit Note Squence` in the :guilabel:`Accounting Information` section. Configuring these fields is required for one of the debit notes :ref:`use cases `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:324 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:326 msgid "CAF" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:326 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:328 msgid "A *folio authorization code* (CAF) is required for each document type that will be issued electronically. The :abbr:`CAF (Folio Authorization Code)` is a file the :abbr:`SII (Servicio de Impuestos Internos)` provides to the issuer with the folios/sequences authorized for the electronic invoice documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:331 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:333 msgid "Your company can request multiple folios and obtain several :abbr:`CAFs (Folio Authorization Codes)` linked to different folio ranges. These :abbr:`CAFs (Folio Authorization Code)` are shared within all journals, so you only need one active :abbr:`CAF (Folio Authorization Code)` per document type, and it will be applied to all journals." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:336 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:338 msgid "Please refer to the `SII documentation `_ to check the details on how to acquire the :abbr:`CAF (Folio Authorization Code)` files." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:340 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:342 msgid "The :abbr:`CAFs (Folio Authorization Code)` required by the :abbr:`SII (Servicio de Impuestos Internos)` are different from production to test (certification mode). Make sure you have the correct :abbr:`CAF (Folio Authorization Code)` set depending on your environment." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:345 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:347 msgid "Upload CAF files" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:347 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:349 msgid "Once the :abbr:`CAF (Folio Authorization Code)` files have been acquired from the :abbr:`SII (Servicio de Impuestos Internos)` portal, they need to be uploaded in the database by navigating to :menuselection:`Accounting --> Configuration: Chilean SII --> CAFs`. Then, click the :guilabel:`New` begin the configuration. On the :abbr:`CAF (Folio Authorization Code)` form, upload your :abbr:`CAF (Folio Authorization Code)` file by clicking the :guilabel:`Upload your file` button and then click :guilabel:`Save`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:354 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:356 msgid "Once uploaded, the status changes to :guilabel:`In Use`. At this moment, when a transaction is used for this document type, the invoice number takes the first folio in the sequence." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:358 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:360 msgid "The document types have to be active before uploading the :abbr:`CAF (Folio Authorization Code)` files. In case some folios have been used in the previous system, the next valid folio has to be set when the first transaction is created." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:365 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:367 msgid "The chart of accounts is installed by default as part of the data set included in the localization module. The accounts are mapped automatically in:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:369 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:371 msgid "Default Account Payable" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:370 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:372 #: ../../content/applications/finance/fiscal_localizations/peru.rst:75 msgid "Default Account Receivable" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:371 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:373 msgid "Transfer Accounts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:372 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:374 msgid "Conversion Rate" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:380 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:382 msgid "As part of the localization module, taxes are created automatically with their related financial account and configuration. These taxes can be managed from :menuselection:`Accounting --> Configuration --> Taxes`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:384 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:386 msgid "Chile has several tax types, the most common ones are:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:386 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:388 msgid "**VAT**: the regular VAT can have several rates." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:387 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:389 msgid "**ILA**: the tax for alcoholic drinks." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:390 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:392 #: ../../content/applications/finance/fiscal_localizations/egypt.rst:125 #: ../../content/applications/finance/fiscal_localizations/romania.rst:106 msgid ":doc:`../accounting/taxes`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:396 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:398 msgid "Electronic invoice workflow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:398 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:400 msgid "In the Chilean localization, the electronic invoice workflow includes customer invoice issuance and vendor bill reception. The following diagram explains how information is shared to the :abbr:`SII (Servicio de Impuestos Internos)`, customers, and vendors." msgstr "" @@ -14890,11 +15053,11 @@ msgstr "" msgid "Diagram with Electronic invoice transactions." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:407 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:409 msgid "Customer invoice emission" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:409 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:411 msgid "After the partners and journals are created and configured, the invoices are created in the standard way. For Chile, one of the differences is the document type that is automatically selected based on the taxpayer. The document type can be changed manually if needed on the invoice by navigating to :menuselection:`Accounting --> Customers --> Invoices`." msgstr "" @@ -14902,24 +15065,24 @@ msgstr "" msgid "Customer invoice document type selection." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:419 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:421 msgid ":guilabel:`Documents type 33` electronic invoice must have at least one item with tax, otherwise the :abbr:`SII (Servicio de Impuestos Internos)` rejects the document validation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:425 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:877 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:427 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:879 msgid "Validation and DTE status" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:427 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:429 msgid "Once all invoice information is filled, either manually or automatically when generated from a sales order, validate the invoice. After the invoice is posted:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:430 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:432 msgid "The :abbr:`DTE (Documentos Tributarios Electrónicos)` file is created automatically and recorded in the chatter." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:432 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:434 msgid "The :abbr:`DTE (Documentos Tributarios Electrónicos)` :abbr:`SII (Servicio de Impuestos Internos)` status is set as :guilabel:`Pending` to be sent." msgstr "" @@ -14927,7 +15090,7 @@ msgstr "" msgid "DTE XML File displayed in chatter." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:439 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:441 msgid "The :abbr:`DTE (Documentos Tributarios Electrónicos)` status is updated automatically by Odoo with a scheduled action that runs every day at night, if the response from the :abbr:`SII (Servicio de Impuestos Internos)` is needed immediately, you can do it manually as well by following the :abbr:`DTE (Documentos Tributarios Electrónicos)` status workflow:" msgstr "" @@ -14935,11 +15098,11 @@ msgstr "" msgid "Transition of DTE status flow." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:448 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:450 msgid "The first step is to send the :abbr:`DTE (Documentos Tributarios Electrónicos)` to the :abbr:`SII (Servicio de Impuestos Internos)`. This can be sent manually by clicking the :guilabel:`Enviar Ahora` button. This generates a :guilabel:`SII Tack number` for the invoice, which is used to check the details sent by the :abbr:`SII (Servicio de Impuestos Internos)` via email. Then, the :guilabel:`DTE status` is updated to :guilabel:`Ask for Status`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:453 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:455 msgid "Once the :abbr:`SII (Servicio de Impuestos Internos)` response is received, Odoo updates the :guilabel:`DTE status`. To do it manually, click on the button :guilabel:`Verify on SII`. The result can either be :guilabel:`Accepted`, :guilabel:`Accepted With Objection` or :guilabel:`Rejected`." msgstr "" @@ -14947,7 +15110,7 @@ msgstr "" msgid "Identification transaction for invoice and Status update." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:463 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:465 msgid "There are intermediate statuses in the :abbr:`SII (Serviciqo de Impuestos Internos)` before acceptance or rejection. It's recommended to **NOT** continuously click :guilabel:`Verify in SII` for smooth processing." msgstr "" @@ -14955,35 +15118,35 @@ msgstr "" msgid "Electronic invoice data statuses." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:471 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:473 msgid "The final response from the :abbr:`SII (Servicio de Impuestos Internos)` can take on one of these values:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:474 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:476 msgid ":guilabel:`Accepted`: indicates the invoice information is correct, our document is now fiscally valid and it's automatically sent to the customer." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:476 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:478 msgid ":guilabel:`Accepted with objections`: indicates the invoice information is correct, but a minor issue was identified, nevertheless the document is now fiscally valid and it's automatically sent to the customer." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:479 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:481 msgid ":guilabel:`Rejected`: indicates the invoice information is incorrect and must be corrected. Details are sent to emails you registered in the :abbr:`SII (Servicio de Impuestos Internos)`. If it is properly configured in Odoo, the details are also retrieved in the chatter once the email server is processed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:484 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:486 msgid "If the invoice is rejected please follow these steps:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:486 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:488 msgid "Change the document to :guilabel:`Draft`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:487 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:489 msgid "Make the required corrections based on the message received from the :abbr:`SII (Servicio de Impuestos Internos)` in the chatter." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:489 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:491 msgid "Post the invoice again." msgstr "" @@ -14991,11 +15154,11 @@ msgstr "" msgid "Message when an invoice is rejected." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:496 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:498 msgid "Crossed references" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:498 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:500 msgid "When the invoice is created, as a result of another fiscal document, the information related to the originator document must be registered in the :guilabel:`Cross-Reference` tab. This tab is commonly used for credit or debit notes, however, in some cases it can be used for customer invoices, as well. In the case of the credit and debit notes, they are set automatically by Odoo." msgstr "" @@ -15003,14 +15166,14 @@ msgstr "" msgid "Crossed referenced document(s)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:510 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:512 #: ../../content/applications/finance/fiscal_localizations/india.rst:133 #: ../../content/applications/finance/fiscal_localizations/india.rst:271 #: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 msgid "Invoice PDF report" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:512 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:514 msgid "Once the invoice is accepted and validated by the :abbr:`SII (Servicio de Impuestos Internos)` and the PDF is printed, it includes the fiscal elements that indicate that the document is fiscally valid." msgstr "" @@ -15018,31 +15181,31 @@ msgstr "" msgid "SII Validation fiscal elements." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:521 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:523 msgid "If you are hosted in Odoo SH or On-Premise, you should manually install the `pdf417gen `_ library. Use the following command to install it: :command:`pip install pdf417gen`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:526 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:528 msgid "Commercial validation" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:528 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:530 msgid "Once the invoice has been sent to the customer:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:530 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:532 msgid ":guilabel:`DTE Partner Status` changes to :guilabel:`Sent`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:531 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:533 msgid "The customer must send a reception confirmation email." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:532 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:534 msgid "Subsequently, if commercial terms and invoice data are correct, an acceptance confirmation is sent; otherwise, a claim is sent." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:534 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:536 msgid "The field :guilabel:`DTE Acceptance Status` is updated automatically." msgstr "" @@ -15050,11 +15213,11 @@ msgstr "" msgid "Message with the commercial acceptance from the customer." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:541 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:543 msgid "Processed for claimed invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:543 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:545 msgid "Once the invoice has been accepted by the :abbr:`SII (Servicio de Impuestos Internos)`, **it can not be cancelled in Odoo**. In case you get a claim for your customer, the correct way to proceed is with a credit note to either cancel the invoice or correct it. Please refer to the :ref:`chile/credit-notes` section for more details." msgstr "" @@ -15062,12 +15225,12 @@ msgstr "" msgid "Invoice Commercial status updated to claimed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:553 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:555 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:403 msgid "Common errors" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:555 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:557 msgid "There are multiple reasons behind a rejection from the :abbr:`SII (Servicio de Impuestos Internos)`, but these are some of the common errors you might have and how to solve them:" msgstr "" @@ -15127,33 +15290,27 @@ msgstr "" msgid "**Hint:** there are just five reasons why this error could show up and all of them are related to the *Caratula* section of the XML:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:587 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:589 msgid "The company's :abbr:`RUT (Rol Único Tributario)` number is incorrect or missing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:588 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:590 msgid "The certificate owner :abbr:`RUT (Rol Único Tributario)` number is incorrect or missing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:589 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:591 msgid "The :abbr:`SII's (Servicio de Impuestos Internos)` :abbr:`RUT (Rol Único Tributario)` number (this should be correct by default) is incorrect or missing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:591 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:593 msgid "The resolution date is incorrect or missing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:592 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:594 msgid "The resolution number is incorrect or missing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:597 -#: ../../content/applications/finance/fiscal_localizations/colombia.rst:344 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:335 -msgid "Credit notes" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/chile.rst:599 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:601 msgid "When a cancellation or correction is needed over a validated invoice, a credit note must be generated. It is important to consider that a :abbr:`CAF (Folio Authorization Code)` file is required for the credit note, which is identified as :guilabel:`Document Type` :guilabel:`61` in the :abbr:`SII (Servicio de Impuestos Internos)`. Please refer to the :ref:`CAF section ` for more information on the process to load the :abbr:`CAF (Folio Authorization Code)` on each document type." msgstr "" @@ -15161,16 +15318,16 @@ msgstr "" msgid "Creation of CAF for Credit notes." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:611 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:667 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:613 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:669 msgid "Use cases" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:614 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:616 msgid "Cancel referenced document" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:616 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:618 msgid "In case you need to cancel or invalidate an invoice, navigate to :menuselection:`Accounting --> Customers --> Invoices` and select the desired invoice. Then, use the button :guilabel:`Add Credit Note` and select :guilabel:`Full Refund`, in this case the :abbr:`SII (Servicio de Impuestos Internos)` reference code is automatically set to :guilabel:`Anula Documento de referencia`." msgstr "" @@ -15178,11 +15335,11 @@ msgstr "" msgid "Credit note canceling the referenced document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:626 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:628 msgid "Correct referenced document" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:628 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:630 msgid "If a correction in the invoice information is required, for example the street name on the original invoice is wrong, then use the button :guilabel:`Add Credit Note`, select :guilabel:`Partial Refund` and select the option :guilabel:`Only Text Correction`. In this case the :guilabel:`SII Reference Code` field is automatically set to :guilabel:`Corrects Referenced Document Text`." msgstr "" @@ -15190,7 +15347,7 @@ msgstr "" msgid "Credit note correcting referenced document text." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:637 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:639 msgid "Odoo creates a credit note with the corrected text in an invoice and :guilabel:`Price` `0.00`." msgstr "" @@ -15198,15 +15355,15 @@ msgstr "" msgid "Credit note with the corrected value on the invoice lines." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:644 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:646 msgid "Make sure to define the :guilabel:`Default Credit Account` in the sales journal specifically for this use case." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:648 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:650 msgid "Corrects referenced document amount" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:650 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:652 msgid "When a correction on the amounts is required, use the button :guilabel:`Add Credit note` and select :guilabel:`Partial Refund`. In this case the :guilabel:`SII Reference Code` is automatically set to :guilabel:`Corrige el monto del Documento de Referencia`." msgstr "" @@ -15214,20 +15371,20 @@ msgstr "" msgid "Credit note for partial refund to correct amounts, using the SII reference code 3." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:659 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:661 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:368 msgid "Debit notes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:661 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:663 msgid "In Chilean localization, debit notes, in addition to credit notes, can be created using the :guilabel:`Add Debit Note` button, with two main use cases." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:670 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:672 msgid "Add debt on invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:672 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:674 msgid "The primary use case for debit notes is to increase the value of an existing invoice. To do so, select option :guilabel:`3. Corrige el monto del Documento de Referencia` for the :guilabel:`Reference Code SII` field." msgstr "" @@ -15235,7 +15392,7 @@ msgstr "" msgid "Debit note correcting referenced document amount." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:680 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:682 msgid "In this case Odoo automatically includes the :guilabel:`Source Invoice` in the :guilabel:`Cross Reference` tab." msgstr "" @@ -15243,15 +15400,15 @@ msgstr "" msgid "Automatic reference to invoice in a debit note." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:688 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:690 msgid "You can only add debit notes to an invoice already accepted by the SII." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:691 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:693 msgid "Cancel credit notes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:693 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:695 msgid "In Chile, debits notes are used to cancel a valid credit note. To do this, click the :guilabel:`Add Debit Note` button and select the :guilabel:`1: Anula Documentos de referencia` option for the :guilabel:`Reference Code SII` field." msgstr "" @@ -15259,47 +15416,47 @@ msgstr "" msgid "Debit note to cancel the referenced document (credit note)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:704 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:706 msgid "As part of the Chilean localization, you can configure your incoming email server to match the one you have registered in the :abbr:`SII (Servicio de Impuestos Internos)` in order to:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:707 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:709 msgid "Automatically receive the vendor bills :abbr:`DTE (Documentos Tributarios Electrónicos)` and create the vendor bill based on this information." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:709 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:711 msgid "Automatically send the reception acknowledgement to your vendor." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:710 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:712 msgid "Accept or claim the document and send this status to your vendor." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:713 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:715 msgid "Reception" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:715 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:717 msgid "As soon as the vendor email with the attached :abbr:`DTE (Documentos Tributarios Electrónicos)` is received:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:718 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:720 msgid "The vendor bill maps all the information included in the XML." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:719 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:721 msgid "An email is sent to the vendor with the reception acknowledgement." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:720 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:722 msgid "The :guilabel:`DTE Status` is set as :guilabel:`Acuse de Recibido Enviado`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:723 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:725 msgid "Acceptation" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:725 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:727 msgid "If all the commercial information is correct on your vendor bill, then you can accept the document using the :guilabel:`Aceptar Documento` button. Once this is done, the :guilabel:`DTE Acceptation Status` changes to :guilabel:`Accepted` and an email of acceptance is sent to the vendor." msgstr "" @@ -15307,11 +15464,11 @@ msgstr "" msgid "Button for accepting vendor bills." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:734 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:736 msgid "Claim" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:736 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:738 msgid "In case there is a commercial issue or the information is not correct on your vendor bill, you can claim the document before validating it, using the :guilabel:`Claim` button. Once this is done, the :guilabel:`DTE Acceptation Status` changes to :guilabel:`Claim` and a rejection email is sent to the vendor." msgstr "" @@ -15320,60 +15477,60 @@ msgid "Claim button in vendor bills to inform the vendor all the document is com "rejected." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:746 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:748 msgid "If you claim a vendor bill, the status changes from :guilabel:`Draft` to :guilabel:`Cancel` automatically. Considering this as best practice, all the claimed documents should be canceled as they won't be valid for your accounting records." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:751 -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:701 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:753 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:745 msgid "Delivery guide" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:753 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:755 msgid "To install the :guilabel:`Delivery Guide` module, go to :menuselection:`Apps` and search for `Chile (l10n_cl)`. Then click :guilabel:`Install` on the module :guilabel:`Chile - E-Invoicing Delivery Guide`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:758 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:760 msgid ":guilabel:`Chile - E-Invoicing Delivery Guide` has a dependency with :guilabel:`Chile - Facturación Electrónica`. Odoo will install the dependency automatically when the :guilabel:`Delivery Guide` module is installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:762 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:764 msgid "The *Delivery Guide* module includes the ability to send the :abbr:`DTE (Documentos Tributarios Electrónicos)` to :abbr:`SII (Servicio de Impuestos Internos)` and the stamp in PDF reports for deliveries." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:766 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:768 msgid "Once all configurations have been made for :ref:`electronic invoices ` (e.g., uploading a valid company certificate, setting up master data, etc.), delivery guides need their own :abbr:`CAFs (Folio Authorization Code)`. Please refer to the :ref:`CAF documentation ` to check the details on how to acquire the :abbr:`CAF (Folio Authorization Code)` for electronic Delivery Guides." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:772 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:774 msgid "Verify the following important information in the :guilabel:`Price for the Delivery Guide` configuration:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:775 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:777 msgid ":guilabel:`From Sales Order`: delivery guide takes the product price from the sales order and shows it on the document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:777 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:779 msgid ":guilabel:`From Product Template`: Odoo takes the price configured in the product template and shows it on the document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:779 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:781 msgid ":guilabel:`No show price`: no price is shown in the delivery guide." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:781 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:783 msgid "Electronic delivery guides are used to move stock from one place to another and they can represent sales, sampling, consignment, internal transfers, and basically any product move." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:785 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:787 msgid "Delivery guide from a sales process" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:788 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:790 msgid "A delivery guide should **not** be longer than one page or contain more than 60 product lines." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:790 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:792 msgid "When a sales order is created and confirmed, a delivery order is generated. After validating the delivery order, the option to create a delivery guide is activated." msgstr "" @@ -15381,11 +15538,11 @@ msgstr "" msgid "Create Delivery Guide button on a sales process." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:798 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:800 msgid "When clicking on :guilabel:`Create Delivery Guide` for the first time, a warning message pops up, stating the following:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:801 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:803 msgid "`No se encontró una secuencia para la guía de despacho. Por favor, establezca el primer número dentro del campo número para la guía de despacho`" msgstr "" @@ -15393,20 +15550,20 @@ msgstr "" msgid "First Delivery Guide number warning message." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:808 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:810 msgid "This warning message means the user needs to indicate the next sequence number Odoo has to take to generate the delivery guide (e.g. next available :abbr:`CAF (Folio Authorization Code)` number), and only happens the first time a delivery guide is created in Odoo. After the first document has been correctly generated, Odoo takes the next available number in the :abbr:`CAF (Folio Authorization Code)` file to generate the following delivery guide." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:814 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:816 msgid "After the delivery guide is created:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:816 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:818 msgid "The :abbr:`DTE (Documentos Tributarios Electrónicos)` file (Electronic Tax Document) is automatically created and added to the :guilabel:`chatter`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:818 -#: ../../content/applications/finance/fiscal_localizations/chile.rst:888 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:820 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:890 msgid "The :guilabel:`DTE SII Status` is set as :guilabel:`Pending to be sent`." msgstr "" @@ -15414,11 +15571,11 @@ msgstr "" msgid "Chatter notes of Delivery Guide creation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:824 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:826 msgid "The :guilabel:`DTE Status` is automatically updated by Odoo with a scheduled action that runs every night. To get a response from the :abbr:`SII (Servicio de Impuestos Internos)` immediately, press the :guilabel:`Send now to SII` button." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:828 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:830 msgid "Once the delivery guide is sent, it may then be printed by clicking on the :guilabel:`Print Delivery Guide` button." msgstr "" @@ -15426,27 +15583,27 @@ msgstr "" msgid "Printing Delivery Guide PDF." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:835 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:837 msgid "Delivery guide will have fiscal elements that indicate that the document is fiscally valid when printed (if hosted in *Odoo SH* or on *On-premise* remember to manually add the :guilabel:`pdf417gen` library mentioned in the :ref:`Invoice PDF report section `)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:841 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:843 msgid "Electronic receipt" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:843 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:845 msgid "To install the :guilabel:`Electronic Receipt` module, go to :menuselection:`Apps` and search for `Chile (l10n_cl)`. Then click :guilabel:`Install` on the module :guilabel:`Chile - Electronic Receipt`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:848 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:850 msgid ":guilabel:`Chile - Electronic Receipt` has a dependency with :guilabel:`Chile - Facturación Electrónica`. Odoo will install the dependency automatically when the :guilabel:`E-invoicing Delivery Guide` module is installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:852 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:854 msgid "Once all configurations have been made for :ref:`electronic invoices ` (e.g., uploading a valid company certificate, setting up master data, etc.), electronic receipts need their own :abbr:`CAFs (Folio Authorization Code)`. Please refer to the :ref:`CAF documentation ` to check the details on how to acquire the :abbr:`CAFs (Folio Authorization Code)` for electronic receipts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:858 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:860 msgid "Electronic receipts are useful when clients do not need an electronic invoice. By default, there is a partner in the database called :guilabel:`Anonymous Final Consumer` with a generic :abbr:`RUT (Rol Único Tributario)` `66666666-6` and taxpayer type of :guilabel:`Final Consumer`. This partner can be used for electronic receipts or a new record may be created for the same purpose." msgstr "" @@ -15454,7 +15611,7 @@ msgstr "" msgid "Electronic Receipt module." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:867 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:869 msgid "Although electronic receipts should be used for final consumers with a generic :abbr:`RUT (Rol Único Tributario)`, it can also be used for specific partners. After the partners and journals are created and configured, the electronic receipts are created in the standard way as electronic invoice, but the type of document :guilabel:`(39) Electronic Receipt` should be selected in the invoice form:" msgstr "" @@ -15462,15 +15619,15 @@ msgstr "" msgid "Document type 39 for Electronic Receipts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:879 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:881 msgid "When all of the electronic receipt information is filled, manually (or automatically) proceed to validate the receipt from the sales order. By default, :guilabel:`Electronic Invoice` is selected as the :guilabel:`Document Type`, however in order to validate the receipt correctly, make sure to edit the :guilabel:`Document Type` and change to :guilabel:`Electronic Receipt`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:884 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:886 msgid "After the receipt is posted:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:886 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:888 msgid "The :abbr:`DTE (Documentos Tributarios Electrónicos)` file (Electronic Tax Document) is created automatically and added to the :guilabel:`chatter`." msgstr "" @@ -15478,35 +15635,35 @@ msgstr "" msgid "Electronic Receipts STE creation status." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:894 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:896 msgid "The :guilabel:`DTE Status` is automatically updated by Odoo with a scheduled action that runs every day at night. To get a response from the :abbr:`SII (Servicio de Impuestos Internos)` immediately, press the :guilabel:`Send now to SII` button." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:898 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:900 msgid "Please refer to the :ref:`DTE Workflow ` for electronic invoices as the workflow for electronic receipt follows the same process." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:902 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:904 msgid "Electronic export of goods" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:904 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:906 msgid "To install the :guilabel:`Electronic Exports of Goods` module, go to :menuselection:`Apps` and search for `Chile (l10n_cl)`. Then click :guilabel:`Install` on the module :guilabel:`Electronic Exports of Goods for Chile`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:909 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:911 msgid ":guilabel:`Chile - Electronic Exports of Goods for Chile` has a dependency with :guilabel:`Chile - Facturación Electrónica`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:912 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:914 msgid "Once all configurations have been made for :ref:`electronic invoices ` (e.g., uploading a valid company certificate, setting up master data, etc.), electronic exports of goods need their own :abbr:`CAFs (Folio Authorization Code)`. Please refer to the :ref:`CAF documentation ` to check the details on how to acquire the :abbr:`CAFs (Folio Authorization Code)` for electronic receipts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:918 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:920 msgid "Electronic invoices for the export of goods are tax documents that are used not only for the :abbr:`SII (Servicio de Impuestos Internos)` but are also used with customs and contain the information required by it." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:923 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:925 msgid "Contact configurations" msgstr "" @@ -15514,11 +15671,11 @@ msgstr "" msgid "Taxpayer Type needed for the Electronic Exports of Goods module." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:930 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:932 msgid "Chilean customs" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:932 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:934 msgid "When creating an electronic exports of goods invoice, these new fields in the :guilabel:`Other Info` tab are required to comply with Chilean regulations." msgstr "" @@ -15526,11 +15683,11 @@ msgstr "" msgid "Chilean customs fields." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:940 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:942 msgid "PDF report" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:942 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:944 msgid "Once the invoice is accepted and validated by the :abbr:`SII (Servicio de Impuestos Internos)` and the PDF is printed, it includes the fiscal elements that indicate that the document is fiscally valid and a new section needed for customs." msgstr "" @@ -15538,15 +15695,269 @@ msgstr "" msgid "PDF report section for the Electronic Exports of Goods PDF Report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:954 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:953 +msgid "eCommerce electronic invoicing" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:955 +msgid "To install the :guilabel:`Chilean eCommerce` module, go to :menuselection:`Apps, search for the module by its technical name `l10n_cl_edi_website_sale`, and click the :guilabel:`Activate` button." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "l10n_cl eCommerce module." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:962 +msgid "This module enables the features and configurations to:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:964 +msgid "Generate electronic documents from the *eCommerce* application" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:965 +msgid "Support for required fiscal fields in the *eCommerce* application" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:966 +msgid "Effectively let the final client decide the electronic document to be generated for their purchase" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:969 +msgid "Once all of the configurations are made for the Chilean :ref:`electronic invoice ` flow, the following configurations are required for the eCommerce flow to be integrated." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:973 +msgid "To configure your website to generate electronic documents during the sale process, go to :menuselection:`Website --> Configuration --> Settings --> Invoicing` and activate the :guilabel:`Automatic Invoice` feature. Activating this feature allows electronic documents to be automatically generated when an online payment is confirmed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Invoice Policy and Automatic Invoice configurations." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:982 +msgid "Since an online payment needs to be confirmed for the *automatic invoice* feature to generate the document, a payment provider must be configured for the related website." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:986 +msgid "Review the :doc:`../payment_providers` documentation for information on which payment providers are supported in Odoo, and how to configure them." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:989 +msgid "It is also recommended to configure your products so they are able to be invoiced when an online payment is confirmed. To do so, go to :menuselection:`Website --> eCommerce --> Products` and select the product template of the desired product. Then, set the :guilabel:`Invoicing Policy` to :guilabel:`Ordered quantities`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Invoice Policy configuration in Products." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:999 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1085 +msgid "Invoicing flows" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1001 +msgid "Clients from Chile will be able to select if they need an **invoice** or a **ballot** for their purchase with an extra step added during the checkout process." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Option for EDI Documents for clients." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1008 +msgid "If the customer selects the :guilabel:`Electronic Invoice` option, fiscal fields are required to be filled out, including the :guilabel:`Activity Description`, the :guilabel:`Identification Number` and their :guilabel:`DTE Email`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Fiscal fields required for an Invoice to be requested." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1016 +msgid "If the client selects the :guilabel:`Electronic Receipts` option, they will be directed to the next step, and the electronic document will be generated for the *Consumidor Final Anónimo* contact." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1019 +msgid "Clients from countries other than Chile, will have their electronic receipts automatically generated for them by Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1023 +msgid "If a purchase through eCommerce requires an export, the customer will need to contact your company to generate an electronic export invoice (*document type 110*), which can be done from the *Accounting* app." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1028 +msgid "Point of Sale electronic invoicing" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1030 +msgid "To install the :guilabel:`Chilean Module for Point of Sale`, go to the :menuselection:`Apps` application on the main Odoo dashboard, search for the module by its technical name `l10n_cl_edi_pos`, and click the :guilabel:`Activate` button." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "l10n_cl POS EDI module." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1038 +msgid "This module enables the following features and configurations to:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1040 +msgid "Generate electronic documents from the *Point of Sale* application" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1041 +msgid "Support the required fiscal fields for contacts created in the *Point of Sale* application" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1042 +msgid "Effectively lets the final client decide the type of electronic document to be generated for their purchase" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1044 +msgid "Print QR or 5-digit codes in tickets to access to electronic invoices" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1046 +msgid "To configure contacts with the required fiscal information, review the :ref:`partner information ` section, or directly modify a contact. Navigate to :menuselection:`Point of Sale --> Session --> Customers --> Details`, and edit any of the following fields:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1053 +msgid ":guilabel:`Identification Type`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1054 +msgid ":guilabel:`Tax Payer Type`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1055 +msgid ":guilabel:`Type Giro`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1056 +msgid ":guilabel:`DTE Email`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1057 +msgid ":guilabel:`RUT`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Contact with fiscal information created from POS." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1063 +msgid "To configure the products, navigate to :menuselection:`Point of Sale --> Products --> Products` and select a product record. In the :guilabel:`Sales` tab of the product form, it is necessary to mark the product as :guilabel:`Available for POS`, this makes the product available for sale in the *Point of Sale* app." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Product with fiscal information created from POS." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1072 +msgid "Optionally, the following features are available for configuration in the :menuselection:`Point of Sale --> Configuration --> Settings --> Bills & Receipts section`:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1075 +msgid ":guilabel:`Use QR code on ticket`: this feature enables a QR code to be printed on the user's receipt so they can easily request an invoice after their purchase" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1077 +msgid ":guilabel:`Generate a code on ticket`: this feature enables a 5-digit code to be generated on the receipt, allowing the user to request an invoice through the customer portal" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Configuration to generate QR or 5 digit codes on tickets." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1087 +msgid "The following sections cover the invoicing flows for the *Point of Sale* application." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1090 +msgid "Electronic receipts: anonymous end user" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1092 +msgid "When making a purchase as an anonymous user that does not request an electronic invoice, Odoo automatically selects :guilabel:`Consumidor Final Anónimo` as the contact for the order and generates the electronic receipt." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Automatic contact selection of an anonymous end consumer." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1101 +msgid "If the client requests a credit note due to a return of their purchase, the credit note should be made using the *Accounting* app. See the :doc:`credit notes and refunds <../accounting/customer_invoices/credit_notes>` documentation for detailed instructions." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1106 +msgid "Electronic receipts: specific customer" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1108 +msgid "When specific user makes a purchase that does not request an electronic invoice, Odoo automatically selects the contact for the order as the :guilabel:`Consumidor Final Anónimo`, and allows you to select or create the required customer contact with their fiscal information for the receipt." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Selection of contact for the receipt." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1117 +msgid "If the client requests a credit note because of a return of this type of purchase, the credit note and return process can be managed directly from the :abbr:`POS (Point of Sale)` session." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1121 +#: ../../content/applications/finance/fiscal_localizations/colombia.rst:260 +msgid "Electronic invoices" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1123 +msgid "When clients request an electronic invoice, it is possible to select or create the required contact with their fiscal information. When the payment is being made, select the option :guilabel:`Invoice` to generate the document." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Selection of invoice option at payment." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1132 +msgid "For both the electronic receipts and invoices, if the product is not affected by taxes, Odoo detects this and generates the correct type of document for tax-exempt sales." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1136 +msgid "Returns" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1138 +msgid "For electronic receipts (not generated for the *Consumidor Final Anónimo*) and electronic invoices, it is possible to manage the process to return products sold in a :abbr:`POS (Point of Sale)` order by selecting the :guilabel:`Refund` button." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Refund option in the POS application." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1146 +msgid "Orders can be searched by the order status or by contact, and be selected for the refund to be based on the client's original order." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:-1 +msgid "Selection of order for the refund process." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1153 +msgid "When the return payment is validated, Odoo generates the necessary credit note, referencing the original receipt or invoice, partially or fully canceling the document." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1157 +msgid "`Smart tutorial - Electronic invoicing for point of sale `_." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1164 msgid "Balance tributario de 8 columnas" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:956 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1166 msgid "This report presents the accounts in detail (with their respective balances), classifying them according to their origin and determining the level of profit or loss that the business had within the evaluated period of time." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:960 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1170 msgid "You can find this report in :menuselection:`Accounting --> Reporting --> Balance Sheet` and selecting in the :guilabel:`Report` field the option :guilabel:`Chilean Fiscal Balance (8 Columns) (CL)`." msgstr "" @@ -15558,19 +15969,19 @@ msgstr "" msgid "Chilean Fiscal Balance (8 Columns)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:973 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1183 msgid "Propuesta F29" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:975 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1185 msgid "The form *F29* is a new system that the :abbr:`SII (Servicio de Impuestos Internos)` enabled to taxpayers, and that replaces the *Purchase and Sales Books*. This report is integrated by Purchase Register (CR) and the Sales Register (RV). Its purpose is to support the transactions related to VAT, improving its control and declaration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:980 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1190 msgid "This record is supplied by the electronic tax documents (DTE's) that have been received by the :abbr:`SII (Servicio de Impuestos Internos)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:983 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1193 msgid "You can find this report in :menuselection:`Accounting --> Reporting --> Tax Reports` and selecting the :guilabel:`Report` option :guilabel:`Propuesta F29 (CL)`." msgstr "" @@ -15578,7 +15989,7 @@ msgstr "" msgid "Location of the Propuesta F29 (CL) Report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:990 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1200 msgid "It is possible to set the :abbr:`PPM (Provisional Monthly Payments rate)` and the :guilabel:`Proportional Factor for the fiscal year` from the :menuselection:`Accounting --> Configuration --> Settings`." msgstr "" @@ -15586,7 +15997,7 @@ msgstr "" msgid "Default PPM and Proportional Factor for the Propuesta F29 Report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/chile.rst:998 +#: ../../content/applications/finance/fiscal_localizations/chile.rst:1208 msgid "Or manually in the reports by clicking on the :guilabel:`✏️ (pencil)` icon." msgstr "" @@ -15925,10 +16336,6 @@ msgstr "" msgid "Main workflows" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/colombia.rst:260 -msgid "Electronic invoices" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/colombia.rst:262 msgid "The following is a breakdown of the main workflow for electronic invoices with the Colombian localization:" msgstr "" @@ -16289,10 +16696,6 @@ msgstr "" msgid "Populate company data for Ecuador in Odoo Contacts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/ecuador.rst:92 -msgid "Electronic documents" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:94 msgid "To upload your information for electronic documents go to :menuselection:`Accounting --> Configuration --> Settings` and search for :command:`Ecuadorian Localization`." msgstr "" @@ -17255,7 +17658,7 @@ msgid ":guilabel:`Product Type`: storable products, consumables, or services." msgstr "" #: ../../content/applications/finance/fiscal_localizations/egypt.rst:177 -msgid ":guilabel:`Unit of Measure`: if you also use Odoo Inventory and have enabled :doc:`Units of Measure `." +msgid ":guilabel:`Unit of Measure`: if you also use Odoo Inventory and have enabled :doc:`Units of Measure <../../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/egypt.rst:179 @@ -20419,1272 +20822,1280 @@ msgstr "" msgid "Mexico" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:22 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:20 +msgid "A video on the Mexican localization is also available. This video covers how to implement this localization from scratch, including how to set up the configurations, how to complete common workflows, and provides an in-depth look at several specific use cases, as well." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:24 msgid "`Video webinar of a complete demo `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:27 -msgid "Odoo users in Mexico have access to a set of modules that allow them to sign electronic invoices according to the specifications of the |SAT| for `version 4.0 of the CFDI `_ , a legal requirement as of January 1, 2022." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:29 +msgid "The Odoo Mexican localization modules allow for the signing of electronic invoices, according to the specifications of the |SAT| for `version 4.0 of the CFDI `_, a legal requirement, as of January 1, 2022. These modules also add relevant accounting reports (such as: the |DIOT|, enables foreign trade, and the creation of delivery guides)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:32 -msgid "These modules also add relevant accounting reports (such as the |DIOT|, enable foreign trade, and the creation of delivery guides)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:36 +msgid "In order to electronically sign any documents in Odoo, ensure the *Sign* application is installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:39 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:43 msgid "Requirements" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:41 -msgid "Before making the necessary configurations to have the Mexican localization installed in Odoo, it is necessary to meet the following requirements:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:45 +msgid "It is necessary to meet the following requirements before configuring the Mexican localization modules in Odoo:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:46 -msgid "Be registered in the |SAT|, with a valid :abbr:`RFC (Registro Federal de Contribuyentes)`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:50 +msgid "Be registered in the |SAT|, with a valid |RFC|." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:47 -msgid "Have a `Certificate of Digital Seal `_ (CSD)." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:49 -msgid "Choose a PAC (Proveedor Autorizado de Certificación / Authorized Certification Provider). Currently, Odoo works with the following |PAC|\\s: `Solución Factible `_, `Quadrum (formerly Finkok) `_ and `SW Sapien - Smarter Web `_." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:51 +msgid "Have a `Certificate of Digital Seal `_ (CSD)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:53 -msgid "Have knowledge and experience with billing, sales, and accounting in Odoo. This documentation contains only the necessary information to use Odoo." +msgid "Choose a PAC (Proveedor Autorizado de Certificación / Authorized Certification Provider). Currently, Odoo works with the following |PAC|\\s: `Solución Factible `_, `Quadrum (formerly Finkok) `_ and `SW Sapien - Smarter Web `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:59 -msgid ":ref:`Install ` the following modules to get the main features of the Mexican localization:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:57 +msgid "Have knowledge and experience with billing, sales, and accounting in Odoo. This documentation **only** contains the necessary information needed to use Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:69 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:61 +msgid "Installing modules" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:63 +msgid ":ref:`Install ` the following modules to get all the features of the Mexican localization. The :doc:`Accounting <../accounting>` and *Contacts* modules are required to be installed for this configuration:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:74 msgid ":guilabel:`Mexico - Accounting`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:70 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:75 msgid "`l10n_mx`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:71 -msgid "The default :doc:`fiscal localization package `, adds accounting characteristics for the Mexican localization, such as the most common taxes and the chart of accounts based on `the SAT account grouping code `_." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:76 +msgid "The default :doc:`fiscal localization package <../fiscal_localizations>`, adds accounting characteristics for the Mexican localization, such as: the most common taxes and the chart of accounts – based on `the SAT account grouping code `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:75 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:80 msgid ":guilabel:`EDI for Mexico`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:76 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:81 msgid "`l10n_mx_edi`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:77 -msgid "Includes all the technical and functional requirements to generate and validate :doc:`Electronics Documents `, based on the technical documentation published by the SAT. This allows you to send invoices (with or without addendas) and payment complements to the government." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:82 +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|. This allows you to send invoices (with or without addedums) and payment complements to the government." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:82 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:86 msgid ":guilabel:`EDI v4.0 for Mexico`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:83 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:87 msgid "`l10n_mx_edi_40`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:84 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:88 msgid "Necessary to create XML documents with the correct specifications of the CFDI 4.0." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:87 -msgid "When you install a database from scratch by selecting :guilabel:`Mexico` as the country, Odoo automatically installs the following modules: :guilabel:`Mexico - Accounting`, :guilabel:`EDI for Mexico`, and :guilabel:`EDI v4.0 for Mexico`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:91 -msgid "The following modules are needed to add Mexico's Electronic Accounting. They require the :doc:`Accounting ` module to be installed." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:101 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:89 msgid ":guilabel:`Odoo Mexican Localization Reports`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:102 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:90 msgid "`l10n_mx_reports`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:103 -msgid "Adapts reports for Mexico's Electronic Accounting: Chart of Accounts, Trial Balance, and DIOT." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:91 +msgid "Adapts reports for Mexico's Electronic Accounting: Chart of Accounts, Trial Balance, and |DIOT|." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:105 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:93 msgid ":guilabel:`Mexico - Localization Reports for Closing`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:106 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:94 msgid "`l10n_mx_reports_closing`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:107 -msgid "Necessary to create the Closing Entry (Also known as the month 13th move)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:95 +msgid "Necessary to create the Closing Entry (Also known as the *month 13th move*)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:108 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:96 msgid ":guilabel:`Odoo Mexican XML Polizas Export`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:109 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:97 msgid "`l10n_mx_xml_polizas`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:110 -msgid "Lets you export XML files of your Journal Entries for a compulsory audit." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:98 +msgid "Allows the export of XML files of Journal Entries for a compulsory audit." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:111 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:99 msgid ":guilabel:`Odoo Mexican XML Polizas Export Edi bridge`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:112 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:100 msgid "`l10n_mx_xml_polizas_edi`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:113 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:101 msgid "Complements the module `l10n_mx_xml_polizas`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:115 -msgid "The following modules are optional. It's recommended to install them *only* if you meet a specific requirement. Make sure that they are needed for your business." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:104 +msgid "When installing a database from scratch and selecting :guilabel:`Mexico` as the country, Odoo automatically installs the following modules: :guilabel:`Mexico - Accounting`, :guilabel:`EDI for Mexico`, and :guilabel:`EDI v4.0 for Mexico`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:125 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:108 +msgid "The following modules are optional. It's recommended to install them *only* if meeting a specific requirement. Make sure that they are needed for the business." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:118 msgid ":guilabel:`EDI for Mexico (Advanced Features)`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:126 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:119 msgid "`l10n_mx_edi_extended`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:127 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:120 msgid "Adds the external trade complement to invoices: A legal requirement for selling products to foreign countries." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:129 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:122 msgid ":guilabel:`EDI v4.0 for Mexico (COMEX)`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:130 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:123 msgid "`l10n_mx_edi_extended_40`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:131 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:124 msgid "Adapts the module `l10n_mx_edi_extended` for CFDI 4.0." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:132 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:125 msgid ":guilabel:`Mexico - Electronic Delivery Guide`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:133 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:126 msgid "`l10n_mx_edi_stock`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:134 -msgid "Lets you create a \"Carta Porte\": a bill of lading that proves to the government you are sending goods between A & B with a signed electronic document." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:127 +msgid "Lets you create a *Carta Porte*: A bill of lading that proves to the government you are sending goods between A & B with a signed electronic document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:136 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:129 msgid ":guilabel:`Electronic Delivery Guide for Mexico CFDI 4.0`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:137 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:130 msgid "`l10n_mx_edi_stock_40`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:138 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:131 msgid "Adapts the module `l10n_mx_edi_stock` for CFDI 4.0" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:139 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:132 msgid ":guilabel:`Odoo Mexico Localization for Stock/Landing`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:140 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:133 msgid "`l10n_mx_edi_landing`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:141 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:134 msgid "Allows managing customs numbers related to landed costs in electronic documents." msgstr "" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:139 +msgid "After installing the correct modules, the next step is to verify that your company is configured with the correct data. To do so, go to :menuselection:`Settings --> General Settings --> Companies`, and select :guilabel:`Update Info` under your company name." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:143 +msgid "Enter the full :guilabel:`Address` in the resulting form, including: :guilabel:`ZIP` code, :guilabel:`State`, :guilabel:`Country`, and |RFC| (:guilabel:`VAT` number)." +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/mexico.rst:146 -msgid "After installing the correct modules, you must verify that the company is configured with the correct data. To do so, go to :menuselection:`Settings --> General Settings --> Companies` and select :guilabel:`Update Info` under your company name." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:150 -msgid "Enter your full :guilabel:`Address` in the resulting form including :guilabel:`ZIP` code, :guilabel:`State`, :guilabel:`Country`, and RFC (:guilabel:`VAT` number)." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:153 -msgid "According to the requirements of the CFDI 4.0, the name of your main contact must coincide to your business name registered in the SAT without the legal entity abbreviation." +msgid "According to the requirements of the CFDI 4.0, the name of the main company contact **must** coincide with your business name registered in the |SAT|, without the legal entity abbreviation." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Requirements for a correct invoicing." +msgid "Main company contact requirements for a correct invoicing." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:160 -msgid "From a legal point of view, a Mexican company must use the local currency (MXN). Therefore, Odoo does not provide features to manage an alternative configuration. If you want to manage another currency, let MXN be the default currency and use a :doc:`pricelist ` instead." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:154 +msgid "From a legal point of view, a Mexican company **must** use the local currency (MXN). Therefore, Odoo does not provide features to manage an alternative configuration. If you want to manage another currency, let MXN be the default currency and use a :doc:`pricelist <../../sales/sales/products_prices/prices/pricing>`, instead." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:165 -msgid "Next, go to :menuselection:`Settings --> Accounting --> Electronic Invoicing (MX) --> Fiscal Regime`, and select the regime that applies to your company from the drop-down list." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:159 +msgid "Next, go to :menuselection:`Settings --> Accounting --> Electronic Invoicing (MX) --> Fiscal Regime`, then select the regime that applies to your company from the drop-down list, and click :guilabel:`Save`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Fiscal regime configuration." +msgid "Fiscal regime configuration in the Accounting settings." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:172 -msgid "If you want to test the Mexican localization, you can configure the company with a real address within Mexico (including all fields), add `EKU9003173C9` as the :guilabel:`VAT` and `ESCUELA KEMPER URGATE` as the :guilabel:`Company Name`. For the :guilabel:`Fiscal Regime`, use :guilabel:`General de Ley Personas Morales`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:168 +msgid "If you want to test the Mexican localization, the company can be configured with a real address within Mexico (including all fields), and add `EKU9003173C9` as the :guilabel:`VAT` and `ESCUELA KEMPER URGATE` as the :guilabel:`Company Name`. For the :guilabel:`Fiscal Regime`, use :guilabel:`General de Ley Personas Morales`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:180 -msgid "To create a contact that can be invoiced, go to :menuselection:`Contacts --> Create`. Then enter the contact's name, full :guilabel:`Address` including :guilabel:`ZIP` code, :guilabel:`State`, :guilabel:`Country`, and RFC (:guilabel:`VAT` number)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:176 +msgid "To create a contact that can be invoiced, go to :menuselection:`Contacts --> Create`. Then, enter the contact name, full :guilabel:`Address` including: :guilabel:`ZIP` code, :guilabel:`State`, :guilabel:`Country`, and |RFC| (:guilabel:`VAT` number)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:185 -msgid "As with your own company, all of your contacts needs to have their correct business name registered in the |SAT|. This also applies to the :guilabel:`Fiscal Regime` which needs to be added in the :guilabel:`MX EDI` tab." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:181 +msgid "As with your own company, all of your contacts needs to have their correct business name registered in the |SAT|. This also applies to the :guilabel:`Fiscal Regime`, which needs to be added in the :guilabel:`MX EDI` tab." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:192 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:188 msgid "Some additional configurations for factor type and tax objects need to be added to the sales taxes in order to properly sign invoices." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:196 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:192 msgid "Factor type" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:198 -msgid "Go to :menuselection:`Accounting --> Configuration --> Taxes` then enable the :guilabel:`Factor Type` field in the :guilabel:`Advanced Options` tab for all records with the :guilabel:`Tax Type` set as :guilabel:`Sales`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:202 -msgid "This is pre-loaded in the default taxes. If new ones are created, you need to make sure to fill this field." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:194 +msgid "The *Factor Type* field is pre-loaded in the default taxes. If new taxes are created, you need to make sure to configure this field. To do so, go to :menuselection:`Accounting --> Configuration --> Taxes`, then enable the :guilabel:`Factor Type` field in the :guilabel:`Advanced Options` tab for all records, with the :guilabel:`Tax Type` set as :guilabel:`Sales`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Taxes configuration." +msgid "Factor Type Sales tax type configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:209 -msgid "Mexico manages two different kinds of 0% VAT: *0% VAT* and *VAT Exempt*. For the former, select the :guilabel:`Factor Type` :guilabel:`Tasa`. For the latter, use :guilabel:`Exento`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:204 +msgid "Mexico manages two different kinds of 0% VAT to accommodate two scenarios:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:213 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:206 +msgid "*0% VAT* set the :guilabel:`Factor Type` as :guilabel:`Tasa`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:207 +msgid "*VAT Exempt* set the :guilabel:`Factor Type` as :guilabel:`Exento`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:210 msgid "Tax object" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:215 -msgid "One requirement of the CFDI 4.0 is that the resulting XML file needs or does not need to break down the taxes of the operation. There are three different possible values that are added depending on specific configurations:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:212 +msgid "One requirement of the CFDI 4.0 is that the resulting XML file needs (or does not need) to break down the taxes of the operation. There are three different possible values that are added in the XML file:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:216 +msgid "`01`: Not subject to tax - this value is added automatically if your invoice line doesn't contain any taxes." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:218 +msgid "`02`: Subject to tax - this is the default configuration of any invoice line that contains taxes." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:219 -msgid "`01`: Not subject to tax - your invoice must not contain any taxes." +msgid "`03`: Subject to tax and not forced to break down - this value can be triggered on-demand for certain customers to replace the value 02." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:220 -msgid "`02`: Subject to tax - your invoice contains taxes (default configuration)." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:221 -msgid "`03`: Subject to tax and not forced to breakdown - your invoice contains taxes, and the contact configuration has the :guilabel:`No Tax Breakdown` checkbox activated." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:222 +msgid "To use the `03` value, navigate to :menuselection:`Contacts --> your customer's invoice --> MX EDI tab`, and activate the :guilabel:`No Tax Breakdown` checkbox." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Tax Breakdown SAT." +msgid "No Tax Breakdown option on the MX EDI tab of the customer's invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:228 -msgid "The :guilabel:`No Tax Breakdown` value applies only to specific fiscal regimes and/or taxes. Consult your accountant first if it is needed for your business before doing any modification." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:230 +msgid "The :guilabel:`No Tax Breakdown` value applies **only** to specific fiscal regimes and/or taxes. Consult your accountant first to see if it is needed for your business before making any modification." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:232 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:235 msgid "Other tax configurations" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:234 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:237 msgid "When registering a payment, Odoo will carry out the movement of taxes from the *Cash Basis Transition Account* to the account set in the :guilabel:`Definition` tab. For such movement, a tax base account will be used: (`Base Imponible de Impuestos en Base a Flujo de Efectivo`) in the journal entry when reclassifying taxes. **Do not delete this account**." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:239 -msgid "If you create a new tax, you need to add the correct :guilabel:`Tax Grids` for it (`IVA`, `ISR` or `IEPS`). Odoo only supports these three groups of taxes." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:242 +msgid "If you create a new tax in :menuselection:`Accounting --> Configuration --> Taxes`, you need to add the correct :guilabel:`Tax Grids` for it (`IVA`, `ISR` or `IEPS`). Odoo **only** supports these three groups of taxes." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Taxes accounts." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:248 -msgid "To configure products, go to the :guilabel:`Accounting` tab, and in the :guilabel:`UNSPSC Product Category` field, select the category that represents that product. The process can be done manually or through :doc:`a bulk import `." +msgid "Tax accounts available for Odoo." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:253 -msgid "All products need to have a |SAT| code associated with them in order to prevent validation errors." +msgid "To configure products, go to :menuselection:`Accounting --> Customers --> Products`, then select a product to configure, or :guilabel:`Create` a new one. In the :guilabel:`Accounting` tab, and in the :guilabel:`UNSPSC Product Category` field, select the category that represents the product. The process can be done manually, or through :doc:`a bulk import <../../general/export_import_data>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:260 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:259 +msgid "All products need to have an |SAT| code associated with them in order to prevent validation errors." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:266 msgid "PAC credentials" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:262 -msgid "After you have processed your `Private Key (CSD) `_ with the |SAT|, you must register directly with the :ref:`PAC ` of your choice before you start creating invoices from Odoo." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:268 +msgid "After you have processed your `Private Key (CSD) `_ with the |SAT|, you **must** register directly with the :ref:`PAC ` of your choice before you start creating invoices from Odoo." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:267 -msgid "Once you created your account with any of these providers, go to :menuselection:`Settings --> Accounting --> Electronic Invoicing (MX)`. Under the :guilabel:`MX PAC` section, enter the name of your |PAC| with your credentials (:guilabel:`PAC username` and :guilabel:`PAC password`)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:273 +msgid "Once you've created your account with any of these providers, go to :menuselection:`Settings --> Accounting --> Electronic Invoicing (MX)`. Under the :guilabel:`MX PAC` section, enter the name of your |PAC| with your credentials (:guilabel:`PAC username` and :guilabel:`PAC password`)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "PAC credentials." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:275 -msgid "If you do not have credentials and want to test the electronic invoicing, you can activate the :guilabel:`Test Environment` checkbox and select :guilabel:`Solucion Factible` as the |PAC|. You do not need to add a username or password." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:280 -msgid ".cer and .key certificates" +msgid "Configuring PAC credentials from the Accounting settings." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:282 -msgid "You need to upload the `digital certificates of the company `_ within the section :guilabel:`MX Certificates`. Select :guilabel:`Add a line` and a window will open. Click on :guilabel:`Create`, and from there upload your digital certificate (:file:`.cer` file), your key (:file:`.key` file), and your password. To finish, click on :guilabel:`Save and Close`." +msgid "If you do not have credentials, but want to test the electronic invoicing, you can activate the :guilabel:`MX PAC test environment` checkbox, and select :guilabel:`Solucion Factible` as the |PAC|. You do not need to add a username or password for a test environment." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:287 +msgid ".cer and .key certificates" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:289 +msgid "The `digital certificates of the company `_ must be uploaded within the :guilabel:`MX Certificates` section. To do so, navigate to :menuselection:`Settings --> Accounting --> Electronic Invoicing (MX)`. Under the :guilabel:`MX Certificates` section, select :guilabel:`Add a line`, and a window will open. Click :guilabel:`Create`, and from there, upload your digital :guilabel:`Certificate` (:file:`.cer` file), your :guilabel:`Certificate Key` (:file:`.key` file), and your :guilabel:`Certificate Password`. To finish, click on :guilabel:`Save & Close`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Certificate and key." +msgid "Certificate and key upload inputs." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:292 -msgid "If you still do not have one of the contracted |PAC|\\s and you want to test electronic invoicing you can use the following |SAT| test certificates:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:303 +msgid "If you still do not have one of the contracted |PAC|\\s and you want to test electronic invoicing, you can use the following |SAT| test certificates:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:295 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:306 msgid ":download:`Certificate `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:296 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:307 msgid ":download:`Certificate Key `" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:297 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:308 msgid "**Password**: ``12345678a``" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:305 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:316 msgid "The invoicing process in Odoo is based on `Annex 20 `_ version 4.0 of electronic invoicing of the |SAT|." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:312 -msgid "To start invoicing from Odoo, a customer invoice must be created using the :doc:`standard invoicing flow `." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:323 +msgid "To start invoicing from Odoo, a customer invoice must be created using the :doc:`standard invoicing flow <../accounting/customer_invoices>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:315 -msgid "When the document is in draft mode, you can make any changes to it (add the correct :guilabel:`Payment Way` or :guilabel:`Usage` that the customer might require, for example.)" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:326 +msgid "While the document is in draft mode, changes can be made to it (the correct :guilabel:`Payment Way` or :guilabel:`Usage` that the customer might require can be added, for example.)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:318 -msgid "After you :guilabel:`Confirm` the customer invoice, a blue message appears stating: :guilabel:`The invoice will be processed asynchronously by the following E-invoicing service: CFDI (4.0)`. Pressing the :guilabel:`Process Now` button sends the document to be signed by the government. On success, the :guilabel:`Fiscal Folio` field appears on the document and the XML file is attached in the chatter." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:329 +msgid "After you :guilabel:`Confirm` the customer invoice, a blue message appears stating: :guilabel:`The invoice will be processed asynchronously by the following E-invoicing service: CFDI (4.0)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:325 -msgid "If you press :guilabel:`Retry` in the field :guilabel:`SAT status` of the invoice, you can confirm if the XML file is valid in the SAT." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:328 -msgid "If you are in a testing environment, you will always receive the message :guilabel:`Not Found`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:330 -msgid "To send the signed invoice to your client by mail, you can send the XML together with the PDF file directly from Odoo by clicking the :guilabel:`Send and Print` button. You can also download the PDF file to your computer by clicking the :guilabel:`Print` button and selecting the desired option." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:332 +msgid "Pressing the :guilabel:`Process Now` button sends the document to the government so it can be signed. After receiving the signed document back from the government, the :guilabel:`Fiscal Folio` field appears on the document, and the XML file is attached in the chatter." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:337 -msgid "While an invoice is a document type \"I\" (Ingreso), a credit note is a document type \"E\" (Egreso)." +msgid "If you click :guilabel:`Retry` in the :guilabel:`SAT status` field on the invoice, you can confirm if the XML file is valid in the |SAT|." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:339 -msgid "The only addition to the :doc:`standard flow for credit notes ` is that, as a requirement of the SAT, there has to be a relation between a credit note and an invoice through the fiscal folio." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:340 +msgid "If you are in a testing environment, you will always receive the message :guilabel:`Not Found`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:343 -msgid "Because of this, the field :guilabel:`CFDI Origin` adds this relation with a `01|`, followed by the fiscal folio of the original invoice." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Creating a credit note." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:342 +msgid "To send the signed invoice to your client by mail, you can send both the XML and PDF files together, directly from Odoo, by clicking the :guilabel:`Send & Print` button. You can also download the PDF file to your computer, by clicking the :guilabel:`Print` button, and selecting the desired print option." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:350 -msgid "For the :guilabel:`CFDI Origin` field to be added automatically, use the button :guilabel:`Add Credit Note` from the invoice instead of creating it manually." +msgid "While an invoice is a document type \"I\" (Ingreso), a credit note is a document type \"E\" (Egreso)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:354 -msgid "Payment complements" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:352 +msgid "The only addition to the :doc:`standard flow for credit notes <../accounting/customer_invoices/credit_notes>` is that, as a requirement of the |SAT|, there has to be a relation between a credit note and an invoice through the fiscal folio." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:357 -msgid "Payment policy" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:356 +msgid "Because of this requirement, the field :guilabel:`CFDI Origin` adds this relation with a `01|`, followed by the fiscal folio of the original invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:359 -msgid "One of the additions of the Mexican Localization is the field :guilabel:`Payment Policy`. `According to the SAT documentation `_, there may be 2 types of payments:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Example CFDI Origin number." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:364 +msgid "For the :guilabel:`CFDI Origin` field to be automatically added, use the :guilabel:`Add Credit Note` button from the invoice, instead of creating it manually." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:368 +msgid "Payment complements" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:371 +msgid "Payment policy" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:373 +msgid "One addition of the Mexican localization is the :guilabel:`Payment Policy` field . `According to the SAT documentation `_, there may be 2 types of payments:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:377 msgid "`PUE` (Pago en una Sola Exhibición/Payment in a Single Exhibition)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:365 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:378 msgid "`PPD` (Pago en Parcialidades o Diferido/Payment in Installements or Deferred)" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:367 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:381 +msgid ":doc:`../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:383 msgid "The difference lies in the *Due Date* or *Payment Terms* of the invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:369 -msgid "To configure |PUE| invoices, you must select an invoice :guilabel:`Due Date` within the same month or choose a payment term that does not imply changing the due month (immediate payment, 15 days, 21 days, all falling within the current month)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:385 +msgid "To configure |PUE| invoices, navigatge to :menuselection:`Accounting --> Customers --> Invoices`, and either select an invoice :guilabel:`Due Date` within the same month, or choose a payment term that does not imply changing the due month (immediate payment, 15 days, 21 days, all falling within the current month)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 msgid "Example of an invoice with the PUE requirements." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:377 -msgid "Some :guilabel:`Payment Terms` are already installed by default. You can check them in :menuselection:`Accounting --> Configuration --> Payment Terms`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:395 +msgid "Some :guilabel:`Payment Terms` are already installed by default, and can be managed from :menuselection:`Accounting --> Configuration --> Payment Terms`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:380 -msgid "To configure |PPD| invoices, you need to choose a :guilabel:`Due Date` after the first day of the following month (this also applies if your :guilabel:`Payment Term` is due in the following month)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:398 +msgid "To configure |PPD| invoices, navigate to :menuselection:`Accounting --> Customers --> Invoices`, and select an invoice with a :guilabel:`Due Date` after the first day of the following month. This also applies if your :guilabel:`Payment Term` is due in the following month." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 msgid "Example of an invoice with the PPD requirements." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:387 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:407 msgid "Because the |PPD| policy implies that an invoice is not going to get paid at the moment, the correct :guilabel:`Payment Way` for the |PPD| invoices is :guilabel:`99 - Por Definir` (To define)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:392 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:412 msgid "Payment flow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:394 -msgid "In both cases, the payment process in Odoo :doc:`is the same `, the main difference would be that payments related to |PPD| invoices trigger the creation of a document type \"P\" (Pago)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:414 +msgid "In both cases, the payment process in Odoo :doc:`is the same <../accounting/customer_invoices>`, the main difference being payments related to |PPD| invoices trigger the creation of a document type \"P\" (Pago)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:398 -msgid "If a payment is related to a |PUE| invoice, it can be registered with the wizard and be associated with the corresponding invoice. Its status will be :guilabel:`In Payment` since the payment is effectively validated when it is bank reconciled." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:418 +msgid "If a payment is related to a |PUE| invoice, it can be registered with the wizard, and be associated with the corresponding invoice. To do so, navigate to :menuselection:`Accounting --> Customers --> Invoices`, and select an invoice. Then, click the :guilabel:`Register Payment` button. The invoice status changes to :guilabel:`In Payment`, since the payment is effectively validated when it is bank reconciled." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:405 -msgid "While this process is the same for PPD invoices, the addition of the creation of an :doc:`electronic document ` means that some additional requirements are needed to correctly send the document to the SAT." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:425 +msgid ":doc:`../accounting/bank/reconciliation`" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:409 -msgid "You need to confirm the specific :guilabel:`Payment Way` where you received the payment. Because of this, this field cannot be :guilabel:`99 - Por Definir` (To Define)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:427 +msgid "While this process is the same for PPD invoices, the addition of the creating an :doc:`electronic document <../accounting/customer_invoices/electronic_invoicing>` means some additional requirements are needed to correctly send the document to the |SAT|." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:411 -msgid "If you are going to add a bank account to the customer in the :guilabel:`Accounting` tab of their contact, it needs to have a valid number." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:431 +msgid "From an invoice, you need to confirm the specific :guilabel:`Payment Way` where you received the payment. Because of this, the :guilabel:`Payment Way` field **cannot** be set as `99 - Por Definir (To Define)`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:415 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:435 +msgid "If you are going to add a bank account number in the :guilabel:`Accounting` tab of a customer's contact card, it must have a valid account number." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:439 msgid "The exact configurations are in the `Anexo 20 of the SAT `_. Usually, the :guilabel:`Bank Account` needs to be 10 or 18 digits for transfers, 16 for credit or debit cards." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:419 -msgid "If a payment is related to a signed invoice with the :guilabel:`Payment Policy` `PPD`, Odoo generates the corresponding payment complement automatically once you press :guilabel:`Process Now`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:443 +msgid "If a payment is related to a signed invoice with the :guilabel:`Payment Policy` `PPD`, Odoo generates the corresponding payment complement automatically, once you click :guilabel:`Process Now`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 msgid "CFDI (4.0) E-invoicing service process payment now message." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:426 -msgid "A payment in MXN cannot be used to pay multiple invoices in USD. Rather, the payment should be separated into multiple payments created using the :guilabel:`Register Payment` button on the corresponding invoices." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:452 +msgid "A payment in MXN **cannot** be used to pay multiple invoices in USD. Instead, the payment should be separated into multiple payments, using the :guilabel:`Register Payment` button on the corresponding invoices." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:431 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:457 msgid "Invoice cancellations" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:433 -msgid "It is possible to cancel the EDI documents sent to the SAT. According to the `Reforma Fiscal 2022 `_, since January 1st 2022, there are two requirements for this:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:459 +msgid "It is possible to cancel the EDI documents sent to the |SAT|. According to the `Reforma Fiscal 2022 `_, since January 1st, 2022, there are two requirements for this:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:437 -msgid "With all cancellation requests, you have to specify a *cancellation reason*." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:463 +msgid "With all cancellation requests, you **must** specify a *cancellation reason*." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:438 -msgid "After 24 hours have passed, the client must be asked to accept the cancellation." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:464 +msgid "After 24 hours have passed since the creation of the invoice, the client **must** be asked to accept the cancellation." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:440 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:467 msgid "There are four different cancellation reasons. In Odoo, you can cancel invoices with the reasons *01 Invoices sent with errors with a relation*, and *02 Invoices sent with errors without a relation*." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:444 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:470 +msgid "The following sections break down the process of canceling invoices for each cancellation reason in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:474 +msgid "Odoo has certain limitations to canceling invoices in the |SAT|: The reasons 03 and 04 (*Operation did not take place* and *Nominative transactions related to a global invoice*, respectively) are not currently supported by Odoo. For this, you need to cancel the invoice directly in the |SAT|, and press :guilabel:`Retry` in the :guilabel:`SAT Status field`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:480 msgid "01 - invoices sent with errors with a relation" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:446 -msgid "This cancellation motive has to be used when a new invoice needs to substitute the original one, due to an error in any field." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:482 +msgid "This cancellation reason must be used when a new invoice needs to substitute the original one, due to an error in any field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:449 -msgid "Copy the :guilabel:`Fiscal Folio` of the *old invoice*" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:485 +msgid "Begin by navigating to :menuselection:`Accounting --> Customers --> Invoices`, and select the old invoice. Copy the :guilabel:`Fiscal Folio` from the old invoice. Then, navigate to the new invoice, and in the :guilabel:`CFDI Origin` field, add the value `04|` and paste the :guilabel:`Fiscal Folio` of the old invoice after the value. Finally, sign the new document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:450 -msgid "Paste it into the field :guilabel:`CFDI Origin` of the *new invoice*, followed by a `04|`" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:490 +msgid "Next, navigate back to the old invoice, and notice the :guilabel:`Substituted By` field is now available. Click the :guilabel:`Request EDI Cancellation` button on the old invoice, and then click :guilabel:`Process Now` in the blue section that appears. The invoice status changes to :guilabel:`Canceled`, and a confirmation is logged in the chatter." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:451 -msgid "Sign the new document." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:495 +msgid "Now, the invoice should be canceled in the |SAT| as well. You can confirm this was done correctly, by pressing :guilabel:`Retry` in the |SAT| status field." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:498 +msgid "If the document was canceled more than 24 hours after its creation, you may need to ask the client to accept the cancellation in their “Buzón Tributario” directly from the `SAT website `_." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:503 +msgid "The `04|` is only a code that helps Odoo to perform this process. It has no relation to the method 04 reason for cancellation." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 msgid "Old invoice with CFDI Origin." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:456 -msgid "Go back to the *old invoice*, the field :guilabel:`Substituted By` should appear." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:457 -msgid "Click the :guilabel:`Request EDI Cancellation` button." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:458 -msgid "As if it were a regular invoice, a blue field then appears on the invoice. Click :guilabel:`Process Now`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:460 -msgid "The invoice status is moved to :guilabel:`Cancelled` and you receive a confirmation in the chatter." -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Invoice 01 properly canceled." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:466 -msgid "Now, the invoice should be canceled in the SAT too. You can confirm that this was done correctly by pressing :guilabel:`Retry` in the SAT status field." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:469 -msgid "If the document was canceled after 24 hours, it is possible that the client must be asked to accept the cancellation in their \"Buzón Tributario\"." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:473 -msgid "The `04|` is only a code that helps Odoo to perform this process. It has no relation to the method 04 reason for cancellation." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:477 -msgid "02 - invoices sent with errors without a relation" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:479 -msgid "This cancellation motive has to be used when an invoice was sent with an error in any field and does not need to be replaced by another one." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:482 -msgid "For this case, all that is required is to click on :guilabel:`Request EDI Cancellation`, and then press click the :guilabel:`Process Now` button." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Invoice 02 properly canceled." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:488 -msgid "As the field :guilabel:`Substituted By` does not exist, the SAT should detect automatically that the cancellation reason is 02." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:492 -msgid "Odoo has certain limitations to canceling invoices in the SAT: The reasons 03 and 04 (*Operation did not take place* and *Nominative transactions related to a global invoice*) are not currently supported by Odoo. For this, you need to cancel the invoice directly in the SAT and use a *Server Action*." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:498 -msgid "Payment cancellations" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:500 -msgid "It is also possible to cancel *Payment Complements*. For this, go to the payment and select :guilabel:`Request EDI Cancellation`. As with invoices, a blue button will appear. Select :guilabel:`Process now`, and the document will be sent to the SAT. After a few seconds, you can press :guilabel:`Retry` to confirm the current SAT status." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:505 -msgid "The payment moves their status to :guilabel:`Cancelled`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:508 -msgid "Just like invoices, when you create a new *Payment Complement*, you can add the relation of the original document by adding a `04|` plus the fiscal folio." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:512 -msgid "Invoicing special use cases" +msgid "Invoice with the Substituted By field referencing the CFDI Origin invoice." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:515 -msgid "CFDI to public" +msgid "02 - invoices sent with errors without a relation" msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:517 -msgid "If the customer you are selling goods or services to does not require an invoice, a *CFDI to Public* has to be created." +msgid "This cancellation reason has to be used when an invoice was sent with an error in any field, and does not need to be replaced by another one." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:520 -msgid "However, if you use the name `PUBLICO EN GENERAL`, an error will be triggered. This is a main change in the CFDI 4.0 that states that invoices with that specific name needs additional fields." +msgid "For this case, navigate to :menuselection:`Accounting --> Customers --> Invoices`, and select the old invoice. From here, the only requirement is to click the :guilabel:`Request EDI Cancellation` button, and then click the :guilabel:`Process Now` button." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:523 -msgid "Odoo currently does not support this. So for a *CFDI to Public* to be created, you need to add any name to your customer that is not `PUBLICO EN GENERAL`. (For example `CLIENTE FINAL`)" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:524 +msgid "Because the field :guilabel:`Substituted By` does not appear when using this cancellation reason, the |SAT| should automatically detect that the cancellation reason is 02." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:526 -msgid "In addition to this, the zip code of your company, and the generic :guilabel:`RFC` ``XAXX010101000`` are needed. The :guilabel:`Fiscal Regime` of your customer must be `Sin obligaciones fiscales`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:528 +msgid "Payment cancellations" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "CFDI to Public Error." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:530 +msgid "It is also possible to cancel *Payment Complements*. For this, go to the payment, via :menuselection:`Accounting --> Customers --> Payments`, and select :guilabel:`Request EDI Cancellation`. As with invoices, a blue button will appear. Click :guilabel:`Process now`, and the document will be sent to the |SAT|. After a few seconds, you can click :guilabel:`Retry` to confirm the current |SAT| status." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:535 -msgid "The main currency in Mexico is MXN. While this is mandatory for all Mexican companies, it is possible to send and receive invoices and payments in different currencies. To do this, you can enable the use of :doc:`multicurrency `. And select :guilabel:`Mexican Bank` as the service in :menuselection:`Accounting --> Settings --> Currency`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:536 +msgid "Finally, the payment status is moved to :guilabel:`Cancelled`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:541 -msgid "This way, in the XML file of the document you get the correct exchange rate and the total amount both in the foreign currency and in MXN." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:539 +msgid "Just like invoices, when you create a new *Payment Complement*, you can add the relation of the original document, by adding a `04|` plus the fiscal folio in the :guilabel:`CFDI Origin` field." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:544 -msgid "It is highly recommended to use :doc:`a bank account for each currency `." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:543 +msgid "Invoicing special use cases" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Multi-currency configuration." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:546 +msgid "CFDI to public" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:548 +msgid "If the customer you are selling goods or services to does not require an invoice, a *CFDI to Public* has to be created." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:551 -msgid "The only currencies that automatically update their exchange rate daily are USD, EUR, GBP, and JPY." +msgid "If you use the :guilabel:`Customer` name `PUBLICO EN GENERAL`, an error will be triggered. This is a main change in the CFDI 4.0 that requires invoices with that specific name to need additional fields, which Odoo does not currently support. So, for a *CFDI to Public* to be created, you need to add any name to your customer that is **not** `PUBLICO EN GENERAL`. (For example: `CLIENTE FINAL`)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:555 -msgid "Down payments" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:556 +msgid "In addition to this, it is required that the :guilabel:`ZIP` code of your company is added, the generic |RFC| is set as `XAXX010101000`, and the :guilabel:`Fiscal Regime` of your customer must be set as: `Sin obligaciones fiscales`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:557 -msgid "There can be cases where you receive a payment in advance from a customer, that needs to be applied to an invoice later. In order to do this in Odoo, it is required to properly link invoices to each other with the :guilabel:`CFDI Origin` field." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:561 -msgid "It is necessary to have the :doc:`Sales ` app installed." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:564 -msgid "`The official documentation for registration of down payments in Mexico `_." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "CFDI to Public Customer field configuration." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:567 -msgid "First, navigate to the :menuselection:`Sales` app to create a product `Anticipo` and configure it: the :guilabel:`Product Type` must be :guilabel:`Service`, and use the :guilabel:`UNSPSC Category` `84111506 Servicios de facturación`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:571 -msgid "Then, go to :menuselection:`Sales --> Settings --> Invoicing --> Down Payments` and add the product as the default." +msgid "The main currency in Mexico is MXN. While this is mandatory for all Mexican companies, it is possible to send and receive invoices (and payments) in different currencies. To enable the use of :doc:`multicurrency <../accounting/get_started/multi_currency>`, navigate to the :menuselection:`Accounting --> Settings --> Currencies`, and set :guilabel:`Mexican Bank` as the :guilabel:`Service` in the :guilabel:`Automatic Currency Rates` section. Then, set the :guilabel:`Interval` field to the frequency you wish to update the exchange rates." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:574 -msgid "Create a sales order with the total amount, and create a down payment (either using a percentage or fixed amount). Then, sign the document, and :guilabel:`Register the Payment`." +msgid "This way, the XML file of the document will have the correct exchange rate, and the total amount, in both the foreign currency and in MXN." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:577 -msgid "When the time comes for the customer to get the final invoice, create it again from the same sales order. In the :guilabel:`Create Invoices` wizard select :guilabel:`Regular Invoice` and uncheck :guilabel:`Deduct down payments`." +msgid "It is highly recommended to use :doc:`a bank account for each currency <../accounting/bank/foreign_currency>`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:581 -msgid "Then, copy the :guilabel:`Fiscal Folio` from the first invoice and paste it into the :guilabel:`CDFI Origin` of the second invoice, adding the prefix `07|`. Sign the document." +msgid "The only currencies that automatically update their exchange rate daily are: USD, EUR, GBP, and JPY." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:584 -msgid "After this, create a credit note for the first invoice. Copy the :guilabel:`Fiscal Folio` from the second invoice and paste it in the :guilabel:`CFDI Origin` of the credit note, adding the prefix `07|`. Sign the document." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Multi-currency configuration in the Accounting settings." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:588 -msgid "With this, all electronic documents are linked to each other. The final step is to fully pay the new invoice. At the bottom of the new invoice, you can find :guilabel:`Outstanding credits` in the credit note, add it as payment. Finally, register the remaining amount with the :guilabel:`Register Payment` wizard." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:589 +msgid "Down payments" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:594 -msgid "External trade" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:591 +msgid "There can be cases where you receive a payment in advance from a customer that needs to be applied to an invoice later. In order to do this in Odoo, it is required to properly link invoices to each other with the :guilabel:`CFDI Origin` field. To do so, it is necessary to have the :doc:`Sales <../../sales>` app installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:596 -msgid "The external trade is a complement to a regular invoice that adds certain values in both the XML and PDF, according to `SAT regulations `_." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:597 +msgid "`The official documentation for registration of down payments in Mexico `_." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:600 -msgid "This adds certain mandatory fields to invoices with a foreign customer, such as:" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:602 -msgid "The specific address of the receiver and the sender" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:603 -msgid "The addition of a :guilabel:`Tariff Fraction` that identifies the type of product" +msgid "First, navigate to the :menuselection:`Sales` app to create a product `Anticipo` and configure it. The :guilabel:`Product Type` must be :guilabel:`Service`, and use the :guilabel:`UNSPSC Category` must be: `84111506 Servicios de facturación`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:604 -msgid "The correct :guilabel:`Incoterm` (International Commercial Terms), among others." +msgid "Then, go to :menuselection:`Sales --> Settings --> Invoicing --> Down Payments`, and add the *Anticipo* product as the default." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:606 -msgid "This allows the correct identification of exporters and importers, in addition to expanding the description of the merchandise sold." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:607 +msgid "Create a sales order with the total amount, and create a down payment (either using a percentage or fixed amount). Then, sign the document, and :guilabel:`Register the Payment`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:609 -msgid "Since January 1st, 2018, it is a requirement for taxpayers who carry export operations of A1 type. While the current CFDI is 4.0, the external trade is currently on version 1.1" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:610 +msgid "When the time comes for the customer to get the final invoice, create it again from the same sales order. In the :guilabel:`Create Invoices` wizard, select :guilabel:`Regular Invoice`, and uncheck :guilabel:`Deduct down payments`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:612 -msgid "In order to use this feature, the modules :guilabel:`l10n_mx_edi_extended` and :guilabel:`l10n_mx_edi_extended_40` have to be installed." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:614 +msgid "Then, copy the :guilabel:`Fiscal Folio` from the first invoice, and paste it into the :guilabel:`CDFI Origin` of the second invoice, adding the prefix `07|` before the value. Then, sign the document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:616 -msgid "Before installing, make sure first that your business needs to use this feature. Consult your accountant first if needed before doing any modification." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:618 +msgid "After this, create a credit note for the first invoice. Copy the :guilabel:`Fiscal Folio` from the second invoice, and paste it in the :guilabel:`CFDI Origin` of the credit note, adding the prefix `07|`. Then, sign the document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:625 -msgid "While the CFDI 4.0 requirements ask you to add a valid zip code in your contact, the external trade complement adds as a mandatory field the :guilabel:`City` and the :guilabel:`State`. All three fields must coincide with the `Official SAT Catalog `_ or you will receive an error." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:622 +msgid "With this, all electronic documents are linked to each other. The final step is to fully pay the new invoice. At the bottom of the new invoice, you can find the credit note in the :guilabel:`Outstanding credits` - add it as payment. Finally, register the remaining amount with the :guilabel:`Register Payment` wizard." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:628 +msgid "External trade" msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:630 -msgid "Add the :guilabel:`City` and :guilabel:`State` in the company's contract, not in the company itself. You can find your company's contact in :menuselection:`Accounting --> Customers --> Customers`" +msgid "The external trade is a complement to a regular invoice that adds certain values in both the XML and PDF, to invoices with a foreign customer according to `SAT regulations `_, such as:" msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:634 -msgid "The fields :guilabel:`Locality` and :guilabel:`Colony Code` are optional and can be added in the company directly in :menuselection:`Settings --> General Settings --> Companies`. These two have to coincide with the data in the SAT." +msgid "The specific address of the receiver and the sender" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Optional External Trade Company fields." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:635 +msgid "The addition of a :guilabel:`Tariff Fraction` that identifies the type of product" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:641 -msgid "The contact data for the foreign receiving client must have the following fields completed to avoid errors:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:636 +msgid "The correct :guilabel:`Incoterm` (International Commercial Terms), among others (*certificate of origin* and *special units of measure*)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:644 -msgid "The entire company :guilabel:`Address`, including a valid :guilabel:`ZIP` code and the foreign :guilabel:`Country`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:639 +msgid "This allows the correct identification of exporters and importers, in addition to expanding the description of the merchandise sold." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:646 -msgid "The format of the foreign :guilabel:`VAT` (tax identification number, for example: Colombia `123456789-1`)" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:642 +msgid "Since January 1, 2018, external trade is a requirement for taxpayers, who carry export operations of type A1. While the current CFDI is 4.0, the external trade is currently on version 1.1" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:648 -msgid "In the :guilabel:`MX EDI` tab, you need to address if the customer receives goods for a period of time temporarily (:guilabel:`Temporary`) or permanently (:guilabel:`Definitive`)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:645 +msgid "In order to use this feature, the modules :guilabel:`l10n_mx_edi_extended` and :guilabel:`l10n_mx_edi_extended_40` have to be installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:650 -msgid "If you create this contact based in another from Mexico, make sure that you delete any information in the field :guilabel:`Fiscal Regime`. Do not use :guilabel:`No Tax Breakdown` either." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Required External Trade Customer fields." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:649 +msgid "Before installing, make sure your business needs to use this feature. Consult your accountant first, if needed, before installing any modules." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:658 -msgid "In the resulting XML and PDF, the :guilabel:`VAT` is automatically replaced by the generic VAT for abroad transactions: `XEXX010101000`." +msgid "To configure your company contact for external trade, navigate to :menuselection:`Accounting --> Customers --> Customers`, and select your :guilabel:`Company`. While the CFDI 4.0 requirements ask you to add a valid :guilabel:`ZIP` code in your contact, the external trade complement adds the requirement that your :guilabel:`City` and the :guilabel:`State` must also be valid. All three fields must coincide with the `Official SAT Catalog `_, or you will receive an error." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:664 -msgid "All products involved with external trade must fill four fields, two of them exclusive to this feature." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:667 -msgid "The :guilabel:`Internal Reference` of the product is in the :guilabel:`General Information` tab." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:668 -msgid "The :guilabel:`Weight` of the product must be more than `0`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:665 +msgid "Add the :guilabel:`City` and :guilabel:`State` in the company's *contact*, not in the company itself. You can find your company's contact in :menuselection:`Accounting --> Customers --> Customers`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:669 +msgid "The fields :guilabel:`Locality` and :guilabel:`Colony Code` are optional and can be added in the company directly in :menuselection:`Settings --> General Settings --> Companies`. These two fields have to coincide with the data in the |SAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Optional external trade company fields." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:677 +msgid "To configure the contact data for a foreign receiving client, navigate to :menuselection:`Accounting --> Customers --> Customers`, and select the foreign client's contact. The contact must have the following fields completed to avoid errors:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:681 +msgid "The entire company :guilabel:`Address`, including a valid :guilabel:`ZIP` code and the foreign :guilabel:`Country`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:683 +msgid "The format of the foreign :guilabel:`VAT` (tax identification number, for example: Colombia `123456789-1`)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:685 +msgid "In the :guilabel:`MX EDI` tab, you need to address if the customer receives goods for a period of time temporarily (:guilabel:`Temporary`) or permanently (:guilabel:`Definitive`)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:689 +msgid "If the new contact was created by duplicating another existing contact from Mexico, make sure to delete any carried over information from the :guilabel:`Fiscal Regime` field. In addition, do not enable the :guilabel:`No Tax Breakdown` option. Selecting this option hides mandatory fields that are required for external trade contact configuration." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Required external trade customer fields." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:699 +msgid "In the resulting XML and PDF files, the :guilabel:`VAT` is automatically replaced by the generic VAT for abroad transactions: `XEXX010101000`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:705 +msgid "All products involved with external trade have four fields that are required, two of them exclusive to external trade." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:708 +msgid "The :guilabel:`Internal Reference` of the product is in the :guilabel:`General Information` tab." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:709 +msgid "The :guilabel:`Weight` of the product must be more than `0`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:710 msgid "The `correct `_ :guilabel:`Tariff Fraction` of the product in the :guilabel:`Accounting` tab." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:671 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:712 msgid "The :guilabel:`UMT Aduana` corresponds to the :guilabel:`Tariff Fraction`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Required External Trade Product fields." +msgid "Required external trade product fields." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:677 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:719 msgid "If the UoM code of the :guilabel:`Tariff Fraction` is `01`, the correct :guilabel:`UMT Aduana` is `kg`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:679 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:721 msgid "If the UoM code of the :guilabel:`Tariff Fraction` is `06`, the correct :guilabel:`UMT Aduana` is `Units`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:683 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:725 msgid "Invoicing flow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:685 -msgid "Before creating an invoice, it is important to take into account that external trade invoices require to convert the amounts of your product into USD. Therefore, we need to have :doc:`multicurrency enabled ` and activate USD in the :guilabel:`Currencies` section. The correct :guilabel:`Service` to run is :guilabel:`Mexican Bank`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:727 +msgid "Before creating an invoice, it is important to take into account that external trade invoices require to convert the amounts of your product into USD. Therefore, :doc:`multicurrency <../accounting/get_started/multi_currency>` **must** be enabled and *USD* **must** be activated in the :guilabel:`Currencies` section. The correct :guilabel:`Service` to run is :guilabel:`Mexican Bank`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:691 -msgid "With the correct exchange rate set up in :menuselection:`Accounting --> Settings --> Currency`, the only fields left are :guilabel:`Incoterm` and :guilabel:`Certificate Source` in the :guilabel:`Other Info` tab. The latter is optional." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:733 +msgid "Then, with the correct exchange rate set up in :menuselection:`Accounting --> Settings --> Currency`, the only fields left are :guilabel:`Incoterm` and the optional :guilabel:`Certificate Source` in the :guilabel:`Other Info` tab." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "External Trade Other Info." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:698 -msgid "Sign the invoice with the same process as a regular one: Press the :guilabel:`Process Now` button." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:703 -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:706 -msgid "On December 1st, 2021, version 2.0 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:710 -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:713 -msgid "In order to use this feature, the modules :guilabel:`l10n_mx_edi_extended`, :guilabel:`l10n_mx_edi_extended_40`, :guilabel:`l10n_mx_edi_stock` and :guilabel:`l10n_mx_edi_stock_40` have to be installed." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:717 -msgid "In addition to this, it is necessary to have the :doc:`Inventory ` and :doc:`Sales ` apps configured." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:722 -msgid "Odoo does not support Carta Porte type \"I\" (Ingreso), air, or marine transport. Consult your accountant first if this feature is needed before doing any modifications." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:728 -msgid "Odoo manages two different types of CFDI:" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:730 -msgid "**No Federal Highways**: It is used when the *Distance to Destination* is `less than 30 KM `_." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:732 -msgid "**Federal Transport**: It is used when the *Distance to Destination* exceeds 30 KM." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:734 -msgid "Other than the standard requirements of regular invoicing (The RFC of the customer, the UNSPSC code...), if you are using *No Federal Highways*, no external configuration is needed." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:737 -msgid "For *Federal Transport*, several configurations have to be added to contacts, vehicle setups, and products. Those configurations are added to the XML and PDF files." +msgid "External trade Other Info tab of a product." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:741 -msgid "Contacts and vehicles" +msgid "Finally, sign the invoice with the same process as a regular invoice, and click the :guilabel:`Process Now` button." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:743 -msgid "Like with the external trade feature, the address in both your company and your final customer has to be complete. The zip code, city, and state must coincide with the `Official SAT Catalog `_" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:747 +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:748 -msgid "The field :guilabel:`Locality` is optional for both addresses." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Delivery Guide Contacts." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:750 +msgid "On December 1st, 2021, version 2.0 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:754 -msgid "The origin address used for the delivery guide is set in :menuselection:`Inventory --> Configuration --> Warehouses Management --> Warehouses`. While this is set as the company address by default, you can change it according to your correct warehouse address." +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:758 -msgid "Another addition to this feature is the :guilabel:`Vehicle Setups` menu found in :menuselection:`Inventory --> Settings --> Mexico`. This menu lets you add all the information related to the vehicle used for the delivery order." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:757 +msgid "In order to use this feature, the modules :guilabel:`l10n_mx_edi_extended`, :guilabel:`l10n_mx_edi_extended_40`, :guilabel:`l10n_mx_edi_stock` and :guilabel:`l10n_mx_edi_stock_40` have to be installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:762 -msgid "All fields are mandatory to create a correct delivery guide." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:761 +msgid "In addition to this, it is necessary to have the :doc:`Inventory <../../inventory_and_mrp/inventory>` and :doc:`Sales <../../sales/sales>` apps installed, as well." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Delivery Guide Vehicle Configurations required fields." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:765 +msgid "Odoo does not support Carta Porte type document type \"I\" (Ingreso), air, or marine transport. Consult your accountant first if this feature is needed before doing any modifications." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:767 -msgid "In the :guilabel:`Intermediaries` section, you need to add the operator of the vehicle. The only mandatory fields for this contact are the :guilabel:`VAT` and :guilabel:`Operator Licence`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:771 +msgid "Odoo manages two different types of CFDI:" msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:773 -msgid "Like with 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:" +msgid "**No Federal Highways**: Is used when the *Distance to Destination* is `less than 30 KM `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:776 -msgid "The :guilabel:`Product Type` must be set as :guilabel:`Storable Product` for stock movements to be created." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:775 +msgid "**Federal Transport**: Is used when the *Distance to Destination* exceeds 30 KM." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:778 -msgid "In the :guilabel:`Inventory` tab, the field :guilabel:`Weight` should have more than 0." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:777 +msgid "Other than the standard requirements of regular invoicing (The |RFC| of the customer, the UNSPSC code, etc.), if you are using *No Federal Highways*, no external configuration is needed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Delivery Guide Product Configurations." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:780 +msgid "For *Federal Transport*, several configurations have to be added to contacts, vehicle setups, and products. Those configurations are added to the XML and PDF files." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:784 -msgid "Sales and inventory flow" +msgid "Contacts and vehicles" msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:786 -msgid "To create a delivery guide, first, you need to create and confirm a sales order. This generates a :guilabel:`Delivery` smart button. Press it and :guilabel:`Validate` the transfer." +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:789 -msgid "After the status is set to :guilabel:`Done`, you can edit the transfer and select the :guilabel:`Transport Type` (either :guilabel:`No Federal Highways` or :guilabel:`Federal Transport`)." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:793 -msgid "If your delivery guide has the type :guilabel:`No Federal Highways`, you can save the transfer and then press :guilabel:`Generate Delivery Guide`. The resulting XML can be found in the chatter." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:797 -msgid "Other than the :guilabel:`UNSPSC` in all products, delivery guides that use :guilabel:`No Federal Highways` do not require any special configuration to be sent to the government." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:800 -msgid "If your delivery guide has the type :guilabel:`Federal Transport`, the tab :guilabel:`MX EDI` appears. In there, write a value in :guilabel:`Distance to Destination (KM)` bigger than `0`, and select the :guilabel:`Vehicle Setup` used for this delivery." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:791 +msgid "The field, :guilabel:`Locality`, is optional for both addresses." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Delivery Guide MX EDI tab configuration." +msgid "Delivery guide contact configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:808 -msgid "Dangerous hazards" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:798 +msgid "The origin address used for the delivery guide is set in :menuselection:`Inventory --> Configuration --> Warehouses Management --> Warehouses`. While this is set as the company address by default, you can change it according to your correct warehouse address." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:810 -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`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:802 +msgid "Another addition to this feature is the :guilabel:`Vehicle Setups` menu found in :menuselection:`Inventory --> Settings --> Mexico`. This menu lets you add all the information related to the vehicle used for the delivery order." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:815 -msgid "In the product, the fields :guilabel:`Hazardous Material Designation Code (MX)` and :guilabel:`Hazardous Packaging (MX)` must be filled with the correct code from the |SAT| catalog." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:806 +msgid "All fields are mandatory to create a correct delivery guide." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:818 -msgid "In the vehicle setup, the data from the :guilabel:`Environment Insurer` and :guilabel:`Environment Insurance Policy` has to be filed too." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:809 +msgid "The fields, :guilabel:`Vehicle Plate Number` and :guilabel:`Number Plate`, must contain between 5 to 7 characters." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:812 +msgid "In the :guilabel:`Intermediaries` section, you must add the operator of the vehicle. The only mandatory fields for this contact are the :guilabel:`VAT` and :guilabel:`Operator Licence`." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Delivery Guide environment required fields." +msgid "Delivery guide vehicle configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:824 -msgid "After this, continue with the regular process to create a delivery guide." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:822 +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:825 +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:827 -msgid "Customs numbers" +msgid "In the :guilabel:`Inventory` tab, the field :guilabel:`Weight` should have more than `0`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:829 -msgid "A *customs declaration* (Pedimento Aduanero) is a fiscal document that certifies that all contributions to the fiscal entity (the |SAT|) has been paid, for the import/export of goods." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:830 +msgid "Creating a delivery guide of a product with the value `0` will trigger an error. As the :guilabel:`Weight` has been already stored in the delivery order, it is needed to return the products, and create the delivery order (and delivery guide) again with the correct amounts." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:832 -msgid "According to the `Annex 20 `_ of CFDI 4.0, in documents where the invoiced goods come from a first-hand import operation, the field :guilabel:`Customs Number` needs to be added to all lines of products involved with the operation." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Delivery guide product configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:836 -msgid "For this, the module :guilabel:`l10n_mx_edi_landing` has to be installed, in addition to the :doc:`Inventory `, :doc:`Purchase ` and :doc:`Sales ` apps configured." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:839 +msgid "Sales and inventory flow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:842 -msgid "Do not confuse this feature with external trade. The customs numbers are directly related to importing goods, while the external trade complement is related to exporting. Consult your accountant first if this feature is needed before doing any modifications." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:841 +msgid "To create a delivery guide, first, you need to create and confirm a sales order from :menuselection:`Sales --> Sales Order`. This generates a :guilabel:`Delivery` smart button. Click it, and :guilabel:`Validate` the transfer." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:845 +msgid "After the status is set to :guilabel:`Done`, you can edit the transfer, and select the :guilabel:`Transport Type` (either :guilabel:`No Federal Highways` or :guilabel:`Federal Transport`)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:849 -msgid "In order to track the correct customs number for a specific invoice, Odoo uses :doc:`landed costs `. Go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation`. Make sure that :guilabel:`Landed Costs` is activated." +msgid "If your delivery guide has the type :guilabel:`No Federal Highways`, you can 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:854 -msgid "First, a *service*-type product called `Pedimento` has to be created. In the :guilabel:`Purchase` tab, check :guilabel:`Is a Landed Cost` and select a :guilabel:`Default Split Method`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:853 +msgid "Other than the :guilabel:`UNSPSC` in all products, delivery guides that use :guilabel:`No Federal Highways` do not require any special configuration to be sent to the government." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:857 -msgid "After this, we need to configure the *storable products* that holds the customs numbers. We need to make sure that the product category has the following configuration:" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:856 +msgid "If your delivery guide has the type, :guilabel:`Federal Transport`, the tab :guilabel:`MX EDI` appears. There, enter a value in :guilabel:`Distance to Destination (KM)` bigger than `0`, and select the :guilabel:`Vehicle Setup` used for this delivery." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:860 -msgid ":guilabel:`Costing Method`: Either :guilabel:`FIFO` or :guilabel:`AVCO`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:861 -msgid ":guilabel:`Inventory Valuation`: :guilabel:`Automated`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:862 -msgid ":guilabel:`Stock Valuation Account`: :guilabel:`115.01.01 Inventario`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:863 -msgid ":guilabel:`Stock Journal`: :guilabel:`Inventory Valuation`" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:864 -msgid ":guilabel:`Stock Input Account`: :guilabel:`115.05.01 Mercancías en tránsito`" +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Delivery guide MX EDI tab configuration." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:865 +msgid "Dangerous hazards" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:867 +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:872 +msgid "First, select your product from :menuselection:`Inventory --> Products --> Products`. Then, in the :guilabel:`Accounting` tab, the fields :guilabel:`Hazardous Material Designation Code (MX)` and :guilabel:`Hazardous Packaging (MX)` must be filled with the correct code from the |SAT| catalog." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Delivery guide hazardous material product required fields." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:880 +msgid "In :menuselection:`Inventory --> Settings --> Mexico --> Vehicle Setup`, the data from the :guilabel:`Environment Insurer` and :guilabel:`Environment Insurance Policy` has to be filed, as well. After this, continue with the regular process to create a delivery guide." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Delivery Guide environment insurer required fields." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:889 +msgid "Customs numbers" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:891 +msgid "A *customs declaration* (Pedimento Aduanero) is a fiscal document that certifies that all contributions to the fiscal entity (the |SAT|) has been paid for, including the import/export of goods." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:895 +msgid "According to the `Annex 20 `_ of CFDI 4.0, in documents where the invoiced goods come from a first-hand import operation, the field, :guilabel:`Customs Number`, needs to be added to all lines of products involved with the operation." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:899 +msgid "To do so, the module :guilabel:`l10n_mx_edi_landing` must be installed, in addition to the :doc:`Inventory <../../inventory_and_mrp/inventory>`, :doc:`Purchase <../../inventory_and_mrp/purchase>` and :doc:`Sales <../../sales/sales>` apps." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:904 +msgid "Do not confuse this feature with external trade. The customs numbers are directly related to importing goods, while the external trade complement is related to exporting. Consult your accountant first if this feature is needed before doing any modifications." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:911 +msgid "In order to track the correct customs number for a specific invoice, Odoo uses :doc:`landed costs <../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs>`. Go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation`. Make sure that :guilabel:`Landed Costs` is activated." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:916 +msgid "Begin by creating a *service*-type product called, `Pedimento`. In the :guilabel:`Purchase` tab, activate :guilabel:`Is a Landed Cost`, and select a :guilabel:`Default Split Method`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:919 +msgid "Then, configure the *storable products* that hold the customs numbers. To do so, create the storable products, and make sure the :guilabel:`Product Category` has the following configuration." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:922 +msgid ":guilabel:`Costing Method`: Either :guilabel:`FIFO` or :guilabel:`AVCO`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:923 +msgid ":guilabel:`Inventory Valuation`: :guilabel:`Automated`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:924 +msgid ":guilabel:`Stock Valuation Account`: :guilabel:`115.01.01 Inventario`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:925 +msgid ":guilabel:`Stock Journal`: :guilabel:`Inventory Valuation`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:926 +msgid ":guilabel:`Stock Input Account`: :guilabel:`115.05.01 Mercancías en tránsito`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:927 msgid ":guilabel:`Stock Output Account`: :guilabel:`115.05.01 Mercancías en tránsito`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Storable products configurations." +msgid "Storable products general configuration." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:871 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Storable product category configuration." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:938 msgid "Purchase and sales flow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:873 -msgid "Create a :guilabel:`Purchase Order`, and confirm the order. This should trigger a :guilabel:`Receipt` smart button. Validate the receipt too." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:940 +msgid "After you configure your product, follow the standard :doc:`purchase flow <../../inventory_and_mrp/purchase>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Customs Number Purchase." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:943 +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 to :guilabel:`Validate` the receipt." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:879 -msgid "Go to :menuselection:`Inventory --> Operations --> Landed Costs` and create a new record. Add the transfer that you just created, and both the product `Pedimento` and :guilabel:`Customs number`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:947 +msgid "Go to :menuselection:`Inventory --> Operations --> Landed Costs`, and create a new record. Add the transfer that you just created, and both: the product `Pedimento` and :guilabel:`Customs number`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:882 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:950 msgid "Optionally, you can add a cost amount. After this, validate the landed cost. Once :guilabel:`Posted`, all products related to that receipt have the customs number assigned." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:886 -msgid "You can only add the Pedimentos number once, so be careful when associating the correct number with the transfer(s)." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:954 +msgid "You can only add the *Pedimentos* number **once**, so be careful when associating the correct number with the transfer(s)." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Customs number Inventory." +msgid "Customs number on a landed costs Inventory record." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:892 -msgid "Now, create a sales order and confirm it. This should trigger a :guilabel:`Delivery` smart button. Validate it." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:961 +msgid "Now, create a sales order, and confirm it. This should trigger a :guilabel:`Delivery` smart button. Validate it." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:895 -msgid "Finally, create an invoice from the sales order and confirm it. The invoice line related to your product has a customs number in it." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:964 +msgid "Finally, create an invoice from the sales order, and confirm it. The invoice line related to your product has a customs number in it. This number should match the customs number added in the *Landed Costs* record you created earlier." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 msgid "Customs number on confirmed sales order product." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:902 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:973 msgid "Electronic accounting" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:904 -msgid "For Mexico, `Electronic Accounting `_ refers to the obligation to keep accounting records and entries through electronic means and to enter accounting information on a monthly basis through the SAT's website." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:975 +msgid "For Mexico, `Electronic Accounting `_ refers to the obligation to keep accounting records and entries through electronic means, and to enter accounting information on a monthly basis, through the |SAT| website." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:909 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:980 msgid "It consists of three main XML files:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:911 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:982 msgid "The updated list of the chart of accounts that you are currently using." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:912 -msgid "A monthly trial balance, plus a closing entry report also known as *Trial Balance Month 13*." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:983 +msgid "A monthly trial balance, plus a closing entry report, also known as: *Trial Balance Month 13*." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:913 -msgid "Either optional or for a compulsory audit, an export of the journal entries in your general ledger." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:984 +msgid "Either optional, or for a compulsory audit, an export of the journal entries in your general ledger." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:916 +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:987 msgid "The resulting XML files follow the requirements of the `Anexo Técnico de Contabilidad Electrónica 1.3 `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:919 -msgid "In addition to this, you can generate the `DIOT `_: A report of vendor's journal entries that involves IVA taxes that can be exported in :file:`.txt` file." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:924 -msgid "In order to use these reports, the modules :guilabel:`l10n_mx_reports`, :guilabel:`l10n_mx_reports_closing`, :guilabel:`l10n_mx_xml_polizas` and :guilabel:`l10n_mx_xml_polizas_edi` have to be installed, as well as the :doc:`Accounting `." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:929 -msgid "You can find all of those reports in :menuselection:`Accounting --> Reporting --> Mexico`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:932 -msgid "The specific characteristics and obligations of the reports that you send might change according to your fiscal regime. Always contact your accountant before sending any documents to the government." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:937 -msgid "Catálogo de cuentas (chart of accounts)" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:939 -msgid "The :doc:`chart of accounts ` in México follows a specific pattern based in SAT's `Código agrupador de cuentas `_." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:943 -msgid "You can create any account as long as it respects |SAT|'s encoding group, This pattern is `NNN.YY.ZZ` or `NNN.YY.ZZZ`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:947 -msgid "Some examples are `102.01.99` or `401.01.001`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:949 -msgid "When you create a new account in :menuselection:`Accounting --> Configuration --> Chart of Accounts`, if you follow this pattern, you get the correct grouping code in :guilabel:`Tags`, and your account appears in the COA report." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:953 -msgid "Once you created all your accounts, and made sure that you put the correct :guilabel:`Tags` in them." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:956 -msgid "You cannot use any pattern that ends a section with a 0 (such as `100.01.01`, `301.00.003` or `604.77.00`). This triggers errors in the report." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:959 -msgid "Once all is set up, you can go to :menuselection:`Accounting --> Reporting --> Mexico --> COA` and press the button :guilabel:`SAT (XML)`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:963 -msgid "Balanza de comprobación (trial balance)" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:965 -msgid "The trial balance reports the initial balance, credit, and total balance of your accounts, provided that you added their correct encoding group." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:968 -msgid "This report can be generated monthly, and an XML file version is created if you go to :menuselection:`Accounting --> Reporting --> Mexico --> Trial Balance` and press the button :guilabel:`SAT (XML)`. Select the month you want to download beforehand." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Trial Balance Report." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:976 -msgid "Odoo does not generate the *Balanza de Comprobación Complementaria*." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:978 -msgid "An additional report is the *Month 13*: a closing balance sheet that shows any adjustments or movements made in the accounting to close the year." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:981 -msgid "In order to be able to generate this XML document, you have to go to :menuselection:`Accounting --> Accounting --> Miscellaneous --> Journal Entries` and create a new document. Here, you can add all amounts that you want to modify, and you can balance the debit and/or credit of each one." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:985 -msgid "After this is done, press :guilabel:`Mark as Closing Entry`, and the report found in :menuselection:`Accounting --> Reporting --> Mexico --> Trial Balance Month 13` contains the total amount of the year, plus all the additions of the journal entry." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:989 -msgid "You can generate the XML file by pressing the button :guilabel:`SAT (XML)`." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Trial Balance Month 13 Setup." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:990 +msgid "In addition to this, you can generate the `DIOT `_: A report of vendor's journal entries that involve IVA taxes that can be exported in a :file:`.txt` file." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:995 -msgid "Pólizas (general ledger)" +msgid "In order to use these reports, the modules :guilabel:`l10n_mx_reports`, :guilabel:`l10n_mx_reports_closing`, :guilabel:`l10n_mx_xml_polizas` and :guilabel:`l10n_mx_xml_polizas_edi` have to be installed, as well as the :doc:`Accounting <../accounting/get_started>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:997 -msgid "By law, all transactions in Mexico must be recorded digitally. Because Odoo automatically creates all the underlying journal entries of your invoicing and payments, you can export your journal entries to comply with SAT's audits or tax refunds." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1000 +msgid "You can find the *Chart of accounts*, *Trial Balance Month 13*, and *DIOT* reports in :menuselection:`Accounting --> Reporting --> Mexico`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1001 -msgid "This XML file is created in :menuselection:`Accounting --> Reporting --> Audit Reports --> General Ledger`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1004 +msgid "The specific characteristics and obligations of the reports that you send might change according to your fiscal regime. Always contact your accountant before sending any documents to the government." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1005 -msgid "You can filter by period or by journal, according to your current needs." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1013 +msgid "The :doc:`chart of accounts <../accounting/get_started/chart_of_accounts>` in México follows a specific pattern based on |SAT|'s' `Código agrupador de cuentas `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1007 -msgid "After you press :guilabel:`XML (Polizas)`, a wizard appears. In here, you can select between four types of :guilabel:`Export type`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1017 +msgid "You can create any account, as long as it respects |SAT|'s encoding group: the pattern is `NNN.YY.ZZ` or `NNN.YY.ZZZ`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1010 -msgid "For :guilabel:`Tax audit` or :guilabel:`Audit certification`, you need to write the :guilabel:`Order Number` provided by the |SAT| for :guilabel:`Return of goods` or :guilabel:`Compensation`, you need to write your :guilabel:`Process Number`, also provided by the |SAT|." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1021 +msgid "Some examples are `102.01.99` or `401.01.001`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "Types of Polizas." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1023 +msgid "When a new account is created in :menuselection:`Accounting --> Configuration --> Chart of Accounts`, with the |SAT| encoding group pattern, the correct grouping code appears in :guilabel:`Tags`, and your account appears in the *COA* report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1018 -msgid "If you want to see this report without sending it, use `ABC6987654/99` for :guilabel:`Order Number` and `AB123451234512` for :guilabel:`Process Number`." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1027 +msgid "Once you create all your accounts, make sure the correct :guilabel:`Tags` are added." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1022 -msgid "DIOT report" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1024 -msgid "The DIOT (Declaración Informativa de Operaciones con Terceros / *Informative Declaration of Operations with Third Parties*) is an additional obligation with the |SAT|, where we give the current status of our creditable and non-creditable payments, withholdings and refunds of VAT from your vendor bills." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1029 -msgid "Unlike other reports, this is uploaded to a software provided by the |SAT| that contains the A-29 form. In Odoo, you can download the records of your transactions in a :file:`.txt` file that you can upload to the form, avoiding direct capture of this data." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1030 +msgid "You cannot use any pattern that ends a section with a 0 (such as `100.01.01`, `301.00.003` or `604.77.00`). This triggers errors in the report." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:1033 -msgid "This file contains the total amount of your payments registered in vendor bills, broken down into the corresponding types of IVA. The :guilabel:`VAT` and :guilabel:`Country` is mandatory for all vendors." +msgid "Once everything is set up, you can go to :menuselection:`Accounting --> Reporting --> Mexico --> COA`, and click the :guilabel:`SAT (XML)` button to generate an XML file containing all of your accounts, which will be ready to upload to the |SAT| website." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1037 -msgid "To get the report, go to :menuselection:`Accounting --> Reports --> Mexico --> Transactions with third parties [DIOT]`. Select the month that suits you, and press :guilabel:`DIOT (TXT)` to download the :file:`.txt` file." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1040 +msgid "The trial balance reports the initial balance, credit, and total balance of your accounts, provided that you added their correct :ref:`encoding group `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1043 +msgid "This report can be generated monthly, and a corresponding XML file is created, if you go to :menuselection:`Accounting --> Reporting --> Mexico --> Trial Balance`, and click the :guilabel:`SAT (XML)` button. Select the month you want to download beforehand." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "DIOT Example." +msgid "Trial balance report." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1045 -msgid "You need to fill the field :guilabel:`L10N Mx Type of Operation` in the :guilabel:`Accounting` tab of each one of your vendors to prevent validation errors. Make sure that your foreign customers have their country set up for :guilabel:`L10N Mx Nationality` to appear automatically." +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1052 +msgid "Odoo does not generate the *Balanza de Comprobación Complementaria*." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1054 +msgid "An additional report is the *Month 13*: a closing balance sheet that shows any adjustments or movements made in the accounting to close the year." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1057 +msgid "To generate this XML document, navigate to :menuselection:`Accounting --> Accounting --> Miscellaneous --> Journal Entries`, and create a new document. Here, add all amounts to modify, and balance the debit and/or credit of each one." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1061 +msgid "After this is done, click :guilabel:`Mark as Closing Entry`, and the report found in :menuselection:`Accounting --> Reporting --> Mexico --> Trial Balance Month 13`, contains the total amount of the year, plus all the additions of the journal entry." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1065 +msgid "The XML file is generated by pressing the :guilabel:`SAT (XML)` button." msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 -msgid "DIOT Example contact." +msgid "Trial Balance Month 13 setup." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "Trial Balance Month 13 report." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1078 +msgid "By law, all transactions in Mexico must be recorded digitally. Since Odoo automatically creates all the underlying journal entries of your invoicing and payments, you can export your journal entries to comply with |SAT|'s audits and/or tax refunds." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1083 +msgid "You can filter by period, or by journal, according to your current needs." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1085 +msgid "To create the XML, go to :menuselection:`Accounting --> Reporting --> Audit Reports --> General Ledger`, and click :guilabel:`XML (Polizas)`. Here, you can select between four types of :guilabel:`Export` types:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1089 +msgid ":guilabel:`Tax audit`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1090 +msgid ":guilabel:`Audit certification`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1091 +msgid ":guilabel:`Return of goods`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1092 +msgid ":guilabel:`Compensation`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1094 +msgid "For :guilabel:`Tax audit`, or :guilabel:`Audit certification`, you need to write the :guilabel:`Order Number` provided by the |SAT|. For :guilabel:`Return of goods`, or :guilabel:`Compensation`, you need to write your :guilabel:`Process Number`, also provided by the |SAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1100 +msgid "If you want to see this report without sending it, use `ABC6987654/99` for :guilabel:`Order Number` and `AB123451234512` for :guilabel:`Process Number`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1104 +msgid "DIOT report" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1106 +msgid "The DIOT (Declaración Informativa de Operaciones con Terceros / *Informative Declaration of Operations with Third Parties*) is an additional obligation with the |SAT|, where the current status of creditable and non-creditable payments, withholdings, and refunds of VAT from your vendor bills, are provided to the |SAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1111 +msgid "Unlike other reports, the |DIOT| is uploaded to a software provided by the |SAT| that contains the A-29 form. In Odoo, you can download the records of your transactions as a :file:`.txt` file that can be uploaded to the form, avoiding direct capture of this data." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1115 +msgid "The transactions file contains the total amount of your payments registered in vendor bills, broken down into the corresponding types of IVA. The :guilabel:`VAT` and :guilabel:`Country` is mandatory for all vendors." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1119 +msgid "To get the |DIOT| report, go to :menuselection:`Accounting --> Reports --> Mexico --> Transactions with third parties [DIOT]`. Select the month that suits you, and click :guilabel:`DIOT (TXT)` to download the :file:`.txt` file." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "A Vendor Bill that is In Payment." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:-1 +msgid "DIOT (TXT) download button." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:1132 +msgid "You need to fill the field, :guilabel:`L10N Mx Type of Operation`, in the :guilabel:`Accounting` tab of each one of your vendors to prevent validation errors. Make sure that your foreign customers have their country set up for :guilabel:`L10N Mx Nationality` to appear automatically." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/mexico.rst:0 +msgid "DIOT information on a vendor contact." msgstr "" #: ../../content/applications/finance/fiscal_localizations/netherlands.rst:3 @@ -22403,10 +22814,6 @@ msgstr "" msgid "The EDI workflow for the Credit notes works in the same way as the invoices." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:585 -msgid "Debit Notes" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/peru.rst:587 msgid "As part of the Peruvian localization, besides creating credit notes from an existing document you can also create debit Notes. For this just use the button “Add Debit Note”." msgstr "" diff --git a/locale/sources/general.pot b/locale/sources/general.pot index 30eddc487..fdf25861a 100644 --- a/locale/sources/general.pot +++ b/locale/sources/general.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -3330,30 +3330,6 @@ msgstr "" msgid ":doc:`../../finance/accounting/get_started/multi_currency`" msgstr "" -#: ../../content/applications/general/users/delete_account.rst:3 -msgid "Deleting an Odoo.com Account" -msgstr "" - -#: ../../content/applications/general/users/delete_account.rst:5 -msgid "To delete your Odoo.com account, access the delete option by clicking on the user icon. The delete option can be accessed by going to :menuselection:`My Account --> Edit Security Settings --> Delete Account`. It can also be accessed by going to https://www.odoo.com/my/home." -msgstr "" - -#: ../../content/applications/general/users/delete_account.rst:10 -msgid "Deleting an Odoo account is irreversible. Take caution when performing this action as the Odoo.com account will not be retrievable." -msgstr "" - -#: ../../content/applications/general/users/delete_account.rst:13 -msgid "Upon clicking the :guilabel:`Delete Account` button, a pop-up window will appear, asking you to confirm the account deletion." -msgstr "" - -#: ../../content/applications/general/users/delete_account.rst:-1 -msgid "Clicking on the Delete Account button will populate a window verifying the change." -msgstr "" - -#: ../../content/applications/general/users/delete_account.rst:20 -msgid "Confirm the deletion by entering the :guilabel:`password` and the :guilabel:`login` for the account being deleted. Click the :guilabel:`Delete Account` button to confirm the deletion." -msgstr "" - #: ../../content/applications/general/users/language.rst:3 msgid "Change language" msgstr "" @@ -3574,91 +3550,184 @@ msgstr "" msgid ":doc:`companies`" msgstr "" +#: ../../content/applications/general/users/odoo_account.rst:3 +msgid "Odoo.com account changes" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:5 +msgid "This documentation is dedicated to edits made to an Odoo.com account. The following processes describe how to delete an Odoo.com account, and how to change the password on an Odoo.com account." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:9 +msgid "Delete Odoo.com account" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:11 +msgid "To delete an Odoo.com account, start by clicking the profile icon in the upper-right corner (represented by the username and icon) to reveal a drop-down menu. From the drop-down menu, select :guilabel:`My Odoo.com account`, which reveals the user portal." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:15 +msgid "From the user portal, the delete option can be accessed by going to :menuselection:`My Account --> Edit Security Settings --> Delete Account`. It can also be accessed by going to `https://www.odoo.com/my/home `_." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:20 +msgid "Deleting an Odoo account is irreversible. Be careful performing this action, as the Odoo.com account is **not** retrievable once deleted." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:23 +msgid "Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting confirmation for the account deletion." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:-1 +msgid "Clicking on the Delete Account button will populate a window verifying the change." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:30 +msgid "To confirm the deletion, enter the :guilabel:`Password` and the :guilabel:`Login` for the account being deleted. Then, click the :guilabel:`Delete Account` button to confirm the deletion." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:34 +msgid "Odoo.com account password change" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:36 +msgid "To change an Odoo.com account password, first login into the Odoo.com user account from the Odoo.com login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down arrow)` icon next to the profile icon. Then, select :guilabel:`My Account`, and a portal dashboard appears." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:41 +msgid "To change the Odoo.com password, click on the :guilabel:`Edit Security Settings` link, below the :menuselection:`Account Security` section. Next, make the necessary changes by typing in the current :guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on :guilabel:`Change Password` to complete the password change." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:47 +msgid "If a customer would like to change the login, contact Odoo support `here `_." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:51 +msgid "Passwords for Odoo.com users and portal users remain separate, even if the same email address is used." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:55 +#: ../../content/applications/general/users/portal.rst:143 +msgid "Add two-factor authentication" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:57 +msgid "To add two-factor authentication, login into the Odoo.com user account from the Odoo.com login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down arrow)` icon next to the :guilabel:`profile icon`. Then, select :guilabel:`My Account`, and a portal dashboard appears." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:62 +msgid "If the user would like to turn on two-factor authentication (2FA) for Odoo.com access, click on the :guilabel:`Edit Security Settings` link below the :menuselection:`Account Security` section." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:65 +msgid "Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor authentication)`. Then, confirm the current password in the :guilabel:`Password` field. Next, click on :guilabel:`Confirm Password`. Following that, activate :abbr:`2FA (two-factor authentication)` in a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the :guilabel:`QR code` or entering a :guilabel:`Verification Code`." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:71 +msgid "Finally, click on :guilabel:`Enable two-factor authentication` to complete the setup." +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:74 +msgid "Under :guilabel:`My Account` Odoo.com users can also access the following:" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:76 +msgid ":guilabel:`My Partner dashboard`" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:77 +msgid ":guilabel:`My In-App Services`" +msgstr "" + +#: ../../content/applications/general/users/odoo_account.rst:78 +msgid ":guilabel:`My Apps Dashboard`" +msgstr "" + #: ../../content/applications/general/users/portal.rst:3 msgid "Portal access" msgstr "" -#: ../../content/applications/general/users/portal.rst:5 +#: ../../content/applications/general/users/portal.rst:7 msgid "Portal access is given to users who need the ability to view certain documents or information within an Odoo database." msgstr "" -#: ../../content/applications/general/users/portal.rst:8 +#: ../../content/applications/general/users/portal.rst:10 msgid "Some common use cases for providing portal access include allowing customers to read/view any or all of the following in Odoo:" msgstr "" -#: ../../content/applications/general/users/portal.rst:11 +#: ../../content/applications/general/users/portal.rst:13 msgid "leads/opportunities" msgstr "" -#: ../../content/applications/general/users/portal.rst:12 +#: ../../content/applications/general/users/portal.rst:14 msgid "quotations/sales orders" msgstr "" -#: ../../content/applications/general/users/portal.rst:13 +#: ../../content/applications/general/users/portal.rst:15 msgid "purchase orders" msgstr "" -#: ../../content/applications/general/users/portal.rst:14 +#: ../../content/applications/general/users/portal.rst:16 msgid "invoices & bills" msgstr "" -#: ../../content/applications/general/users/portal.rst:15 +#: ../../content/applications/general/users/portal.rst:17 msgid "projects" msgstr "" -#: ../../content/applications/general/users/portal.rst:16 +#: ../../content/applications/general/users/portal.rst:18 msgid "tasks" msgstr "" -#: ../../content/applications/general/users/portal.rst:17 +#: ../../content/applications/general/users/portal.rst:19 msgid "timesheets" msgstr "" -#: ../../content/applications/general/users/portal.rst:18 +#: ../../content/applications/general/users/portal.rst:20 msgid "tickets" msgstr "" -#: ../../content/applications/general/users/portal.rst:19 +#: ../../content/applications/general/users/portal.rst:21 msgid "signatures" msgstr "" -#: ../../content/applications/general/users/portal.rst:20 +#: ../../content/applications/general/users/portal.rst:22 msgid "subscriptions" msgstr "" -#: ../../content/applications/general/users/portal.rst:23 +#: ../../content/applications/general/users/portal.rst:25 msgid "Portal users only have read/view access, and will not be able to edit any documents in the database." msgstr "" -#: ../../content/applications/general/users/portal.rst:27 +#: ../../content/applications/general/users/portal.rst:29 msgid "Provide portal access to customers" msgstr "" -#: ../../content/applications/general/users/portal.rst:29 +#: ../../content/applications/general/users/portal.rst:31 msgid "From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not yet created in the database, click on the :guilabel:`Create` button, enter the details of the contact, and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on the :guilabel:`Action` drop-down menu located at the top-center of the interface." msgstr "" #: ../../content/applications/general/users/portal.rst:-1 -msgid "Use the Contacts application to give portal access to users" -msgstr "" - -#: ../../content/applications/general/users/portal.rst:38 -msgid "Then select :guilabel:`Grant portal access`. A pop-up window appears, listing three fields:" +msgid "Use the Contacts application to give portal access to users." msgstr "" #: ../../content/applications/general/users/portal.rst:40 -msgid ":guilabel:`Contact`: the recorded name of the contact in the Odoo database" -msgstr "" - -#: ../../content/applications/general/users/portal.rst:41 -msgid ":guilabel:`Email`: the contact's email address that they will use to log into the portal" +msgid "Then select :guilabel:`Grant portal access`. A pop-up window appears, listing three fields:" msgstr "" #: ../../content/applications/general/users/portal.rst:42 -msgid ":guilabel:`In Portal`: whether or not the user has portal access" +msgid ":guilabel:`Contact`: the recorded name of the contact in the Odoo database" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:43 +msgid ":guilabel:`Email`: the contact's email address that they will use to log into the portal" msgstr "" #: ../../content/applications/general/users/portal.rst:44 +msgid ":guilabel:`In Portal`: whether or not the user has portal access" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:46 msgid "To grant portal access, first enter the contact's :guilabel:`Email` they will use to log into the portal. Then, check the box under the :guilabel:`In Portal` column. Optionally, add text to the invitation message the contact will receive. Then click :guilabel:`Apply` to finish." msgstr "" @@ -3667,18 +3736,112 @@ msgid "An email address and corresponding checkbox for the contact need to be fi "sending a portal invitation." msgstr "" -#: ../../content/applications/general/users/portal.rst:53 +#: ../../content/applications/general/users/portal.rst:55 msgid "An email will be sent to the specified email address, indicating that the contact is now a portal user for that Odoo database." msgstr "" -#: ../../content/applications/general/users/portal.rst:57 +#: ../../content/applications/general/users/portal.rst:59 msgid "To grant portal access to multiple users at once, navigate to a company contact, then click :menuselection:`Action --> Grant portal access` to view a list of all of the company's related contacts. Check the box under the :guilabel:`In Portal` column for all the contacts that need portal access, then click :guilabel:`Apply`." msgstr "" -#: ../../content/applications/general/users/portal.rst:63 +#: ../../content/applications/general/users/portal.rst:65 msgid "At any time, portal access can be revoked by navigating to the contact, clicking :menuselection:`Action --> Grant portal access`, and then unselecting the checkbox under the :guilabel:`In Portal` column and clicking :guilabel:`Apply`." msgstr "" +#: ../../content/applications/general/users/portal.rst:72 +msgid "Change portal username" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:74 +msgid "There may be times when a portal user wants to change their user login. This can be done by any user in the database with administrator access rights. The following process outlines the necessary steps to change the portal user login." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:79 +msgid ":doc:`See the documentation on setting access rights `." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:82 +msgid "First, navigate to :menuselection:`Settings app --> Users`. Then, under :guilabel:`Filters`, select :guilabel:`Portal Users`, or select :guilabel:`Add Custom Filter` and set the following configuration :guilabel:`Groups` > :guilabel:`contains` > `portal`. After making this selection, search for (and open) the portal user that needs to be edited." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:87 +msgid "Next, click :guilabel:`Edit` (if necessary), click into the :guilabel:`Email Address` field, and proceed to make any necessary changes to this field. The :guilabel:`Email Address` field is used to log into the Odoo portal." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:92 +msgid "Changing the :guilabel:`Email Address` (or login) only changes the *username* on the customer's portal login." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:95 +msgid "In order to change the contact email, this change needs to take place on the contact template in the *Contacts* app. Alternatively, the customer can change their email directly from the portal, but the login **cannot** be changed. :ref:`See change customer info `." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:100 +msgid "Customer portal changes" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:102 +msgid "There may be times when the customer would like to make changes to their contact information, password/security, or payment information attached to the portal account. This can be performed by the customer from their portal. The following process is how a customer can change their contact information." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:110 +msgid "Change customer info" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:112 +msgid "First enter the username and password (login) into the database login page to access the portal user account. A portal dashboard will appear upon successfully logging in. Portal documents from the various installed Odoo applications will appear with the number count of each." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:117 +msgid ":ref:`Portal access documentation `." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:119 +msgid "Next, navigate to the upper-right corner of the portal, and click the :guilabel:`Edit` button, next to the :guilabel:`Details` section. Then, change the pertinent information, and click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:124 +msgid "Change password" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:126 +#: ../../content/applications/general/users/portal.rst:145 +#: ../../content/applications/general/users/portal.rst:162 +msgid "First enter the username and password (login) into the database login page to access the portal user account. A portal dashboard will appear upon successfully logging in." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:129 +msgid "If the customer would like to change their password for portal access, click on the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section. Then, make the necessary changes, by typing in the current :guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on :guilabel:`Change Password` to complete the password change." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:135 +msgid "If a customer would like to change the login, as documented above, contact the Odoo database point-of-contact. :ref:`See above documentation on changing the portal username `." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:139 +msgid "Passwords for portal users and Odoo.com users remain separate, even if the same email address is used." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:148 +msgid "If the customer would like to turn on two-factor authentication (2FA) for portal access, click on the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:151 +msgid "Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor authentication)`. Confirm the current portal password in the :guilabel:`Password` field. Then, click on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentication)` in a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the :guilabel:`QR code` or entering a :guilabel:`Verification Code`." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:157 +msgid "Finally, click :guilabel:`Enable two-factor authentication` to complete the setup." +msgstr "" + +#: ../../content/applications/general/users/portal.rst:160 +msgid "Change payment info" +msgstr "" + +#: ../../content/applications/general/users/portal.rst:165 +msgid "If the customer would like to manage payment options, navigate to the :guilabel:`Manage payment methods` in the menu on the right. Then, add the new payment information, and select :guilabel:`Add new card`." +msgstr "" + #: ../../content/applications/general/voip.rst:5 msgid "VoIP (Voice over Internet Protocol)" msgstr "" diff --git a/locale/sources/hr.pot b/locale/sources/hr.pot index 4f3fdba27..2f17d612f 100644 --- a/locale/sources/hr.pot +++ b/locale/sources/hr.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -131,6 +131,7 @@ msgstr "" #: ../../content/applications/hr/employees/new_employee.rst:22 #: ../../content/applications/hr/payroll/contracts.rst:39 +#: ../../content/applications/hr/payroll/payslips.rst:51 msgid "Required fields" msgstr "" @@ -144,6 +145,7 @@ msgstr "" #: ../../content/applications/hr/employees/new_employee.rst:33 #: ../../content/applications/hr/payroll/contracts.rst:66 +#: ../../content/applications/hr/payroll/payslips.rst:91 msgid "Optional fields" msgstr "" @@ -471,27 +473,28 @@ msgstr "" msgid "All uploaded documents associated with the employee appear in the documents smart-button." msgstr "" -#: ../../content/applications/hr/payroll.rst:5 +#: ../../content/applications/hr/payroll.rst:6 +#: ../../content/applications/hr/payroll/reporting.rst:39 msgid "Payroll" msgstr "" -#: ../../content/applications/hr/payroll.rst:7 +#: ../../content/applications/hr/payroll.rst:8 msgid "Odoo *Payroll* is used to process work entries and create payslips for employees, including both regular pay and commission. Payroll works in conjunction with other Odoo apps, such as *Employees*, *Timesheets*, *Time Off*, and *Attendances*." msgstr "" -#: ../../content/applications/hr/payroll.rst:11 +#: ../../content/applications/hr/payroll.rst:12 msgid "The *Payroll* app helps ensure there are no issues or conflicts when validating work entries, handles country-specific localizations to ensure that payslips follow local rules and taxes, and allows for salary assignments. Payroll configuration is critical to ensure accurate and timely processing of payslips." msgstr "" -#: ../../content/applications/hr/payroll.rst:17 +#: ../../content/applications/hr/payroll.rst:18 msgid "Settings" msgstr "" -#: ../../content/applications/hr/payroll.rst:19 +#: ../../content/applications/hr/payroll.rst:20 msgid "To access the *Settings*, go to :menuselection:`Payroll --> Configuration --> Settings`. Whether or not payslips are posted in accounting, and whether SEPA payments are created, is selected here." msgstr "" -#: ../../content/applications/hr/payroll.rst:22 +#: ../../content/applications/hr/payroll.rst:23 msgid "The :guilabel:`Settings` screen is where localization settings are configured. *Localizations* are country-specific settings pre-configured in Odoo at the creation of the database, and account for all taxes, fees, and allowances for that particular country. The :guilabel:`Localization` section of the :guilabel:`Settings` includes a detailed view of all benefits provided to employees." msgstr "" @@ -499,36 +502,36 @@ msgstr "" msgid "Settings available for Payroll." msgstr "" -#: ../../content/applications/hr/payroll.rst:31 +#: ../../content/applications/hr/payroll.rst:32 msgid "Any country-specific localizations are set up in the :guilabel:`Localization` section of the :guilabel:`Settings` screen. All localization items are pre-populated when the country is specified during the creation of the database. It is not recommended to alter the localization settings unless specifically required." msgstr "" -#: ../../content/applications/hr/payroll.rst:39 +#: ../../content/applications/hr/payroll.rst:40 #: ../../content/applications/hr/payroll/work_entries.rst:3 msgid "Work entries" msgstr "" -#: ../../content/applications/hr/payroll.rst:41 +#: ../../content/applications/hr/payroll.rst:42 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:46 +#: ../../content/applications/hr/payroll.rst:47 msgid ":doc:`Manage work entries `" msgstr "" -#: ../../content/applications/hr/payroll.rst:49 +#: ../../content/applications/hr/payroll.rst:50 msgid "Work entry types" msgstr "" -#: ../../content/applications/hr/payroll.rst:51 +#: ../../content/applications/hr/payroll.rst:52 msgid "When creating a work entry in the *Payroll* application, or when an employee enters information in the *Timesheets* 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:56 +#: ../../content/applications/hr/payroll.rst:57 msgid "To view the current work entry types available, go to :menuselection:`Payroll --> Configuration --> Work Entry Types`." msgstr "" -#: ../../content/applications/hr/payroll.rst:59 +#: ../../content/applications/hr/payroll.rst:60 msgid "Each work entry type has a code to aid in the creation of payslips, and ensure all taxes and fees are correctly entered." msgstr "" @@ -536,27 +539,27 @@ msgstr "" msgid "List of all work entry types currently available." msgstr "" -#: ../../content/applications/hr/payroll.rst:67 +#: ../../content/applications/hr/payroll.rst:68 msgid "New work entry type" msgstr "" -#: ../../content/applications/hr/payroll.rst:69 +#: ../../content/applications/hr/payroll.rst:70 msgid "To create a new work entry type, click the :guilabel:`Create` button. Enter the information on the form:" msgstr "" -#: ../../content/applications/hr/payroll.rst:72 +#: ../../content/applications/hr/payroll.rst:73 msgid ":guilabel:`Work Entry Type Name`: The name should be short and descriptive, such as `Sick Time` or `Public Holiday`." msgstr "" -#: ../../content/applications/hr/payroll.rst:74 +#: ../../content/applications/hr/payroll.rst:75 msgid ":guilabel:`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." msgstr "" -#: ../../content/applications/hr/payroll.rst:77 +#: ../../content/applications/hr/payroll.rst:78 msgid ":guilabel:`Sequence`: The sequence determines the order that the work entry is computed in the payslip list." msgstr "" -#: ../../content/applications/hr/payroll.rst:79 +#: ../../content/applications/hr/payroll.rst:80 msgid "Check boxes: If any of the items in the list applies to the work entry, check off the box by clicking it. If :guilabel:`Time Off` is checked off, a :guilabel:`Time Off Type` field appears. This field has a drop-down menu to select the specific type of time off, or a new type of time off can be entered." msgstr "" @@ -564,35 +567,35 @@ msgstr "" msgid "New work entry type form." msgstr "" -#: ../../content/applications/hr/payroll.rst:88 +#: ../../content/applications/hr/payroll.rst:89 msgid ":guilabel:`Rounding`: The rounding method determines how timesheet entries are displayed on the payslip." msgstr "" -#: ../../content/applications/hr/payroll.rst:91 +#: ../../content/applications/hr/payroll.rst:92 msgid ":guilabel:`No Rounding`: A timesheet entry is not modified." msgstr "" -#: ../../content/applications/hr/payroll.rst:92 +#: ../../content/applications/hr/payroll.rst:93 msgid ":guilabel:`Half Day`: A timesheet entry is rounded to the closest half day amount." msgstr "" -#: ../../content/applications/hr/payroll.rst:93 +#: ../../content/applications/hr/payroll.rst:94 msgid ":guilabel:`Day`: A timesheet entry is rounded to the closest full day amount." msgstr "" -#: ../../content/applications/hr/payroll.rst:96 +#: ../../content/applications/hr/payroll.rst:97 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 timesheet, 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:102 +#: ../../content/applications/hr/payroll.rst:103 msgid "Working times" msgstr "" -#: ../../content/applications/hr/payroll.rst:104 +#: ../../content/applications/hr/payroll.rst:105 msgid "To view the currently configured working times, go to :menuselection:`Payroll --> Configuration --> Working Times`. The working times that are available for an employee's contracts and work entries are found in this list." msgstr "" -#: ../../content/applications/hr/payroll.rst:108 +#: ../../content/applications/hr/payroll.rst:109 msgid "Working times are company-specific. Each company must identify each type of working time they use. For example, an Odoo database containing multiple companies that use a standard 40-hour work week needs to have a separate working time entry for each company that uses the 40-hour standard work week." msgstr "" @@ -600,11 +603,11 @@ msgstr "" msgid "All working times currently set up in the database." msgstr "" -#: ../../content/applications/hr/payroll.rst:118 +#: ../../content/applications/hr/payroll.rst:119 msgid "New working time" msgstr "" -#: ../../content/applications/hr/payroll.rst:120 +#: ../../content/applications/hr/payroll.rst:121 msgid "To create a new working time, click the :guilabel:`Create` button. Enter the information on the form." msgstr "" @@ -612,43 +615,43 @@ msgstr "" msgid "New working type form." msgstr "" -#: ../../content/applications/hr/payroll.rst:127 +#: ../../content/applications/hr/payroll.rst:128 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:131 +#: ../../content/applications/hr/payroll.rst:132 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:137 +#: ../../content/applications/hr/payroll.rst:138 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`." msgstr "" -#: ../../content/applications/hr/payroll.rst:140 +#: ../../content/applications/hr/payroll.rst:141 msgid "If the working time should be in a two-week configuration, click the :guilabel:`Switch To 2 Week Calendar` button. This creates entries for an :guilabel:`Even week` and an :guilabel:`Odd week`." msgstr "" -#: ../../content/applications/hr/payroll.rst:144 +#: ../../content/applications/hr/payroll.rst:145 msgid "Salary" msgstr "" -#: ../../content/applications/hr/payroll.rst:149 +#: ../../content/applications/hr/payroll.rst:150 msgid "Structure types" msgstr "" -#: ../../content/applications/hr/payroll.rst:151 +#: ../../content/applications/hr/payroll.rst:152 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)." msgstr "" -#: ../../content/applications/hr/payroll.rst:157 +#: ../../content/applications/hr/payroll.rst:158 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:163 +#: ../../content/applications/hr/payroll.rst:164 msgid "The different structure types can be seen by going to :menuselection:`Payroll --> Configuration --> Structure Types`." msgstr "" -#: ../../content/applications/hr/payroll.rst:166 +#: ../../content/applications/hr/payroll.rst:167 msgid "There are two default structure types configured in Odoo: *Employee* and *Worker*. Typically, *Employee* is used for salaried employees, which is why the wage type is *Monthly Fixed Wage*, and *Worker* is typically used for employees paid by the hour, so the wage type is *Hourly Wage*." msgstr "" @@ -656,7 +659,7 @@ msgstr "" msgid "List of all structure types." msgstr "" -#: ../../content/applications/hr/payroll.rst:174 +#: ../../content/applications/hr/payroll.rst:175 msgid "Click the :guilabel:`Create` button to make a new structure type. Most fields are pre-populated, but all fields can be edited. Once the fields are edited, click the :guilabel:`Save` button to save the changes, or click :guilabel:`Discard` to delete the entry." msgstr "" @@ -664,19 +667,19 @@ msgstr "" msgid "New structure type box." msgstr "" -#: ../../content/applications/hr/payroll.rst:183 +#: ../../content/applications/hr/payroll.rst:184 msgid "Structures" msgstr "" -#: ../../content/applications/hr/payroll.rst:185 +#: ../../content/applications/hr/payroll.rst:186 msgid "*Salary structures* are the different ways an employee gets paid within a specific *structure*, and are specifically defined by various rules." msgstr "" -#: ../../content/applications/hr/payroll.rst:188 +#: ../../content/applications/hr/payroll.rst:189 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`." msgstr "" -#: ../../content/applications/hr/payroll.rst:192 +#: ../../content/applications/hr/payroll.rst:193 msgid "To view all the various structures for each structure type, go to :menuselection:`Payroll --> Configuration --> Structures`." msgstr "" @@ -684,11 +687,11 @@ msgstr "" msgid "All available salary structures." msgstr "" -#: ../../content/applications/hr/payroll.rst:199 +#: ../../content/applications/hr/payroll.rst:200 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.rst:202 +#: ../../content/applications/hr/payroll.rst:203 msgid "Click on a structure to view its :guilabel:`Salary Rules`. These rules are what calculate the payslip for the employee." msgstr "" @@ -696,15 +699,15 @@ msgstr "" msgid "Salary structure details for Regular Pay." msgstr "" -#: ../../content/applications/hr/payroll.rst:210 +#: ../../content/applications/hr/payroll.rst:211 msgid "Rules" msgstr "" -#: ../../content/applications/hr/payroll.rst:212 +#: ../../content/applications/hr/payroll.rst:213 msgid "Each structure has a set of *salary rules* to follow for accounting purposes. These rules are configured by the localization, and affect the *Accounting* application, so modifications to the default rules, or the creation of new rules, should only be done when necessary." msgstr "" -#: ../../content/applications/hr/payroll.rst:216 +#: ../../content/applications/hr/payroll.rst:217 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 "" @@ -712,7 +715,7 @@ msgstr "" msgid "Rules for each salary structure type." msgstr "" -#: ../../content/applications/hr/payroll.rst:223 +#: ../../content/applications/hr/payroll.rst:224 msgid "To make a new rule, click :guilabel:`Create`. A new rule form appears. Enter the information in the fields, then click :guilabel:`Save`." msgstr "" @@ -720,47 +723,47 @@ msgstr "" msgid "Enter the information for the new rule." msgstr "" -#: ../../content/applications/hr/payroll.rst:230 +#: ../../content/applications/hr/payroll.rst:231 msgid "The required fields for a rule are:" msgstr "" -#: ../../content/applications/hr/payroll.rst:232 +#: ../../content/applications/hr/payroll.rst:233 msgid ":guilabel:`Name`: Enter a name for the rule." msgstr "" -#: ../../content/applications/hr/payroll.rst:233 +#: ../../content/applications/hr/payroll.rst:234 msgid ":guilabel:`Category`: Select a category the rule applies to from the drop-down menu, or enter a new one." msgstr "" -#: ../../content/applications/hr/payroll.rst:235 +#: ../../content/applications/hr/payroll.rst:236 msgid ":guilabel:`Code`: Enter a code to be used for this new rule. It is recommended to coordinate with the accounting department for a code as this will affect them." msgstr "" -#: ../../content/applications/hr/payroll.rst:237 +#: ../../content/applications/hr/payroll.rst:238 msgid ":guilabel:`Salary Structure`: Select a salary structure the rule applies to from the drop-down menu, or enter a new one." msgstr "" -#: ../../content/applications/hr/payroll.rst:239 +#: ../../content/applications/hr/payroll.rst:240 msgid ":guilabel:`Condition Based on`: In the :guilabel:`General` tab, 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)." msgstr "" -#: ../../content/applications/hr/payroll.rst:243 +#: ../../content/applications/hr/payroll.rst:244 msgid ":guilabel:`Amount Type`: In the :guilabel:`General` tab, 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:249 +#: ../../content/applications/hr/payroll.rst:250 msgid "Rule parameters" msgstr "" -#: ../../content/applications/hr/payroll.rst:252 +#: ../../content/applications/hr/payroll.rst:253 msgid "Currently, the :guilabel:`Rule Parameters` feature found inside the :menuselection:`Payroll app --> Configuration` menu is still in development and only serves a specific use case for Belgian markets. The documentation will be updated when this section has matured to more markets." msgstr "" -#: ../../content/applications/hr/payroll.rst:257 +#: ../../content/applications/hr/payroll.rst:258 msgid "Other input types" msgstr "" -#: ../../content/applications/hr/payroll.rst:259 +#: ../../content/applications/hr/payroll.rst:260 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 going to :menuselection:`Payroll --> Configuration --> Other Input Types`." msgstr "" @@ -768,7 +771,7 @@ msgstr "" msgid "Other input types for payroll." msgstr "" -#: ../../content/applications/hr/payroll.rst:267 +#: ../../content/applications/hr/payroll.rst:268 msgid "To create a new input type, click the :guilabel:`Create` button. Enter the :guilabel:`Description`, the :guilabel:`Code`, and which structure it applies to in the :guilabel:`Availability in Structure` field. Click the :guilabel:`Save` button to save the changes, or click :guilabel:`Discard` to delete the entry." msgstr "" @@ -776,27 +779,27 @@ msgstr "" msgid "Create a new Input Type." msgstr "" -#: ../../content/applications/hr/payroll.rst:277 +#: ../../content/applications/hr/payroll.rst:278 msgid "Salary package configurator" msgstr "" -#: ../../content/applications/hr/payroll.rst:279 +#: ../../content/applications/hr/payroll.rst:280 msgid "The various options under the :guilabel:`Salary Package Configurator` section of the :menuselection:`Payroll --> Configuration` menu all affect an employee's potential salary. These sections (:guilabel:`Advantages`, :guilabel:`Personal Info`, and :guilabel:`Resume`) specify what benefits can be offered to an employee in their salary package." msgstr "" -#: ../../content/applications/hr/payroll.rst:284 +#: ../../content/applications/hr/payroll.rst:285 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." msgstr "" -#: ../../content/applications/hr/payroll.rst:290 +#: ../../content/applications/hr/payroll.rst:291 msgid "Advantages" msgstr "" -#: ../../content/applications/hr/payroll.rst:292 +#: ../../content/applications/hr/payroll.rst:293 msgid "When offering potential employees a position, there can be certain *advantages* set in Odoo in addition to the salary to make the offer more appealing (such as extra time off, access to a company car, reimbursement for a phone or internet, etc.)." msgstr "" -#: ../../content/applications/hr/payroll.rst:296 +#: ../../content/applications/hr/payroll.rst:297 msgid "To see the advantages, go to :menuselection:`Payroll --> Configuration --> Advantages`. Advantages are grouped by :guilabel:`Structure type`." msgstr "" @@ -804,7 +807,7 @@ msgstr "" msgid "Settings available for payroll." msgstr "" -#: ../../content/applications/hr/payroll.rst:303 +#: ../../content/applications/hr/payroll.rst:304 msgid "To make a new advantage, click the :guilabel:`Create` button. Enter the information in the fields, then click the :guilabel:`Save` button to save the changes, or click :guilabel:`Discard` to delete the entry." msgstr "" @@ -812,39 +815,39 @@ msgstr "" msgid "List of advantages employee's can have." msgstr "" -#: ../../content/applications/hr/payroll.rst:311 +#: ../../content/applications/hr/payroll.rst:312 msgid "The required fields for an advantage are:" msgstr "" -#: ../../content/applications/hr/payroll.rst:313 +#: ../../content/applications/hr/payroll.rst:314 msgid ":guilabel:`Name`: Enter the name for the advantage." msgstr "" -#: ../../content/applications/hr/payroll.rst:314 +#: ../../content/applications/hr/payroll.rst:315 msgid ":guilabel:`Advantage Field`: Select from the drop-down menu what field in the payslip this advantage appears under." msgstr "" -#: ../../content/applications/hr/payroll.rst:316 +#: ../../content/applications/hr/payroll.rst:317 msgid ":guilabel:`Advantage Type`: Select from the drop-down menu what type of advantage the benefit is. Select from :guilabel:`Monthly Benefit in Kind`, :guilabel:`Monthly Advantages in Net`, :guilabel:`Monthly Advantages in Cash`, or :guilabel:`Yearly Advantages in Cash`." msgstr "" -#: ../../content/applications/hr/payroll.rst:319 +#: ../../content/applications/hr/payroll.rst:320 msgid ":guilabel:`Salary Structure Type`: Select from the drop-down menu which salary structure type this advantage applies to." msgstr "" -#: ../../content/applications/hr/payroll.rst:323 +#: ../../content/applications/hr/payroll.rst:324 msgid "Personal info" msgstr "" -#: ../../content/applications/hr/payroll.rst:325 +#: ../../content/applications/hr/payroll.rst:326 msgid "Every employee in Odoo has an *employee card* that includes all of their personal information, resume, work information, and documents. To view an employee's card, go to the main :menuselection:`Payroll` app dashboard, and click on the employee's card, or go to :menuselection:`Payroll --> Employees --> Employees` and click on the employee's card. Employee cards can also be viewed by going to the :menuselection:`Employees` app." msgstr "" -#: ../../content/applications/hr/payroll.rst:332 +#: ../../content/applications/hr/payroll.rst:333 msgid "An employee card can be thought of as an employee personnel file." msgstr "" -#: ../../content/applications/hr/payroll.rst:334 +#: ../../content/applications/hr/payroll.rst:335 msgid "The *Personal Information* section lists all of the fields that are available to enter on the employee's card. To access this section, go to :menuselection:`Payroll --> Configuration --> Personal Info`." msgstr "" @@ -852,7 +855,7 @@ msgstr "" msgid "Personal information that appear on employee cards to enter." msgstr "" -#: ../../content/applications/hr/payroll.rst:342 +#: ../../content/applications/hr/payroll.rst:343 msgid "To edit an entry, select it from the list. Then, click the :guilabel:`Edit` button, and modify the entry. When done, click :guilabel:`Save` or :guilabel:`Discard` to save the information or cancel the edits." msgstr "" @@ -860,23 +863,23 @@ msgstr "" msgid "New personal information entry." msgstr "" -#: ../../content/applications/hr/payroll.rst:350 +#: ../../content/applications/hr/payroll.rst:351 msgid "The two most important fields on the personal info form are :guilabel:`Is Required` and :guilabel:`Display Type`. Checking the :guilabel:`Is Required` box makes the field mandatory on the employee's card." msgstr "" -#: ../../content/applications/hr/payroll.rst:354 +#: ../../content/applications/hr/payroll.rst:355 msgid "The :guilabel:`Display Type` drop-down menu allows for the information to be entered in a variety of ways, from a :guilabel:`Text` box, to a customizable :guilabel:`Radio` button, a :guilabel:`Checkbox`, a :guilabel:`Document`, and more." msgstr "" -#: ../../content/applications/hr/payroll.rst:358 +#: ../../content/applications/hr/payroll.rst:359 msgid "Once the information is entered, click the :guilabel:`Save` button to save the entry." msgstr "" -#: ../../content/applications/hr/payroll.rst:361 +#: ../../content/applications/hr/payroll.rst:362 msgid "Resume" msgstr "" -#: ../../content/applications/hr/payroll.rst:364 +#: ../../content/applications/hr/payroll.rst:365 msgid "Currently, the :guilabel:`Resume` feature found inside the :menuselection:`Payroll app --> Configuration` menu is still in development and only serves a specific use case for Belgian markets. The documentation will be updated when this section has matured to more markets." msgstr "" @@ -1168,6 +1171,593 @@ msgstr "" msgid ":guilabel:`Credit Time`: This option is for Belgian companies only. When clicked, a pop-up window appears that allows for the changing of working times, and can compute time off." msgstr "" +#: ../../content/applications/hr/payroll/payslips.rst:3 +msgid "Payslips" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:5 +msgid "Payslips are created either by the employees themselves or their managers, and are approved by authorized employees (typically managers). Then, once payslips are approved, employees are issued payslips and are paid either by check or direct deposit, depending on how their employee profile is configured." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:10 +msgid "The :guilabel:`Payslips` drop-down header of the :menuselection:`Payroll` application consists of three sections: :guilabel:`To Pay`, :guilabel:`All Payslips`, and :guilabel:`Batches`." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:13 +msgid "These three sections provide all the tools needed to create payslips for employees, including individual payslips, a batch of payslips, or commission payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Payslips menu selection in Payroll." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:21 +msgid "To pay" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:23 +msgid "Click on :menuselection:`Payroll app --> Payslips --> To Pay` to see the payslips that need to be paid. On this page, Odoo displays the payslips that have not been generated yet, and can be created from this dashboard." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "View all payslips that need to be paid on the Payslips To Pay page." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:31 +msgid "Each payslip will list the :guilabel:`Reference` number for the individual payslip, the :guilabel:`Employee` name, :guilabel:`Batch Name`, the :guilabel:`From` and :guilabel:`To` date range, the :guilabel:`Company`, the :guilabel:`Basic Wage`, :guilabel:`Net Wage`, and the :guilabel:`Status` of the payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:36 +msgid "Clicking on an individual payslip entry will show the details for the individual payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:41 +msgid "Create new payslip" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:43 +msgid "A new payslip can be created from the :guilabel:`Payslips To Pay` page (:menuselection:`Payroll app --> Payslips --> To Pay`) or the :guilabel:`Employee Payslips` page (:menuselection:`Payroll app --> Payslips --> All Payslips`), by clicking the :guilabel:`Create` button in the top-left corner." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:47 +msgid "Clicking :guilabel:`Create` reveals a blank payslip form, wherein the necessary payslip information can be entered." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:53 +msgid "On the blank payslip form, a number of fields are required to be filled in with the necessary information. These required fields are represented by **bold** lines." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "The necessary fields for a new payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:60 +msgid ":guilabel:`Employee`: Type in the name of an employee, or select the desired employee from the drop-down list. Upon selecting an employee, several other fields on the payslip form may auto-populate. Typically, after making a selection in the :guilabel:`Employee` field, Odoo auto-populates the :guilabel:`Contract`, :guilabel:`Structure`, and :guilabel:`Payslip Name` fields, but **only** if that information is already on that employee's form in the *Employees* app." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:66 +msgid ":guilabel:`Period`: Click the default date to reveal a pop-up calendar. On this calendar, use the :guilabel:`< (less-than)` and :guilabel:`> (greater than)` icons to select the desired month, and click on the desired day to select that specific date as the start date for the payslip. Repeat this process to add an end date for the payslip in the field below." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:70 +msgid ":guilabel:`Contract`: Using the drop-down menu, select the desired contract for the employee. Only the available corresponding contracts for the selected employee appear as options." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:72 +msgid ":guilabel:`Structure`: Using the drop-down menu, select the salary structure type. Only the available corresponding structures for the selected contract for that specific employee appear as options." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:75 +msgid ":guilabel:`Payslip Name`: In the blank field, type in the name for the payslip. The name should be short and descriptive, such as `April 2023`." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:77 +msgid ":guilabel:`Company`: In the :guilabel:`Accounting Information` tab, select the company the payslip applies to from the :guilabel:`Company` drop-down menu." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:79 +msgid ":guilabel:`Salary Journal`: In the :guilabel:`Accounting Information` tab, enter the salary journal in which the payment will be reflected, and found in the *Accounting* application." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "The necessary fields for a new payslip in the Accounting Information tab." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:87 +msgid "It is recommended to check with the accounting department to ensure every entry that affects the *Accounting* application is correct." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:93 +msgid ":guilabel:`Reference`: Any note or reference message for the new entry can be entered here." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:94 +msgid ":guilabel:`Company Car`: If applicable, select the company car from the drop-down." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:95 +msgid ":guilabel:`Worked Days`: In the :guilabel:`Worked Days \\& Inputs` tab, the entries under :guilabel:`Worked Days` (including the :guilabel:`Type`, :guilabel:`Description`, :guilabel:`Number of Days`, :guilabel:`Number of Hours`, and :guilabel:`Amount`) are automatically filled in, based on what was entered for the :guilabel:`Period`, :guilabel:`Contract`, and :guilabel:`Structure` fields of the payslip form." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:100 +msgid ":guilabel:`Salary Computation`: The :guilabel:`Salary Computation` tab is automatically filled in after the :guilabel:`Compute Sheet` button is clicked. Doing so displays all the wages, deductions, taxes, etc. for the entry." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:103 +msgid ":guilabel:`Batch Name`: Located in the :guilabel:`Accounting Information` tab, select the payslip batch this new payslip should be added to from the drop-down menu." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:105 +msgid ":guilabel:`Date Account`: Located in the :guilabel:`Accounting Information` tab, enter the date on which the payslip should be posted, by clicking on the drop-down menu, and navigating to the correct month and year using the :guilabel:`< > (less-than/greater-than)` icons in the calendar pop-up window. Then, click on the desired date." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:109 +msgid ":guilabel:`Salary Journal`: This field, located in the :guilabel:`Accounting Information` tab, represents the journal that the payslip will be logged in, and is automatically selected when the :guilabel:`Contract` and :guilabel:`Structure` are entered in the payslip form." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:112 +msgid ":guilabel:`Accounting Entry`: This field, located in the :guilabel:`Accounting Information` tab, is automatically filled in once the payslip is confirmed." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:116 +msgid "Save and process new payslip" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:118 +msgid "When all the necessary information on the payslip is entered, click :guilabel:`Save` to save the data, or click :guilabel:`Discard` to delete the entry." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:122 +msgid "Saving the entry is not required in order to compute the sheet, although it is considered best practice to do so. The :guilabel:`Compute Sheet` button can be clicked without first saving the payslip. Doing so will save the entry *and* compute the sheet." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:126 +msgid "Click the :guilabel:`Compute Sheet` button to register all the information, and have the :guilabel:`Salary Computation` tab populated. If any modifications need to be made, click the :guilabel:`Edit` button, make the desired changes, then click the :guilabel:`Recompute Worked Days` button to have the changes reflected in the :guilabel:`Worked Days` and :guilabel:`Salary Computation` tabs." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:132 +msgid "To print the payslip, click the :guilabel:`Print` button. To cancel the payslip, click the :guilabel:`Cancel Payslip` button." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:135 +msgid "Once everything on the payslip form is correct, click the :guilabel:`Create Draft Entry` button to create the payslip. The chatter is automatically updated to show the email sent to the employee, along with a PDF copy of the payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "The new payslip is emailed to the employee and the email appears in the chatter." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:143 +msgid "Next, the payment must be sent to the employee. To do this, click the :guilabel:`Make Payment` button. Doing so reveals a pop-up form, in which the desired :guilabel:`Bank Journal` that the payment should be made against must be selected from a drop-down menu. Then, click the :guilabel:`Confirm` button to confirm the journal, and return to the payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Click Make Payment to send the payment to the employee." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:152 +msgid "If a payment needs to be cancelled or refunded, click the corresponding :guilabel:`Refund` or :guilabel:`Cancel Payslip` button, located at the top of the payslip form." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:156 +msgid "In order for a payslip to be paid, the employee *must* have a bank account entered in their contact information. If there is no bank information, a payslip cannot be paid, and an error will appear when the :guilabel:`Make Payment` button is clicked. Banking information can be found in the :guilabel:`Private Information` tab on the employee's card. Edit the employee card, and add banking information, if it is missing." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:0 +msgid "Banking information can be entered in an employee's card." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:167 +msgid "All payslips" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:169 +msgid "To view all payslips regardless of status, go to :menuselection:`Payroll app --> Payslips --> All Payslips`. Here, all payslips are organized by batch (in a default list view)." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:172 +msgid "Click on the :guilabel:`▶ (arrow)` next to the individual batch name to view all the payslips in that particular batch, along with all the payslip details. The number of payslips in the batch is written in parenthesis after the batch name. The :guilabel:`Status` for each individual payslip appears on the far-right side, indicating if it is in :guilabel:`Draft Mode`, :guilabel:`Waiting`, or if it is :guilabel:`Done`." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:179 +msgid ":guilabel:`Draft` indicates the payslip is created, and there is still time to make edits, since the amounts are not calculated." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:181 +msgid "`Waiting` indicates the payslip has been calculated and the salary details can be found in the *Salary Computation* tab." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:183 +msgid "`Done` indicates the payslip is calculated and ready to be paid." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "View all payslips organized by batches. Click on the arrow to expand each batch." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:189 +msgid "Click on an individual payslip to view the details for that payslip on a separate page. Using the breadcrumb menu, click :guilabel:`Employee Payslips` to go back to the list view of all payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:192 +msgid "A new payslip can be created from the :guilabel:`Employee Payslips` page, by clicking the :guilabel:`Create` button in the upper-left corner. Doing so reveals a separate blank payslip form page. On that blank payslip form page, enter all the necessary information, as described in the :ref:`Create a new payslip ` section." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:197 +msgid "To print PDF versions of payslips from the :guilabel:`Payslips to Pay` or :guilabel:`Employee Payslips` pages, first select the desired payslips by clicking on the individual checkbox next to each payslip to be printed. Or, click the box next to :guilabel:`Reference`, which selects all visible payslips on the page. Then, click the :guilabel:`Print` button to print the payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Click on the Print smart button to print payslips to a PDF." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:206 +msgid "Payslips can also be exported to an Excel spreadsheet. When exporting, all payslips are exported regardless of whether some are selected or not. Click on the :guilabel:`Export All` button (download icon) to export all payslips to an Excel spreadsheet." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Click on the Export All smart button to export all payslips to an Excel payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:215 +msgid "Both *To Pay* and *All Payslips* display all the detailed information for each payslip." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:218 +msgid "Batches" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:220 +msgid "To view payslips in batches, navigate to :menuselection:`Payroll app --> Payslips --> Batches` to display all the payslip batches that have been created. These payslip batches are displayed in a list view, by default." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:224 +msgid "Each batch displays the :guilabel:`Name`, :guilabel:`Date From` and :guilabel:`Date To` dates, whether it was a :guilabel:`Credit note`, its :guilabel:`Status`, and the :guilabel:`Company`." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "View displaying all batches created." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:231 +msgid "Click on an individual batch to view the details for that batch on a separate page. On this batch detail page, modifications can be made. To make any modifications to a batch, click the :guilabel:`Edit` button. Then, proceed to make any necessary changes." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:235 +msgid "When all desired changes have been made, click either :guilabel:`Save` to save the changes, or :guilabel:`Discard` to revert back to the original data." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:238 +msgid "After modifications have been saved, click the :guilabel:`Generate Payslips` button to reveal a :guilabel:`Generate Payslips` pop-up form, in which payslips affected by the changes can be created or modified." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:242 +msgid "All payslips associated with the batch are displayed in the employees section of the :guilabel:`Generate Payslips` pop-up. To filter the results by either the :guilabel:`Salary Structure` and/or the :guilabel:`Department`, select a salary structure and/or department from the respective drop-down menus." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:247 +msgid "Only employees that match the selected :guilabel:`Salary Structure` and/or :guilabel:`Department` appear in the employees list. Click the :guilabel:`Generate` button at the bottom of the :guilabel:`Generate Payslips` pop-up window to generate the modified payslips, and close the pop-up window." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Generate payslips from the edited batch." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:256 +msgid "Back on the batch details page, click the :guilabel:`Create Draft Entry` smart button to create a draft of the payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:263 +msgid "Once the draft payslips are created, the button changes to say :guilabel:`Make Payment`. Click the :guilabel:`Make Payment` button. A pop-up window appears, in which the bank journal information must be entered. Select the :guilabel:`Bank Journal` from the drop-down list, and click :guilabel:`Confirm` to process the payslips, and pay the employees." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:268 +msgid "On the batch detail page, the number of payslips in the batch is accessible via the :guilabel:`Payslips` smart button, located in the top-right corner. Individual payslips for the batch can be viewed by clicking the :guilabel:`Payslips` smart button in the top-right corner." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:272 +msgid "Use the breadcrumb menu to navigate back to the individual batch detail page, or back to the list of all batches." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Click the Payslips smart button to view the individual payslips in the batch." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:280 +msgid "Create a new batch" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:282 +msgid "To create a new batch of payslips from the :guilabel:`Payslips Batches` page (:menuselection:`Payroll app --> Payslips --> Batches`), click the :guilabel:`Create` button in the upper-left corner. Doing so reveals a blank payslip batch form on a separate page." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:286 +msgid "On the new payslip batch form, enter the :guilabel:`Name` for the batch, and select the date range to which the batch applies, by clicking the :guilabel:`▼ (drop-down arrow)` icon in the :guilabel:`Period` fields, which reveals a calendar pop-up window. From this calendar pop-up window, navigate to the correct month, and click on the corresponding day for both the start and end dates." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Enter the details for the new batch." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:295 +msgid "If the batch is a credit note, check the box next to :guilabel:`Credit Note`. Then, in the :guilabel:`Generation Date` field, select the date the payslips should be generated from a calendar pop-up window. This generated date is reflected in the accounting journal entries." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:299 +msgid "Lastly, in the :guilabel:`Company` field, select the company these payslips are written against." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:301 +msgid "When all the information on the payslip batch form is correct, click the :guilabel:`Save` button to save the information. To delete the entry, click the :guilabel:`Discard` button." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:304 +msgid "To create the payslips for the newly-created batch, click the :guilabel:`Generate Payslips` button at the top of the form." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:307 +msgid "When clicked, a pop-up window appears showing all the payslips that will be created. To remove any individual payslips, click the black :guilabel:`✖ (x mark)` icon at the far right of the payslip line." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:311 +msgid "If a specific :guilabel:`Salary Structure` or :guilabel:`Department` needs to be specified for the batch, select them from the corresponding drop-down menus." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:314 +msgid "Click the :guilabel:`Generate` button at the bottom of the pop-up window to create the payslips for the batch." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Generate payslips for the new batch." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:322 +msgid "On the :guilabel:`Generate Payslips` pop-up window, selecting a :guilabel:`Department` and/or :guilabel:`Salary Structure` only displays payslips that apply to those specifically-selected parameters." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:326 +msgid "If there are any errors or issues preventing the payslips from being generated, an error message appears in the top-right section. This error box disappears on its own after several seconds, or the :guilabel:`✖ (x mark)` icon can be clicked to close the alert." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:330 +msgid "To remedy the issue, make any necessary modifications (e.g. removing any payslip lines that cannot be processed), then click the :guilabel:`Generate` button again." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:333 +msgid "Once the payslips have been successfully generated, the screen returns to the payslip batch form." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:335 +msgid "From here, click the :guilabel:`Generate Draft Entry` button to change the payslips' status from :guilabel:`Draft` to :guilabel:`Done`." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:338 +msgid "Once payslips have been generated, click the :guilabel:`Make Payment` button to process the payments. Doing so reveals a pop-up window, in which the proper banking information must be entered. In this pop-up window, select the appropriate :guilabel:`Bank Journal` from the drop-down menu, and enter the appropriate file name." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:343 +msgid "When done, click the :guilabel:`Confirm` button to confirm the information, or click :guilabel:`Cancel` to discard." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:347 +msgid "Generate commission payslips" +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:349 +msgid "Commission payslips can be generated directly from the :guilabel:`Payslips Batches` page (:menuselection:`Payroll app --> Payslips --> Batches`). To generate commission payslips from this page, click on the desired batch (or batches) to create commissions payslips for, then click the :guilabel:`Generate Commission Payslips` button." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:354 +msgid "Doing so reveals a :guilabel:`Generate Commission Payslip` pop-up window, in which the necessary information **must** be filled out." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:-1 +msgid "Enter the commission details." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:361 +msgid "On this pop-up window, click on the drop-down menus, located beside the :guilabel:`Period` field, to reveal calendar pop-up windows. On these calendar pop-up windows, select the desired period for which the payslips are being generated. Using the :guilabel:`< (left)` and :guilabel:`> (right)` arrows, navigate to the correct month, and click on the date to select it." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:366 +msgid "In the :guilabel:`Department` field, select the desired department from the drop-down menu." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:368 +msgid "When a department is selected, the employees listed for that department appear in the :guilabel:`Employee` section." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:371 +msgid "Under the :guilabel:`Employee` section, enter the :guilabel:`Commission Amount` for each employee in the appropriate column. To remove an employee, click the :guilabel:`🗑️ (trash)` icon to remove the line." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:375 +msgid "Add a new entry by clicking :guilabel:`Add a Line`, and entering the :guilabel:`Employee` and the appropriate :guilabel:`Commission Amount`." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:378 +msgid "Click the :guilabel:`Upload Your File` button to add a file, if necessary. Any file type is accepted." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:381 +msgid "Using the drop-down menu beside the :guilabel:`Commission Type` field, select either :guilabel:`Classic Commission` or :guilabel:`Warrant`. :guilabel:`Classic` is the most typical of commission, while :guilabel:`Warrant` is primarily used for Belgium companies." +msgstr "" + +#: ../../content/applications/hr/payroll/payslips.rst:385 +msgid "Once all the commissions are properly entered, click the :guilabel:`Generate Payslips` button to create the commission payslips." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:3 +msgid "Reporting" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:5 +msgid "The :guilabel:`Reporting` section of the *Payroll* app offers a variety of reports to choose from. The :guilabel:`Payroll`, :guilabel:`Meal Vouchers`, :guilabel:`Attachment of Salary`, and :guilabel:`DMFA` reports are universal and available for all companies regardless of location. The :guilabel:`Paid Time Off Allocation`, :guilabel:`273S Sheet`, and :guilabel:`274.XX Sheets` reports are specific to Belgian companies only." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:11 +msgid "To view a report, go to :menuselection:`Payroll --> Reporting` and click on the specific report." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "Report dashboard view." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:17 +msgid "If a report is unavailable to a company, a user error pops up, stating `You must be logged in to a Belgian company to use this feature.`" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:20 +msgid "At the top of each report, click on :guilabel:`Filters` to display the optional filters for the specific report. Filters show information that matches the specific filter parameters. For example, when selecting the :guilabel:`Last 365 Day Payslip` filter, only payslips for the last 365 days appear. All reports have the option to add a custom filter, and each have different default custom filter options. Select the parameters, then click the :guilabel:`Apply` button." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:30 +msgid "Clicking on :guilabel:`Favorites` displays three options: :guilabel:`Save the current search`, :guilabel:`Add the search to the dashboard`, or :guilabel:`Insert the search to a Google spreadsheet`." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "Favorite options for reports." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:41 +msgid "Click on :menuselection:`Payroll --> Reporting --> Payroll` to display the :guilabel:`Payroll Analysis` report." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:48 +msgid "This shows all the payslips generated in the last 365 days. The report can display metrics for a variety of parameters. Click the :guilabel:`Measures` box to view a drop-down menu with the various options to display. The options available include: :guilabel:`# Payslip`, :guilabel:`Basic Wage`, :guilabel:`Basic Wage for Time Off`, :guilabel:`Days of Paid Time Off`, :guilabel:`Days of Unforeseen Absence`, :guilabel:`Days of Unpaid Time Off`, :guilabel:`Gross Wage`, :guilabel:`Net Wage`, :guilabel:`Number of Days`, :guilabel:`Number of Hours`, :guilabel:`Work Days`, :guilabel:`Work Hours`, and :guilabel:`Count`." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:61 +msgid "Line chart" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:63 +msgid "A line chart is the default view for the *Payroll Analysis* report. If a different view was selected, click on the :guilabel:`Line Chart` icon (middle icon) in the menu bar to change the view back to a line chart. An option to display the line chart in ascending or descending order appears at the end of the options." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:73 +msgid "Bar chart" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:75 +msgid "To display the data in a bar chart, click on the :guilabel:`Bar Chart` icon (first icon) in the menu bar." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:82 +msgid "Click the :guilabel:`Stacked` icon to view the bar chart in a stacked format (where multiple values appear in each column). An option to display the columns in ascending or descending order appears at the end of the options." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:87 +msgid "Clicking an option enables it. To disable the option, click it again. When the option is enabled it appears grey. When it is inactive, it appears white." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:91 +msgid "Pie chart" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:93 +msgid "To display the data in a pie chart, click on the :guilabel:`Pie Chart` icon (last icon) in the menu bar. There are no additional options available in this view." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:101 +msgid "Pivot table" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:103 +msgid "The bottom half of the :guilabel:`Payroll Analysis` dashboard presents a pivot table no matter which type of chart is selected for the top of the dashboard. The default information displayed is the number of payslips, net wage, gross wage, days of paid time off, and days of unpaid time off. The information is divided by department. To display more information on the report, select the :guilabel:`Measures` drop-down menu, then click on any other items to display." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:113 +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." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "To sort information by descending order, click the column head twice." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:121 +#: ../../content/applications/hr/payroll/reporting.rst:172 +msgid "To export the data in an XLSX format, click the :guilabel:`Download xlsx` icon. The information will be downloaded into an Excel spreadsheet." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "Download an Excel spreadsheet of the data by clicking the download button." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:128 +#: ../../content/applications/hr/payroll/reporting.rst:179 +msgid "The data can be inserted into a spreadsheet by clicking the :guilabel:`Insert in Spreadsheet` button. A pop-up appears asking which spreadsheet to place the information in. Select an existing spreadsheet or enter the name for a new spreadsheet. Click the :guilabel:`Confirm` button to move to a spreadsheet view with all the information populated." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "Send the data to a spreadsheet." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:137 +msgid "Once in the spreadsheet view, click on :guilabel:`File`, then select :guilabel:`Save` to save the data, or :guilabel:`Save as Template` to save the setting as a template to use in the future." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:141 +#: ../../content/applications/hr/payroll/reporting.rst:188 +msgid "The *Documents* application must be installed in order to use the :guilabel:`Insert in Spreadsheet` option." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:146 +msgid "Meal Vouchers" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:148 +msgid ":guilabel:`Meal Vouchers` provides an overview of the meal vouchers used by employees, and can be shown by :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, :guilabel:`Quarter`, or :guilabel:`Year`. The default view is by month." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "Meal voucher" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:156 +msgid "To change the displayed view, click on :guilabel:`Total`. The data collapses, showing only the count column. Click on :guilabel:`Total` again, then hover over :guilabel:`Day`, then click on one of the other time-period options available." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:164 +msgid "It is possible to compare the current meal voucher report to the one for the previous time period or the previous year. To view these comparisons, click on the :guilabel:`Comparison` drop-down menu at the top, then select either :guilabel:`Date: Previous Period` or :guilabel:`Date: Previous Year`." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:184 +msgid "Once in the spreadsheet view, click on :guilabel:`File`, then select :guilabel:`Save` to save the data, or :guilabel:`Save as Template` to save the settings as a template to use in the future." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:192 +msgid "Attachment of Salary" +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:194 +msgid "The :guilabel:`Attachment of Salary` report shows all deductions or allocations per employee, such as child support payments and wage garnishments." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "View the Attachment of Salary report that shows all salary garnishments." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:201 +msgid "The employees are listed in the left-side column, while the different deductions are listed in the top row, organized by month." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:204 +msgid "The report can be exported as a XLSX file, or inserted into a spreadsheet, using the corresponding buttons at the top." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:207 +msgid "Clicking on the :guilabel:`Measures` button shows options for how the data is displayed. :guilabel:`Assignment of salary`, :guilabel:`Attachment of salary`, :guilabel:`Child support`, and :guilabel:`Count`, can all be selected or deselected by clicking on the item. If an item has a check mark, it is displayed." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:-1 +msgid "Select the options that be displayed in the report." +msgstr "" + +#: ../../content/applications/hr/payroll/reporting.rst:216 +msgid "The salary attachment report can be compared to the one for the previous time period or the previous year. To view these comparisons, click on the on the :guilabel:`Comparison` drop-down menu at the top, then select either :guilabel:`Payslip End Date: Previous Period` or :guilabel:`Payslip End Date: Previous Year`." +msgstr "" + #: ../../content/applications/hr/payroll/work_entries.rst:5 msgid "The *Work Entries* dashboard, which can be found by going to :menuselection:`Payroll --> Work Entries --> Work Entries`, provides a visual overview of the individual time sheets of every employee, with each day split into a morning shift and an afternoon shift." msgstr "" diff --git a/locale/sources/inventory_and_mrp.pot b/locale/sources/inventory_and_mrp.pot index c2cc0563e..6f55b7bd2 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 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -33,6 +33,7 @@ msgid "`Odoo Tutorials: Barcode Basics `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management.rst:5 -msgid "Warehouse management" +#: ../../content/applications/inventory_and_mrp/inventory/product_management.rst:5 +msgid "Product management" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments.rst:5 -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:3 -msgid "Inventory adjustments" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment.rst:5 +msgid "Product replenishment" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:5 -msgid "In any warehouse management system, the recorded inventory counts in the database might not always match the actual inventory counts in the warehouse. The discrepancy between the two counts can be due to damages, human errors, theft, or other factors. As such, inventory adjustments must be made to reconcile the differences, and ensure that the recorded counts in the database match the actual counts in the warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:12 -msgid "Inventory Adjustments page" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:14 -msgid "To view the *Inventory Adjustments* page, navigate to :menuselection:`Inventory app --> Operations --> Inventory Adjustments`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "In stock products listed on the Inventory adjustments page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:21 -msgid "On the :guilabel:`Inventory Adjustments` page, all products that are currently in stock are listed, with each product line containing the following information:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:24 -msgid ":guilabel:`Location`: the specific location in the warehouse where a product is stored." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:25 -msgid ":guilabel:`Product`: the product whose quantity is listed on the inventory adjustment line." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:26 -msgid ":guilabel:`Lot/Serial Number`: the tracking identifier assigned to the specific product listed. It can contain letters, numbers, or a combination of both." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:30 -msgid "If a specific product has a quantity of more than `1.00` in stock, and more than one serial number (or lot number) assigned to it, each uniquely-identified product is displayed on its own product line with its own lot/serial number, displayed under the :guilabel:`Lot/Serial Number` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:35 -msgid ":guilabel:`On Hand Quantity`: the quantity of the product currently recorded in the database." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:36 -msgid ":guilabel:`UoM`: the *unit of measure* in which the product is measured. Unless otherwise specified (i.e., in :guilabel:`Pounds` or :guilabel:`Ounces`), the default :abbr:`UoM (Unit of Measure)` is :guilabel:`Units`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:39 -msgid ":guilabel:`Counted Quantity`: the real quantity counted during an inventory count. This field is left blank by default, but can be changed, depending on if it matches the :guilabel:`On Hand Quantity` or not." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:42 -msgid ":guilabel:`Difference`: the difference between the :guilabel:`On Hand Quantity` and :guilabel:`Counted Quantity`, once an inventory adjustment is made. The difference is automatically calculated after every inventory adjustment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:45 -msgid ":guilabel:`Scheduled Date`: the date at which a count should be made. If not otherwise specified, this date will default to the 31st of December of the current year." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:47 -msgid ":guilabel:`User`: the person assigned to the count in the database. This can either be the person physically counting the inventory, or applying the count in the database." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:49 -msgid ":guilabel:`Product Category`: the category assigned internally to a specific product. Unless otherwise specified (i.e., as :guilabel:`Consumable` or :guilabel:`Rental`), the default *Product Category* is set to :guilabel:`All`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:52 -msgid ":guilabel:`Available Quantity`: the quantity of a specific product that is currently available, based on any outstanding/uncompleted sales orders, purchase orders, or manufacturing orders that might change the available quantity once fulfilled." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:55 -msgid ":guilabel:`Accounting Date`: the date on which the adjustments will be accounted in the Odoo *Accounting* app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:57 -msgid ":guilabel:`Company`: the company whose database these inventory adjustments are being made on. The company is listed in the top right corner of the database, next to the user currently logged in." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:61 -msgid "Some columns are hidden by default. To reveal these columns, click the :guilabel:`additional options` button (three dots icon) to the far right of the form's top row, and select any desired column to reveal by clicking the checkbox next to that option." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:66 -msgid "Create an inventory adjustment" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:68 -msgid "To create a new inventory adjustment from the :menuselection:`Inventory Adjustments` page, click :guilabel:`Create`. Doing so creates a new, blank inventory adjustment line at the bottom of the page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:72 -msgid "On this blank inventory adjustment line, click the drop-down menu under the :guilabel:`Product` column, and select a product. If the selected product is tracked using either lots or serial numbers, the desired lot or serial number can also be chosen from the drop-down menu under the :guilabel:`Lot/Serial Number` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:77 -msgid "Next, set the value in the :guilabel:`Counted Quantity` column to the quantity counted for that product during the inventory adjustment process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:81 -msgid "The :guilabel:`Counted Quantity` for new inventory adjustments is set to `0.00` by default. An inventory move with `0.00` :guilabel:`Quantity Done` is recorded in the product's inventory adjustment history, so it should be set to reflect the actual quantity counted." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:85 -msgid "To the right of the :guilabel:`Counted Quantity` column, the :guilabel:`Scheduled Date` and :guilabel:`User` can also be changed via their respective drop-down menus. Changing the :guilabel:`Scheduled Date` changes the date that the inventory adjustment should be processed on, and selecting a responsible :guilabel:`User` assigns a user to the specific inventory adjustment (for traceability purposes)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:91 -msgid "Once all changes have been made to the new inventory adjustment line, click away from the line. Doing so saves the adjustment, and moves the line to the top of the page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:94 -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:156 -msgid "If the :guilabel:`Counted Quantity` is greater than the :guilabel:`On Hand Quantity`, the value in the :guilabel:`Difference` column is **green**. If the :guilabel:`Counted Quantity` is less than the :guilabel:`On Hand Quantity`, the value in the :guilabel:`Difference` column is **red**. If the quantities match, and haven't been changed at all, no value appears in the :guilabel:`Difference` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "Difference column on inventory adjustments page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:104 -msgid "At this stage, the count (:dfn:`inventory adjustment`) is recorded, but not yet applied. This means that the quantity on hand before the adjustment has not yet been updated to match the new, real counted quantity." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:108 -msgid "There are two ways to apply the new inventory adjustment. The first way is to click the :guilabel:`Apply` button on the line at the far right of the page. The second way is to click the checkbox on the far left of the line. Doing so reveals new button options at the top of the page, one of which is an :guilabel:`Apply` button. Clicking this button instead causes an :guilabel:`Inventory Adjustment Reference / Reason` pop-up window to appear." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:114 -msgid "From this pop-up menu, a reference or reason can be assigned to the inventory adjustment. By default, the :guilabel:`Inventory Reference / Reason` field is pre-populated with the date the adjustment is being made on, but can be changed to reflect whatever reference or reason is desired." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:118 -msgid "Once ready, click :guilabel:`Apply` to apply the inventory adjustment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "Apply all option applies the inventory adjustment once a reason is specified." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:125 -msgid "Count products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:127 -msgid "Counting products is a recurring activity in a warehouse. Once a count is complete, go to :menuselection:`Inventory app --> Operations --> Inventory Adjustments` to update the :guilabel:`Counted Quantity` column for each product line." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:131 -msgid "On each product line, identify whether the value in the :guilabel:`On Hand Quantity` column recorded in the database matches the newly-counted value. If the recorded value and the counted value do match, click the :guilabel:`Set` button (target icon) at the far right of the product line." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:135 -msgid "Doing so copies the value from the :guilabel:`On Hand Quantity` column over to the :guilabel:`Counted Quantity` column, and sets the value of the :guilabel:`Difference` column to `0.00`. Subsequently, once applied, an inventory move with `0.00` :guilabel:`Quantity Done` is recorded in the product's inventory adjustment history." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "Zero count inventory adjustment move." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:144 -msgid "If the newly-counted value for a given product does **not** match the value in the :guilabel:`On Hand Quantity` recorded in the database, instead of clicking the :guilabel:`Set` button, record the real value in the field in the :guilabel:`Counted Quantity` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:148 -msgid "To do so, click the field in the :guilabel:`Counted Quantity` column on the specific inventory adjustment line for the product whose count is being changed. This automatically assigns a :guilabel:`Counted Quantity` of `0.00`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:152 -msgid "To change this value, type in a new value that matches the real, newly-counted value. Then, click away from the line. Doing so saves the adjustment, and automatically adjusts the value in the :guilabel:`Difference` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:162 -msgid "Subsequently, once applied, a move with the difference between the :guilabel:`On Hand Quantity` and the :guilabel:`Counted Quantity` is recorded in the product's inventory adjustment history." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "Inventory Adjustments History dashboard detailing a list of prior product moves." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:170 -msgid "Sometimes a count occurs, but cannot be applied in the database right away. In the time between the actual count and applying the inventory adjustment, product moves can occur. In that case, the on-hand quantity in the database can change and no longer be consistent with the counted quantity. As an extra precaution, Odoo asks for confirmation before applying the inventory adjustment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:177 -msgid "Change inventory count frequency" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:179 -msgid "By default, the *scheduled date* for inventory adjustments are always scheduled for the 31st of December of the current year. However, for some companies, it is crucial that they have an accurate inventory count at all times. In such cases, the default scheduled date can be modified." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:183 -msgid "To modify the default scheduled date, go to :menuselection:`Inventory app --> Configuration --> Settings`. Then, in the :guilabel:`Operations` section, locate the :guilabel:`Annual Inventory Day and Month` setting, which includes a drop-down menu that is set to `31 December` by default." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "Adjust the next inventory count date with the Annual Inventory Day and Month setting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:191 -msgid "To change the day, click the :guilabel:`31`, and change it to a day within the range `1-31`, depending on the desired month of the year." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:194 -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:115 -msgid "Then, to change the month, click :guilabel:`December` to reveal the drop-down menu, and select the desired month." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:197 -msgid "Once all desired changes have been made, click :guilabel:`Save` to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:200 -msgid "Plan big inventory counts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:202 -msgid "To plan big inventory counts, such as a full count of everything currently in stock, first navigate to :menuselection:`Inventory app --> Operations --> Inventory Adjustments`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:205 -msgid "Then, select the desired products to be counted by clicking the checkbox on the far left of each product line." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:209 -msgid "To request a count of **all** products currently in stock, click the checkbox at the very top of the table, in the header row next to the :guilabel:`Location` label. This selects **all** product lines." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:-1 -msgid "Request a count popup on inventory adjustments page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:217 -msgid "Once all desired products have been selected, click the :guilabel:`Request a Count` button at the top of the page. This causes a :guilabel:`Request a Count` pop-up window to appear. From this pop-up, fill in the following information:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:221 -msgid ":guilabel:`Inventory Date`: the planned date of the count." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:222 -msgid ":guilabel:`User`: the user responsible for the count." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:223 -msgid ":guilabel:`Accounting Date`: the date at which the inventory adjustment will be accounted." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:224 -msgid ":guilabel:`Count`: to leave the on-hand quantity of each product line blank, select :guilabel:`Leave Empty`. To prefill the on-hand quantity of each product line with the current value recorded in the database, select :guilabel:`Set Current Value`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:228 -msgid "Finally, once ready, click :guilabel:`Confirm` to request the count." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:231 -msgid "In the Odoo *Barcode* app, users can only view inventory counts that are assigned to **them**, and are scheduled for **today** or **earlier**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products.rst:235 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:3 -msgid "Cycle counts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:5 -msgid "For most companies, warehouse stock only needs to be counted once a year. This is why, by default, after making an *inventory adjustment* in Odoo, the scheduled date for the next inventory count is set for the 31st of December of the current year." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:9 -msgid "However, for some businesses, it's crucial to have an accurate inventory count at all times. These companies use *cycle counts* to keep critical stock levels accurate. Cycle counting is a method by which companies count their inventory more often in certain *locations*, to ensure that their physical inventory counts match their inventory records." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:15 -msgid "Activate storage locations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:17 -msgid "In Odoo, cycle counts are location-based. Therefore, the *storage locations* feature needs to be enabled before performing a cycle count." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:20 -msgid "To enable this feature, navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and scroll down to the :guilabel:`Warehouse` section. Then, click the checkbox next to :guilabel:`Storage Locations`. Click :guilabel:`Save` to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:-1 -msgid "Enabled storage locations setting in inventory settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:29 -msgid "Change inventory count frequency by location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:31 -msgid "Now that the storage locations setting is enabled, the inventory count frequency can be changed for specific locations created in the warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:34 -msgid "To view and edit locations, navigate to :menuselection:`Inventory app --> Configuration --> Locations`. This reveals a :guilabel:`Locations` page containing every location currently created and listed in the warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:38 -msgid "From this page, click into a location to reveal the settings and configuration page for that location. Click :guilabel:`Edit` to edit the location settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:41 -msgid "Under the :guilabel:`Cyclic Inventory` section, locate the :guilabel:`Inventory Frequency (Days)` field, which should be set to `0` (if this location has not been edited previously). In this field, change the value to whichever number of days is desired." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:-1 -msgid "Location frequency setting on location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:50 -msgid "A location that needs an inventory count every 30 days should have the :guilabel:`Inventory Frequency (Days)` value set to `30`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:53 -msgid "Once the frequency has been changed to the desired number of days, click :guilabel:`Save` to save changes. Now, once an inventory adjustment is applied to this location, the next scheduled count date is automatically set, based on the value entered into the :guilabel:`Inventory Frequency (Days)` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:59 -msgid "Count inventory by location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:61 -msgid "To perform a cycle count for a specific location in the warehouse, navigate to :menuselection:`Inventory app --> Operations --> Inventory Adjustments`. This reveals an :guilabel:`Inventory Adjustments` page containing all products currently in stock, with each product listed on its own line." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:66 -msgid "From this page, the :guilabel:`Filters` and :guilabel:`Group By` buttons (at the top of the page, under the :guilabel:`Search...` bar), can be used to select specific locations and perform inventory counts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:-1 -msgid "Inventory adjustments page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:74 -msgid "To select a specific location and view all products within that location, click :guilabel:`Group By`, then click :guilabel:`Add Custom Group` to reveal a new drop-down menu to the right." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:77 -msgid "Click :guilabel:`Location` from the drop-down menu, then click :guilabel:`Apply`. The page now displays condensed drop-down menus of each location in the warehouse that has products in stock, and a cycle count can be performed for all products in that location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:82 -msgid "In large warehouses with multiple locations and a high volume of products, it might be easier to search for the specific location desired. To do this, from the :guilabel:`Inventory Adjustments` page, click :guilabel:`Filters`. Then, click :guilabel:`Add Custom Filter` to reveal a new menu to the right. Click this menu to reveal three drop-downs." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:87 -msgid "For the first field, click and select :guilabel:`Location` from the drop-down. For the second field, leave the :guilabel:`contains` value as is. For the third field, type in the name of the location that is being searched for. Click :guilabel:`Apply` for that location to appear on the page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:-1 -msgid "Applied filters and group by on inventory adjustments page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:97 -msgid "Change full inventory count frequency" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:99 -msgid "While cycle counts are typically performed per location, the scheduled date for full inventory counts of everything in-stock in the warehouse can also be manually changed to push the date up sooner than the date listed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:103 -msgid "To modify the default scheduled date, go to :menuselection:`Inventory app --> Configuration --> Settings`. Then, in the :guilabel:`Operations` section, locate the :guilabel:`Annual Inventory Day and Month` setting field, which includes a drop-down that is set to `31` :guilabel:`December` by default." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:-1 -msgid "Frequency field in inventory app settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:112 -msgid "To change the day, click the `31`, and change it to a day within the range `1-31`, depending on the desired month of the year." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:118 -msgid "Once all changes have been made, click :guilabel:`Save` to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/inventory_adjustments/cycle_counts.rst:121 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/inventory_adjustments/count_products`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers.rst:5 -msgid "Lots and Serial Numbers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:3 -msgid "What's the difference between lots and serial numbers?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:6 -msgid "Introduction" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:8 -msgid "In Odoo, lots and serial numbers have similarities in their functional system but are different in their behavior. They are both managed within the **Inventory**, **Purchases** and **Sales** app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:12 -msgid "**Lots** correspond to a certain number of products you received and store altogether in one single pack." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:15 -msgid "**Serial numbers** are identification numbers given to one product in particular, to allow to track the history of the item from reception to delivery and after-sales." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:20 -msgid "When to use" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:22 -msgid "**Lots** are interesting for products you receive in great quantity and for which a lot number can help in reportings, quality controls, or any other info. Lots will help identify a number of pieces having for instance a production fault. It can be useful for a batch production of clothes or food." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:28 -msgid "**Serial numbers** are interesting for items that could require after-sales service, such as smartphones, laptops, fridges, and any electronic devices. You could use the manufacturer's serial number or your own, depending on the way you manage these products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:34 -msgid "When not to use" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:36 -msgid "Storing consumable products such as kitchen roll, toilet paper, pens and paper blocks in lots would make no sense at all, as there are very few chances that you can return them for production fault." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:40 -msgid "On the other hand, giving a serial number to every product is a time-consuming task that will have a purpose only in the case of items that have a warranty and/or after-sales services. Putting a serial number on bread, for instance, makes no sense at all." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:46 -msgid ":doc:`serial_numbers`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst:47 -msgid ":doc:`lots`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:3 -msgid "Expiration dates" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:5 -msgid "In Odoo, *expiration dates* can be used to manage and track the lifecycles of perishable products, from purchase to sale. Using expiration dates reduces product loss due to unexpected expiry, and helps to avoid sending expired products to customers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:9 -msgid "In Odoo, only products that are tracked using *lots* and *serial numbers* can be assigned expiration information. Once a lot or serial number has been assigned, an expiration date can be set. This is especially helpful for companies (such as food manufacturers) that consistently, or exclusively, buy and sell perishable products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:15 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:17 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:16 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:19 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:19 -msgid "Enable expiration dates" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:21 -msgid "To enable the use of *expiration dates*, go to :menuselection:`Inventory app --> Configuration --> Settings`, and scroll down to the :guilabel:`Traceability` section. Then, click the checkbox to enable the :guilabel:`Lots & Serial Numbers` feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:25 -msgid "Once that feature is activated, a new option will appear to enable :guilabel:`Expiration Dates`. Click that checkbox to enable the feature, and be sure to :guilabel:`Save` changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Enabled lots and serial numbers and expiration dates settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:33 -msgid "Once the :guilabel:`Lots & Serial Numbers` feature is activated, additional features appear to :guilabel:`Display Lots & Serial Numbers on Delivery Slips`; to :guilabel:`Display Lots & Serial Numbers on Invoices`; and to :guilabel:`Display Expiration Dates on Delivery Slips`. Activating these features helps with end-to-end traceability, making it easier to manage product recalls, identify \"bad\" batches of products, and more." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:40 -msgid "Configure expiration dates on products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:42 -msgid "Once the :guilabel:`Lots & Serial Numbers` and :guilabel:`Expiration Dates` features have been enabled in the settings of the *Inventory* app, expiration information can be configured on individual products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:46 -msgid "To do so, go to :menuselection:`Inventory app --> Products --> Products`, and select a product to edit. Selecting a product reveals the product form for that particular item. Once on the product form, click :guilabel:`Edit` in the upper-left corner to make changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:51 -msgid "To be tracked using lots or serial numbers, or to configure expiration information, products *must* have their :guilabel:`Product Type` set as :guilabel:`Storable Product` under the :guilabel:`General Information` tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:55 -msgid "Then, click the :guilabel:`Inventory` tab, and scroll down to the :guilabel:`Traceability` section. From here, make sure that either :guilabel:`By Unique Serial Number` or :guilabel:`By Lots` is checked." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:59 -msgid "Once it is, a new :guilabel:`Expiration Date` checkbox appears that must also be clicked. When both are enabled, a new :guilabel:`Dates` field appears to the right." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:63 -msgid "If a product has stock on-hand prior to activating tracking by lots or serial numbers, an inventory adjustment might need to be performed in order to assign lot numbers to the existing stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:68 -msgid "For processing large quantities of products on receipts or deliveries, it is recommended to track using lots, so multiple products can be traced back to the same lot, if any issues arise." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Expiration dates configuration on the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:75 -msgid "Under the :guilabel:`Dates` field, there are four categories of expiration information to configure for the product:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:78 -msgid ":guilabel:`Expiration Time`: the number of days after receiving products (either from a vendor or in stock after production) in which goods may become dangerous and should not be used or consumed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:80 -msgid ":guilabel:`Best Before Time`: the number of days before the expiration date in which the goods start deteriorating, **without** necessarily being dangerous yet." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:82 -msgid ":guilabel:`Removal Time`: the number of days before the expiration date in which the goods should be removed from stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:84 -msgid ":guilabel:`Alert Time`: the number of days before the expiration date in which an alert should be raised on goods in a particular lot or containing a particular serial number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:88 -msgid "The values entered into these fields automatically compute the expiration date for goods entered into stock, whether purchased from a vendor or manufactured in-house." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:91 -msgid "Once all the expiration information has been configured, click :guilabel:`Save` to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:94 -msgid "If the :guilabel:`Dates` field is not populated with any values for expiration information, dates (and lots) can be manually assigned upon receipts and deliveries in and out of the warehouse. Even when assigned, they can still be overwritten and changed manually if needed, as well." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:99 -msgid "Set expiration dates on receipts with lots & serial numbers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:101 -msgid "Generating expiration dates for **incoming** goods can be done directly from the purchase order. To create a purchase order, go to the :menuselection:`Purchase` app and click :guilabel:`Create` to create a new request for quotation (RFQ)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:105 -msgid "Then, fill out the information by adding a :guilabel:`Vendor`, and add products to the :guilabel:`Product` lines by clicking :guilabel:`Add a product`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:108 -msgid "Choose the desired quantity to order by changing the number in the :guilabel:`Quantity` column, and click :guilabel:`Confirm Order`. This converts the :abbr:`RFQ (request for quotation)` into a purchase order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:112 -msgid "Click the :guilabel:`Receipt` smart button at the top of the purchase order to be taken to the warehouse receipt form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:116 -msgid "Clicking :guilabel:`Validate` before assigning a serial number to the ordered product quantities causes a :guilabel:`User Error` popup to appear. The popup requires entry of a lot or serial number for the ordered products. The :abbr:`RFQ (request for quotation)` cannot be validated without an assigned lot or serial number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:0 -msgid "User error popup when validating an order with no lot number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:125 -msgid "From here, click the :guilabel:`Additional Options` menu (hamburger) icon located on the far-right of the product line. When clicked, a :guilabel:`Detailed Operations` pop-up will appear." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:128 -msgid "In this pop-up, click :guilabel:`Add a line`, and assign a lot or serial number under the :guilabel:`Lot/Serial Number Name` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:131 -msgid "An expiration date automatically populates, based on the configuration on the product form (if previously configured)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:135 -msgid "If the :guilabel:`Dates` field on the product form has not been configured, this date can be manually entered." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:138 -msgid "After the expiration date has been established, mark the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the pop-up. Finally, click :guilabel:`Validate`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Detailed operations popup showing expiration dates for ordered products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:145 -msgid "A :guilabel:`Traceability` smart button will appear upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document; the :guilabel:`Product` being traced; the :guilabel:`Lot/Serial #`; and more." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:151 -msgid "Set expiration dates on manufactured products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:153 -msgid "Expiration dates can also be generated for products manufactured in-house. To assign expiration dates to manufactured products, a manufacturing order (MO) needs to be completed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:156 -msgid "To create a :abbr:`MO (manufacturing order)`, go to :menuselection:`Manufacturing app --> Operations --> Manufacturing Orders`, and click :guilabel:`Create`. Choose a product to manufacture from the :guilabel:`Product` field drop-down menu, then select the :guilabel:`Quantity` to produce." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Manufacturing order for product with expiration date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:165 -msgid "To manufacture a product, there must be materials to consume in the lines in the :guilabel:`Product` column. This can be achieved either by creating a :guilabel:`Bill of Material` for the :guilabel:`Product`, or manually adding materials to consume by clicking :guilabel:`Add a line`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:170 -msgid "Once ready, click :guilabel:`Confirm`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:172 -msgid "Next to :guilabel:`Lot/Serial Number`, either select an existing lot number from the drop-down menu, or click the green :guilabel:`+` sign to automatically assign a new lot number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:175 -msgid "Then, select a number of units for the :guilabel:`Quantity` field, and click :guilabel:`Mark as Done`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:178 -msgid "Click on the :guilabel:`External Link` icon in the assigned :guilabel:`Lot/Serial Number` field. A pop-up appears, revealing a detail form for that specific number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:181 -msgid "On that pop-up, under the :guilabel:`Dates` tab, all expiration information that was previously configured for the product is displayed. That same information is also available on the detail form for that specific product, or by going to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Dates tab with expiration information for specific lot number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:191 -msgid "Sell products with expiration dates" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:193 -msgid "Selling perishable products with expiration dates is done the same as any other type of product. The first step in selling perishable products is to create a sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:196 -msgid "To do that, go to :menuselection:`Sales app --> Create` to create a new quotation, and fill out the information on the sales order form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:199 -msgid "Add a :guilabel:`Customer`, click :guilabel:`Add a product` to add the desired products to the :guilabel:`Product` lines, and set a :guilabel:`Quantity` for the products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:202 -msgid "Then, click the :guilabel:`Other Info` tab. Under the :guilabel:`Delivery` section, change the :guilabel:`Delivery Date` to a date after the expected date, and click the :guilabel:`green checkmark` icon to confirm the date. Finally, click :guilabel:`Confirm` to confirm the sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:206 -msgid "Next, click the :guilabel:`Delivery` smart button at the top of the sales order to see the warehouse receipt form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:209 -msgid "On the warehouse receipt form, click :guilabel:`Validate`, and then :guilabel:`Apply` in the accompanying pop-up window, to automatically process all :guilabel:`Done` quantities, and deliver the products to the customer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:213 -msgid "If the products are delivered before the :guilabel:`Alert Date` set on the product form, then no alerts will be created." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:217 -msgid "To sell perishable products with expiration dates, the :guilabel:`Removal Strategy` for the :guilabel:`Location` the products are stored in must be set to :abbr:`FEFO (First Expiry, First Out)`. If there is not enough stock of perishable products in one lot, Odoo will automatically take the remaining quantity required from a second lot with the next-soonest expiration date. Removal strategies can also be set on :guilabel:`Product Categories`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:224 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:211 -msgid ":doc:`/applications/inventory_and_mrp/inventory/routes/strategies/removal`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:227 -msgid "View expiration dates for lots & serial numbers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:229 -msgid "To view (and/or group) all products with expiration dates by lot number, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:232 -msgid "Once there, remove any default search filters from the :guilabel:`Search...` bar. Then, click :guilabel:`Group By`, choose :guilabel:`Add Custom Group`, and select the :guilabel:`Expiration Date` parameter from the drop-down menu. Finally, click :guilabel:`Apply` to apply the filter." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:236 -msgid "Doing so breaks down all perishable products, their expiration dates, and the assigned lot number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Group by expiration dates on lots and serial numbers page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:243 -msgid "Expiration alerts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:245 -msgid "To see expiration alerts, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:247 -msgid "Then, click into a :guilabel:`Lot/Serial Number` with perishable products. Doing so reveals the serial number detail form. On the serial number detail form, click the :guilabel:`Dates` tab to see all expiration information related to the products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:251 -msgid "To edit the form, click :guilabel:`Edit` in the upper-left corner of the form, then change the :guilabel:`Expiration Date` to today's date (or earlier), and click :guilabel:`Save` to save changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:255 -msgid "After saving, the lot number form displays a red :guilabel:`Expiration Alert` at the top of the form to indicate that the products in this lot are either expired or expiring soon. From here, click back to the :guilabel:`Lots/Serial Numbers` page (via the breadcrumbs)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:259 -msgid "To see the new expiration alert, or any expiration alerts for products that are expired (or will expire soon), remove all of the search filters from the :guilabel:`Search...` bar on the :guilabel:`Lots/Serial Numbers` dashboard." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:263 -msgid "Then, click :guilabel:`Filters`, and choose :guilabel:`Expiration Alerts`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/expiration_dates.rst:-1 -msgid "Expiration alert for product past the expiration date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:3 -msgid "Use lots to manage groups of products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:5 -msgid "*Lots* are one of the two ways to identify and track products in Odoo. A lot usually indicates a specific batch of an item that was received, is currently stored, or was shipped from a warehouse, but can also pertain to a batch of products manufactured in-house, as well." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:9 -msgid "Manufacturers assign lot numbers to groups of products that have common properties; this can lead to multiple goods sharing the same lot number. This helps to identify a number of products in a single group, and allows for end-to-end traceability of these products through each step in their lifecycles." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:14 -msgid "Lots are useful for products that are manufactured or received in large quantities (such as clothes or food), and can be used to trace a product back to a group. This is especially useful when managing product recalls or expiration dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:22 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:20 -msgid "Enable lots & serial numbers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:24 -msgid "To track products using lots, the *Lots & Serial Numbers* feature must be enabled. Go to the :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Then, click the :guilabel:`Save` button to save changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "Enabled lots and serial numbers feature in inventory settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:36 -msgid "Track products by lots" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:38 -msgid "Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now be configured to be tracked using lots. To do this, go to the :menuselection:`Inventory app --> Products --> Products`, and choose a product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:42 -msgid "Once on the product form, click :guilabel:`Edit` to make changes to the form. Then, click the :guilabel:`Inventory` tab. In the :guilabel:`Traceability` section, click :guilabel:`By Lots`. Then, click :guilabel:`Save` to save changes. Existing or new lot numbers can now be assigned to newly-received or manufactured batches of this product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:48 -msgid "If a product has stock on-hand prior to activating tracking by lots or serial numbers, an inventory adjustment might need to be performed to assign lot numbers to the existing stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "Enabled tracking by lots feature on product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:56 -msgid "Create new lots for products already in stock" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:58 -msgid "New lots can be created for products already in stock with no assigned lot number. To do this, go to the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and click :guilabel:`Create`. Doing so reveals a separate page where a new :guilabel:`Lot/Serial Number` is generated automatically." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:64 -msgid "While Odoo automatically generates a new :guilabel:`Lot/Serial Number` to follow the most recent number, it can be edited and changed to any desired number, by clicking the line under the :guilabel:`Lot/Serial Number` field, and changing the generated number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:68 -msgid "Once the new :guilabel:`Lot/Serial Number` is generated, click the blank field next to :guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new number will be assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:72 -msgid "This form also provides the option to adjust the :guilabel:`Quantity`, assign a unique :guilabel:`Internal Reference` number (for traceability purposes), and assign this specific lot or serial number configuration to a specific website in the :guilabel:`Website` field (if working in a multi-website environment)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:77 -msgid "A detailed description of this specific lot or serial number can also be added in the :guilabel:`Description` tab below." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:80 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:81 -msgid "When all desired configurations are complete, click the :guilabel:`Save` button to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "New lot number creation form with assigned product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:86 -msgid "After a new lot number has been created, saved, and assigned to the desired product, navigate back to the product form in the :menuselection:`Inventory` app, by going to :menuselection:`Products --> Products`, and selecting the product to which this newly-created lot number was just assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:90 -msgid "On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new lot number. When additional quantity of this product is received or manufactured, this new lot number can be selected and assigned to it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:95 -msgid "Manage lots for shipping and receiving" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:97 -msgid "Lot numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, lot numbers are assigned directly on the purchase order form. For outgoing goods, lot numbers are assigned directly on the sales order form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:102 -msgid "Manage lots on receipts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:104 -msgid "Assigning lot numbers to **incoming** goods can be done directly from the purchase order (PO)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:106 -msgid "To create a :abbr:`PO (purchase order)`, go to :menuselection:`Purchase app --> Create`. Doing so reveals a new, blank request for quotation (RFQ) form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:109 -msgid "On this :abbr:`RFQ (request for quotation)`, fill out the necessary information by adding a :guilabel:`Vendor`, and adding the desired products to the :guilabel:`Product` lines, by clicking :guilabel:`Add a product` (under the :guilabel:`Products` tab)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:113 -msgid "Choose the desired quantity of the product to order by changing the number in the :guilabel:`Quantity` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:116 -msgid "Once the :abbr:`RFQ (request for quotation)` has been filled out, click :guilabel:`Confirm Order`. When the :abbr:`RFQ (request for quotation)` is confirmed, it becomes a :guilabel:`Purchase Order`, and a :guilabel:`Receipt` smart button appears. Click the :guilabel:`Receipt` smart button to be taken to the warehouse receipt form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:122 -msgid "Clicking :guilabel:`Validate` before assigning a lot number to the ordered product quantities will result in a :guilabel:`User Error` pop-up. The pop-up requires entry of a lot or serial number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated without a lot number being assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "Add lot/serial number user error popup." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:131 -msgid "From here, click the :guilabel:`Additional Options` menu, represented by a :guilabel:`hamburger (four horizontal lines)` icon, located to the right of the :guilabel:`Unit of Measure` column in the :guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:135 -msgid "In this pop-up, configure a number of different fields, including the assignation of a lot number, under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:138 -msgid "There are two ways to assign lot numbers: **manually** and **copy/paste**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:140 -msgid "**Manually assign lot numbers**: Click :guilabel:`Add a line` and choose the location the products will be stored in under the :guilabel:`To` column. Then, type a new :guilabel:`Lot Number Name` and set the :guilabel:`Done` quantity." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:0 -msgid "Assign lot number detailed operations popup." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:149 -msgid "If quantities should be processed in multiple locations and lots, click :guilabel:`Add a line` and type a new :guilabel:`Lot Number Name` for additional quantities. Repeat until the :guilabel:`Quantity Done` matches the :guilabel:`Demand`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:153 -msgid "**Copy/paste lot numbers from a spreadsheet**: Populate a spreadsheet with all of the lot numbers received from the supplier (or manually chosen to assign upon receipt). Then, copy and paste them in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary number of lines based on the amount of numbers pasted in the column. From here, the :guilabel:`To` locations and :guilabel:`Done` quantities can be manually entered in each of the lot number lines." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:0 -msgid "List of lot numbers copied on excel spreadsheet." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:163 -msgid "Once all product quantities have been assigned a lot number, click :guilabel:`Confirm` to close the pop-up. Then, click :guilabel:`Validate`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:166 -msgid "A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Lot/Serial #` assigned, and more." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:172 -msgid "Manage lots on delivery orders" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:174 -msgid "Assigning lot numbers to **outgoing** goods can be done directly from the sales order (SO)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:176 -msgid "To create an :abbr:`SO (sales order)`, go to the :menuselection:`Sales app --> Create`. Doing so reveals a new, blank quotation form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:179 -msgid "On this blank quotation form, fill out the necessary information by adding a :guilabel:`Customer`, and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab) by clicking :guilabel:`Add a product`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:183 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:221 -msgid "Then, choose the desired quantity to sell by changing the number in the :guilabel:`Quantity` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:185 -msgid "Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the quotation. When the quotation is confirmed, it becomes an :abbr:`SO (sales order)`, and a :guilabel:`Delivery` smart button appears." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:189 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:227 -msgid "Click the :guilabel:`Delivery` smart button to view the warehouse receipt form for that specific :abbr:`SO (sales order)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:192 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:132 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:230 -msgid "From here, click the :guilabel:`Additional Options` menu, represented by a `hamburger` icon (four horizontal lines, located to the right of the :guilabel:`Unit of Measure` column in the :guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:196 -msgid "In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with the full :guilabel:`Reserved` quantity taken from that specific lot (if there is enough stock in that particular lot)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:200 -msgid "If there is insufficient stock in that lot, or if partial quantities of the :guilabel:`Demand` should be taken from multiple lots, change the quantity in the :guilabel:`Done` column to only include that specific part of the total quantity." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:205 -msgid "The lot automatically chosen for delivery orders varies, depending on the selected removal strategy (:abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expiry, First Out)`). It will also depend on the quantity ordered, and if there is enough quantity in one lot to fulfill the order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:213 -msgid "Then, click :guilabel:`Add a line`, select an additional (different) :guilabel:`Lot/Serial Number`, apply the rest of the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the pop-up. Lastly, click the :guilabel:`Validate` button to deliver the products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "Detailed operations popup for source lot number on sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:221 -msgid "Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:226 -msgid "The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the previous purchase order, if the product quantities shared the same lot number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:230 -msgid "Manage lots for different operations types" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:232 -msgid "In Odoo, the creation of new lots is only allowed upon **receiving** products from a purchase order, by default. **Existing** lot numbers cannot be used." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:235 -msgid "For sales orders, the opposite is true: new lot numbers cannot be created on the delivery order, only existing lot numbers can be used." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:238 -msgid "To change the ability to use new (or existing) lot numbers on any operation type, go to the :menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired :guilabel:`Operation Type`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:242 -msgid "For :guilabel:`Receipts`, found on the :menuselection:`Operations Types` page, the :guilabel:`Use Existing Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and then clicking the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the :guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:247 -msgid "For :guilabel:`Delivery Orders`, the :guilabel:`Create New Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New Lots/Serial Numbers` option. Be sure to click the :guilabel:`Save` button to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "Enabled traceability setting on operations type form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:256 -msgid "For inter-warehouse transfers involving products tracked by lots, it can be useful to enable the :guilabel:`Use Existing Lots/Serial Numbers` option for warehouse receipts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:260 -msgid "Lots traceability" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:262 -msgid "Manufacturers and companies can refer to traceability reports to see the entire lifecycle of a product: where (and when) it came from, where it was stored, and who (and when) it went to." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:265 -msgid "To see the full traceability of a product, or group by lots, go to the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. Doing so reveals the :menuselection:`Lots/Serial Numbers` dashboard." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:269 -msgid "From here, products with lot numbers assigned to them will be listed by default, and can be expanded to show the lot numbers those products have assigned to them." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:272 -msgid "To group by lots (or serial numbers), begin by removing any filters in the search bar. Then, click the :guilabel:`Group By` drop-down, select :guilabel:`Add Custom Group`, and select :guilabel:`Lot/Serial Number` from the drop-down menu. Then, click :guilabel:`Apply`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:276 -msgid "Doing so displays all existing lots and serial numbers, and can be expanded to show all quantities of products with that assigned number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:-1 -msgid "Lots and serial numbers traceability report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots.rst:284 -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:319 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:3 -msgid "Use serial numbers to track products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:5 -msgid "*Serial numbers* are one of the two ways to identify and track products in Odoo. A serial number is a unique identifier assigned incrementally (or sequentially) to an item or product, used to distinguish it from other items and products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:9 -msgid "Serial numbers can consist of many different types of characters: they can be strictly numerical, they can contain letters and other typographical symbols, or they can be a mix of all of the above." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:12 -msgid "The goal of assigning serial numbers to individual products is to make sure that every item's history is identifiable when it travels through the supply chain. This can be especially useful for manufacturers that provide after-sales services to products that they sell and deliver." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:22 -msgid "To track products using serial numbers, the :guilabel:`Lots & Serial Numbers` feature must be enabled. To enable this, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Remember to click the :guilabel:`Save` button to save changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "Enabled lots and serial numbers setting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:34 -msgid "Configure serial number tracking on products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:36 -msgid "Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now be tracked using serial numbers. To configure this, go to :menuselection:`Inventory app --> Products --> Products`, and choose a desired product to track." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:40 -msgid "Once on the product form, click :guilabel:`Edit`, and click the :guilabel:`Inventory` tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:42 -msgid "Once on the product form, click :guilabel:`Edit`, navigate to the :guilabel:`Inventory` tab, and scroll to the :guilabel:`Traceability` section. Then, select the :guilabel:`By Unique Serial Number` option, and click :guilabel:`Save` to save the changes. Existing or new serial numbers can now be selected and assigned to newly-received or manufactured batches of this product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "Enabled serial number tracking on product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:52 -msgid "If a product doesn't have a serial number assigned to it, a user error pop-up window will appear. The error message states that the product(s) in stock have no lot/serial number. However, a lot/serial number can be assigned to the product by making an inventory adjustment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:57 -msgid "Create new serial numbers for products already in stock" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:59 -msgid "New serial numbers can be created for products already in stock with no assigned serial number. To do this, go to :menuselection:`Inventory --> Products --> Lots/Serial Numbers`, and click :guilabel:`Create`. Doing so reveals a blank lots/serial numbers form. On this form, a new :guilabel:`Lot/Serial Number` is generated automatically." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:65 -msgid "While Odoo automatically generates a new lot/serial number to follow the most recent number, it can be edited and changed to any desired number, by clicking the line under the :guilabel:`Lot/Serial Number` field, and changing the generated number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:69 -msgid "Once the :guilabel:`Lot/Serial Number` is generated, click the blank field next to :guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new number will be assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:73 -msgid "This form also provides the option to adjust the :guilabel:`Quantity`, to assign a unique :guilabel:`Internal Reference` number (for traceability purposes), and to assign this specific lot/serial number configuration to a specific website in the :guilabel:`Website` field (if working in a multi-website environment)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:78 -msgid "A detailed description of this specific lot/serial number can also be added in the :guilabel:`Description` tab below." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "New serial number created for existing product stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:87 -msgid "After a new serial number has been created, assigned to the desired product, and saved, navigate back to the product form, by going to :menuselection:`Products --> Products`, and selecting the product that this newly-created serial number was just assigned to." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:91 -msgid "On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new serial number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:95 -msgid "Manage serial numbers for shipping and receiving" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:97 -msgid "Serial numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, serial numbers are assigned directly on the purchase order form. For outgoing goods, serial numbers are assigned directly on the sales order form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:102 -msgid "Manage serial numbers on receipts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:104 -msgid "Assigning serial numbers to **incoming** goods can be done directly from the purchase order (PO)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:106 -msgid "To create a :abbr:`PO (purchase order)`, go to the :menuselection:`Purchase app --> Create`. Doing so reveals a new, blank request for quotation (RFQ) form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:109 -msgid "On this :abbr:`RFQ (request for quotation)` form, fill out the necessary information, by adding a :guilabel:`Vendor`, and by adding the desired products to the :guilabel:`Product` lines, by clicking :guilabel:`Add a product`, under the :guilabel:`Products` tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:113 -msgid "Choose the desired quantity of the product to order, by changing the number in the :guilabel:`Quantity` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:116 -msgid "When the necessary configurations are complete, click :guilabel:`Confirm Order`. This will convert the :abbr:`RFQ (request for quotation)` to a purchase order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:119 -msgid "Then, click the :guilabel:`Receipt` smart button to be taken to the warehouse receipt form page for that specific :abbr:`PO (purchase order)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:123 -msgid "Clicking :guilabel:`Validate` before assigning a serial number to the ordered product quantities will cause a :guilabel:`User Error` pop-up to appear. The pop-up requires entry of a lot or serial number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated without a serial number being assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "User error popup prompting serial number entry." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:136 -msgid "In this pop-up, configure a number of different fields, including the assignation of a serial number (or serial numbers) under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:140 -msgid "There are three ways to do this: manually assigning serial numbers, automatically assigning serial numbers, and copy/pasting serial numbers from a spreadsheet." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:144 -msgid "Assign serial numbers manually" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:146 -msgid "To assign serial numbers manually, click :guilabel:`Add a line` from the :guilabel:`Detailed Operations` pop-up, and first choose the location where the product will be stored under the :guilabel:`To` column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:150 -msgid "Then, type a new :guilabel:`Serial Number Name`, and set the :guilabel:`Done` quantity in the appropriate columns." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:153 -msgid "Repeat this process for the quantity of products shown in the :guilabel:`Demand` field, and until the :guilabel:`Quantity Done` field displays the correct (matching) number of products processed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:157 -msgid "Assign serial numbers automatically" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:159 -msgid "If a large quantity of products need individual serial numbers assigned to them, Odoo can automatically generate and assign serial numbers to each of the individual products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:162 -msgid "To accomplish this, start with the :guilabel:`First SN` field in the :guilabel:`Detailed Operations` pop-up window, and type the first serial number in the desired order to be assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:165 -msgid "Then, in the :guilabel:`Number of SN` field, type the total number of items that need newly-generated unique serial numbers assigned to them." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:168 -msgid "Finally, click :guilabel:`Assign Serial Numbers`, and a list will populate with new serial numbers matching the ordered quantity of products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "Automatic serial number assignment in detailed operations popup." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:176 -msgid "Copy/paste serial numbers from a spreadsheet" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:178 -msgid "To copy and paste serial numbers from an existing spreadsheet, first populate a spreadsheet with all of the serial numbers received from the supplier (or manually chosen upon receipt). Then, copy and paste them in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary number of lines based on the amount of numbers pasted in the column." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:183 -msgid "From here, the :guilabel:`To` locations and :guilabel:`Done` quantities can be manually entered in each of the serial number lines." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "List of serial numbers copied in Excel spreadsheet." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:191 -msgid "For purchase orders that include large quantities of products to receive, the best method of serial number assignment is to automatically assign serial numbers using the :guilabel:`Assign Serial Numbers` button located on the :abbr:`PO (purchase order)`. This prevents any serial numbers from being reused or duplicated, and improves traceability reporting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:196 -msgid "Once all product quantities have been assigned a serial number, click the :guilabel:`Confirm` button to close the pop-up. Then, click :guilabel:`Validate`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:199 -msgid "A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Lot/Serial #`, and more." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:204 -msgid "Once all product quantities have been assigned a serial number, click :guilabel:`Confirm` to close the popup, and click :guilabel:`Validate`. A :guilabel:`Traceability` smart button will appear upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Lot/Serial #`, and more." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:211 -msgid "Manage serial numbers on delivery orders" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:213 -msgid "Assigning serial numbers to **outgoing** goods can be done directly from the sales order (SO)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:215 -msgid "To create an :abbr:`SO (sales order)`, navigate to the :menuselection:`Sales` app, and click the :guilabel:`Create` button. Doing so reveals a new, blank quotation form. On this blank quotation form, fill out the necessary information, by adding a :guilabel:`Customer`, and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab), by clicking :guilabel:`Add a product`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:223 -msgid "Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the quotation. When the quotation is confirmed, the quotation becomes an :abbr:`SO (sales order)`, and a :guilabel:`Delivery` smart button appears." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:234 -msgid "In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with each product of the total :guilabel:`Reserved` quantity listed with their unique serial numbers (most likely listed in sequential order)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:238 -msgid "To manually change a product's serial number, click the drop-down menu under :guilabel:`Lot/Serial Number`, and choose (or type) the desired serial number. Then, mark the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:242 -msgid "Finally, click the :guilabel:`Validate` button to deliver the products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "Serial numbers listed in detailed operations popup." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:248 -msgid "Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:253 -msgid "The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the previous purchase order (PO), if any of the product quantities shared a serial number assigned during receipt of that specific :abbr:`PO (purchase order)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:258 -msgid "Manage serial numbers for different operations types" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:260 -msgid "By default in Odoo, the creation of new serial numbers is only allowed upon **receiving** products from a purchase order. **Existing** serial numbers cannot be used. For sales orders, the opposite is true: new serial numbers cannot be created on the delivery order, only existing serial numbers can be used." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:265 -msgid "To change the ability to use new (or existing) serial numbers on any operation type, go to :menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired :guilabel:`Operation Type`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:269 -msgid "For the :guilabel:`Receipts` operation type, found on the :guilabel:`Operations Types` page, the :guilabel:`Use Existing Lots/Serial Numbers` option can be enabled, by selecting :guilabel:`Receipts` from the :guilabel:`Operations Types` page, clicking :guilabel:`Edit`, and then clicking the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the :guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:275 -msgid "For the :guilabel:`Delivery Orders` operation type, located on the :guilabel:`Operations Types` page, the :guilabel:`Create New Lots/Serial Numbers` option can be enabled, by selecting :guilabel:`Delivery Orders` from the :guilabel:`Operations Types` page, clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New Lots/Serial Numbers` option (in the :guilabel:`Traceability` section). Be sure to click :guilabel:`Save` to save changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "Enabled traceability setting in operations type form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:286 -msgid "Serial number traceability" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:288 -msgid "Manufacturers and companies can refer to the traceability reports to see the entire lifecycle of a product: where it came from (and when), where it was stored, and who it went to." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:291 -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/management/lots_serial_numbers/serial_numbers.rst:295 -msgid "From here, products with serial numbers assigned to them will be listed by default, and can be expanded to show what serial numbers have been specifically assigned to them." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:298 -msgid "To group by serial numbers (or lots), first remove any default filters from the search bar in the upper-right corner. Then, click :guilabel:`Group By`, and select :guilabel:`Add Custom Group`, which reveals a mini drop-down menu. From this mini drop-down menu, select :guilabel:`Lot/Serial Number`, and click :guilabel:`Apply`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:303 -msgid "Doing so reveals all existing serial numbers and lots, and can be expanded to show all quantities of products with that assigned number. For unique serial numbers that are not reused, there should be just one product per serial number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:-1 -msgid "Serial numbers reporting page with drop-down lists." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst:312 -msgid "For additional information regarding an individual serial number (or lot number), click the line item for the serial number to reveal that specific serial number's :guilabel:`Serial Number` form. From this form, click the :guilabel:`Location` and :guilabel:`Traceability` smart buttons to see all stock on-hand using that serial number, and any operations made using that serial number." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc.rst:5 -msgid "Miscellaneous Operations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:3 -msgid "Batch picking" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:7 -msgid "*Batch picking* enables a single picker to handle multiple orders at once, reducing the time needed to navigate to the same location in a warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:10 -msgid "When picking in batches, orders are grouped and consolidated into a picking list. After the picking, the batch is taken to an output location, where the products are sorted into their respective delivery packages." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:15 -msgid ":ref:`Use Barcode app for pickings `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:17 -msgid "Since orders *must* be sorted at the output location after being picked, this picking method suits businesses with a few products that are ordered often. Storing high-demand items in easily accessible locations can increase the number of orders that are fulfilled efficiently." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:24 -msgid "To activate the batch picking option, begin by going to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` section, check the :guilabel:`Batch Transfers` box." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -msgid "Enable the *Batch Transfers* in Inventory > Configuration > Settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:32 -msgid "Since batch picking is a method to optimize the *pick* operation in Odoo, the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` options under the :guilabel:`Warehouse` heading must also be checked on this settings page. When finished, click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:-1 -msgid "Enable *Storage Locations* and *Multi-Step Routes* Inventory > Configuration > Settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:40 -msgid "Lastly, enable the warehouse picking feature, by navigating to the warehouse settings page, which is accessible from :menuselection:`Inventory app --> Configuration --> Warehouses`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:43 -msgid "From here, select the desired warehouse from the list. Then, from the radio options available for :guilabel:`Outgoing Shipments`, select either the :guilabel:`Send goods in output and then deliver (2 steps)` or :guilabel:`Pack goods, send goods in output and then deliver (3 steps)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:48 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:131 -msgid ":ref:`Delivery in two steps `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:49 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:132 -msgid ":ref:`Delivery in three steps `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -msgid "Set up 2-step or 3-step outgoing shipments." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:56 -msgid "Create batch transfers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:58 -msgid "Manually create batch transfers directly from the :menuselection:`Inventory app --> Operations --> Batch Transfers` page. Click the :guilabel:`New` button to begin creating a batch transfer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:61 -msgid "On the batch transfer form, fill the following fields out accordingly:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:63 -msgid ":guilabel:`Responsible`: employee assigned to the picking. Leave this field blank if *any* worker can fulfill this picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:65 -msgid ":guilabel:`Operation Type`: from the drop-down menu, select the operation type under which the picking is categorized." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:67 -msgid ":guilabel:`Scheduled Date`: specifies the date by which the :guilabel:`Responsible` person should complete the transfer to the output location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:70 -msgid "Next, in the :guilabel:`Transfers` list, click :guilabel:`Add a line` to open the :guilabel:`Add: Transfers` window." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:73 -msgid "If the :guilabel:`Operation Type` field was filled, the list will filter transfer records matching the selected :guilabel:`Operation Type`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:76 -msgid "Click the :guilabel:`New` button to create a new transfer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:78 -msgid "Once the transfer records are selected, click :guilabel:`Confirm` to confirm the batch picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:81 -msgid "A new batch transfer assigned to the :guilabel:`Responsible`, `Joel Willis`, for the `Pick` :guilabel:`Operation Type`. The :guilabel:`Scheduled Date` is set to `August 11`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:0 -msgid "View of *Batch Transfers* form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:88 -msgid "Clicking the :guilabel:`Add a line` button opens the :guilabel:`Add:Transfers` window, displaying only pickings. This is because the :guilabel:`Operation Type` was set to `Pick` on the batch transfer form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:92 -msgid "Click the checkbox to the left of the transfers, `WH/PICK/00001` and `WH/PICK/00002`, to include them in the new transfer. Then, click the :guilabel:`Select` button to close the :guilabel:`Add:Transfers` window." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:0 -msgid "Select multiple transfers from the *Add:Transfers* window." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:101 -msgid "Add batch from transfers list" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:103 -msgid "Another method of creating batch transfers is available using the :guilabel:`Add to batch` option in a list. Navigate to the :menuselection:`Inventory app --> Operations` drop-down menu, and select any of the :guilabel:`Transfers` to open a filtered list of transfers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -msgid "Show all transfer types in a drop-down menu: Receipts, Deliveries, Internal Transfers,\n" -"Manufacturings, Batch Transfers, Dropships." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:112 -msgid "On the transfers list, select the checkbox to the left of the selected transfers to add in a batch. Next, navigate to the :guilabel:`Actions ⚙️ (gear)` button, and click :guilabel:`Add to batch` from the resulting drop-down menu." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Use *Add to batch* button, from the *Action* button's list." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:120 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:151 -msgid "Doing so opens an :guilabel:`Add to batch` pop-up window, wherein the employee :guilabel:`Responsible` for the picking can be assigned." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:123 -msgid "Choose from the two radio options to add to :guilabel:`an existing batch transfer` or create :guilabel:`a new batch transfer`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:126 -msgid "To begin with a draft, select the :guilabel:`Draft` checkbox." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:128 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:160 -msgid "Conclude the process by clicking :guilabel:`Confirm`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:-1 -msgid "Show *Add to batch* window to create a batch transfer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:135 -msgid "Process batch transfer" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:137 -msgid "Handle batch transfers in the :menuselection:`Inventory app --> Operations --> Batch Transfers` page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:140 -msgid "From here, select the intended transfer from the list. Then, on the batch transfer form, input the :guilabel:`Done` quantities for each product, under the :guilabel:`Detailed Operations` tab. Finally, select :guilabel:`Validate` to complete the picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:145 -msgid "Be certain the batch transfer is complete when the :guilabel:`Validate` button is highlighted in purple. If the :guilabel:`Check Availability` button is highlighted instead, that means there are items in the batch that are currently *not* available in-stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:152 -msgid "In a batch transfer involving products from pickings, `WH/PICK/00001` and `WH/PICK/00002`, the :guilabel:`Detailed Operations` tab shows that the product, `Cabinet with Doors`, has been picked because the :guilabel:`Done` column matches the value in the :guilabel:`Reserved` column. However, `0.00` quantities have been picked for the other product, `Cable Management Box`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:0 -msgid "Show batch transfer of products from two pickings in the *Detailed Operations* tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:161 -msgid "Only in-stock products are visible in the :guilabel:`Detailed Operations` tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:163 -msgid "To view the complete product list, switch to the :guilabel:`Operations` tab. On this list, the :guilabel:`Demand` column indicates the required quantity for the order. The :guilabel:`Reserved` column shows the available stock to fulfill the order. Lastly, the :guilabel:`Done` column specifies the products that have been picked, and are ready for the next step." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:169 -msgid "The product, `Desk Pad`, from the same batch as the :ref:`example above `, is only visible in the :guilabel:`Operations` tab because there are no :guilabel:`Reserved` quantities in-stock to fulfill the batch picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:173 -msgid "Click the :guilabel:`Check Availability` button to search the stock again for available products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:0 -msgid "Show unavailable reserved quantities in the *Operations* tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:180 -msgid "Create backorder" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:182 -msgid "On the batch transfer form, if the :guilabel:`Done` quantity of the product is *less* than the :guilabel:`Reserved` quantity, a pop-up window appears." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:185 -msgid "This pop-up window provides the option: :guilabel:`Create Backorder?`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:187 -msgid "Clicking the :guilabel:`Create Backorder` button automatically creates a new batch transfer, containing the remaining products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:190 -msgid "Click :guilabel:`No Backorder` to finish the picking *without* creating another batch picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:192 -msgid "Click :guilabel:`Discard` to cancel the validation, and return to the batch transfer form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -msgid "Show the *Create Backorder* pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:201 -msgid "Process batch transfer: Barcode app" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:203 -msgid "Created batch transfers are also listed in the :menuselection:`Barcode` app, accessible by selecting the :guilabel:`Batch Transfers` button." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:206 -msgid "By default, confirmed batch pickings appear on the :guilabel:`Batch Transfers` page. On that page, click on the desired batch transfer to open the detailed list of products for the picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:-1 -msgid "Show list of to-do batch transfers in *Barcode* app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:213 -msgid "For the chosen batch transfer, follow the instructions at the top of the page in the black background. Begin by scanning the product's barcode to record a single product for picking. To record multiple quantities, click the :guilabel:`✏️ (pencil)` icon, and enter the required quantities for the picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:219 -msgid "Products from the same order are labeled with the same color on the left. Completed pickings are highlighted in green." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:223 -msgid "In a batch transfer for 2 `Cabinet with Doors`, 3 `Acoustic Bloc Screens`, and 4 `Four Person Desks`, the `3/3` and `4/4` :guilabel:`Units` indicate that the last two product pickings are complete." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:227 -msgid "`1/2` units of the `Cabinet with Doors` has already been picked, and after scanning the product barcode for the second cabinet, Odoo prompts the user to `Scan a serial number` to record the unique serial number for :ref:`product tracking `." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:0 -msgid "Display products to be picked in barcode view." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst:235 -msgid "Once all the products have been picked, click on :guilabel:`Validate` to mark the batch transfer as :guilabel:`Done`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:3 -msgid "Cluster picking" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:10 -msgid "Cluster picking is an advanced order fulfillment approach derived from :ref:`batch picking `." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:13 -msgid "In this strategy, pickers load a cart with multiple packages, each designated for a specific *sales order* (SO). Then, the picker travels to each storage location, and places the products directly in the package of the associated order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:17 -msgid "This method is most efficient for medium-sized companies, with high order volumes, and relatively few unique products, since the method eliminates the need for sorting products into packages for customers after picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:21 -msgid "However, cluster picking does have some disadvantages. For instance, urgent orders cannot be prioritized, and optimized batches must be manually created beforehand. As a result, the picking process can lead to bottlenecks." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:28 -msgid "|SO| 1 calls for one apple and orange" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:29 -msgid "|SO| 2 calls for one apple and banana" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:30 -msgid "|SO| 3 calls for one apple, orange, and banana" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:32 -msgid "Apples are stored in Shelf A, oranges in Shelf B, and bananas in Shelf C." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:34 -msgid "To pick products for three orders at once, the cart is loaded with three empty packages." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:36 -msgid "Starting at Shelf A, the picker places apples into each package. Next, the picker navigates to Shelf B, and places oranges in the packages designated for |SO| 1 and |SO| 3. Finally, the picker pushes the cart to Shelf C, and loads packages for |SO| 2 and |SO| 3 with a banana, each." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:40 -msgid "With the packages for all three |SOS| packed, the picker pushes the cart to the output location, where the packages are sealed and prepared for shipment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Show example of fulfilling sales orders 2 and 3 at once." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:50 -msgid "To enable cluster picking, begin by navigating to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` heading, activate the :guilabel:`Packages` and :guilabel:`Batch Transfers` options." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:-1 -msgid "Activate *Packages* and *Batch Transfers* features in the settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:58 -msgid "Since batch picking is used to optimize the *pick* operation in Odoo, the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` options, under the :guilabel:`Warehouse` heading, must also be checked on this settings page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:62 -msgid "*Storage locations* allow products to be stored in specific locations they can be picked from, while *multi-step routes* enable the picking operation itself." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:65 -msgid "When finished, click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:74 -msgid "Packages setup" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:76 -msgid "After the :guilabel:`Packages` feature is enabled, navigate to :menuselection:`Inventory app --> Products --> Packages`, and click the :guilabel:`New` button to create a new package." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:79 -msgid "On the new package form, the :guilabel:`Package Reference` is pre-filled with the next available `PACK` number in the system. :guilabel:`Pack Date` is automatically set to the creation date of the form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:83 -msgid "For the :guilabel:`Package Use` field, the :guilabel:`Disposable Box` option should be selected if the package is used for a shipping. Alternatively, the :guilabel:`Reusable Box` option should be selected if the package is simply used as a method of grouping products from the same |SO| together before they are moved to the intended shipping box at the output location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:89 -msgid ":ref:`Packages `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:92 -msgid "A package intended for cluster picking is named `CLUSTER-PACK-3` for easy identification. For this workflow, the products are directly packed using their intended shipping boxes, so :guilabel:`Package Use` is set to :guilabel:`Disposable Box`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Create new package form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:101 -msgid "Create cluster batch" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:103 -msgid "To see how cluster picking works in Odoo, navigate to the :menuselection:`Sales` app, and create |SOS| that will be fulfilled together in the same batch. After confirming an |SO|, the :guilabel:`Delivery` smart button becomes visible. Displayed inside the icon is a number representing the amount of steps in the outgoing shipment process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:109 -msgid "Begin by creating three |SOS| for the apples, oranges, and bananas, as shown in the :ref:`example above `." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:112 -msgid "After confirming the |SO|, the :guilabel:`Delivery` smart button displays the number `2`, indicating there are two operations to complete: `Pick` and `Delivery`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Example sales order for an apple, orange, and banana." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:119 -msgid "With the |SOS| created, orders now must be grouped into batches. To do so, navigate to the *Inventory* dashboard and select the operation type card, :guilabel:`Delivery Orders` or :guilabel:`Pick` (whichever is the first operation in the delivery flow)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:123 -msgid "Doing so displays a filtered list of outgoing operations with the :guilabel:`Ready` status, indicating that all the products in the |SO| are in stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:127 -msgid "Cluster pick batches can be created for outgoing shipments in one, two, or three steps." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:130 -msgid ":ref:`Delivery in one step `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:134 -msgid "Click the checkbox to the left of the corresponding outgoing operation to add them to the batch. With the desired pickings selected, click the :guilabel:`⚙️ Actions (gear)` button, and select the :guilabel:`Add to batch` option from the resulting drop-down menu." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:139 -msgid "To create a cluster batch, as shown in the :ref:`example above `, in a warehouse configured with two-step outgoing shipments, the following pick operations are selected:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:143 -msgid "`WH/PICK/00007`: linked to |SO| 88 for one apple and orange." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:144 -msgid "`WH/PICK/00008`: linked to |SO| 89 for one apple and banana." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:145 -msgid "`WH/PICK/00009`: linked to |SO| 90 for one apple, orange, and banana." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:154 -msgid "Choose from the two options in the :guilabel:`Add to` field to either: add to :guilabel:`an existing batch transfer`, or create :guilabel:`a new batch transfer`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:157 -msgid "To create draft batch pickings to be confirmed at a later date, select the :guilabel:`Draft` checkbox." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:167 -msgid "Process batches" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:169 -msgid "To process batches, navigate to :menuselection:`Inventory app --> Operations --> Batch Transfers`. Click on a batch to select it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:172 -msgid "In the :guilabel:`Detailed Operations` tab, products that are to be picked are grouped by location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:174 -msgid "Under the :guilabel:`Source Package` or :guilabel:`Destination Package` field, enter the package used for the picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:178 -msgid "Use the :guilabel:`Source Package` field when the picking package is configured as *reusable* on the :ref:`package form `. This means the products are temporarily placed in a container during picking, before getting transferred to their final shipping box." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:182 -msgid "Alternatively, use the :guilabel:`Destination Package` field when the product is directly placed in its *disposable* shipping box during picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:186 -msgid "Process the cluster batch for the three orders of apples, oranges, and bananas :ref:`example ` by assigning each picking to a dedicated package." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:189 -msgid "At the storage location for apples, `WH/Stock/Shelf A`, assign the apples in all three pickings to one of the three disposable packages, `CLUSTER-PACK-1`, `CLUSTER-PACK-2`, or `CLUSTER-PACK-3`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:192 -msgid "Record this in Odoo using the :guilabel:`Destination Package` field in the :guilabel:`Detailed Operations` tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Example of processing cluster pickings in *Inventory*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:200 -msgid "In Barcode" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:202 -msgid "To process cluster pickings directly from the *Barcode* app, select the :guilabel:`Batch Transfers` button from the *Barcode* dashboard. Then, select the desired batch." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:205 -msgid "On the batch transfer screen, the products in the picking are grouped by location, and each line is color-coded to associate products in the same picking together." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:208 -msgid "Then, follow the prompt to :guilabel:`Scan the source location` barcode for the storage location of the first product. Then, scan the barcode for the product and package to process the transfer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:211 -msgid "Repeat this for all products, and click the :guilabel:`Validate` button." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:214 -msgid "To find the package barcode, navigate to :menuselection:`Inventory app --> Products --> Packages`, select the desired package, click the :guilabel:`⚙️ (gear)` icon at the top of the package form, and select the :guilabel:`Print` option." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:218 -msgid "Next, select one of the three print options to generate the package barcode from the :guilabel:`Package Reference` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Display where the package barcode can be generated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:226 -msgid "Begin processing the cluster picking by going to the first storage location, `Shelf A`, and scanning the :ref:`location barcode `. Doing so highlights all the pickings that need products from this particular location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:230 -msgid "Scan the barcode for the apple, which highlights the picking (labeled in red) for the product `Apple`, for the picking, `WH/PICK/00007`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:233 -msgid "Then, scan the `CLUSTER-PACK-1` package barcode, and place the product in the designated package." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:0 -msgid "Example of cluster batch from the *Barcode* app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/cluster_picking.rst:240 -msgid "After creating a batch transfer and assigning a package to a picking, Odoo suggests the specified package by displaying the name *in italics* under the product name, ensuring pickers place products into the correct boxes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:3 -msgid "Consignment: buy and sell stock without owning it" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:5 -msgid "Most of the time, products stored in a company's warehouse are either purchased from suppliers, or are manufactured in-house. However, suppliers will sometimes let companies store and sell products in the company's warehouse, without having to buy those items up-front. This is called *consignment*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:10 -msgid "Consignment is a useful method for suppliers to launch new products, and easily deliver to their customers. It's also a great way for the company storing the products (the consignee) to earn something back for their efforts. Consignees can even charge a fee for the convenience of storing products they don't actually own." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:16 -msgid "Enable the consignment setting" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:18 -msgid "To receive, store, and sell consignment stock, the feature needs to be enabled in the settings. To do this, go to :menuselection:`Inventory --> Configuration --> Settings`, and under the :guilabel:`Traceability` section, check the box next to :guilabel:`Consignment`, and then click :guilabel:`Save` to finish." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:-1 -msgid "Enabled Consignment setting in Inventory configuration." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:28 -msgid "Receive (and store) consignment stock" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:30 -msgid "With the feature enabled in Odoo, consignment stock can now be received into a warehouse. From the main :menuselection:`Inventory` dashboard, click into the :guilabel:`Receipts` section. Then, click :guilabel:`Create`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:35 -msgid "Consignment stock is not actually purchased from the vendor; it is simply received and stored. Because of this, there are no quotations or purchase orders involved in receiving consignment stock. So, *every* receipt of consignment stock will start by creating manual receipts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:39 -msgid "Choose a vendor to enter in the :guilabel:`Receive From` field, and then choose the same vendor to enter in the :guilabel:`Assign Owner` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:43 -msgid "Since the products received from the vendor will be owned by the same vendor, the :guilabel:`Receive From` and :guilabel:`Assign Owner` fields must match." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:46 -msgid "Once the vendor-related fields are set, enter products into the :guilabel:`Product` lines, and set the quantities to be received into the warehouse under the :guilabel:`Done` column. If the :guilabel:`Units of Measure` feature is enabled, the :abbr:`UoM (Units of Measure)` can be changed, as well. Once all the consignment stock has been received, :guilabel:`Validate` the receipt." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:-1 -msgid "Matching vendor fields in consignment Receipt creation." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:56 -msgid "Sell and deliver consignment stock" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:58 -msgid "Once consignment stock has been received into the warehouse, it can be sold the same as any other in-stock product that has the :guilabel:`Can Be Sold` option enabled on the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:61 -msgid "To create a sales order, navigate to the :menuselection:`Sales` app, and from the :guilabel:`Quotations` overview, click :guilabel:`Create`. Next, choose a customer to enter into the :guilabel:`Customer` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:66 -msgid "The :guilabel:`Customer` *must* be different from the :guilabel:`Vendor` that supplied the consignment stock received (and stored) in the warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:69 -msgid "Add the consignment product under the :guilabel:`Product` column in the order lines, set the :guilabel:`Quantity`, and fill out any other pertinent product details on the form. Once the quotation is complete, click :guilabel:`Confirm`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:-1 -msgid "Sales order of consignment stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:77 -msgid "Once the :abbr:`RFQ (Request for Quotation)` has been confirmed, it will become a sales order. From here, the products can be delivered by clicking on the :guilabel:`Delivery` smart button, and selecting :guilabel:`Validate` to validate the delivery." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:82 -msgid "Traceability and reporting of consignment stock" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:84 -msgid "Although consignment stock is owned by the vendor who supplied it, and not by the company storing it in their warehouse, consignment products will *still* appear in certain inventory reports." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:87 -msgid "To find inventory reports, go to :menuselection:`Inventory --> Reporting`, and choose a report to view." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:91 -msgid "Since the consignee does not actually own consigment stock, these products are *not* reflected in the :guilabel:`Stock Valuation` report, and have no impact on the consignee's inventory valuation." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:96 -msgid "Product moves report" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:98 -msgid "To view all information about on-hand stock moves, navigate to the the :guilabel:`Product Moves` dashboard by going to :menuselection:`Inventory --> Reporting --> Product Moves`. For consignment products, the information in this report is the same as any other product: the history of its product moves can be reviewed; the :guilabel:`Quantity Done` and :guilabel:`Reference` document are available; and its :guilabel:`Locations` are available, as well. The consignment stock will originate from :guilabel:`Partner Location/Vendors`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:106 -msgid "To view a consignment product's moves by ownership, select the :guilabel:`Group By` filter, choose the :guilabel:`Add Custom Group` parameter, and then select :guilabel:`From Owner`, and :guilabel:`Apply` to finish." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:-1 -msgid "Consignment stock moves history." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:115 -msgid "To see forecasted units of consignment stock, go to :menuselection:`Inventory --> Reporting --> Forecasted Inventory`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:119 -msgid "Stock on hand report" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst:121 -msgid "View the :guilabel:`Stock On Hand` dashboard by navigating to :menuselection:`Inventory --> Reporting --> Inventory Report`. From this report, the :guilabel:`Locations` of all stock on-hand are displayed, in addition to the quantities per location. For consigment products, the :guilabel:`Owner` column will be populated with the owner of those products, or the original vendor who supplied the products in the first place." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:3 -msgid "Process wave transfers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:5 -msgid "While a batch transfer is a group of several pickings, a **wave transfer** only contains some parts of different pickings. Both methods are used to pick orders in a warehouse, and depending on the situation, one method may be a better fit than the other." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:9 -msgid "To handle orders of a specific product category, or fetch products that are at the same location, wave transfers are the ideal method." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:12 -msgid "In Odoo, wave transfers are actually batch transfers with an extra step: transfers are split before being grouped in a batch." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:18 -msgid "Before a wave transfer can be created, the :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers` options must be activated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:21 -msgid "First, go to :menuselection:`Inventory --> Configuration --> Settings`. In the :guilabel:`Operations` section, enable :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers`. Then, click :guilabel:`Save` to apply the settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:-1 -msgid "View of Odoo Inventory app settings to enable the wave transfers option." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:30 -msgid "Add products to a wave" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:32 -msgid "Now that the settings are activated, start a wave transfer by adding products to a wave." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:34 -msgid "Wave transfers can only contain product lines from transfers of the same operation type. To view all the transfers and product lines in a specific operation, first go to the :guilabel:`Inventory` dashboard and locate the desired operation type's card. Then, open the options menu (the three dots icon in the corner of the operation type's card) and click :guilabel:`Operations`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:-1 -msgid "How to get an operation type's list of operations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:43 -msgid "On the operations page, select the product lines you want to add in a new or existing wave. Then, click :guilabel:`Add to Wave`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:-1 -msgid "Select lines to add to the wave." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:51 -msgid "Use the :guilabel:`Filters` in the search bar to group lines with the same product, location, carrier, etc..." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:54 -msgid "After that, a pop-up box appears." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:56 -msgid "To add the selected lines to an existing wave transfer, select the :guilabel:`an existing wave transfer` option and select the existing wave transfer from the drop-down menu." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:59 -msgid "To create a new wave transfer, select the :guilabel:`a new wave transfer` option. If creating a new wave transfer, an employee can also be set in the optional :guilabel:`Responsible` field. Once the desired options are selected, click :guilabel:`Confirm` to add the product lines to a wave." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:64 -msgid "View wave transfers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/misc/wave_transfers.rst:66 -msgid "To view all wave transfers and their statuses, go to :menuselection:`Inventory --> Operations --> Wave Transfers`. Wave transfers can also be viewed in the :guilabel:`Barcode` app by going to :menuselection:`Barcode --> Batch Transfers`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning.rst:5 -msgid "Planning" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:3 -msgid "Scheduled delivery dates" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:5 -msgid "Accurately forecasting delivery dates is vital for fulfilling customer expectations. In Odoo, the *Inventory* app allows for comprehensive lead time configuration, allowing coordination and planning of manufacturing orders, deliveries, and receptions." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:10 -msgid "Lead time types" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:12 -msgid "Different lead times for different operations can impact various stages of the order fulfillment process. Here's a summary of the types of lead times in Odoo:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:-1 -msgid "Show graphic of all lead times working together." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:19 -msgid ":ref:`Customer lead time `: The default time frame for fulfilling customer orders. The customer lead time is the number of days from the date the sales order (SO) is confirmed to the date the products are shipped from the warehouse. This is also known as *delivery lead time*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:24 -msgid ":ref:`Sales security lead time `: moves the *scheduled delivery date* forward by a specified number of days. This serves as a buffer to allow the team ample time to prepare the outgoing shipment earlier, considering the possibility of delays in the fulfillment process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:29 -msgid ":ref:`Purchase lead time `: the number of days from the confirmation of a purchase order (PO) to the receipt of products. It provides insight on the time it takes for products to arrive at the warehouse, facilitating effective scheduling and planning of supplier deliveries." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:34 -msgid ":ref:`Purchase security lead time `: advances the order deadline on a :abbr:`PO (Purchase Order)` by a specified number of days. This proactive approach of placing orders earlier mitigates the risk of vendor or shipping delays. Thus, for products that are set to replenish to order, the need appears on the *Replenishment report* earlier, according to the specified number of days." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:40 -msgid ":ref:`Manufacturing lead time `: the number of days needed to complete a manufacturing order (MO) from the date of confirmation. This lead time includes weekends (non-working hours in Odoo), and is used to forecast an approximate production date for a finished good." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:45 -msgid ":ref:`Manufacturing security lead time `: moves the scheduled date of the :abbr:`MO (Manufacturing Order)` forward by a specified number of days. When used in conjunction with :ref:`replenish to order `, the security lead time makes the need appear earlier on the replenishment report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:53 -msgid "Sales lead times" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:55 -msgid "Customer lead times and sales security lead times can be configured to automatically compute an *expected delivery date* on a :abbr:`SO (Sales Order)`. The expected delivery date ensures a realistic *delivery dates* setting for shipments from the warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:59 -msgid "Odoo issues a warning message if the set delivery date is earlier than the expected date, as it may not be feasible to fulfill the order by that time, which would impact other warehouse operations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:63 -msgid "A :abbr:`SO (Sales Order)` containing a `Coconut-scented candle` is confirmed on July 11th. The product has a customer lead time of 14 days, and the business uses a sales security lead time of 1 day. Based on the lead time inputs, Odoo suggests a delivery date in 15 days, on July 26th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "Set *Delivery Date* in a sales order. Enables delivery lead times feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:71 -msgid "The following sections demonstrate how to automatically compute expected delivery dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:74 -msgid "Customer lead time" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:76 -msgid "Set the customer lead time on each product form, by navigating to the products page. To do so, go to :menuselection:`Sales app --> Products --> Products`. From there, select the desired product, and switch to the :guilabel:`Inventory` tab. Then, under the :guilabel:`Customer Lead Time` field, fill in the number of calendar days required to fulfill the delivery order from start to finish." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:82 -msgid "Set a 14-day customer lead time for the `Coconut-scented candle` by navigating to its product form. Then, in the :guilabel:`Inventory` tab, type `14.00` days into the :guilabel:`Customer Lead Time` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "Set *Customer Lead Time* on the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:93 -msgid "Sales security lead time" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:95 -msgid "*Sales security lead time* is set globally for the business in :menuselection:`Inventory app --> Configuration --> Settings`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:98 -msgid "On the configuration page, under the :guilabel:`Advanced Scheduling` heading, locate the box for :guilabel:`Security Lead Time for Sales`, and click the checkbox to enable the feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:101 -msgid "Next, enter the desired number of calendar days. This security lead time is a buffer notifying the team to prepare for outgoing shipments earlier than the scheduled date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:105 -msgid "Setting the :guilabel:`Security Lead Time for Sales` to `1.00` day, pushes the :guilabel:`Scheduled Date` of a delivery order (DO) forward by one day. In that case, if a product is initially scheduled for delivery on April 6th, but with a one-day security lead time, the new scheduled date for the delivery order would be April 5th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "View of the security lead time for sales configuration from the sales settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:115 -msgid "Deliver several products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:117 -msgid "For orders that include multiple products with different lead times, the lead times can be configured directly from the quotation itself. On a quotation, click the :guilabel:`Other Info` tab, and set the :guilabel:`Shipping Policy` to:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:121 -msgid ":guilabel:`As soon as possible` to deliver products as soon as they are ready. The :guilabel:`Scheduled Date` of the :abbr:`DO (Delivery Order)` is determined by adding today's date to the shortest lead time among the products in the order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:125 -msgid ":guilabel:`When all products are ready` to wait to fulfill the entire order at once. The :guilabel:`Scheduled Date` of the :abbr:`DO (Delivery Order)` is determined by adding today's date to the longest lead time among the products in the order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:-1 -msgid "Show *Shipping Policy* field in the *Other Info* tab of a quotation." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:134 -msgid "In a quotation containing 2 products, `Yoga mat` and `Resistance band,` the products have a lead time of 8 days and 5 days, respectively. Today's date is April 2nd." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:137 -msgid "When the :guilabel:`Shipping Policy` is set to :guilabel:`As soon as possible`, the scheduled delivery date is 5 days from today: April 7th. On the other hand, selecting :guilabel:`When all products are ready` configures the scheduled date to be 8 days from today: April 10th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:144 -msgid "Purchase lead times" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:146 -msgid "Automatically determining the dates on which to place orders from suppliers can help simplify the procurement process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:149 -msgid "Odoo calculates the supplier shipment *receipt date*, and :abbr:`PO (Purchase Order)` deadline, based on the required date the product is needed in the warehouse. By working backwards from the receipt date, vendor lead times and purchase security lead times are taken into account, in order to determine the :abbr:`PO (Purchase Order)` deadline." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:154 -msgid "This deadline is the date by which the order should be confirmed, in order to ensure timely arrival by the expected receipt date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:-1 -msgid "Visualization of PO deadline and receipt date used with vendor lead times." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:162 -msgid ":ref:`PO scheduling with reordering rules `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:165 -msgid "Vendor lead time" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:167 -msgid "To set a vendor lead time for orders arriving in the warehouse from a vendor location, begin by navigating to a product form through :menuselection:`Purchase app --> Products --> Products`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:170 -msgid "Next, select the desired product, and switch to the :guilabel:`Purchase` tab. In the editable vendor pricelist, click the :guilabel:`Add a line` button to add vendor details, such as the :guilabel:`Vendor` name, :guilabel:`Price` offered for the product, and lastly, the :guilabel:`Delivery Lead Time`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:176 -msgid "Multiple vendors and lead times can be added to the vendor pricelist. The default vendor and lead time selected will be the entry at the top of the list." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:180 -msgid "On the vendor pricelist of the product form, the :guilabel:`Delivery Lead Time` for the selected vendor is set to `10 days.`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "Add delivery lead times to vendor pricelist on a product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:187 -msgid "By setting the vendor lead time, the expected arrival date of the item is automatically determined as the date of the :abbr:`PO (Purchase Order)` confirmation, plus the vendor lead time. This ensures that warehouse employees are notified, if the products do **not** arrive within the expected timeframe." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:193 -msgid "On a :abbr:`PO (Purchase Order)` confirmed on July 11th, for a product configured with a 10-day vendor lead time, Odoo automatically sets the :guilabel:`Receipt Date` to July 21st. The receipt date also appears as the :guilabel:`Scheduled Date` on the warehouse receipt form, accessible from the :guilabel:`Receipt` smart button, located on the :guilabel:`PO (Purchase Order)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "Show expected *Receipt Date* of the product from the vendor." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "Show expected *Scheduled Date* of arrival of the product from the vendor." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:209 -msgid "Purchase security lead time" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:211 -msgid "*Purchase security lead time* is set globally for the business in :menuselection:`Inventory app --> Configuration --> Settings`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:214 -msgid "On the configuration page, under the :guilabel:`Advanced Scheduling` heading, locate the box for :guilabel:`Security Lead Time for Purchase`, and click the checkbox to enable the feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:217 -msgid "Next, enter the desired number of calendar days. By configuring the security lead time, a buffer is set to account for potential delays in supplier deliveries." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:221 -msgid "Setting the :guilabel:`Security Lead Time for Purchase` to `2.00` days, pushes the :guilabel:`Scheduled Date` of receipt back by one day. In that case, if a product is initially scheduled to arrive on April 6th, with a two-day security lead time, the new scheduled date for the receipt would be April 8th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "Set security lead time for purchase from the Inventory > Configuration > Settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:233 -msgid "Manufacturing lead times" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:235 -msgid "Lead times can help simplify the procurement process for consumable materials and components used in manufactured products with bills of materials." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:238 -msgid "The :abbr:`MO (Manufacturing Order)` deadline, which is the deadline to begin the manufacturing process to complete the product by the scheduled delivery date, can be determined by configuring the manufacturing lead times and manufacturing security lead times." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:-1 -msgid "Visualization of the determination of planned MO date manufacturing lead times." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:247 -msgid "Manufacturing lead time" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:249 -msgid "Configure the manufacturing lead time directly on the product form, by navigating to :menuselection:`Manufacturing app --> Products --> Products`, and select the desired product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:252 -msgid "In the :guilabel:`Inventory` tab of the product, specify the calendar days needed to the manufacture the product in the :guilabel:`Manufacturing Lead Time` field." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:256 -msgid "Specify a 14-day :guilabel:`Manufacturing Lead Time` for a product directly in the :guilabel:`Inventory` tab of the product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:0 -msgid "View of the manufacturing lead time configuration from the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:263 -msgid "Establish a :abbr:`MO (Manufacturing Order)` deadline, based on the *expected delivery date*, indicated in the :guilabel:`Scheduled Date` field of the :abbr:`DO (Delivery Order)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:266 -msgid "The :abbr:`MO (Manufacturing Order)` deadline, which is the :guilabel:`Scheduled Date` field on the :abbr:`MO (Manufacturing Order)`, is calculated as the *expected delivery date* subtracted by the manufacturing lead time." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:270 -msgid "This ensures the manufacturing process begins on time, in order to meet the delivery date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:272 -msgid "However, it's important to note that lead times are based on calendar days. Lead times do **not** consider weekends, holidays, or *work center capacity* (:dfn:`the number of operations that can be performed at the work center simultaneously`)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:277 -msgid ":ref:`Manufacturing planning `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:278 -msgid ":ref:`Configure automatic MO scheduling with reordering rules `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:282 -msgid "A product's scheduled shipment date on the :abbr:`DO (Delivery Order)` is August 15th. The product requires 14 days to manufacture. So, the latest date to start the :abbr:`MO (Manufacturing Order)` to meet the commitment date is August 1st." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:289 -msgid "Manufacturing security lead time" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:291 -msgid "*Manufacturing security lead time* is set globally for the business in :menuselection:`Manufacturing app --> Configuration --> Settings`. Under the :guilabel:`Planning` heading, locate the box for :guilabel:`Security Lead Time`, and click the checkbox to enable the feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:295 -msgid "Next, enter the desired number of calendar days. By configuring the security lead time, a buffer is set to account for potential delays in the manufacturing process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:-1 -msgid "View of the security lead time for manufacturing from the manufacturing app settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:303 -msgid "A product has a scheduled shipment date on the :abbr:`DO (Delivery Order)` set for August 15th. The manufacturing lead time is 7 days, and manufacturing security lead time is 3 days. So, the :guilabel:`Scheduled Date` on the :abbr:`MO (Manufacturing Order)` reflects the latest date to begin the manufacturing order. In this example, the planned date on the :abbr:`MO (Manufacturing Order)` is August 5th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:310 -msgid "Global example" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:312 -msgid "See the following example to understand how all the lead times work together to ensure timely order fulfillment:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:315 -msgid "**Sales security lead time**: 1 day" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:316 -msgid "**Manufacturing security lead time**: 2 days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:317 -msgid "**Manufacturing lead time**: 3 days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:318 -msgid "**Purchase security lead time**: 1 day" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:319 -msgid "**Vendor lead time**: 4 days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:321 -msgid "The customer places an order for a manufactured product on September 1st, and the scheduled delivery date from the warehouse is on September 20th. Odoo uses lead times and automated reordering rules to schedule the necessary operations, based on the outgoing shipment delivery date, September 20th:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:-1 -msgid "Show timeline of how lead times work together to schedule warehouse operations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:329 -msgid "**September 1st**: Sales order created, confirmed by salesperson." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:331 -msgid "**September 9th**: Deadline to order components to ensure they arrive in time when manufacturing begins (4-day supplier lead time)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:334 -msgid "**September 13th**: Scheduled date of receipt for components. Initially, it was set to 9/14, but the 1-day purchase security lead time pushed the date earlier by 1 day." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:337 -msgid "**September 14th**: Deadline to begin manufacturing. Calculated by subtracting the manufacturing lead time of 3 days, and the manufacturing security lead time of 2 days, from the expected delivery date of September 19th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:341 -msgid "**September 19th**: :guilabel:`Scheduled Date` on the delivery order form indicates the updated expected delivery date, which was originally set as September 20th. But the sales security lead time pushed the date forward by a day." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst:345 -msgid "Odoo's replenishment planning maps a business' order fulfillment process, setting pre-determined deadlines and raw material order dates, including buffer days for potential delays. This ensures products are delivered on time." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/products.rst:5 -#: ../../content/applications/inventory_and_mrp/purchase/products.rst:5 -msgid "Products" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:3 msgid "Replenish on order (MTO)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:9 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:9 msgid "*Replenish on order*, also known as *MTO* (make to order), is a replenishment strategy that creates a draft order for a product every time a sales order is created for it. For products that are purchased from a vendor, a request for quotation (RFQ) is created, while a sales order for a product manufactured in-house triggers the creation of a manufacturing order. The creation of a |RFQ| or manufacturing order occurs every time a sales order is created, regardless of the current stock level of the product being ordered." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:17 msgid "Unarchive the Replenish on Order (MTO) route" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:19 msgid "By default, Odoo sets the |MTO| route as *archived*. This is because |MTO| is a somewhat niche workflow that is only used by certain companies. However, it is easy to unarchive the route in just a few simple steps." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:23 msgid "To do so, begin by navigating to :menuselection:`Inventory --> Configuration --> Routes`. On the :guilabel:`Routes` page, click the :guilabel:`Filters` button and select the :guilabel:`Archived` option. This shows all routes that are currently archived." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:-1 msgid "The archived filter on the Routes page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:31 msgid "Enable the checkbox next to :guilabel:`Replenish on Order (MTO)`, then click the :guilabel:`Action` button to reveal a drop-down menu. From the drop-down menu, select :guilabel:`Unarchive`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:-1 msgid "The unarchive action on the Routes page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:38 msgid "Finally, remove the :guilabel:`Archived` filter from the :guilabel:`Search...` bar. The :guilabel:`Routes` page will now show all available routes, including :guilabel:`Replenish on Order (MTO)`, which is now selectable on the inventory tab of each product page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:-1 msgid "The MTO route appears on the Routes page after unarchiving it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:47 msgid "Configure a product to use the MTO route" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:49 msgid "With the |MTO| route unarchived, products can now be properly configured to use replenish on order. To do so, begin by going to :menuselection:`Inventory --> Products --> Products`, then select an existing product, or click :guilabel:`Create` to configure a new one." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:53 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:53 msgid "On the product page, select the :guilabel:`Inventory` tab and enable the :guilabel:`Replenish on Order (MTO)` route in the :guilabel:`Routes` section, along with one other route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:57 msgid "The :guilabel:`Replenish on Order (MTO)` route **does not** work unless another route is selected as well. This is because Odoo needs to know how to replenish the product when an order is placed for it (buy it, manufacture it, etc.)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:-1 msgid "Select the MTO route and a second route on the Inventory tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:65 msgid "If the product is purchased from a vendor to fulfill sales orders, enable the :guilabel:`Can be Purchased` checkbox under the product name. Doing so makes the :guilabel:`Purchase` tab appear alongside the other settings tabs below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:69 msgid "Select the :guilabel:`Purchase` tab and specify a :guilabel:`Vendor` and the :guilabel:`Price` they sell the product for." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:-1 msgid "Enable \"Can be Purchased\" and specify a vendor." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:76 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:76 msgid "If the product is manufactured, make sure that it has a bill of materials (BOM) configured for it. To do so, click the :guilabel:`Bill of Materials` smart button at the top of the screen, then click :guilabel:`Create` on the :guilabel:`Bill of Materials` page to configure a new |BOM| for the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:81 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:81 msgid "On the blank |BOM| form, add the components used to manufacture the product on the :guilabel:`Components` tab, along with the operations required for the manufacturing workflow on the :guilabel:`Operations` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:85 msgid "Finally, click :guilabel:`Save` to save the |BOM|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:88 msgid "Fulfill a sales order using the MTO route" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:90 msgid "After configuring a product to use the |MTO| route, a replenishment order is created for it every time a sales order including the product is confirmed. The type of order created depends on the second route selected in addition to |MTO|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:94 msgid "For example, if *Buy* was the second route selected, then a purchase order is created upon confirmation of a sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:98 msgid "When the |MTO| route is enabled for a product, a replenishment order is always created upon confirmation of a sales order. This is the case even if there is enough stock of the product on-hand to fulfill the sales order, without buying or manufacturing additional units of it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:102 msgid "While the |MTO| route can be used in unison with a variety of other routes, the *Buy* route is used as the example for this workflow. Begin by navigating to the :menuselection:`Sales` app, then click :guilabel:`Create`, which opens a blank quotation form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:106 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:106 msgid "On the blank quotation form, add a :guilabel:`Customer`, then click :guilabel:`Add a product` under the :guilabel:`Order Lines` tab, and enter a product that has been configured to use the *MTO* and *Buy* routes. Click :guilabel:`Confirm` and the quotation is turned into a sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:110 msgid "A :guilabel:`Purchase` smart button now appears in the top-right corner of the sales order. Clicking it opens the |RFQ| associated with the sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:113 msgid "Click :guilabel:`Confirm Order` to confirm the |RFQ|, and turn it into a purchase order. A green :guilabel:`Receive Products` button now appears at the top of the purchase order. Once the products are received, click :guilabel:`Receive Products` to register them into inventory." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:117 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:117 msgid "Return to the sales order by clicking the :guilabel:`SO` breadcrumb, or by navigating to :menuselection:`Sales --> Orders --> Orders`, and selecting the sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/mto.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/mto.rst:120 msgid "Finally, click the :guilabel:`Delivery` smart button in the top-right of the order to be taken to the delivery order. Once the products have been shipped to the customer, click :guilabel:`Validate` to confirm the delivery." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:3 msgid "Reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:7 msgid "Reordering rules are used to keep forecasted stock levels above a certain threshold without exceeding a specified upper limit. This is accomplished by specifying a minimum quantity that stock should not fall below and a maximum quantity that stock should not exceed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:11 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:11 msgid "Reordering rules can be configured for each product based on the route used to replenish it. If a product uses the *Buy* route, then a Request for Quotation (RFQ) is created when the reordering rule is triggered. If a product uses the *Manufacture* route, then a Manufacturing Order (MO) is created instead. This is the case regardless of the selected replenishment route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:17 msgid "Configure products for reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:19 msgid "In order to use reordering rules for a product, it must first be correctly configured. Begin by navigating to :guilabel:`Inventory --> Products --> Products`, then select an existing product, or create a new one by clicking :guilabel:`Create`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:23 msgid "First, on the :guilabel:`General Information` tab, make sure that the :guilabel:`Product Type` is set to :guilabel:`Storable Product`. This is necessary because Odoo only tracks stock quantities for storable products, and this number is used to trigger reordering rules." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:-1 msgid "Set the Product Type as Storable." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:31 msgid "Next, click on the :guilabel:`Inventory` tab and select one or more routes from the :guilabel:`Routes` section. Doing so tells Odoo which route to use to replenish the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:-1 msgid "Select one or more routes on the Inventory tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:38 msgid "If the product is reordered using the :guilabel:`Buy` route, confirm that the :guilabel:`Can be Purchased` checkbox is enabled under the product name. This makes the :guilabel:`Purchase` tab appear. Click on the :guilabel:`Purchase` tab, and specify at least one vendor, and the price that they sell the product for, so that Odoo knows which company the product should be purchased from." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:-1 msgid "Specify a vendor and price on the Purchase tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:47 msgid "If the product is replenished using the :guilabel:`Manufacture` route, it needs to have at least one Bill of Materials (BoM) associated with it. This is necessary because Odoo only creates manufacturing orders for products with a :abbr:`BoM (Bill of Materials)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:51 msgid "If a :abbr:`BoM (Bill of Materials)` does not already exist for the product, select the :guilabel:`Bill of Materials` smart button at the top of the product form, then click :guilabel:`Create` to configure a new :abbr:`BoM (Bill of Materials)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:-1 msgid "The Bill of Materials smart button on a product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:60 msgid "Create new reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:62 msgid "To create a new reordering rule, navigate to :menuselection:`Inventory --> Configuration --> Reordering Rules`, then click :guilabel:`Create`, and fill out the new line as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:65 msgid ":guilabel:`Product`: The product that is replenished by the rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:66 msgid ":guilabel:`Location`: The location where the product is stored." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:67 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:67 msgid ":guilabel:`Min Quantity`: 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/management/products/reordering_rules.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:70 msgid ":guilabel:`Max Quantity`: The maximum quantity that stock is replenished up to." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:71 msgid ":guilabel:`Multiple Quantity`: Specify if the product should be replenished in batches of a certain quantity (e.g., a product could be replenished in batches of 20)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:73 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:73 msgid ":guilabel:`UoM`: The unit of measure used for reordering the product. This value can simply be `Units` or a specific unit of measurement for weight, length, etc." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:-1 msgid "The form for creating a new reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:81 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:81 msgid "Reordering rules can also be created from each product form. To do so, navigate to :menuselection:`Inventory --> Products --> Products`, then select a product. Click on :menuselection:`Reordering Rules --> Create`, then fill out the new line as detailed above." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:85 msgid "Once a reordering rule has been created for a product, if its forecasted quantity is below the rule's minimum quantity when the scheduler runs, a replenishment order for the product is automatically generated. By default, the scheduler runs once each day." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:90 msgid "To manually trigger a reordering rule before the scheduler runs, select :menuselection:`Inventory --> Operations --> Run Scheduler`. Then, select the green :guilabel:`Run Scheduler` button on the pop-up that appears. Be aware that this also triggers any other scheduled actions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:94 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:94 msgid "If the :guilabel:`Buy` route is selected, then an :abbr:`RFQ (Request for Quotation)` is generated. To view and manage :abbr:`RFQs (Requests for Quotation)`, navigate to :menuselection:`Purchase --> Orders --> Requests for Quotation`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:98 msgid "If the :guilabel:`Manufacture` route is selected, then an :abbr:`MO (Manufacturing Order)` is generated. To view and manage :abbr:`MOs (Manufacturing Orders)`, navigate to :menuselection:`Manufacturing --> Operations --> Manufacturing Orders`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:103 msgid "Set a preferred route for reordering" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:105 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:105 msgid "Odoo allows for multiple routes to be selected under the :guilabel:`Inventory` tab on each product form. For instance, it is possible to select both :guilabel:`Buy` and :guilabel:`Manufacture`, thus enabling the functionality of both routes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:109 msgid "Odoo also enables users to set a preferred route for a product's reordering rule. This is the route that the rule defaults to if multiple are selected. To select a preferred route, begin by navigating to :menuselection:`Inventory --> Configuration --> Reordering Rules`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:113 msgid "By default, the :guilabel:`Preferred Route` column is hidden on the :guilabel:`Reordering Rules` page. Enable it by selecting the :guilabel:`⋮ (three-dot)` option button on the right side of the page and checking the :guilabel:`Preferred Route` checkbox. Doing so reveals the :guilabel:`Preferred Route` column." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:118 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 "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:-1 msgid "Select a preferred route from the drop-down." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/reordering_rules.rst:126 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/reordering_rules.rst:126 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 selected route that is listed first on the :guilabel:`Inventory` tab of the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:3 msgid "Scrap inventory" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:5 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:5 msgid "In some cases, a product in inventory may be damaged or found to be defective. If it is not possible to repair or return the product, Odoo *Inventory* allows users to scrap it, ensuring that usable inventory counts remain accurate." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:10 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:10 #: ../../content/applications/inventory_and_mrp/manufacturing/management/scrap_manufacturing.rst:19 msgid "Scrap orders can be viewed by navigating to :menuselection:`Inventory --> Operations --> Scrap`. Each scrap order shows the date and time the order was created, along with the product and quantity that was scrapped." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:14 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:14 msgid "To view the total quantity of each item scrapped, navigate to :menuselection:`Inventory --> Configuration --> Locations`. Remove the :guilabel:`Internal` filter from the :guilabel:`Search...` bar to display virtual locations. Finally, select the :guilabel:`Virtual Locations/Scrap` location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:19 msgid "By default, scrapping a product removes it from physical inventory, and places it in a virtual location titled *Virtual Locations/Scrap*. A virtual location is **not** a physical space, but rather a designation in Odoo that is used to track items that are no longer in physical inventory." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:23 #: ../../content/applications/inventory_and_mrp/manufacturing/management/configure_manufacturing_product.rst:68 #: ../../content/applications/inventory_and_mrp/manufacturing/management/work_order_dependencies.rst:30 msgid "Learn more" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:25 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:25 msgid "For more information about virtual locations, see the documentation about the different types of :ref:`locations `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:29 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:29 msgid "Scrap from stock" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:31 msgid "To scrap a product located in inventory, begin by navigating to :menuselection:`Inventory --> Operations --> Scrap`. On the :guilabel:`Scrap Orders` page, click :guilabel:`Create` to configure a new scrap order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:35 msgid "On the scrap order, select the product being scrapped from the :guilabel:`Product` drop-down menu, then enter the quantity in the :guilabel:`Quantity` field. The :guilabel:`Source Location` defaults to the location where the product is stored, and the :guilabel:`Scrap Location` defaults to :guilabel:`Virtual Locations/Scrap`, but either of these can be changed by selecting a different location from their respective drop-down menus." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:-1 msgid "A new scrap order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:45 msgid "Finally, click :guilabel:`Validate` to scrap the product. The on-hand inventory count for the scrapped product updates to subtract the scrapped quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:49 msgid "Scrap from a receipt, transfer, or delivery" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:51 msgid "It is also possible to scrap products during the receipt, transfer, and delivery operations. This can be necessary if any products are found to be defective when receiving them into inventory, transferring them from one location to another, or preparing them for delivery." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:55 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:55 msgid "To scrap a product during the receipt, transfer, or delivery operations, begin by navigating to the :menuselection:`Inventory` app. On the :guilabel:`Overview` page, select the :guilabel:`# TO PROCESS` button on the :guilabel:`Receipts`, :guilabel:`Internal Transfers`, or :guilabel:`Delivery Orders` card, depending on the type of operation the product is being scrapped from." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:61 msgid "For the :guilabel:`Internal Transfers` card to appear on the :menuselection:`Overview` page of the :menuselection:`Inventory` app, the :guilabel:`Storage Locations` setting must be enabled. To do so, navigate to :menuselection:`Configuration --> Settings`, then enable the checkbox next to :guilabel:`Storage Locations` under the :guilabel:`Warehouse` heading." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:66 msgid "Alternatively, a list of all delivery orders, receipts, and transfers can be viewed by navigating to :menuselection:`Inventory --> Operations --> Transfers`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:69 msgid "Next, open a delivery order, receipt, or transfer from the corresponding page by clicking on it. A :guilabel:`Scrap` button appears at the top of the page. Click it to open the :guilabel:`Scrap` pop-up window." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:-1 msgid "The scrap pop-up in the Inventory app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:78 msgid "The :guilabel:`Scrap` button will only appear on a receipt that has been validated. This is because Odoo only allows products to be scrapped once they have been entered into inventory." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:81 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:81 msgid "On the :guilabel:`Scrap` pop-up window, select the product being scrapped from the :guilabel:`Product` drop-down menu. Then, enter the quantity in the :guilabel:`Quantity` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:84 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:84 msgid "The :guilabel:`Source Location` defaults to the location where the product is stored, and the :guilabel:`Scrap Location` defaults to :guilabel:`Virtual Locations/Scrap`, but either of these can be changed by selecting a different location from their respective drop-down menus." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:88 msgid "Finally, click :guilabel:`Done` to scrap the product. After doing so, the :guilabel:`Scrap` pop-up window disappears and a :guilabel:`Scraps` smart button appears in the top right of the page. Click it to view all of the scrap orders created from that operation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/scrap_inventory.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/scrap_inventory.rst:-1 msgid "The Scraps smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:3 msgid "Selecting a replenishment strategy" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:10 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:10 msgid "In Odoo, there are two strategies for automatically replenishing inventory: *reordering rules* and the *make to order (MTO)* route. Although these strategies differ slightly, they both have similar consequences: triggering the automatic creation of a |PO| or |MO|. The choice of which strategy to use depends on the business's manufacturing and delivery processes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:16 -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:6 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:6 msgid "Terminology" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:19 -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:56 msgid "Replenishment report and reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:21 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:21 msgid "The replenishment report is a list of all products that have a negative forecast quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:23 msgid "*Reordering rules* are used to ensure there's always a minimum amount of a product in-stock, in order to manufacture products and/or fulfill sales orders. When the stock level of a product reaches its minimum, Odoo automatically generates a purchase order with the quantity needed to reach the maximum stock level." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:28 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:28 msgid "Reordering rules can be created and managed in the replenishment report, or from the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:33 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:33 msgid "Make to order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:35 msgid "*Make to order (MTO)* is a procurement route that creates a draft purchase order (or manufacturing order) each time a sales order is confirmed, **regardless of the current stock level**." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:38 msgid "Unlike products replenished using reordering rules, Odoo automatically links the sales order to the |PO| or |MO| generated by the |MTO| route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:41 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:41 msgid "Another difference between reordering rules and |MTO| is, with |MTO|, Odoo generates a draft |PO| or |MO| immediately after the |SO| is confirmed. With reordering rules, Odoo generates a draft |PO| or |MO| when the product's forecasted stock falls below the set minimum quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:45 msgid "In addition, Odoo automatically adds quantities to the |PO| or |MO| as the forecast changes, so long as the |PO| or |MO| is not confirmed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:48 msgid "The |MTO| route is the best replenishment strategy for products that are customized, and/or for products that have no stock kept on-hand." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:58 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:58 msgid "To access the replenishment report, go to :menuselection:`Inventory app --> Operations --> Replenishment.`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:61 msgid "By default, the replenishment report dashboard shows every product that needs to be manually reordered. If there is no specific rule for a product, Odoo assumes the :guilabel:`Min Quantity` and :guilabel:`Max Quantity` stock are both `0.00`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:66 msgid "For products that don't have a set reordering rule, Odoo calculates the forecast based on confirmed sales orders, deliveries, and receipts. For products that have a set reordering rule, Odoo calculates the forecast normally, but also takes into account the purchase/manufacturing lead time and security lead time." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:72 msgid "Before creating a new reordering rule, make sure the product has a *vendor* or a *bill of materials* configured on the product form. To check this, go to :menuselection:`Inventory app --> Products --> Products`, and select the product to open its product form. The vendor, if configured, is listed in the :guilabel:`Purchase` tab, and the bill on materials, if configured, is found in the :guilabel:`Bill of Materials` smart button at the top of the form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:78 msgid "The :guilabel:`Product Type`, located in the :guilabel:`General Information` tab on the product form, **must** be set to :guilabel:`Storable Product`. By definition, a consumable product does not have its inventory levels tracked, so Odoo cannot account for a consumable product in the replenishment report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:-1 msgid "Replenishment report listing all items needing to be purchased to meet current needs." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:87 msgid "To create a new reordering rule from the replenishment report, go to :menuselection:`Inventory app --> Operations --> Replenishment`, click :guilabel:`Create`, and select the desired product from the drop-down menu in the :guilabel:`Product` column. If necessary, a :guilabel:`Min Quantity` and a :guilabel:`Max Quantity` can be configured in the corresponding columns on the :guilabel:`Replenishment` report page, as well." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:93 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:93 msgid "To create a new reordering rule from the product form, go to :menuselection:`Inventory app --> Products --> Products`, and select a product to open its product form. Click the :guilabel:`Reordering Rules` smart button, click :guilabel:`Create`, and fill out the fields." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:98 msgid "Replenishment report fields" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:100 msgid "The following fields are on the :guilabel:`Replenishment` report. If any of these fields are not visible, click the :guilabel:`⋮ (additional options)` icon on the far right side of the report, then click the checkbox next to a field to make it visible." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:104 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:104 msgid ":guilabel:`Product`: the product that requires a replenishment." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:105 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:105 msgid ":guilabel:`Location`: the specific location where the product is stored." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:106 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:106 msgid ":guilabel:`Warehouse`: the warehouse where the product is stored." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:107 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:107 msgid ":guilabel:`On Hand`: the amount of product currently available." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:108 msgid ":guilabel:`Forecast`: the amount of product available after all current orders (sales, manufacturing, purchase, etc.) are taken into account." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:110 msgid ":guilabel:`Preferred Route`: how the product is procured, either :guilabel:`Buy`, :guilabel:`Manufactured`, :guilabel:`Dropship`, etc." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:112 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:112 msgid ":guilabel:`Vendor`: the company from which the product is acquired." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:113 msgid ":guilabel:`Bill of Materials`: the bill of materials for the product (if one is configured)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:114 msgid ":guilabel:`Trigger`: how the replenishment is created, either :guilabel:`Auto` (automatically, once the :guilabel:`On Hand` quantity goes below the :guilabel:`Min Quantity`) or :guilabel:`Manual` (only when the replenishment is requested)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:117 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:117 msgid ":guilabel:`Procurement Group`: the reference number for how the product is being acquired, such as a sales order, purchase order, or manufacturing order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:119 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:119 msgid ":guilabel:`Min Quantity`: the minimum amount of product that should be available. When inventory levels goes below this number, the replenishment is triggered." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:121 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:121 msgid ":guilabel:`Max Quantity`: the amount of product that should be available after replenishing the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:123 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:123 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/management/products/strategies.rst:126 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:126 msgid ":guilabel:`To Order`: the amount of product that is currently needed, and will be ordered, if the :guilabel:`Order Once` or :guilabel:`Automate Orders` button is clicked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:128 msgid ":guilabel:`UoM`: the unit of measure used to acquire the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:129 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:129 msgid ":guilabel:`Company`: the company for which the product is acquired." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:131 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:131 msgid "By default, the quantity in the :guilabel:`To Order` field is the quantity required to reach the set :guilabel:`Max Quantity`. However, the :guilabel:`To Order` quantity can be adjusted by clicking on the field and changing the value. To replenish a product manually, click :guilabel:`Order Once`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:135 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:135 msgid "To automate a replenishment from the :guilabel:`Replenishment` page, click :guilabel:`Automate Orders` on the right-side of the line, represented by a :guilabel:`🔄 (circular arrow)` icon." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:138 msgid "When this button is clicked, Odoo will automatically generate a draft |PO|/|MO| every time the forecasted stock level falls below the set :guilabel:`Min Quantity` of the reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:141 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:141 msgid "On the :guilabel:`Replenishment` page, a reordering rule or manual replenishment can be temporarily deactivated for a given period, by clicking the :guilabel:`🔕 (snooze)` icon on the far-right of the line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:-1 msgid "Snooze options to turn off notifications for reordering for a period of time." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:149 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:149 msgid "A |PO| or |MO| created by a manual replenishment has a :guilabel:`Replenishment Report` as the source document. A |PO| or |MO| created by an automated reordering rule has the |SO| reference number(s) that triggered the rule as the source document." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:-1 msgid "Quote request list shows which quotes are directly from the replenishment report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:158 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:158 msgid "Make to order (MTO) route" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:160 msgid "Since the |MTO| route is recommended for customized products, the route is hidden by default." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:169 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:169 msgid "To activate the |MTO| route in Odoo:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:163 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:163 msgid "Go to :menuselection:`Inventory app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:164 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:164 msgid "Activate the :guilabel:`Multi-Step Routes` setting, located under the :guilabel:`Warehouse` section, and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:166 msgid "Then, go to :menuselection:`Inventory app --> Configuration --> Routes`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:167 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:167 msgid "Click on :menuselection:`Filters --> Archived` to show archived routes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:168 msgid "Select the checkbox next to :guilabel:`Replenish on Order (MTO)`, and click on :menuselection:`Action --> Unarchive`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:172 msgid "Activating the :guilabel:`Multi-Step Routes` setting also activates :guilabel:`Storage Locations`. If these features aren't applicable to the warehouse, disable these settings after unarchiving the |MTO| route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:176 msgid "To set a product's procurement route to |MTO|, go to :menuselection:`Inventory app --> Products --> Products`, and click on the desired product to open its product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:179 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:179 msgid "Then, click the :guilabel:`Inventory` tab, and in the :guilabel:`Routes` section of options, select :guilabel:`Replenish on Order (MTO)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:182 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:182 msgid "For products purchased directly from a vendor, make sure the :guilabel:`Buy` route is selected, in addition to the :guilabel:`Replenish on Order (MTO)` route. Also, make sure a vendor is configured in the :guilabel:`Purchase` tab of the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:186 msgid "For products manufactured in-house, make sure the :guilabel:`Manufacture` route is selected, in addition to the :guilabel:`Replenish on Order (MTO)` route. Also, make sure a bill of materials is configured for the product, which is accessible via the :guilabel:`Bill of Materials` smart button on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:192 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:192 msgid "The |MTO| route cannot be selected alone. |MTO| **only** works if the :guilabel:`Manufacture` or :guilabel:`Buy` route is also selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/strategies.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:-1 msgid "Replenish on Order selected on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:3 msgid "Use different units of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:7 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, so the business needs to convert the units. 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/management/products/uom.rst:13 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:13 msgid "Odoo can be set up to use different units of measure for one product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:18 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:18 msgid "To use different units of measure in Odoo, first go to :menuselection:`Inventory --> Configuration --> Settings --> Products` and activate the :guilabel:`Units of Measure` setting. Then, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:-1 msgid "Enable Units of Measure in the Inventory settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:27 msgid "Units of measure categories" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:29 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:29 msgid "After enabling the units of measure setting, view the default units of measure categories in :menuselection:`Inventory --> Configuration --> Units of Measures --> UoM Categories`. The category is important for unit conversion, Odoo can only convert a product's units from one unit to another only if both units belong to the same category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:-1 msgid "Set units of measure categories." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:38 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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:42 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:42 msgid "To create a new unit, first select the correct category. For example, to sell a product in a box of six units, click on the :guilabel:`Unit` category line. Next, click :guilabel:`Edit`. After that, click :guilabel:`Add a line`. Then, in the :guilabel:`Unit of Measure` field, title the new unit `Box of 6`. In the :guilabel:`Type` field, select :guilabel:`Bigger than the reference Unit of Measure`. In the :guilabel:`Ratio` field, enter `6.00000` since a box of six is six times bigger than the reference unit (`1.00000`). Finally, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:49 msgid "Click on the :guilabel:`Unit` category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:51 msgid "Click :guilabel:`Add a line`. As an example, we will create a Box of 6 units that we will use for the Egg product. The box of 6 is 6 times bigger than the reference unit of measure for the category which is “Units” here." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:-1 msgid "Convert products from one unit to another as long as they belong to the same category." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:60 msgid "Specify a product's units of measure" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:62 msgid "To set units of measure on a product, first go to :menuselection:`Inventory --> Products --> Products` and click on a product to open its settings. Then, click on :guilabel:`Edit`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:65 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 will also be the unit used to keep track of the product's inventory and internal transfers. Edit the :guilabel:`Purchase UoM` field to specify the unit of measure that the product is purchased in." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:71 msgid "Unit conversion" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:74 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:74 msgid "Buy products in the Purchase UoM" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:76 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:76 msgid "When creating a new request for quotation (RFQ) in the Purchase app, Odoo automatically uses the product's specified purchase unit of measure. However, if needed, the :guilabel:`UoM` can be manually edited on the RFQ." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:80 msgid "After the RFQ is confirmed into a purchase order (PO), click on the :guilabel:`Receipt` smart button at the top right corner of the PO. 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/management/products/uom.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:85 msgid "For example, if the product's purchase 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 delivery receipt shows the quantity in units." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:90 msgid "Replenishment" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:92 msgid "A request for quotation for a product can also be generated directly from the product form using the :guilabel:`Replenish` button. After clicking :guilabel:`Replenish`, a replenish assistant box pops up. The purchase unit of measure can be manually edited here if needed. Then, click :guilabel:`Confirm` to create the RFQ." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:97 msgid "Next, click the :guilabel:`Units Forecasted` smart button on the product form and scroll down to :menuselection:`Forecasted Inventory --> Requests for quotation`. Click on the RFQ reference number to open the draft RFQ. The purchase UoM can also be edited here if needed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:102 msgid "Sell in a different UoM" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:104 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:104 msgid "When creating a new quotation in the Sales app, Odoo automatically uses the product's specified unit of measure. However, if needed, the :guilabel:`UoM` can be manually edited on the quotation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/uom.rst:107 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:107 msgid "After the quotation is sent to the customer and confirmed into a sales order (SO), click on the :guilabel:`Delivery` smart button at the top right corner 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/management/products/uom.rst:112 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:112 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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:3 -msgid "Units of measure, packages, and packagings" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking.rst:5 +msgid "Product tracking" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:5 -msgid "In Odoo, there are a variety of ways to specify the amount of products being bought, stocked, and sold. *Units of measure*, *packages*, and *packagings* are all available to streamline inventory flows, allowing for a variety of configurations for products as they enter and leave the warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:3 +msgid "What's the difference between lots and serial numbers?" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:12 -msgid "Units of measure" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:6 +msgid "Introduction" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:14 -msgid "A *unit of measure (UoM)* refers to any of the different standards used to measure and handle a quantifiable amount of products, such a units, weight, time, or size. Different :abbr:`UoMs (Units of Measure)` for weight, for example, can be kilos, pounds, ounces, grams, and so on." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:8 +msgid "In Odoo, lots and serial numbers have similarities in their functional system but are different in their behavior. They are both managed within the **Inventory**, **Purchases** and **Sales** app." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:18 -msgid "In Odoo, stock management and purchasing from suppliers are streamlined by specifying different :abbr:`UoMs (Units of Measure)` for both buying and selling products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:12 +msgid "**Lots** correspond to a certain number of products you received and store altogether in one single pack." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:-1 -msgid "Specify unit of measure for selling a product vs purchasing." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:15 +msgid "**Serial numbers** are identification numbers given to one product in particular, to allow to track the history of the item from reception to delivery and after-sales." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:25 -msgid "Once a product has a default :guilabel:`Unit of Measure` and :guilabel:`Purchase Unit of Measure` set on the product form, Odoo automatically converts the different units in the product's purchase/sales orders and the corresponding delivery orders/receipts." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:20 +msgid "When to use" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:29 -msgid "The only condition is that all of the units have to be in the *same category* (unit, weight, volume, length, etc.)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:22 +msgid "**Lots** are interesting for products you receive in great quantity and for which a lot number can help in reportings, quality controls, or any other info. Lots will help identify a number of pieces having for instance a production fault. It can be useful for a batch production of clothes or food." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:33 -msgid "On the product form for `Rope`, the following fields are set as:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:28 +msgid "**Serial numbers** are interesting for items that could require after-sales service, such as smartphones, laptops, fridges, and any electronic devices. You could use the manufacturer's serial number or your own, depending on the way you manage these products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:35 -msgid ":guilabel:`Unit of Measure` in `ft` (feet), and" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:34 +msgid "When not to use" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:36 -msgid ":guilabel:`Purchase Unit of Measure` in `cm` (centimeters)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:36 +msgid "Storing consumable products such as kitchen roll, toilet paper, pens and paper blocks in lots would make no sense at all, as there are very few chances that you can return them for production fault." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:38 -msgid "Because the vendor sells rope in `cm`, the purchase :guilabel:`UoM` is used to represent the quantity on the :abbr:`PO (Purchase Order)`, which is also in centimeters." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:40 +msgid "On the other hand, giving a serial number to every product is a time-consuming task that will have a purpose only in the case of items that have a warranty and/or after-sales services. Putting a serial number on bread, for instance, makes no sense at all." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Display purchase order for the product, rope, in centimeters." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:46 +msgid ":doc:`serial_numbers`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:45 -msgid "After confirming the :abbr:`PO (Purchase Order)`, the quantity of product (found under the now visible :guilabel:`Demand` column) is converted from the purchase :abbr:`UoM (Unit of Measure)` to the :guilabel:`Unit of Measure`. Then, when the product is received by clicking the :guilabel:`Validate` button, the quantity in :guilabel:`Done` is automatically adjusted to match the :guilabel:`Demand` column." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences.rst:47 +msgid ":doc:`lots`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:52 -msgid "On the *receipt* for `Rope`, the quantities are automatically converted from `500 cm` that was requested on the purchase order, to `16.40 ft` to match the internal/stock :guilabel:`Unit of Measure` value." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:3 +msgid "Expiration dates" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Rope quantity is converted from cm to ft during warehouse reception." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:7 +msgid "In Odoo, *expiration dates* can be used to manage and track the lifecycles of perishable products, from purchase to sale. Using expiration dates reduces product loss due to unexpected expiry, and helps to avoid sending expired products to customers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:61 -msgid ":ref:`Use Different Units of Measure `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:11 +msgid "In Odoo, only products that are tracked using *lots* and *serial numbers* can be assigned expiration information. Once a lot or serial number has been assigned, an expiration date can be set. This is especially helpful for companies (such as food manufacturers) that consistently, or exclusively, buy and sell perishable products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:66 -msgid "Packages" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:17 +msgid ":doc:`../product_tracking/lots`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:68 -msgid "Packages are a physical container that holds one or several products from a picking, typically used for outgoing deliveries or internal transfers. Packages can be a reusable or disposable (shipping) box, and are **not** specific to a product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:18 +msgid ":doc:`../product_tracking/serial_numbers`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:72 -msgid "Reusable boxes temporarily hold products during a picking to be brought to either a packing or shipping area. Disposable boxes are the actual shipping containers (e.g. cardboard boxes, envelopes, shipping bags, etc). These are used to ship the products out to customers." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:21 +msgid "Enable expiration dates" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:76 -msgid "Multiple items in a sales order (SO) can be separated into different packages to accommodate the products. For example, an :abbr:`SO (Sales Order)` that has 20 boxes of pencils and 4 boxes of erasers can be separated into two separate packages, each containing 10 boxes of pencils and 2 boxes of erasers." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:23 +msgid "To enable the use of *expiration dates*, go to :menuselection:`Inventory app --> Configuration --> Settings`, and scroll down to the :guilabel:`Traceability` section. Then, click the checkbox to enable the :guilabel:`Lots & Serial Numbers` feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:82 -msgid "Products do *not* have to be divided equally. Products can be divided into as many packages that are needed to accommodate the :abbr:`SO (Sales Order)`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:27 +msgid "Once that feature is activated, a new option will appear to enable :guilabel:`Expiration Dates`. Click that checkbox to enable the feature, and be sure to :guilabel:`Save` changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:85 -msgid "In Odoo, the quantity of products in each package needs to be recorded, so there is a full history for each product, including which package each item is shipped out in." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Enabled lots and serial numbers and expiration dates settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:88 -msgid "To use this method, ensure the :guilabel:`Packages` option is enabled, by navigating to :menuselection:`Inventory app --> Configuration --> Settings --> Operations`. Click the :guilabel:`Packages` check box, and then :guilabel:`Save` to activate the feature." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:35 +msgid "Once the :guilabel:`Lots & Serial Numbers` feature is activated, additional features appear to :guilabel:`Display Lots & Serial Numbers on Delivery Slips`; to :guilabel:`Display Lots & Serial Numbers on Invoices`; and to :guilabel:`Display Expiration Dates on Delivery Slips`. Activating these features helps with end-to-end traceability, making it easier to manage product recalls, identify \"bad\" batches of products, and more." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:92 -msgid "On a delivery order, assign which package to use by clicking on the :guilabel:`≣ (Detailed Operations)` icon to the right of each product in the :guilabel:`Operations` tab." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:42 +msgid "Configure expiration dates on products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:-1 -msgid "Find detailed operations icon to the right on the product line." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:44 +msgid "Once the :guilabel:`Lots & Serial Numbers` and :guilabel:`Expiration Dates` features have been enabled in the settings of the *Inventory* app, expiration information can be configured on individual products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:99 -msgid "Clicking the :guilabel:`≣ (Detailed Operations)` icon of a product reveals a pop-up window. In this window, the :guilabel:`Product` name, :guilabel:`Demand`, and :guilabel:`Quantity Done` are clearly displayed above the customizable product line." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:48 +msgid "To do so, go to :menuselection:`Inventory app --> Products --> Products`, and select a product to edit. Selecting a product reveals the product form for that particular item. Once on the product form, click :guilabel:`Edit` in the upper-left corner to make changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:103 -msgid "Here, the warehouse location the product is coming from can be modified, in addition to the :guilabel:`Source Package` and :guilabel:`Destination Package`, which represents what package(s) the product(s) will be packaged into." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:53 +msgid "To be tracked using lots or serial numbers, or to configure expiration information, products *must* have their :guilabel:`Product Type` set as :guilabel:`Storable Product` under the :guilabel:`General Information` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:107 -msgid "Click :guilabel:`Add a line` to include each additional package used. Enter the desired amount in the :guilabel:`Done` field to specify the amount of products that will go into the :guilabel:`Destination Package`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:57 +msgid "Then, click the :guilabel:`Inventory` tab, and scroll down to the :guilabel:`Traceability` section. From here, make sure that either :guilabel:`By Unique Serial Number` or :guilabel:`By Lots` is checked." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:112 -msgid "Multiple packages in a single delivery" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:61 +msgid "Once it is, a new :guilabel:`Expiration Date` checkbox appears that must also be clicked. When both are enabled, a new :guilabel:`Dates` field appears to the right." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:114 -msgid "Although a :abbr:`DO (Delivery Order)` is typically associated with a single package, orders can be split by clicking the :guilabel:`≣ (Detailed Operations)` icon next to the products on an :abbr:`SO (Sales Order)` line. This opens the :guilabel:`Detailed Operations` window with an editable table to specify which products are intended for which package." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:65 +msgid "If a product has stock on-hand prior to activating tracking by lots or serial numbers, an inventory adjustment might need to be performed in order to assign lot numbers to the existing stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:120 -msgid "To package 10 boxes of pencils with 2 boxes of erasers from the same :abbr:`SO (Sales Order)`, begin by navigating to the :abbr:`DO (Delivery Order)`. Then, select the :guilabel:`≣ (four horizontal lines)` icon to the right of the product, `Box of Pencils`. Clicking the icon opens the :guilabel:`Detailed Operations` window that is used to detail how products, like the 20 `Box of Pencils`, are packaged." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:70 +msgid "For processing large quantities of products on receipts or deliveries, it is recommended to track using lots, so multiple products can be traced back to the same lot, if any issues arise." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:126 -msgid "Type in `10` under the :guilabel:`Done` field to package 10 products into the :guilabel:`Destination Package`. To specify the destination package, type the name of an existing package (such as `PACK0000006`) under the field, :guilabel:`Destination Package`. If the package does not exist, Odoo displays the :guilabel:`Create` button to create a new package. Click :guilabel:`Add a line` to assign the remaining products in another package, `PACK0000007`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Expiration dates configuration on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Detailed operations pop-up where the amount of product going in a pack can be specified." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:77 +msgid "Under the :guilabel:`Dates` field, there are four categories of expiration information to configure for the product:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:136 -msgid "Select :guilabel:`Detailed Operations` on the product line for `Box of Erasers` and similarly set 2 :guilabel:`Done` products to `PACK0000006` and `PACK0000007` each." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:80 +msgid ":guilabel:`Expiration Time`: the number of days after receiving products (either from a vendor or in stock after production) in which goods may become dangerous and should not be used or consumed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Put in pack button to match the done amount matches the demand." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:82 +msgid ":guilabel:`Best Before Time`: the number of days before the expiration date in which the goods start deteriorating, **without** necessarily being dangerous yet." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:143 -msgid "Once all the products for each line have been entered, click :guilabel:`Confirm` to return to the :abbr:`DO (Delivery Order)`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:84 +msgid ":guilabel:`Removal Time`: the number of days before the expiration date in which the goods should be removed from stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:146 -msgid "The :guilabel:`Done` quantity on the :abbr:`DO (Delivery Order)` updates as products are selected for each package. When the :guilabel:`Done` amount matches the :guilabel:`Demand` amount, click the :guilabel:`Validate` button to complete the delivery order." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:86 +msgid ":guilabel:`Alert Time`: the number of days before the expiration date in which an alert should be raised on goods in a particular lot or containing a particular serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:151 -msgid "The :guilabel:`Put In Pack` button is intended to quickly package all products in the :abbr:`DO (Delivery Order)` into one new package. The option to rename the package, or modify its contents, is available in the :guilabel:`Detailed Operations` pop-up." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:90 +msgid "The values entered into these fields automatically compute the expiration date for goods entered into stock, whether purchased from a vendor or manufactured in-house." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:155 -msgid "Clicking on the :guilabel:`Packages` smart button in the upper-right corner of the delivery order reveals a separate page, showing all the packages used in that :abbr:`DO (Delivery Order)`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:93 +msgid "Once all the expiration information has been configured, click :guilabel:`Save` to save all changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:159 -msgid "Packagings" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:96 +msgid "If the :guilabel:`Dates` field is not populated with any values for expiration information, dates (and lots) can be manually assigned upon receipts and deliveries in and out of the warehouse. Even when assigned, they can still be overwritten and changed manually if needed, as well." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:161 -msgid "*Packaging* is product specific, and refers to a disposable container that holds several units of a specific product. Unlike packages, packagings cannot be reusable, and each specific packaging must be defined on the individual product form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:101 +msgid "Set expiration dates on receipts with lots & serial numbers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:165 -msgid "For example, different packages for cans of soda can be configured as a 6-pack, a 12-pack, or a case of 36. Each flavor of soda would need a `6`, `12`, and `36` can packaging configured on the individual product since packagings are product specific, not generic." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:103 +msgid "Generating expiration dates for **incoming** goods can be done directly from the purchase order. To create a purchase order, go to the :menuselection:`Purchase` app and click :guilabel:`Create` to create a new request for quotation (RFQ)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:170 -msgid "Set up packagings" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:107 +msgid "Then, fill out the information by adding a :guilabel:`Vendor`, and add products to the :guilabel:`Product` lines by clicking :guilabel:`Add a product`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:172 -msgid "To use packagings, ensure the :guilabel:`Product Packagings` feature is enabled. To do that, navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Then, under the :guilabel:`Products` heading, check the box next to :guilabel:`Product Packagings`, and click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:110 +msgid "Choose the desired quantity to order by changing the number in the :guilabel:`Quantity` column, and click :guilabel:`Confirm Order`. This converts the :abbr:`RFQ (request for quotation)` into a purchase order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:177 -msgid "In Odoo, product packagings are used on sales/purchase orders and inventory transfers." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:114 +msgid "Click the :guilabel:`Receipt` smart button at the top of the purchase order to be taken to the warehouse receipt form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:179 -msgid "Next, to create packagings, navigate to :menuselection:`Inventory app --> Products --> Products` and click on the desired product, then click :guilabel:`Edit` on the product page." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:118 +msgid "Clicking :guilabel:`Validate` before assigning a serial number to the ordered product quantities causes a :guilabel:`User Error` popup to appear. The popup requires entry of a lot or serial number for the ordered products. The :abbr:`RFQ (request for quotation)` cannot be validated without an assigned lot or serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:182 -msgid "Under the :guilabel:`Inventory` tab, scroll down to the :guilabel:`Packaging` section, and click :guilabel:`Add a line`. Then, a pop-up window appears, in which the following information for each packaging should be entered:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:0 +msgid "User error popup when validating an order with no lot number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:186 -msgid ":guilabel:`Packaging`: name of packaging that appears on sales/purchase orders as a packaging option for the product" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:127 +msgid "From here, click the :guilabel:`Additional Options` menu (hamburger) icon located on the far-right of the product line. When clicked, a :guilabel:`Detailed Operations` pop-up will appear." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:188 -msgid ":guilabel:`Contained quantity`: amount of product in the packaging" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:130 +msgid "In this pop-up, click :guilabel:`Add a line`, and assign a lot or serial number under the :guilabel:`Lot/Serial Number Name` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:189 -msgid ":guilabel:`Barcode`: identifier used with the :ref:`Barcode app ` to trace the packaging of a product during stock moves or pickings. Leave blank if not in use" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:133 +msgid "An expiration date automatically populates, based on the configuration on the product form (if previously configured)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:191 -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/product_management/product_tracking/expiration_dates.rst:137 +msgid "If the :guilabel:`Dates` field on the product form has not been configured, this date can be manually entered." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:195 -msgid "Create a packaging type for 6 cans of the product, `Grape Soda`, by naming the :guilabel:`Packaging` to `6-pack` and setting the :guilabel:`Contained quantity` to `6` in the pop-up window that appears after clicking on :guilabel:`Add a line`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:140 +msgid "After the expiration date has been established, mark the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the pop-up. Finally, click :guilabel:`Validate`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Create 6-pack case for product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Detailed operations popup showing expiration dates for ordered products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:203 -msgid "When all the necessary information has been entered, either click :guilabel:`Save & Close` to save the packaging and return to the product detail form, or :guilabel:`Save & New` to save the packaging and create another one in a fresh pop-up window." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:147 +msgid "A :guilabel:`Traceability` smart button will appear upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document; the :guilabel:`Product` being traced; the :guilabel:`Lot/Serial #`; and more." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:208 -msgid "View all product packagings in the :guilabel:`Inventory` tab of the product form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:153 +msgid "Set expiration dates on manufactured products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Show packaging and contained quantities, specified on the product page form in the\n" -"Inventory tab." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:155 +msgid "Expiration dates can also be generated for products manufactured in-house. To assign expiration dates to manufactured products, a manufacturing order (MO) needs to be completed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:216 -msgid "View all packagings" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:158 +msgid "To create a :abbr:`MO (manufacturing order)`, go to :menuselection:`Manufacturing app --> Operations --> Manufacturing Orders`, and click :guilabel:`Create`. Choose a product to manufacture from the :guilabel:`Product` field drop-down menu, then select the :guilabel:`Quantity` to produce." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:218 -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:`Create`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Manufacturing order for product with expiration date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:224 -msgid "Two soda products, `Grape Soda` and `Diet Coke`, have three types of packaging configured. On the :guilabel:`Product Packagings` page, each product can sold as a `6-Pack` that contains 6 products, `12-Pack` of 12 products, or a `Case` of 32 products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:167 +msgid "To manufacture a product, there must be materials to consume in the lines in the :guilabel:`Product` column. This can be achieved either by creating a :guilabel:`Bill of Material` for the :guilabel:`Product`, or manually adding materials to consume by clicking :guilabel:`Add a line`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "List of different packagings for products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:172 +msgid "Once ready, click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:233 -msgid "Apply packagings" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:174 +msgid "Next to :guilabel:`Lot/Serial Number`, either select an existing lot number from the drop-down menu, or click the green :guilabel:`+` sign to automatically assign a new lot number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:235 -msgid "When creating a sales order in the :menuselection:`Sales` app, specify the packagings that should be used for the product(s). The chosen packaging is displayed on the :abbr:`SO (Sales Order)` under the :guilabel:`Package` field." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:177 +msgid "Then, select a number of units for the :guilabel:`Quantity` field, and click :guilabel:`Mark as Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:240 -msgid "18 cans of the product, `Grape Soda`, is packed using three 6-pack packagings." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:180 +msgid "Click on the :guilabel:`External Link` icon in the assigned :guilabel:`Lot/Serial Number` field. A pop-up appears, revealing a detail form for that specific number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:0 -msgid "Assign packagings on the Sales Order Line." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:183 +msgid "On that pop-up, under the :guilabel:`Dates` tab, all expiration information that was previously configured for the product is displayed. That same information is also available on the detail form for that specific product, or by going to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/products/usage.rst:247 -msgid "Packaging can be used in conjunction with Odoo :ref:`Barcode `. 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/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Dates tab with expiration information for specific lot number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting.rst:5 -msgid "Valuation Methods" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:193 +msgid "Sell products with expiration dates" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:3 -msgid "Integrating additional costs to products (landed costs)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:195 +msgid "Selling perishable products with expiration dates is done the same as any other type of product. The first step in selling perishable products is to create a sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:7 -msgid "The landed cost feature in Odoo allows the user to include additional costs (shipment, insurance, customs duties, etc.) into the cost of the product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:198 +msgid "To do that, go to :menuselection:`Sales app --> Create` to create a new quotation, and fill out the information on the sales order form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:13 -msgid "First, go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation` and activate the :guilabel:`Landed Costs` feature. Odoo also gives the option to set a :guilabel:`Default Journal` in which the landed costs accounting entries will be recorded." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:201 +msgid "Add a :guilabel:`Customer`, click :guilabel:`Add a product` to add the desired products to the :guilabel:`Product` lines, and set a :guilabel:`Quantity` for the products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:-1 -msgid "Activate the landed cost feature in Inventory settings." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:204 +msgid "Then, click the :guilabel:`Other Info` tab. Under the :guilabel:`Delivery` section, change the :guilabel:`Delivery Date` to a date after the expected date, and click the :guilabel:`green checkmark` icon to confirm the date. Finally, click :guilabel:`Confirm` to confirm the sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:22 -msgid "Add costs to products" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:208 +msgid "Next, click the :guilabel:`Delivery` smart button at the top of the sales order to see the warehouse receipt form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:25 -msgid "Receive the vendor bill" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:211 +msgid "On the warehouse receipt form, click :guilabel:`Validate`, and then :guilabel:`Apply` in the accompanying pop-up window, to automatically process all :guilabel:`Done` quantities, and deliver the products to the customer." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:27 -msgid "After a vendor fulfills a purchase order and sends a bill, click :guilabel:`Create Bill` on the purchase order to create a vendor bill in Odoo. If the vendor bill includes landed costs, such as custom duties, tick the box in the :guilabel:`Landed Costs` column on the vendor bill invoice line." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:215 +msgid "If the products are delivered before the :guilabel:`Alert Date` set on the product form, then no alerts will be created." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:-1 -msgid "Enable Landed Costs option on vendor bill line." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:219 +msgid "To sell perishable products with expiration dates, the :guilabel:`Removal Strategy` for the :guilabel:`Location` the products are stored in must be set to :abbr:`FEFO (First Expiry, First Out)`. If there is not enough stock of perishable products in one lot, Odoo will automatically take the remaining quantity required from a second lot with the next-soonest expiration date. Removal strategies can also be set on :guilabel:`Product Categories`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:35 -msgid "For charges that are always landed costs, create a landed cost product in Odoo. That way, the landed cost product can be quickly added to the vendor bill as an invoice line instead of manually entering the landed cost information every time a vendor bill comes in." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:226 +msgid ":doc:`../../warehouses_storage/advanced_operations_warehouse/removal`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:39 -msgid "First, create a new product in :menuselection:`Inventory --> Products --> Products --> Create`. Next, name the landed cost product. Then, set the :guilabel:`Product Type` to :guilabel:`Service`. A landed cost product must always be a service product type. After that, go to the :guilabel:`Purchase` tab and check the box next to :guilabel:`Is a Landed Cost`. Finally, click :guilabel:`Save` to finish creating the landed cost product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:229 +msgid "View expiration dates for lots & serial numbers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:45 -msgid "If this product is always a landed cost, you can also define it on the product and avoid having to tick the box on each vendor bill." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:231 +msgid "To view (and/or group) all products with expiration dates by lot number, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:-1 -msgid "Option to define a product as a landed cost." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:234 +msgid "Once there, remove any default search filters from the :guilabel:`Search...` bar. Then, click :guilabel:`Group By`, choose :guilabel:`Add Custom Group`, and select the :guilabel:`Expiration Date` parameter from the drop-down menu. Finally, click :guilabel:`Apply` to apply the filter." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:52 -msgid "Once the landed cost is added to the vendor bill (either by checking the :guilabel:`Landed Cost` option on the invoice line or adding a landed cost product to the bill), click the :guilabel:`Create Landed Costs` button at the top of the bill. Odoo automatically creates a landed cost record with the set landed cost pre-filled in the :guilabel:`Additional Costs` product lines. From here, decide which picking the additional costs apply to by clicking :guilabel:`Edit` and selecting the picking reference number from the :guilabel:`Transfers` drop-down menu. Finally, click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:238 +msgid "Doing so breaks down all perishable products, their expiration dates, and the assigned lot number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:-1 -msgid "Use a warehouse transfer to cover a landed cost in the accounting journal." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Group by expiration dates on lots and serial numbers page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:64 -msgid "After setting the picking, click :guilabel:`Compute` on the landed cost record. Then, go to the :guilabel:`Valuation Adjustments` tab to see the impact of the landed costs. Finally, click :guilabel:`Validate` to post the landed cost entry to the accounting journal." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:245 +msgid "Expiration alerts" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:68 -msgid "The user can access the journal entry that has been created by the landed cost by clicking on the :guilabel:`Journal Entry`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:247 +msgid "To see expiration alerts, go to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:72 -msgid "The product that the landed cost is applied to must have a product category set to a :abbr:`FIFO (First In, First Out)` or an :abbr:`AVCO (Average Costing)` method." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:249 +msgid "Then, click into a :guilabel:`Lot/Serial Number` with perishable products. Doing so reveals the serial number detail form. On the serial number detail form, click the :guilabel:`Dates` tab to see all expiration information related to the products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:-1 -msgid "Landed cost journal entry" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:253 +msgid "To edit the form, click :guilabel:`Edit` in the upper-left corner of the form, then change the :guilabel:`Expiration Date` to today's date (or earlier), and click :guilabel:`Save` to save changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.rst:80 -msgid "Landed cost records can also be directly created in :menuselection:`Inventory --> Operations --> Landed Costs`, it is not necessary to create a landed cost record from the vendor bill." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:257 +msgid "After saving, the lot number form displays a red :guilabel:`Expiration Alert` at the top of the form to indicate that the products in this lot are either expired or expiring soon. From here, click back to the :guilabel:`Lots/Serial Numbers` page (via the breadcrumbs)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:3 -msgid "Inventory valuation configuration" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:261 +msgid "To see the new expiration alert, or any expiration alerts for products that are expired (or will expire soon), remove all of the search filters from the :guilabel:`Search...` bar on the :guilabel:`Lots/Serial Numbers` dashboard." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/expiration_dates.rst:265 +msgid "Then, click :guilabel:`Filters`, and choose :guilabel:`Expiration Alerts`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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 posts journal entries based on the physical inventory of the company, and that warehouse employees take the time to count the stock. In Odoo, this method is reflected inside each product category, where the :guilabel:`Costing Method` field will be set to `Standard Price` by default, and the :guilabel:`Inventory Valuation` field will be set to `Manual`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/expiration_dates.rst:-1 +msgid "Expiration alert for product past the expiration date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:-1 -msgid "The Inventory Valuation fields are located on the Product Categories form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:3 +msgid "Use lots to manage groups of products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:22 -msgid "Alternatively, automated inventory valuation is an integrated valuation method that updates the inventory value in real-time by creating journal entries whenever there are stock moves initiated between locations in a company's inventory." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:5 +msgid "*Lots* are one of the two ways to identify and track products in Odoo. A lot usually indicates a specific batch of an item that was received, is currently stored, or was shipped from a warehouse, but can also pertain to a batch of products manufactured in-house, as well." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:27 -msgid "Automated inventory valuation is a method recommended for expert accountants, given the extra steps involved in journal entry configuration. Even after the initial setup, the method will need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing basis depending on the needs and priorities of the business." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:9 +msgid "Manufacturers assign lot numbers to groups of products that have common properties; this can lead to multiple goods sharing the same lot number. This helps to identify a number of products in a single group, and allows for end-to-end traceability of these products through each step in their lifecycles." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:35 -msgid "Types of accounting" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:14 +msgid "Lots are useful for products that are manufactured or received in large quantities (such as clothes or food), and can be used to trace a product back to a group. This is especially useful when managing product recalls or expiration dates." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:37 -msgid "Accounting entries will depend on the accounting mode: *Continental* or *Anglo-Saxon*." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:19 +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:40 -msgid "Verify the accounting mode by activating the :ref:`developer-mode` and navigating to :menuselection:`Accounting --> Configuration --> Settings`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:22 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:20 +msgid "Enable lots & serial numbers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:43 -msgid "In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or delivered. This means that the cost of a good is only recorded as an expense when a customer is invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are both *Asset Accounts* in the balance sheet." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:24 +msgid "To track products using lots, the *Lots & Serial Numbers* feature must be enabled. Go to the :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Then, click the :guilabel:`Save` button to save changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:48 -msgid "In *Continental* accounting, the cost of a good is reported as soon as a product is received into stock. Additionally, a single *Expense* account is used for both input and output accounts in the balance sheet." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:-1 +msgid "Enabled lots and serial numbers feature in inventory settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:55 -msgid "Costing methods" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:36 +msgid "Track products by lots" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:57 -msgid "Below are the three costing methods that can be used in Odoo for inventory valuation." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:38 +msgid "Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now be configured to be tracked using lots. To do this, go to the :menuselection:`Inventory app --> Products --> Products`, and choose a product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:59 -msgid "**Standard Price**: is 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 will still use the cost defined on the product form." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:42 +msgid "Once on the product form, click :guilabel:`Edit` to make changes to the form. Then, click the :guilabel:`Inventory` tab. In the :guilabel:`Traceability` section, click :guilabel:`By Lots`. Then, click :guilabel:`Save` to save changes. Existing or new lot numbers can now be assigned to newly-received or manufactured batches of this product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:63 -msgid "**Average Cost (AVCO)**: 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/product_tracking/lots.rst:48 +msgid "If a product has stock on-hand prior to activating tracking by lots or serial numbers, an inventory adjustment might need to be performed to assign lot numbers to the existing stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:66 -msgid "**First In First Out (FIFO)**: 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. This method is arguably the most accurate inventory valuation method for a variety of reasons, however, it's highly sensitive to input data and human error." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:-1 +msgid "Enabled tracking by lots feature on product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:74 -msgid "Changing the costing method greatly impacts inventory valuation. It's highly recommended to consult an accountant first before making any adjustments here." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:56 +msgid "Create new lots for products already in stock" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:78 -msgid "Configure automated inventory valuation in Odoo" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:58 +msgid "New lots can be created for products already in stock with no assigned lot number. To do this, go to the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`, and click :guilabel:`Create`. Doing so reveals a separate page where a new :guilabel:`Lot/Serial Number` is generated automatically." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:80 -msgid "Make changes to inventory valuation options by navigating to :menuselection:`Inventory --> Configuration --> Product Categories`, and choose the category/categories where the automated valuation method should apply." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:64 +msgid "While Odoo automatically generates a new :guilabel:`Lot/Serial Number` to follow the most recent number, it can be edited and changed to any desired number, by clicking the line under the :guilabel:`Lot/Serial Number` field, and changing the generated number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:85 -msgid "It is possible to use different valuation settings for different product categories." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:68 +msgid "Once the new :guilabel:`Lot/Serial Number` is generated, click the blank field next to :guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new number will be assigned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:87 -msgid "Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and :guilabel:`Inventory Valuation`. Pick the desired :guilabel:`Costing Method` using the drop-down menu (e.g. :guilabel:`Standard`, :guilabel:`Average Cost (AVCO)`, or :guilabel:`First In First Out (FIFO)`) and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:72 +msgid "This form also provides the option to adjust the :guilabel:`Quantity`, assign a unique :guilabel:`Internal Reference` number (for traceability purposes), and assign this specific lot or serial number configuration to a specific website in the :guilabel:`Website` field (if working in a multi-website environment)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:93 -msgid ":ref:`Using the inventory valuation`" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:77 +msgid "A detailed description of this specific lot or serial number can also be added in the :guilabel:`Description` tab below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:96 -msgid "When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, changing the numerical value in the :guilabel:`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 :guilabel:`Cost` amount will then automatically update based on the average purchase price both of inventory on hand and the costs accumulated from validated purchase orders." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:81 +msgid "When all desired configurations are complete, click the :guilabel:`Save` button to save all changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:102 -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 will generate a corresponding record in the *Inventory Valuation* report." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:-1 +msgid "New lot number creation form with assigned product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:108 -msgid "On the same screen, the :guilabel:`Account Stock Properties` fields will appear, as they are now required fields given the change to automated inventory valuation. These accounts are defined as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:86 +msgid "After a new lot number has been created, saved, and assigned to the desired product, navigate back to the product form in the :menuselection:`Inventory` app, by going to :menuselection:`Products --> Products`, and selecting the product to which this newly-created lot number was just assigned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:112 -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/product_tracking/lots.rst:90 +msgid "On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new lot number. When additional quantity of this product is received or manufactured, this new lot number can be selected and assigned to it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:114 -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/product_tracking/lots.rst:95 +msgid "Manage lots for shipping and receiving" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:118 -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/product_tracking/lots.rst:97 +msgid "Lot numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, lot numbers are assigned directly on the purchase order form. For outgoing goods, lot numbers are assigned directly on the sales order form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:124 -msgid "Access reporting data generated by inventory valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:102 +msgid "Manage lots on receipts" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:126 -msgid "To start, go to :menuselection:`Accounting --> Reporting --> Balance Sheet`. At the top of the dashboard, change the :guilabel:`As of` field value to :guilabel:`Today`, and adjust the filtering :guilabel:`Options` to :guilabel:`Unfold All` in order to see all of the latest data displayed, all at once." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:104 +msgid "Assigning lot numbers to **incoming** goods can be done directly from the purchase order (PO)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:131 -msgid "Under the parent :guilabel:`Current Assets` line item, look for the nested :guilabel:`Stock Valuation Account` line item, where the total valuation of all of the inventory on hand is displayed." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:106 +msgid "To create a :abbr:`PO (purchase order)`, go to :menuselection:`Purchase app --> Create`. Doing so reveals a new, blank request for quotation (RFQ) form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:135 -msgid "Access more specific information with the :guilabel:`Stock Valuation Account` drop-down menu, by selecting either the :guilabel:`General Ledger` to see an itemized view of all of the journal entries, or by selecting :guilabel:`Journal Items` to review all of the individualized journal entries that were submitted to the account. As well, 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/product_tracking/lots.rst:109 +msgid "On this :abbr:`RFQ (request for quotation)`, fill out the necessary information by adding a :guilabel:`Vendor`, and adding the desired products to the :guilabel:`Product` lines, by clicking :guilabel:`Add a product` (under the :guilabel:`Products` tab)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst:-1 -msgid "See the full inventory valuation breakdown in Odoo Accounting app." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:113 +msgid "Choose the desired quantity of the product to order by changing the number in the :guilabel:`Quantity` column." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:3 -msgid "Using inventory valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:116 +msgid "Once the :abbr:`RFQ (request for quotation)` has been filled out, click :guilabel:`Confirm Order`. When the :abbr:`RFQ (request for quotation)` is confirmed, it becomes a :guilabel:`Purchase Order`, and a :guilabel:`Receipt` smart button appears. Click the :guilabel:`Receipt` smart button to be taken to the warehouse receipt form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:122 +msgid "Clicking :guilabel:`Validate` before assigning a lot number to the ordered product quantities will result in a :guilabel:`User Error` pop-up. The pop-up requires entry of a lot or serial number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated without a lot number being assigned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:-1 +msgid "Add lot/serial number user error popup." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:15 -msgid "Automatic inventory valuation" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:131 +msgid "From here, click the :guilabel:`Additional Options` menu, represented by a :guilabel:`hamburger (four horizontal lines)` icon, located to the right of the :guilabel:`Unit of Measure` column in the :guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:135 +msgid "In this pop-up, configure a number of different fields, including the assignation of a lot number, under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:24 -msgid ":ref:`Set up inventory valuation `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:138 +msgid "There are two ways to assign lot numbers: **manually** and **copy/paste**." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:140 +msgid "**Manually assign lot numbers**: Click :guilabel:`Add a line` and choose the location the products will be stored in under the :guilabel:`To` column. Then, type a new :guilabel:`Lot Number Name` and set the :guilabel:`Done` quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:30 -msgid "Receive a product" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:0 +msgid "Assign lot number detailed operations popup." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:149 +msgid "If quantities should be processed in multiple locations and lots, click :guilabel:`Add a line` and type a new :guilabel:`Lot Number Name` for additional quantities. Repeat until the :guilabel:`Quantity Done` matches the :guilabel:`Demand`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:153 +msgid "**Copy/paste lot numbers from a spreadsheet**: Populate a spreadsheet with all of the lot numbers received from the supplier (or manually chosen to assign upon receipt). Then, copy and paste them in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary number of lines based on the amount of numbers pasted in the column. From here, the :guilabel:`To` locations and :guilabel:`Done` quantities can be manually entered in each of the lot number lines." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:0 +msgid "List of lot numbers copied on excel spreadsheet." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:163 +msgid "Once all product quantities have been assigned a lot number, click :guilabel:`Confirm` to close the pop-up. Then, click :guilabel:`Validate`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:166 +msgid "A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Lot/Serial #` assigned, and more." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:172 +msgid "Manage lots on delivery orders" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:60 -msgid "The :doc:`consignment ` 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/product_tracking/lots.rst:174 +msgid "Assigning lot numbers to **outgoing** goods can be done directly from the sales order (SO)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:176 +msgid "To create an :abbr:`SO (sales order)`, go to the :menuselection:`Sales app --> Create`. Doing so reveals a new, blank quotation form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:179 +msgid "On this blank quotation form, fill out the necessary information by adding a :guilabel:`Customer`, and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab) by clicking :guilabel:`Add a product`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:73 -msgid "Deliver a product" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:183 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:221 +msgid "Then, choose the desired quantity to sell by changing the number in the :guilabel:`Quantity` column." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:185 +msgid "Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the quotation. When the quotation is confirmed, it becomes an :abbr:`SO (sales order)`, and a :guilabel:`Delivery` smart button appears." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:-1 -msgid "Decreased stock valuation after a product is shipped." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:189 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:227 +msgid "Click the :guilabel:`Delivery` smart button to view the warehouse receipt form for that specific :abbr:`SO (sales order)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:86 -msgid "Inventory valuation report" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:192 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:230 +msgid "From here, click the :guilabel:`Additional Options` menu, represented by a `hamburger` icon (four horizontal lines, located to the right of the :guilabel:`Unit of Measure` column in the :guilabel:`Operations` tab). Clicking that icon reveals a :guilabel:`Detailed Operations` pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:196 +msgid "In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with the full :guilabel:`Reserved` quantity taken from that specific lot (if there is enough stock in that particular lot)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:200 +msgid "If there is insufficient stock in that lot, or if partial quantities of the :guilabel:`Demand` should be taken from multiple lots, change the quantity in the :guilabel:`Done` column to only include that specific part of the total quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:-1 -msgid "Inventory valuation report showing multiple products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:205 +msgid "The lot automatically chosen for delivery orders varies, depending on the selected removal strategy (:abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expiry, First Out)`). It will also depend on the quantity ordered, and if there is enough quantity in one lot to fulfill the order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:211 +msgid ":doc:`/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:213 +msgid "Then, click :guilabel:`Add a line`, select an additional (different) :guilabel:`Lot/Serial Number`, apply the rest of the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the pop-up. Lastly, click the :guilabel:`Validate` button to deliver the products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:112 -msgid "Update product unit price" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:-1 +msgid "Detailed operations popup for source lot number on sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:114 -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/product_tracking/lots.rst:221 +msgid "Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:119 -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/product_tracking/lots.rst:226 +msgid "The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the previous purchase order, if the product quantities shared the same lot number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:-1 -msgid "Add manual valuation of stock value to a product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:230 +msgid "Manage lots for different operations types" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:127 -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/product_tracking/lots.rst:232 +msgid "In Odoo, the creation of new lots is only allowed upon **receiving** products from a purchase order, by default. **Existing** lot numbers cannot be used." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:133 -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/product_tracking/lots.rst:235 +msgid "For sales orders, the opposite is true: new lot numbers cannot be created on the delivery order, only existing lot numbers can be used." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:138 -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/product_tracking/lots.rst:238 +msgid "To change the ability to use new (or existing) lot numbers on any operation type, go to the :menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired :guilabel:`Operation Type`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/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/product_tracking/lots.rst:242 +msgid "For :guilabel:`Receipts`, found on the :menuselection:`Operations Types` page, the :guilabel:`Use Existing Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and then clicking the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the :guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:146 -msgid "Inventory valuation journal entries" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:247 +msgid "For :guilabel:`Delivery Orders`, the :guilabel:`Create New Lots/Serial Numbers` option can be enabled, by clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New Lots/Serial Numbers` option. Be sure to click the :guilabel:`Save` button to save all changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:148 -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/product_tracking/lots.rst:-1 +msgid "Enabled traceability setting on operations type form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:154 -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/product_tracking/lots.rst:256 +msgid "For inter-warehouse transfers involving products tracked by lots, it can be useful to enable the :guilabel:`Use Existing Lots/Serial Numbers` option for warehouse receipts." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:159 -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/product_tracking/lots.rst:260 +msgid "Lots traceability" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:0 -msgid "Stock valuation page depicting the products within a shipment." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:262 +msgid "Manufacturers and companies can refer to traceability reports to see the entire lifecycle of a product: where (and when) it came from, where it was stored, and who (and when) it went to." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:168 -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/product_tracking/lots.rst:265 +msgid "To see the full traceability of a product, or group by lots, go to the :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. Doing so reveals the :menuselection:`Lots/Serial Numbers` dashboard." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:0 -msgid "Accounting entry for the inventory valuation of 10 tables." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:269 +msgid "From here, products with lot numbers assigned to them will be listed by default, and can be expanded to show the lot numbers those products have assigned to them." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst:176 -msgid "`Odoo Tutorial: Inventory Valuation `_" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:272 +msgid "To group by lots (or serial numbers), begin by removing any filters in the search bar. Then, click the :guilabel:`Group By` drop-down, select :guilabel:`Add Custom Group`, and select :guilabel:`Lot/Serial Number` from the drop-down menu. Then, click :guilabel:`Apply`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:6 -msgid "Incoming shipments and delivery orders" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:276 +msgid "Doing so displays all existing lots and serial numbers, and can be expanded to show all quantities of products with that assigned number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:8 -msgid "There are several ways to handle how a warehouse receives products (receipts) and ships products (deliveries). Depending on several factors, such as the type of products stocked and sold, warehouse size, and the amount of daily confirmed receipts and delivery orders, the way products are handled when coming in and out of the warehouse can vary a lot. Different settings can be configured for receipts and deliveries; they do not have to be configured to have the same number of steps." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:-1 +msgid "Lots and serial numbers traceability report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:15 -msgid "`Using Routes (eLearning Tutorial) `_" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots.rst:284 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:319 +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:16 -msgid "`Push & Pull Rules (eLearning Tutorial) `_" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:3 +msgid "Use serial numbers to track products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:20 -msgid "Choosing the right inventory flow to handle receipts and deliveries" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:5 +msgid "*Serial numbers* are one of the two ways to identify and track products in Odoo. A serial number is a unique identifier assigned incrementally (or sequentially) to an item or product, used to distinguish it from other items and products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:22 -msgid "By default, Odoo handles shipping and receiving in three different ways: in one, two, or three steps. The simplest configuration is one step, which is the default. Each additional step required for a warehouse for either the receiving or shipping process will add an additional layer of operations to perform before a product is either received or shipped. These configurations depend entirely on the requirements for the products stored, such as performing quality checks on received products, or using special packaging on shipped products." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:9 +msgid "Serial numbers can consist of many different types of characters: they can be strictly numerical, they can contain letters and other typographical symbols, or they can be a mix of all of the above." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:30 -msgid "One-step flow" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:12 +msgid "The goal of assigning serial numbers to individual products is to make sure that every item's history is identifiable when it travels through the supply chain. This can be especially useful for manufacturers that provide after-sales services to products that they sell and deliver." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:32 -msgid "The receiving and shipping rules for a one-step configuration are as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:17 +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:34 -msgid "**Receipt**: Receive products directly into stock. No intermediate steps between receipt and stock occur, such as a transfer to a quality control location." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:22 +msgid "To track products using serial numbers, the :guilabel:`Lots & Serial Numbers` feature must be enabled. To enable this, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Traceability` section, and click the box next to :guilabel:`Lots & Serial Numbers`. Remember to click the :guilabel:`Save` button to save changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:36 -msgid "**Shipping**: Ship products directly from stock. No intermediate steps between stock and shipping occur, such as a transfer to a packing location." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "Enabled lots and serial numbers setting." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:38 -msgid "Can only be used if not using :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategies." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:34 +msgid "Configure serial number tracking on products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:40 -msgid "Receipts and/or deliveries are handled quickly." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:36 +msgid "Once the :guilabel:`Lots & Serial Numbers` setting has been activated, individual products can now be tracked using serial numbers. To configure this, go to :menuselection:`Inventory app --> Products --> Products`, and choose a desired product to track." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:41 -msgid "Recommended for small warehouses with low stock levels, and for non-perishable items." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:40 +msgid "Once on the product form, click :guilabel:`Edit`, and click the :guilabel:`Inventory` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:42 -msgid "Items are received or shipped directly into/from stock." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:42 +msgid "Once on the product form, click :guilabel:`Edit`, navigate to the :guilabel:`Inventory` tab, and scroll to the :guilabel:`Traceability` section. Then, select the :guilabel:`By Unique Serial Number` option, and click :guilabel:`Save` to save the changes. Existing or new serial numbers can now be selected and assigned to newly-received or manufactured batches of this product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:45 -msgid ":ref:`Process receipts and deliveries in one step `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "Enabled serial number tracking on product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:48 -msgid "Two-step flow" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:52 +msgid "If a product doesn't have a serial number assigned to it, a user error pop-up window will appear. The error message states that the product(s) in stock have no lot/serial number. However, a lot/serial number can be assigned to the product by making an inventory adjustment." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:50 -msgid "The receiving and shipping rules for a two-step configuration are as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:57 +msgid "Create new serial numbers for products already in stock" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:52 -msgid "**Input + stock**: Bring products to an input location *before* moving into stock. Products can be organized by different internal storage locations, such as various shelves, freezers, and locked areas, before being stocked in the warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:59 +msgid "New serial numbers can be created for products already in stock with no assigned serial number. To do this, go to :menuselection:`Inventory --> Products --> Lots/Serial Numbers`, and click :guilabel:`Create`. Doing so reveals a blank lots/serial numbers form. On this form, a new :guilabel:`Lot/Serial Number` is generated automatically." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:55 -msgid "**Pick + ship**: Bring products to an output location before shipping. Packages can be organized by different carriers or shipping docks before being shipped." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:65 +msgid "While Odoo automatically generates a new lot/serial number to follow the most recent number, it can be edited and changed to any desired number, by clicking the line under the :guilabel:`Lot/Serial Number` field, and changing the generated number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:57 -msgid "Minimum requirement to use lot numbers or serial numbers to track products with a :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)` or :abbr:`FEFO (First Expired, First Out)` removal strategy." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:69 +msgid "Once the :guilabel:`Lot/Serial Number` is generated, click the blank field next to :guilabel:`Product` to reveal a drop-down menu. From this menu, select the product to which this new number will be assigned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:60 -msgid "Recommended for larger warehouses with high stock levels, or when stocking large items (such as mattresses, large furniture, heavy machinery, etc.)." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:73 +msgid "This form also provides the option to adjust the :guilabel:`Quantity`, to assign a unique :guilabel:`Internal Reference` number (for traceability purposes), and to assign this specific lot/serial number configuration to a specific website in the :guilabel:`Website` field (if working in a multi-website environment)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:62 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:83 -msgid "Products received will not be available for manufacturing, shipping, etc., until they are transferred into stock." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:78 +msgid "A detailed description of this specific lot/serial number can also be added in the :guilabel:`Description` tab below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:66 -msgid ":ref:`Process receipts and deliveries in two steps `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "New serial number created for existing product stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:69 -msgid "Three-step flow" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:87 +msgid "After a new serial number has been created, assigned to the desired product, and saved, navigate back to the product form, by going to :menuselection:`Products --> Products`, and selecting the product that this newly-created serial number was just assigned to." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:71 -msgid "The receiving and shipping rules for a three-step configuration are as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:91 +msgid "On that product's detail form, click the :guilabel:`Lot/Serial Numbers` smart button to view the new serial number." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:73 -msgid "**Input + quality + stock**: Receive products at the input location, transfer them to a quality control area, and move the ones that pass inspection into stock." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:95 +msgid "Manage serial numbers for shipping and receiving" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:75 -msgid "**Pick + pack + ship**: Pick products according to their removal strategy, pack them in a dedicated packing area, and bring them to an output location for shipping." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:97 +msgid "Serial numbers can be assigned for both **incoming** and **outgoing** goods. For incoming goods, serial numbers are assigned directly on the purchase order form. For outgoing goods, serial numbers are assigned directly on the sales order form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:77 -msgid "Can be used when tracking products by lot or serial numbers when using a :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategy." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:102 +msgid "Manage serial numbers on receipts" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:80 -msgid "Recommended for very large warehouses with very high stock levels." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:104 +msgid "Assigning serial numbers to **incoming** goods can be done directly from the purchase order (PO)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:81 -msgid "Required for any warehouse needing to perform quality control inspections before receiving items into stock." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:106 +msgid "To create a :abbr:`PO (purchase order)`, go to the :menuselection:`Purchase app --> Create`. Doing so reveals a new, blank request for quotation (RFQ) form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:87 -msgid ":ref:`Process receipts in three steps `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:109 +msgid "On this :abbr:`RFQ (request for quotation)` form, fill out the necessary information, by adding a :guilabel:`Vendor`, and by adding the desired products to the :guilabel:`Product` lines, by clicking :guilabel:`Add a product`, under the :guilabel:`Products` tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:88 -msgid ":ref:`Process deliveries in three steps `" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:113 +msgid "Choose the desired quantity of the product to order, by changing the number in the :guilabel:`Quantity` column." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries.rst:91 -msgid "Inventory flow table of contents" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:116 +msgid "When the necessary configurations are complete, click :guilabel:`Confirm Order`. This will convert the :abbr:`RFQ (request for quotation)` to a purchase order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:3 -msgid "Process deliveries in three steps" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:119 +msgid "Then, click the :guilabel:`Receipt` smart button to be taken to the warehouse receipt form page for that specific :abbr:`PO (purchase order)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:7 -msgid "Some companies process large amounts of deliveries every day, many of which include multiple products or require special packaging. To make this efficient, a packing step is needed before shipping out products. For this, Odoo has a three step process for delivering goods." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:123 +msgid "Clicking :guilabel:`Validate` before assigning a serial number to the ordered product quantities will cause a :guilabel:`User Error` pop-up to appear. The pop-up requires entry of a lot or serial number for the ordered products. The :abbr:`RFQ (request for quotation)` **cannot** be validated without a serial number being assigned." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:11 -msgid "In the default three-step delivery process, products that are part of a delivery order are picked in the warehouse according to their removal strategy, and brought to a packing zone. After the items have been packed into the different shipments in the packing zone, they are brought to an output location before being shipped. These steps can be modified if they do not fit the needs of the business." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "User error popup prompting serial number entry." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:20 -msgid "Odoo is configured by default to :ref:`receive and deliver goods in one step `, so the settings need to be changed in order to utilize three step deliveries. First, make sure the *Multi-Step Routes* option is enabled in :menuselection:`Inventory --> Configuration --> Settings --> Warehouse`. Note that activating :guilabel:`Multi-Step Routes` will also activate *Storage Locations*." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:136 +msgid "In this pop-up, configure a number of different fields, including the assignation of a serial number (or serial numbers) under the :guilabel:`Lot/Serial Number Name` column, located at the bottom of the pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 -msgid "Activate multi-step routes and storage locations in inventory settings." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:140 +msgid "There are three ways to do this: manually assigning serial numbers, automatically assigning serial numbers, and copy/pasting serial numbers from a spreadsheet." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:30 -msgid "Next, the warehouse needs to be configured for three step deliveries. To do this, go to :menuselection:`Inventory --> Configuration --> Warehouses`, and click :guilabel:`Edit` to edit the :guilabel:`Warehouse`. Then, select :guilabel:`Pack goods, send goods in output and then deliver (3 steps)` for :guilabel:`Outgoing Shipments`. Then :guilabel:`Save` the changes." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:144 +msgid "Assign serial numbers manually" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 -msgid "Set outgoing shipment option to deliver in three steps." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:146 +msgid "To assign serial numbers manually, click :guilabel:`Add a line` from the :guilabel:`Detailed Operations` pop-up, and first choose the location where the product will be stored under the :guilabel:`To` column." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:39 -msgid "Activating three-step receipts and deliveries will create two new internal locations: a *Packing Zone* (WH/Packing Zone), and *Output* (WH/Output). To rename these locations, go to :menuselection:`Configuration --> Locations`, select the :guilabel:`Location` to change, click :guilabel:`Edit`, update the name, and finally, click :guilabel:`Save`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:150 +msgid "Then, type a new :guilabel:`Serial Number Name`, and set the :guilabel:`Done` quantity in the appropriate columns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:45 -msgid "Process a delivery order in three steps (pick + pack + ship)" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:153 +msgid "Repeat this process for the quantity of products shown in the :guilabel:`Demand` field, and until the :guilabel:`Quantity Done` field displays the correct (matching) number of products processed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:48 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:89 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:141 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:157 +msgid "Assign serial numbers automatically" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:159 +msgid "If a large quantity of products need individual serial numbers assigned to them, Odoo can automatically generate and assign serial numbers to each of the individual products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:162 +msgid "To accomplish this, start with the :guilabel:`First SN` field in the :guilabel:`Detailed Operations` pop-up window, and type the first serial number in the desired order to be assigned." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:165 +msgid "Then, in the :guilabel:`Number of SN` field, type the total number of items that need newly-generated unique serial numbers assigned to them." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:168 +msgid "Finally, click :guilabel:`Assign Serial Numbers`, and a list will populate with new serial numbers matching the ordered quantity of products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "Automatic serial number assignment in detailed operations popup." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:176 +msgid "Copy/paste serial numbers from a spreadsheet" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:178 +msgid "To copy and paste serial numbers from an existing spreadsheet, first populate a spreadsheet with all of the serial numbers received from the supplier (or manually chosen upon receipt). Then, copy and paste them in the :guilabel:`Lot/Serial Number Name` column. Odoo will automatically create the necessary number of lines based on the amount of numbers pasted in the column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:183 +msgid "From here, the :guilabel:`To` locations and :guilabel:`Done` quantities can be manually entered in each of the serial number lines." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "List of serial numbers copied in Excel spreadsheet." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:191 +msgid "For purchase orders that include large quantities of products to receive, the best method of serial number assignment is to automatically assign serial numbers using the :guilabel:`Assign Serial Numbers` button located on the :abbr:`PO (purchase order)`. This prevents any serial numbers from being reused or duplicated, and improves traceability reporting." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:196 +msgid "Once all product quantities have been assigned a serial number, click the :guilabel:`Confirm` button to close the pop-up. Then, click :guilabel:`Validate`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:199 +msgid "A :guilabel:`Traceability` smart button appears upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Lot/Serial #`, and more." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:204 +msgid "Once all product quantities have been assigned a serial number, click :guilabel:`Confirm` to close the popup, and click :guilabel:`Validate`. A :guilabel:`Traceability` smart button will appear upon validating the receipt. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Lot/Serial #`, and more." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:211 +msgid "Manage serial numbers on delivery orders" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:213 +msgid "Assigning serial numbers to **outgoing** goods can be done directly from the sales order (SO)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:215 +msgid "To create an :abbr:`SO (sales order)`, navigate to the :menuselection:`Sales` app, and click the :guilabel:`Create` button. Doing so reveals a new, blank quotation form. On this blank quotation form, fill out the necessary information, by adding a :guilabel:`Customer`, and adding products to the :guilabel:`Product` lines (in the :guilabel:`Order Lines` tab), by clicking :guilabel:`Add a product`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:223 +msgid "Once the quotation has been filled out, click the :guilabel:`Confirm` button to confirm the quotation. When the quotation is confirmed, the quotation becomes an :abbr:`SO (sales order)`, and a :guilabel:`Delivery` smart button appears." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:234 +msgid "In the pop-up, a :guilabel:`Lot/Serial Number` will be chosen by default, with each product of the total :guilabel:`Reserved` quantity listed with their unique serial numbers (most likely listed in sequential order)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:238 +msgid "To manually change a product's serial number, click the drop-down menu under :guilabel:`Lot/Serial Number`, and choose (or type) the desired serial number. Then, mark the :guilabel:`Done` quantities, and click :guilabel:`Confirm` to close the pop-up." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:242 +msgid "Finally, click the :guilabel:`Validate` button to deliver the products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "Serial numbers listed in detailed operations popup." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:248 +msgid "Upon validating the delivery order, a :guilabel:`Traceability` smart button appears. Click the :guilabel:`Traceability` smart button to see the updated :guilabel:`Traceability Report`, which includes: a :guilabel:`Reference` document, the :guilabel:`Product` being traced, the :guilabel:`Date`, and the :guilabel:`Lot/Serial #` assigned." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:253 +msgid "The :guilabel:`Traceability Report` can also include a :guilabel:`Reference` receipt from the previous purchase order (PO), if any of the product quantities shared a serial number assigned during receipt of that specific :abbr:`PO (purchase order)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:258 +msgid "Manage serial numbers for different operations types" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:260 +msgid "By default in Odoo, the creation of new serial numbers is only allowed upon **receiving** products from a purchase order. **Existing** serial numbers cannot be used. For sales orders, the opposite is true: new serial numbers cannot be created on the delivery order, only existing serial numbers can be used." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:265 +msgid "To change the ability to use new (or existing) serial numbers on any operation type, go to :menuselection:`Inventory app --> Configuration --> Operations Types`, and select the desired :guilabel:`Operation Type`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:269 +msgid "For the :guilabel:`Receipts` operation type, found on the :guilabel:`Operations Types` page, the :guilabel:`Use Existing Lots/Serial Numbers` option can be enabled, by selecting :guilabel:`Receipts` from the :guilabel:`Operations Types` page, clicking :guilabel:`Edit`, and then clicking the checkbox beside the :guilabel:`Use Existing Lots/Serial Numbers` option (in the :guilabel:`Traceability` section). Lastly, click the :guilabel:`Save` button to save the changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:275 +msgid "For the :guilabel:`Delivery Orders` operation type, located on the :guilabel:`Operations Types` page, the :guilabel:`Create New Lots/Serial Numbers` option can be enabled, by selecting :guilabel:`Delivery Orders` from the :guilabel:`Operations Types` page, clicking :guilabel:`Edit`, and clicking the checkbox beside the :guilabel:`Create New Lots/Serial Numbers` option (in the :guilabel:`Traceability` section). Be sure to click :guilabel:`Save` to save changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "Enabled traceability setting in operations type form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:286 +msgid "Serial number traceability" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:288 +msgid "Manufacturers and companies can refer to the traceability reports to see the entire lifecycle of a product: where it came from (and when), where it was stored, and who it went to." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:291 +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:295 +msgid "From here, products with serial numbers assigned to them will be listed by default, and can be expanded to show what serial numbers have been specifically assigned to them." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:298 +msgid "To group by serial numbers (or lots), first remove any default filters from the search bar in the upper-right corner. Then, click :guilabel:`Group By`, and select :guilabel:`Add Custom Group`, which reveals a mini drop-down menu. From this mini drop-down menu, select :guilabel:`Lot/Serial Number`, and click :guilabel:`Apply`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:303 +msgid "Doing so reveals all existing serial numbers and lots, and can be expanded to show all quantities of products with that assigned number. For unique serial numbers that are not reused, there should be just one product per serial number." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:-1 +msgid "Serial numbers reporting page with drop-down lists." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:312 +msgid "For additional information regarding an individual serial number (or lot number), click the line item for the serial number to reveal that specific serial number's :guilabel:`Serial Number` form. From this form, click the :guilabel:`Location` and :guilabel:`Traceability` smart buttons to see all stock on-hand using that serial number, and any operations made using that serial number." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving.rst:5 +msgid "Shipping and receiving" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping.rst:5 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse.rst:5 +msgid "Advanced operations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:3 +msgid "How to cancel a shipping request to a shipper?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:8 +msgid "Odoo can handle various delivery methods, including third party shippers. Odoo will be linked with the transportation company tracking system." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:12 +msgid "It will allow you to manage the transport company, the real prices and the destination." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:15 +msgid "You can easily cancel the request made to the carrier system." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:18 +msgid "How to cancel a shipping request?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:20 +msgid "If the delivery order is not **Validated**, then the request hasn't been made. You can choose to cancel the delivery or to change the carrier." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:24 +msgid "If you have clicked on **Validate**, the request has been made and you should have received the tracking number and the label. You can still cancel the request. Simply click on the **Cancel** button next to the **Carrier Tracking Ref**:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:32 +msgid "You will now see that the shipment has been cancelled." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:37 +msgid "You can now change the carrier if you wish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:40 +msgid "How to send a shipping request after cancelling one?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:42 +msgid "After cancelling the shipping request, you can change the carrier you want to use. Confirm it by clicking on the **Send to shipper** button. You will get a new tracking number and a new label." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:115 +msgid ":doc:`invoicing`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:116 +msgid ":doc:`multipack`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:3 +msgid "Use dropshipping to ship directly from suppliers to customers" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:5 +msgid "Dropshipping is an order fulfillment strategy that allows sellers to have items shipped directly from suppliers to customers. Normally, a seller purchases a product from a supplier, stores it in their inventory, and ships it to the end customer once an order is placed. With dropshipping, the supplier is responsible for storing and shipping the item. This benefits the seller by reducing inventory costs, including the price of operating warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:12 +msgid "Configure products to be dropshipped" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:14 +msgid "To use dropshipping as a fulfillment strategy, navigate to the :menuselection:`Purchase` app and select :menuselection:`Configuration --> Settings`. Under the :guilabel:`Logistics` heading, click the :guilabel:`Dropshipping` checkbox, and :guilabel:`Save` to finish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:18 +msgid "Next, go to the :menuselection:`Sales` app, click :menuselection:`Products --> Products` and choose an existing product or select :guilabel:`Create` to configure a new one. On the :guilabel:`Product` page, make sure that the :guilabel:`Can be Sold` and :guilabel:`Can be Purchased` checkboxes are enabled." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "Enable the \"Can be Sold\" and \"Can be Purchased\" checkboxes on the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:27 +msgid "Click on the :guilabel:`Purchase` tab and specify a vendor and the price that they sell the product for. Multiple vendors can be added, but the vendor at the top of the list will be the one automatically selected for purchase orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "The product form with a vendor specified." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:35 +msgid "Finally, select the :guilabel:`Inventory` tab and enable the :guilabel:`Dropship` checkbox in the :guilabel:`Routes` section." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "Enable the Dropship option in the product inventory tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:43 +msgid "Fulfill orders using dropshipping" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:45 +msgid "When a customer completes an online purchase for a dropshipped product, a sales order will be automatically created with an associated request for quotation (:abbr:`RFQ (Request for Quotation)`) for the supplier. Sales orders can be viewed in the :menuselection:`Sales` app by selecting :menuselection:`Orders --> Orders`. Click the :guilabel:`Purchase` smart button at the top right of a sales order to view the associated :abbr:`RFQ (Request for Quotation)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:52 +msgid "Dropship sales orders can also be created manually through the :menuselection:`Sales` app by selecting :menuselection:`Orders --> Orders --> Create` and adding a product configured for dropshipping." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "A dropship sales order with the Purchase smart button in the top right corner." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:60 +msgid "Once the :abbr:`RFQ (Request for Quotation)` is confirmed, it becomes a purchase order and a dropship receipt is created and linked to it. The receipt can be viewed by clicking the :guilabel:`Receipt` smart button in the top right corner of the purchase order form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "A dropship purchase order with the Receipt smart button in the top right corner." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:68 +msgid "The dropship receipt will list the supplier in the :guilabel:`Receive From` section and the customer in the :guilabel:`Destination Location` section. Upon delivery of the product to the customer, click on the :guilabel:`Validate` button at the top left of the dropship receipt to confirm the delivered quantity." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "Validate the dropship receipt after delivery." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:77 +msgid "To view all dropship orders, simply navigate to the :menuselection:`Inventory` :guilabel:`Overview` dashboard and click the teal :guilabel:`# TO PROCESS` button on the :guilabel:`Dropship` card." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/dropshipping.rst:-1 +msgid "Click the green button on the Dropship card to view all dropship orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:3 +msgid "How to invoice the shipping cost to the customer?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:10 +msgid "There are two ways to invoice the shipping costs:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:12 +msgid "Agree with the customer over a cost and seal it down in the sale order" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:15 +msgid "Invoice the real cost of the shipping." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:20 +msgid "To configure the price of your delivery methods, go to the **Inventory** app, click on :menuselection:`Configuration --> Delivery --> Delivery Methods`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:23 +msgid "You can manually set a price for the shipping: It can be fixed or based on rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:26 +msgid "Or you can use the transportation company computation system by :doc:`integrating a third-party shipper <../setup_configuration/third_party_shipper>`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:30 +msgid "How to invoice the shipping costs to the customer?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:33 +msgid "Invoice the price set on the sale order" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:57 +msgid "On your sale order, choose the carrier that will be used. Click on **Delivery Method** to choose the right one." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:41 +msgid "The price is computed when you **save** the sale order or when you click on **Set price**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:44 +msgid "To invoice the price of the delivery charge on the sale order, click on **Set price**, it will add a line with the name of the delivery method as a product. It may vary from the real price." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:48 +msgid "When you create the invoice, it will take the price set on the sale order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:55 +msgid "Invoice the real shipping costs" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:63 +msgid "The price is computed when you **save** the sale order. Confirm the sale order and proceed to deliver the product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:66 +msgid "The real shipping cost is computed when the delivery order is validated, you can see the real cost in the chatter of the delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:72 +msgid "Go back to the sale order, the real cost is now added to the sale order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:78 +msgid "When you create the invoice, it will take the price computed by the carrier." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:85 +msgid "If you split the delivery and make several ones, each delivery order will add a line to the sale order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:89 +msgid ":doc:`../setup_configuration/third_party_shipper`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:90 +msgid ":doc:`labels`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:3 +msgid "Change shipping label size" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:8 +msgid "In Odoo, there are a variety of different types of shipping labels that can be selected for delivery orders. Depending on the types of shipping packages used, different label sizes may be more appropriate, and can be configured to fit the package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:15 +msgid "In the :menuselection:`Inventory` module, go to :menuselection:`Configuration --> Delivery --> Shipping Methods.` Click on a delivery method to choose it. For the following example, *FedEx International* will be used." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Different shipping methods." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:23 +msgid "In the :guilabel:`Configuration` tab, under :guilabel:`Label Type`, choose one of the label types available. The availability varies depending on the carrier." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Select a label type." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:30 +msgid "When a sales order with the corresponding shipping company is confirmed and a delivery order is validated, the shipping label will be automatically created as a PDF and appear in the :guilabel:`Chatter`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:141 msgid "Create a sales order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:50 -msgid "In the :menuselection:`Sales` application, create a new quote by clicking :guilabel:`Create`. Select a :guilabel:`Customer`, add a storable :guilabel:`Product`, and click :guilabel:`Confirm`." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:37 +msgid "In the :menuselection:`Sales` application, click :guilabel:`Create` and select an international customer. Click :guilabel:`Add A Product` and select an item. Click :guilabel:`Add Shipping`, select a shipping method, then click :guilabel:`Get Rate`, and finally, click :guilabel:`Add`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:53 -msgid "A :guilabel:`Delivery` smart button will appear in the top right. Clicking on it will show the picking order, packing order, and the delivery order, which are all associated with the sales order." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Add a shipping method and rate to a sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:45 +msgid "Once the quotation is confirmed by clicking :guilabel:`Confirm`, a :guilabel:`Delivery` smart button will appear." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Delivery order smart button." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:52 +msgid "Once the delivery order is validated by clicking :guilabel:`Validate` in the delivery order, the shipping documents appear in the :guilabel:`Chatter`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Shipping PDF documents." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:60 +msgid "Example labels" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:62 +msgid "The default :guilabel:`Label Type` is :guilabel:`Paper Letter`. An example of a FedEx letter sized label is:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Full page letter size FedEx shipping label." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:69 +msgid "For comparison, an example of a FedEx bottom-half label is:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:-1 +msgid "Half page letter size FedEx shipping label." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:85 +msgid "How to print shipping labels?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:8 +msgid "Odoo can handle various delivery methods, including third party shippers linked with the transportation company tracking system. It allows you to manage the transport company, the real prices and the destination. And finally, you will be able to print the shipping labels directly from Odoo." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:18 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:19 +msgid "Install the shipper company connector module" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:20 +msgid "In the **Inventory** module, click on :menuselection:`Configuration --> Settings`. Under **Shipping Connectors**, flag the transportation companies you want to integrate :" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:28 +msgid "Then click on **Apply**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:35 +msgid "Configure the delivery method" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:32 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:37 +msgid "To configure your delivery methods, go to the **Inventory** module, click on :menuselection:`Configuration --> Delivery Methods`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:35 +msgid "The delivery methods for the chosen shippers have been automatically created." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:41 +msgid "In the **Pricing** tab, the name of the provider means that the delivery will be handled and computed by the shipper system." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:44 +msgid "The configuration of the shipper is split into two columns :" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:46 +msgid "The first one is linked to **your account** (develop key, password,...). For more information, please refer to the provider website." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:64 +msgid "The second column varies according to the **provider**. You can choose the packaging type, the service type, the weight unit..." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:67 +msgid "Uncheck **Test Mode** when you are done with the testings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:55 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:79 +msgid "Company configuration" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:81 +msgid "In order to compute the right price, the provider needs your company information. Be sure your address and phone number are correctly encoded." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:88 +msgid "To check your information, go to the **Settings** application and click on **General Settings**. Click on the first link **Configure your company data**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:68 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:92 +msgid "Product configuration" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:94 +msgid "The shipper companies need the weight of your product, otherwise the price computation cannot be done." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:73 +msgid "Go the **Sales** module, click on :menuselection:`Sales --> Products`. Open the products you want to ship and set a weight on it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:80 +msgid "The weight on the product form is expressed in kilograms. Don't forget to do the conversion if you are used to the imperial measurement system." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:87 +msgid "The delivery order created from the sale order will take the shipping information from it, but you can change the carrier if you want to." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:137 +msgid "If you create a delivery transfer from the inventory module, you can add the third party shipper in the additional info tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:96 +msgid "Click on **Validate** to receive the tracking number and **the label(s)**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:153 +msgid "The label to stick on your package is available in the history underneath :" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:104 +msgid "Click on it to open the document and print it :" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:110 +msgid "If you are doing multi-packages shippings, most of the time, there will be one label per package. Each label will appear in the delivery history." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:3 +msgid "Multi-package shipments" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:5 +msgid "In some cases, a delivery order with multiple items may need to be shipped in more than one package. This may be necessary if the items are too large to ship in a single package, or if certain items cannot be packaged together. Shipping a single delivery order in multiple packages provides flexibility for how each item is packaged, without the need to create multiple delivery orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:13 +msgid "In order to split a delivery order across multiple packages, the *Packages* setting must be enabled. To do so, navigate to :menuselection:`Inventory --> Configuration --> Settings`, then enable the checkbox next to :guilabel:`Packages`. Click :guilabel:`Save` to confirm the change." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The Packages setting on the Inventory app settings page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:24 +msgid "Ship items in multiple packages" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:26 +msgid "To split items in the same delivery order across multiple packages, begin by navigating to :menuselection:`Inventory --> Delivery Orders`, then select a delivery order that has multiple items, a multiple quantity of the same item, or both." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:30 +msgid "On the :guilabel:`Operations` tab, select the :guilabel:`⁞≣ (menu)` icon in the line of the product that will be shipped in the first package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The menu icon for a product in a delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:37 +msgid "This makes a :guilabel:`Detailed Operations` pop-up window appear. In the table at the bottom of the pop-up window, the :guilabel:`Reserved` column shows the total quantity of the product included in the delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:41 +msgid "If the full quantity will be shipped in the first package, enter the number from the :guilabel:`Done` column in the :guilabel:`Reserved` column. If less than the full quantity will be shipped in the first package, enter a smaller number than the one that appears in the :guilabel:`Reserved` column. Click :guilabel:`Confirm` to confirm the :guilabel:`Done` quantities and close the pop-up." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The Detailed Operations pop-up for a product in a delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:51 +msgid "Repeat the same steps for every item quantity that is included in the first package. Then, click :guilabel:`Put In Pack` to create a package with all of the selected items." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The Put In Pack button on a delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:58 +msgid "For the next package, follow the same steps as detailed above, marking the quantity of each item to be included in the package as :guilabel:`Done` before clicking :guilabel:`Put In Pack` on the delivery order. Continue doing so until the full quantity of all items are added to a package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:62 +msgid "Finally, after all of the packages have been shipped, click :guilabel:`Validate` to confirm that the delivery order has been completed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:66 +msgid "After one or more packages are created, a :guilabel:`Packages` smart button appears in the top-right corner of the delivery order. Click the :guilabel:`Packages` smart button to go to the :guilabel:`Packages` page for the delivery order, where each package can be selected to view all of the items included in it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:0 +msgid "The Packages smart button on a delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:76 +msgid "Create a backorder for items to be shipped later" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:78 +msgid "If some items will be shipped at a later date than others, there is no need to put them in a package until they are ready to be shipped. Instead, create a backorder for the items being shipped later." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:81 +msgid "Begin by shipping the items that will be shipped immediately. If they will be shipped in multiple packages, follow the :ref:`steps above ` to package them as required. If they will be shipped in a single package, simply mark in the :guilabel:`Done` column the quantity of each item being shipped, but **do not** click the :guilabel:`Put In Pack` button." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:86 +msgid "After all quantities being shipped immediately are marked as :guilabel:`Done`, click the :guilabel:`Validate` button, and a :guilabel:`Create Backorder?` pop-up window appears. Then, click the :guilabel:`Create Backorder` button. Doing so confirms the items being shipped immediately and creates a new delivery order for the items that will be shipped later." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The Create Backorder? pop-up window." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:95 +msgid "The backorder delivery order will be listed in the chatter of the original delivery order in a message that reads :guilabel:`The backorder WH/OUT/XXXXX has been created.`. Click on :guilabel:`WH/OUT/XXXXX` in the message to view the backorder delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The backorder delivery order listed in the chatter of the original delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:103 +msgid "The backorder delivery order can also be accessed by navigating to :menuselection:`Inventory`, clicking the :guilabel:`# Back Orders` button on the :guilabel:`Delivery Orders` card, and selecting the delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:-1 +msgid "The Back Orders button on the Delivery Orders card." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:111 +msgid "Once the remaining items are ready to be shipped, navigate to the backorder delivery order. The items can be shipped in a single package by clicking :guilabel:`Validate` and selecting :guilabel:`Apply` on the :guilabel:`Immediate Transfer?` pop-up window that appears, or shipped in multiple packages by following the steps detailed in the section above." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack.rst:116 +msgid "It is also possible to ship out some of the items while creating another backorder for the rest. To do so, simply follow the same steps used to create the first backorder." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:3 +msgid "Scheduled delivery dates" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:5 +msgid "Accurately forecasting delivery dates is vital for fulfilling customer expectations. In Odoo, the *Inventory* app allows for comprehensive lead time configuration, allowing coordination and planning of manufacturing orders, deliveries, and receptions." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:10 +msgid "Lead time types" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:12 +msgid "Different lead times for different operations can impact various stages of the order fulfillment process. Here's a summary of the types of lead times in Odoo:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:-1 +msgid "Show graphic of all lead times working together." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:19 +msgid ":ref:`Customer lead time `: The default time frame for fulfilling customer orders. The customer lead time is the number of days from the date the sales order (SO) is confirmed to the date the products are shipped from the warehouse. This is also known as *delivery lead time*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:24 +msgid ":ref:`Sales security lead time `: moves the *scheduled delivery date* forward by a specified number of days. This serves as a buffer to allow the team ample time to prepare the outgoing shipment earlier, considering the possibility of delays in the fulfillment process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:29 +msgid ":ref:`Purchase lead time `: the number of days from the confirmation of a purchase order (PO) to the receipt of products. It provides insight on the time it takes for products to arrive at the warehouse, facilitating effective scheduling and planning of supplier deliveries." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:34 +msgid ":ref:`Purchase security lead time `: advances the order deadline on a :abbr:`PO (Purchase Order)` by a specified number of days. This proactive approach of placing orders earlier mitigates the risk of vendor or shipping delays. Thus, for products that are set to replenish to order, the need appears on the *Replenishment report* earlier, according to the specified number of days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:40 +msgid ":ref:`Manufacturing lead time `: the number of days needed to complete a manufacturing order (MO) from the date of confirmation. This lead time includes weekends (non-working hours in Odoo), and is used to forecast an approximate production date for a finished good." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:45 +msgid ":ref:`Manufacturing security lead time `: moves the scheduled date of the :abbr:`MO (Manufacturing Order)` forward by a specified number of days. When used in conjunction with :ref:`replenish to order `, the security lead time makes the need appear earlier on the replenishment report." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:53 +msgid "Sales lead times" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:55 +msgid "Customer lead times and sales security lead times can be configured to automatically compute an *expected delivery date* on a :abbr:`SO (Sales Order)`. The expected delivery date ensures a realistic *delivery dates* setting for shipments from the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:59 +msgid "Odoo issues a warning message if the set delivery date is earlier than the expected date, as it may not be feasible to fulfill the order by that time, which would impact other warehouse operations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:63 +msgid "A :abbr:`SO (Sales Order)` containing a `Coconut-scented candle` is confirmed on July 11th. The product has a customer lead time of 14 days, and the business uses a sales security lead time of 1 day. Based on the lead time inputs, Odoo suggests a delivery date in 15 days, on July 26th." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "Set *Delivery Date* in a sales order. Enables delivery lead times feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:71 +msgid "The following sections demonstrate how to automatically compute expected delivery dates." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:74 +msgid "Customer lead time" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:76 +msgid "Set the customer lead time on each product form, by navigating to the products page. To do so, go to :menuselection:`Sales app --> Products --> Products`. From there, select the desired product, and switch to the :guilabel:`Inventory` tab. Then, under the :guilabel:`Customer Lead Time` field, fill in the number of calendar days required to fulfill the delivery order from start to finish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:82 +msgid "Set a 14-day customer lead time for the `Coconut-scented candle` by navigating to its product form. Then, in the :guilabel:`Inventory` tab, type `14.00` days into the :guilabel:`Customer Lead Time` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "Set *Customer Lead Time* on the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:93 +msgid "Sales security lead time" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:95 +msgid "*Sales security lead time* is set globally for the business in :menuselection:`Inventory app --> Configuration --> Settings`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:98 +msgid "On the configuration page, under the :guilabel:`Advanced Scheduling` heading, locate the box for :guilabel:`Security Lead Time for Sales`, and click the checkbox to enable the feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:101 +msgid "Next, enter the desired number of calendar days. This security lead time is a buffer notifying the team to prepare for outgoing shipments earlier than the scheduled date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:105 +msgid "Setting the :guilabel:`Security Lead Time for Sales` to `1.00` day, pushes the :guilabel:`Scheduled Date` of a delivery order (DO) forward by one day. In that case, if a product is initially scheduled for delivery on April 6th, but with a one-day security lead time, the new scheduled date for the delivery order would be April 5th." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "View of the security lead time for sales configuration from the sales settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:115 +msgid "Deliver several products" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:117 +msgid "For orders that include multiple products with different lead times, the lead times can be configured directly from the quotation itself. On a quotation, click the :guilabel:`Other Info` tab, and set the :guilabel:`Shipping Policy` to:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:121 +msgid ":guilabel:`As soon as possible` to deliver products as soon as they are ready. The :guilabel:`Scheduled Date` of the :abbr:`DO (Delivery Order)` is determined by adding today's date to the shortest lead time among the products in the order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:125 +msgid ":guilabel:`When all products are ready` to wait to fulfill the entire order at once. The :guilabel:`Scheduled Date` of the :abbr:`DO (Delivery Order)` is determined by adding today's date to the longest lead time among the products in the order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:-1 +msgid "Show *Shipping Policy* field in the *Other Info* tab of a quotation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:134 +msgid "In a quotation containing 2 products, `Yoga mat` and `Resistance band,` the products have a lead time of 8 days and 5 days, respectively. Today's date is April 2nd." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:137 +msgid "When the :guilabel:`Shipping Policy` is set to :guilabel:`As soon as possible`, the scheduled delivery date is 5 days from today: April 7th. On the other hand, selecting :guilabel:`When all products are ready` configures the scheduled date to be 8 days from today: April 10th." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:144 +msgid "Purchase lead times" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:146 +msgid "Automatically determining the dates on which to place orders from suppliers can help simplify the procurement process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:149 +msgid "Odoo calculates the supplier shipment *receipt date*, and :abbr:`PO (Purchase Order)` deadline, based on the required date the product is needed in the warehouse. By working backwards from the receipt date, vendor lead times and purchase security lead times are taken into account, in order to determine the :abbr:`PO (Purchase Order)` deadline." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:154 +msgid "This deadline is the date by which the order should be confirmed, in order to ensure timely arrival by the expected receipt date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:-1 +msgid "Visualization of PO deadline and receipt date used with vendor lead times." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:162 +msgid ":ref:`PO scheduling with reordering rules `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:165 +msgid "Vendor lead time" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:167 +msgid "To set a vendor lead time for orders arriving in the warehouse from a vendor location, begin by navigating to a product form through :menuselection:`Purchase app --> Products --> Products`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:170 +msgid "Next, select the desired product, and switch to the :guilabel:`Purchase` tab. In the editable vendor pricelist, click the :guilabel:`Add a line` button to add vendor details, such as the :guilabel:`Vendor` name, :guilabel:`Price` offered for the product, and lastly, the :guilabel:`Delivery Lead Time`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:176 +msgid "Multiple vendors and lead times can be added to the vendor pricelist. The default vendor and lead time selected will be the entry at the top of the list." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:180 +msgid "On the vendor pricelist of the product form, the :guilabel:`Delivery Lead Time` for the selected vendor is set to `10 days.`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "Add delivery lead times to vendor pricelist on a product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:187 +msgid "By setting the vendor lead time, the expected arrival date of the item is automatically determined as the date of the :abbr:`PO (Purchase Order)` confirmation, plus the vendor lead time. This ensures that warehouse employees are notified, if the products do **not** arrive within the expected timeframe." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:193 +msgid "On a :abbr:`PO (Purchase Order)` confirmed on July 11th, for a product configured with a 10-day vendor lead time, Odoo automatically sets the :guilabel:`Receipt Date` to July 21st. The receipt date also appears as the :guilabel:`Scheduled Date` on the warehouse receipt form, accessible from the :guilabel:`Receipt` smart button, located on the :guilabel:`PO (Purchase Order)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "Show expected *Receipt Date* of the product from the vendor." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "Show expected *Scheduled Date* of arrival of the product from the vendor." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:209 +msgid "Purchase security lead time" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:211 +msgid "*Purchase security lead time* is set globally for the business in :menuselection:`Inventory app --> Configuration --> Settings`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:214 +msgid "On the configuration page, under the :guilabel:`Advanced Scheduling` heading, locate the box for :guilabel:`Security Lead Time for Purchase`, and click the checkbox to enable the feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:217 +msgid "Next, enter the desired number of calendar days. By configuring the security lead time, a buffer is set to account for potential delays in supplier deliveries." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:221 +msgid "Setting the :guilabel:`Security Lead Time for Purchase` to `2.00` days, pushes the :guilabel:`Scheduled Date` of receipt back by one day. In that case, if a product is initially scheduled to arrive on April 6th, with a two-day security lead time, the new scheduled date for the receipt would be April 8th." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "Set security lead time for purchase from the Inventory > Configuration > Settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:233 +msgid "Manufacturing lead times" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:235 +msgid "Lead times can help simplify the procurement process for consumable materials and components used in manufactured products with bills of materials." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:238 +msgid "The :abbr:`MO (Manufacturing Order)` deadline, which is the deadline to begin the manufacturing process to complete the product by the scheduled delivery date, can be determined by configuring the manufacturing lead times and manufacturing security lead times." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:-1 +msgid "Visualization of the determination of planned MO date manufacturing lead times." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:247 +msgid "Manufacturing lead time" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:249 +msgid "Configure the manufacturing lead time directly on the product form, by navigating to :menuselection:`Manufacturing app --> Products --> Products`, and select the desired product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:252 +msgid "In the :guilabel:`Inventory` tab of the product, specify the calendar days needed to the manufacture the product in the :guilabel:`Manufacturing Lead Time` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:256 +msgid "Specify a 14-day :guilabel:`Manufacturing Lead Time` for a product directly in the :guilabel:`Inventory` tab of the product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:0 +msgid "View of the manufacturing lead time configuration from the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:263 +msgid "Establish a :abbr:`MO (Manufacturing Order)` deadline, based on the *expected delivery date*, indicated in the :guilabel:`Scheduled Date` field of the :abbr:`DO (Delivery Order)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:266 +msgid "The :abbr:`MO (Manufacturing Order)` deadline, which is the :guilabel:`Scheduled Date` field on the :abbr:`MO (Manufacturing Order)`, is calculated as the *expected delivery date* subtracted by the manufacturing lead time." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:270 +msgid "This ensures the manufacturing process begins on time, in order to meet the delivery date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:272 +msgid "However, it's important to note that lead times are based on calendar days. Lead times do **not** consider weekends, holidays, or *work center capacity* (:dfn:`the number of operations that can be performed at the work center simultaneously`)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:277 +msgid ":ref:`Manufacturing planning `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:278 +msgid ":ref:`Configure automatic MO scheduling with reordering rules `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:282 +msgid "A product's scheduled shipment date on the :abbr:`DO (Delivery Order)` is August 15th. The product requires 14 days to manufacture. So, the latest date to start the :abbr:`MO (Manufacturing Order)` to meet the commitment date is August 1st." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:289 +msgid "Manufacturing security lead time" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:291 +msgid "*Manufacturing security lead time* is set globally for the business in :menuselection:`Manufacturing app --> Configuration --> Settings`. Under the :guilabel:`Planning` heading, locate the box for :guilabel:`Security Lead Time`, and click the checkbox to enable the feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:295 +msgid "Next, enter the desired number of calendar days. By configuring the security lead time, a buffer is set to account for potential delays in the manufacturing process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:-1 +msgid "View of the security lead time for manufacturing from the manufacturing app settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:303 +msgid "A product has a scheduled shipment date on the :abbr:`DO (Delivery Order)` set for August 15th. The manufacturing lead time is 7 days, and manufacturing security lead time is 3 days. So, the :guilabel:`Scheduled Date` on the :abbr:`MO (Manufacturing Order)` reflects the latest date to begin the manufacturing order. In this example, the planned date on the :abbr:`MO (Manufacturing Order)` is August 5th." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:310 +msgid "Global example" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:312 +msgid "See the following example to understand how all the lead times work together to ensure timely order fulfillment:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:315 +msgid "**Sales security lead time**: 1 day" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:316 +msgid "**Manufacturing security lead time**: 2 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:317 +msgid "**Manufacturing lead time**: 3 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:318 +msgid "**Purchase security lead time**: 1 day" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:319 +msgid "**Vendor lead time**: 4 days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:321 +msgid "The customer places an order for a manufactured product on September 1st, and the scheduled delivery date from the warehouse is on September 20th. Odoo uses lead times and automated reordering rules to schedule the necessary operations, based on the outgoing shipment delivery date, September 20th:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:-1 +msgid "Show timeline of how lead times work together to schedule warehouse operations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:329 +msgid "**September 1st**: Sales order created, confirmed by salesperson." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:331 +msgid "**September 9th**: Deadline to order components to ensure they arrive in time when manufacturing begins (4-day supplier lead time)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:334 +msgid "**September 13th**: Scheduled date of receipt for components. Initially, it was set to 9/14, but the 1-day purchase security lead time pushed the date earlier by 1 day." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:337 +msgid "**September 14th**: Deadline to begin manufacturing. Calculated by subtracting the manufacturing lead time of 3 days, and the manufacturing security lead time of 2 days, from the expected delivery date of September 19th." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:341 +msgid "**September 19th**: :guilabel:`Scheduled Date` on the delivery order form indicates the updated expected delivery date, which was originally set as September 20th. But the sales security lead time pushed the date forward by a day." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/scheduled_dates.rst:345 +msgid "Odoo's replenishment planning maps a business' order fulfillment process, setting pre-determined deadlines and raw material order dates, including buffer days for potential delays. This ensures products are delivered on time." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:3 +msgid "Process deliveries in three steps" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:7 +msgid "Some companies process large amounts of deliveries every day, many of which include multiple products or require special packaging. To make this efficient, a packing step is needed before shipping out products. For this, Odoo has a three step process for delivering goods." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:11 +msgid "In the default three-step delivery process, products that are part of a delivery order are picked in the warehouse according to their removal strategy, and brought to a packing zone. After the items have been packed into the different shipments in the packing zone, they are brought to an output location before being shipped. These steps can be modified if they do not fit the needs of the business." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:20 +msgid "Odoo is configured by default to :ref:`receive and deliver goods in one step `, so the settings need to be changed in order to utilize three step deliveries. First, make sure the *Multi-Step Routes* option is enabled in :menuselection:`Inventory --> Configuration --> Settings --> Warehouse`. Note that activating :guilabel:`Multi-Step Routes` will also activate *Storage Locations*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 +msgid "Activate multi-step routes and storage locations in inventory settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:30 +msgid "Next, the warehouse needs to be configured for three step deliveries. To do this, go to :menuselection:`Inventory app --> Configuration --> Warehouses`, and click on the :guilabel:`warehouse` to edit. Then, select :guilabel:`Pack goods, send goods in output and then deliver (3 steps)` for :guilabel:`Outgoing Shipments`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 +msgid "Set outgoing shipment option to deliver in three steps." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:39 +msgid "Activating three-step receipts and deliveries creates two new internal locations: a *Packing Zone* (WH/Packing Zone), and *Output* (WH/Output). To rename these locations, go to :menuselection:`Inventory app --> Configuration --> Locations`, click on the :guilabel:`Location` to change, and update the name." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:45 +msgid "Deliver in three steps (pick + pack + ship)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:50 +msgid "To create a new quote, navigate to :menuselection:`Sales app --> Create`, which reveals a blank quotation form. On the blank quotation form, select a :guilabel:`Customer`, add a storable :guilabel:`Product`, and click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:54 +msgid "A :guilabel:`Delivery` smart button appears in the top right of the quotation form. Clicking it shows the picking order, packing order, and the delivery order associated with the sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 msgid "After confirming the sales order, the Delivery smart button appears showing three items\n" "associated with it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:63 msgid "Process a picking" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:65 msgid "The picking, packing, and delivery orders will be created once the sales order is confirmed. To view these transfers, go to :menuselection:`Inventory --> Operations --> Transfers`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 msgid "Ready status for the pick operation while the packing and delivery operations are waiting\n" "another operation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:73 msgid "The status of the picking will be :guilabel:`Ready`, since the product must be picked from stock before it can be packed. The status of the packing order and delivery order will both be :guilabel:`Waiting Another Operation`, since the packing and delivery cannot happen until the picking is completed. The status of the delivery order will only change to :guilabel:`Ready` when the packing has been marked :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:78 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:79 msgid "The receipt can also be found in the *Inventory* application. In the :guilabel:`Overview` dashboard, click the :guilabel:`1 To Process` smart button in the :guilabel:`Pick` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 msgid "The pick order can be seen in the Inventory Kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:86 msgid "Click on the picking to process. If the product is in stock, Odoo will automatically reserve the product. Click :guilabel:`Validate` to mark the picking as done, and complete the transfer to the :guilabel:`Packing Zone`. Then the packing order will be ready. Since the documents are linked, the products which have been previously picked are automatically reserved on the packing order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "Validate the picking by clicking Validate." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:95 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:96 msgid "Process a packing" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:98 msgid "The packing order will be ready to be processed once the picking is completed, and can be found in the :menuselection:`Inventory` application :guilabel:`Overview` dashboard. Click the :guilabel:`1 To Process` smart button in the :guilabel:`Pack` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 msgid "The packing order can be seen in the Inventory kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:105 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:106 msgid "Click on the packing order associated with the sales order, then click on :guilabel:`Validate` to complete the packing." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 msgid "Click Validate on the packing order to transfer the product from the packing zone to the\n" "output location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:114 msgid "Once the packing order is validated, the product leaves the :guilabel:`WH/Packing Zone` location and moves to the :guilabel:`WH/Output` location. Then, the status of the document will change to :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:119 msgid "Process a delivery" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:121 msgid "The delivery order will be ready to be processed once the packing is completed, and can be found in the :menuselection:`Inventory` application :guilabel:`Overview` dashboard. Click the :guilabel:`1 To Process` smart button in the :guilabel:`Delivery Orders` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 msgid "The delivery order can be seen in the Delivery Orders Kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:129 msgid "Click on the delivery order associated with the sales order, then click on :guilabel:`Validate` to complete the move." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "Click Validate on the delivery order to transfer the product from the output location to\n" "the customer location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/delivery_three_steps.rst:136 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/delivery_three_steps.rst:137 msgid "Once the delivery order is validated, the product leaves the :guilabel:`WH/Output` location and moves to the :guilabel:`Partners/Customers` location. Then, the status of the document will change to :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:3 msgid "Process receipts and deliveries in one step" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:7 msgid "By default, incoming shipments are configured to be received directly into stock, and outgoing shipments are configured to be delivered directly from stock to the customer; the default setting for warehouses in Odoo is one step receipts and deliveries." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:12 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:12 msgid "Incoming and outgoing shipments do not need to be configured with the same steps. For example, products can be received in one step, but shipped in three steps." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:15 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:15 msgid "In the following example, one step will be used for both receipts and deliveries." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:18 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:18 msgid "Configure the warehouse" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:20 msgid "If another receiving or shipping configuration is set on the warehouse, they can easily be set back to the one step setting." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:23 msgid "Begin by navigating to :menuselection:`Inventory --> Configuration --> Warehouses`, and click on the desired warehouse to edit. Next, on the :guilabel:`Warehouse Configuration` tab, under the :guilabel:`Shipments` section, select :guilabel:`Receive goods directly (1 step)` for :guilabel:`Incoming Shipments` and/or :guilabel:`Deliver goods directly (1 step)` for :guilabel:`Outgoing Shipments`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:-1 msgid "Set incoming and outgoing shipment options to receive and deliver in one step." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:34 msgid "Receive goods directly (1 step)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:37 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:69 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:46 msgid "Create a purchase order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:39 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:39 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:71 msgid "On the main :menuselection:`Purchase` application dashboard, start by making a new quote by clicking :guilabel:`New`. Then, select (or create) a :guilabel:`Vendor` from the drop-down field, add a storable :guilabel:`Product` to the order lines, and click :guilabel:`Confirm Order` to finalize the quote as a new purchase order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:44 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:96 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:44 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:96 msgid "A :guilabel:`Receipt` smart button will appear in the top-right corner of the :abbr:`PO (purchase order)` form — click it to reveal the associated receipt for the purchase order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:-1 msgid "Receipt smart button appears on the confirmed purchase order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:52 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:91 msgid "Purchase order receipts can also be found in the :menuselection:`Inventory` application. In the :guilabel:`Overview` dashboard, click the :guilabel:`# to Process` smart button in the :guilabel:`Receipts` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:0 msgid "Receipt kanban card's 1 to Process smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:61 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:100 -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:100 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:97 msgid "Process the receipt" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:63 msgid "When viewing the receipt (associated with the purchase order above), click :guilabel:`Validate` to then complete the receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:-1 msgid "Validate the purchase order via the Validate smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:71 msgid "If :guilabel:`Storage Locations` are activated, clicking the :guilabel:`≣ (bullet list)` details icon next to the :guilabel:`🗑️ (trash)` delete icon enables the :guilabel:`Detailed Operations` screen to pop-up. This allows the location(s) to be specified for the received product(s)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:0 msgid "Select the Storage Location for the products being received in the Detailed Operations\n" "pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:80 msgid "Once the receipt is validated, the product leaves the :guilabel:`Supplier Location` and enters the :guilabel:`WH/Stock Location`. Once it arrives here, it will be available for manufacturing, sales, etc. Then, the status of the document will change to :guilabel:`Done`, thus completing the reception process in one step." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:86 msgid "Deliver goods directly (1 step)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:91 msgid "Start my navigating to the main :menuselection:`Sales` app dashboard, and make a new quote by clicking :guilabel:`New`. Then select (or create) a :guilabel:`Customer` from the drop-down field, add a storable :guilabel:`Product` that is in stock to the order lines, and click :guilabel:`Confirm` to finalize the quotation as a sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:99 msgid "A :guilabel:`Delivery` smart button will appear in the top-right corner of the :abbr:`SO (Sales Order)` form — click it to reveal the associated delivery order for the sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:-1 msgid "The Delivery smart button appears after the sales order is confirmed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:107 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:107 msgid "Delivery orders can also be found in the :menuselection:`Inventory` application. In the :guilabel:`Overview` dashboard, click the :guilabel:`# to Process` smart button in the :guilabel:`Delivery Orders` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:0 msgid "Delivery Orders kanban card's 1 to Process smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:116 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:194 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:116 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:194 msgid "Process the delivery" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:118 msgid "When viewing the delivery order (associated with the sales order above), click :guilabel:`Validate` to then complete the delivery." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:-1 msgid "Validate the delivery order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_one_step.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:125 msgid "Once the picking order is validated, the product leaves the :guilabel:`WH/Stock location` and moves to the :guilabel:`Partners/Customers location`. Then, the status of the document will change to :guilabel:`Done`, thus completing delivery in one step." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:3 msgid "Process receipts and deliveries in two steps" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:7 msgid "Depending on a company's business processes, multiple steps may be needed before receiving or shipping products. In the two-step receipt process, products are received in an input area, then transferred to stock. Two-step receipts work best when various storage locations are being used, such as locked or secured areas, freezers and refrigerators, or various shelves." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:12 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:12 msgid "Products can be sorted according to where they are going to be stored, and employees can stock all the products going to a specific location. The products are not available for further processing until they are transferred into stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:16 msgid "In the two-step delivery process, products that are part of a delivery order are picked from the warehouse according to their removal strategy, and brought to an output location before being shipped." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:20 msgid "One situation where this would be useful is when using either a :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategy, where the products that are being picked need to be selected based on their receipt date or expiration date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:25 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:25 msgid "Odoo is configured by default to :ref:`receive and deliver goods in one step `, so the settings need to be changed in order to utilize two-step receipts and deliveries. Incoming and outgoing shipments do not need to be set to have the same steps. For example, products can be received in two steps, but shipped in one step. In the following example, two steps will be used for both receipts and deliveries." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:32 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:32 msgid "Configure multi-step routes" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:34 msgid "First, make sure the :guilabel:`Multi-Step Routes` option is enabled in :menuselection:`Inventory --> Configuration --> Settings`, under the :guilabel:`Warehouse` heading. After enabling the setting, :guilabel:`Save` the changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:39 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:39 msgid "Activating the :guilabel:`Multi-Step Routes` setting will also activate the :guilabel:`Storage Locations` feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:46 msgid "Next, the warehouse needs to be configured for two-step receipts and deliveries. Go to :menuselection:`Inventory --> Configuration --> Warehouses`, and click on the warehouse to change the warehouse settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:50 msgid "Then, select :guilabel:`Receive goods in input and then stock (2 steps)` for :guilabel:`Incoming Shipments`, and :guilabel:`Send goods in output and then deliver (2 steps)` for :guilabel:`Outgoing Shipments`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "Set incoming and outgoing shipment options to receive and deliver in two steps." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:59 msgid "Activating two-step receipts and deliveries will create new *input* and *output* locations, which by default, are labeled :guilabel:`WH/Input` and :guilabel:`WH/Output`, respectively, on the :guilabel:`Locations` dashboard. To rename these locations, go to :menuselection:`Configuration --> Locations`, and select the :guilabel:`Location` to change. On the location form, update the :guilabel:`Location Name`, and make any other changes (if necessary)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:66 msgid "Process a receipt in two steps (input + stock)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:77 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:77 msgid "For businesses with multiple warehouses that have different step configurations, the :guilabel:`Deliver To` field on the :abbr:`PO (Purchase Order)` form may need to be specified as the correct *input location* connected to the two-step warehouse, which can be done by selecting the warehouse from the drop-down selection that includes the `Receipts` label at the end of the name." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:83 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:83 msgid "After confirming the :abbr:`PO (Purchase Order)`, a :guilabel:`Receipt` smart button will appear in the top of the :abbr:`PO (Purchase Order)` form — click it to reveal the associated receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "After confirming a purchase order, a Receipt smart button will appear." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:0 msgid "One receipt ready to process in the Inventory Overview kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:102 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:102 msgid "The receipt and internal transfer will be created once the purchase order is confirmed. The status of the receipt will be :guilabel:`Ready`, since the receipt must be processed first. The status of the internal transfer will be :guilabel:`Waiting Another Operation`, since the transfer cannot happen until the receipt is completed. The status of the internal transfer will only change to :guilabel:`Ready` once the receipt has been marked as :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:108 msgid "Click on the :guilabel:`Receipt` associated with the purchase order, then click :guilabel:`Validate` to complete the receipt and move the product to the :guilabel:`Input Location`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "Validate the receipt by clicking Validate, then the product will be transferred to the\n" "WH/Input location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:117 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:117 msgid "Process the internal transfer" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:119 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:119 msgid "Once the product is in the :guilabel:`Input Location`, the internal transfer is ready to move the product into stock. Navigate to the :menuselection:`Inventory` app, and on the :guilabel:`Inventory Overview` dashboard, click the :guilabel:`# To Process` smart button in the :guilabel:`Internal Transfers` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "One Internal Transfer ready to process in the Inventory Overview kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:128 msgid "Click on the :guilabel:`Transfer` associated with the purchase order, then click :guilabel:`Validate` to complete the receipt and move the product to stock. Once the transfer is validated, the product enters the stock and is available for customer deliveries or manufacturing orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "Validate the internal transfer to move the item to stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:138 msgid "Process a delivery order in two steps (pick + ship)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:143 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:143 msgid "In the :menuselection:`Sales` application, create a new quote by clicking :guilabel:`New`. Select (or create) a :guilabel:`Customer`, add a storable :guilabel:`Product` to the order lines, and then click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:147 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:147 msgid "After confirming the :abbr:`SO (Sales Order)`, a :guilabel:`Delivery` smart button will appear in the top, above the :abbr:`SO (Sales Order)` form. Click the :guilabel:`Delivery` smart button to reveal the associated receipt." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "After confirming the sales order, the Delivery smart button appears showing two items\n" "associated with it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:157 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:157 msgid "Sales order receipts can also be found in the :menuselection:`Inventory` application. In the :guilabel:`Overview` dashboard, click the :guilabel:`# To Process` smart button in the :guilabel:`Pick` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:0 msgid "The pick order can be seen in the Inventory kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:166 msgid "Process the picking" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:168 msgid "The picking and delivery order will be created once the sales order is confirmed. When the :guilabel:`Delivery` smart button appears, click it to reveal the :guilabel:`Transfers` dashboard, which lists both the picking and the delivery orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:172 msgid "The status of the picking will be :guilabel:`Ready`, since the product must be picked from stock before it can be shipped. The status of the delivery order will be :guilabel:`Waiting Another Operation`, since the delivery cannot happen until the picking is completed. The status of the delivery order will only change to :guilabel:`Ready` once the picking has been marked as :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "Ready status for the pick operation while the delivery operation is Waiting Another\n" "Operation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:183 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:183 msgid "Click on the picking delivery order to begin processing it. If the product is in stock, Odoo will automatically reserve the product. Click :guilabel:`Validate` to mark the picking as :guilabel:`Done`, then the delivery order will be ready for processing. Since the documents are linked, the products which have been previously picked are automatically reserved on the delivery order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:196 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:196 msgid "The delivery order will be ready to be processed once the picking is completed, and can be found in the :menuselection:`Inventory` application, on the :guilabel:`Inventory Overview` dashboard. Click the :guilabel:`# To Process` smart button in the :guilabel:`Delivery Orders` kanban card to begin." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:201 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:201 msgid "The delivery order associated with the :abbr:`SO (Sales Order)` can also be quickly accessed by clicking on the :guilabel:`Delivery` smart button again, and choosing the delivery order on the :guilabel:`Transfers` page (which should now be marked as :guilabel:`Ready`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:-1 msgid "The delivery order can be seen in the Inventory Kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:209 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:209 msgid "Click on the delivery order associated with the :abbr:`SO (Sales Order)`, then click on :guilabel:`Validate` to complete the move." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_delivery_two_steps.rst:217 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:217 msgid "Once the delivery order is validated, the product leaves the :guilabel:`WH/Output` location on the :guilabel:`Transfers` dashboard and moves to the :guilabel:`Partners/Customers` location. Then, the status of the document will change to :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:3 msgid "Process receipts in three steps" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:7 msgid "Some companies require a quality control process before receiving goods from suppliers. To accomplish this, Odoo has a three-step process for receiving goods." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:10 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:10 msgid "In the three-step receipt process, products are received in an input area, then transferred to a quality area for inspection. Products that pass the quality inspection are then transferred into stock. The products are not available for further processing until they are transferred out of the quality area and into stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:18 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:18 msgid "Odoo is configured by default to :ref:`receive and deliver goods in one step `, so the settings need to be changed in order to utilize three-step receipts. First, make sure the *Multi-Step Routes* option is enabled in :menuselection:`Inventory --> Configuration --> Settings --> Warehouse`. Note that activating :guilabel:`Multi-Step Routes` will also activate *Storage Locations*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "Activate multi-step routes and storage locations in Inventory settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:28 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:28 msgid "Next, the warehouse needs to be configured for three-step receipts. Go to :menuselection:`Inventory --> Configuration --> Warehouses`, and click :guilabel:`Edit` to edit the warehouse. Then, select :guilabel:`Receive goods in input, then quality and then stock (3 steps)` for :guilabel:`Incoming Shipments`. Then, :guilabel:`Save` the changes." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "Set incoming shipment option to receive in three steps." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:37 msgid "Activating three-step receipts and deliveries will create two new internal locations: *Input* (WH/Input), and *Quality Control* (WH/Quality Control). To rename these locations, go to :menuselection:`Configuration --> Locations`, select the :guilabel:`Location` to change, click :guilabel:`Edit`, update the name, and finally, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:43 msgid "Process a receipt in three steps (input + quality + stock)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:48 msgid "In the :menuselection:`Purchase` application, create a new quote by clicking :guilabel:`Create`. Select a :guilabel:`Vendor`, add a storable :guilabel:`Product`, and click :guilabel:`Confirm Order`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:52 msgid "A :guilabel:`Receipt` smart button will appear in the top right, and the receipt will be associated with the purchase order. Clicking on the :guilabel:`Receipt` smart button will show the receipt order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:61 msgid "Process a receipt" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:63 msgid "One receipt and two internal transfers (one transfer to quality, and a subsequent transfer to stock) will be created once the purchase order is confirmed. To view these transfers, go to :menuselection:`Inventory --> Operations --> Transfers`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "The status of the three receipt transfers will show which operation is ready and which ones\n" "are waiting another operation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:72 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:72 msgid "The status of the receipt transferring the product to the input location will be :guilabel:`Ready`, since the receipt must be processed before any other operation can occur. The status of the two internal transfers will be :guilabel:`Waiting Another Operation`, since the transfers cannot be processed until the linked step before each transfer is completed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:77 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:77 msgid "The status of the first internal transfer to *quality* will only change to :guilabel:`Ready` when the receipt has been marked :guilabel:`Done`. The status for the second internal transfer to *stock* will be marked :guilabel:`Ready` only after the transfer to quality has been marked :guilabel:`Done`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:82 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:82 msgid "The receipt can also be found in the :menuselection:`Inventory` application. In the :guilabel:`Overview` dashboard, click the :guilabel:`1 To Process` smart button in the :guilabel:`Receipts` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "One Receipt ready to process in the Inventory Overview kanban view." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:90 msgid "Click on the receipt associated with the purchase order, then click :guilabel:`Validate` to complete the receipt and move the product to the :guilabel:`Input Location`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "Validate the receipt by clicking Validate, and the product will be transferred to the\n" "WH/Quality location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:99 msgid "Process a transfer to Quality Control" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:101 msgid "Once the product is in the :guilabel:`Input Location`, the internal transfer is ready to move the product to :guilabel:`Quality Control`. In the :menuselection:`Inventory` :guilabel:`Overview` dashboard, click the :guilabel:`1 To Process` smart button in the :guilabel:`Internal Transfers` kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:110 msgid "Click on the :guilabel:`Transfer` associated with the purchase order, then click :guilabel:`Validate` to complete the transfer and move the product to the :guilabel:`Quality Control` location. Once the transfer is validated, the product is ready for the quality inspection, but is not available for manufacturing or delivery orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:-1 msgid "Validate the internal transfer to move the item to the Quality Control location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:120 msgid "Process a transfer to stock" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:122 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:122 msgid "Once the product is in the :guilabel:`Quality Control` location, the final internal transfer is ready to move the product to :guilabel:`Stock`. In the :guilabel:`Inventory` overview dashboard, click the :guilabel:`1 To Process` smart button in the :guilabel:`Internal Transfers` Kanban card." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/shipments_deliveries/receipts_three_steps.rst:126 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_three_steps.rst:126 msgid "Click on the final :guilabel:`Transfer` associated with the purchase order, then click :guilabel:`Validate` to complete the transfer and move the product to stock. Once the transfer is validated, the product enters the stock and is available for customer deliveries or manufacturing orders." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses.rst:5 -msgid "Warehouses" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:3 +msgid "Incoming shipments and delivery orders" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:3 -msgid "Create a second warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:5 +msgid "There are several ways to handle how a warehouse receives products (receipts) and ships products (deliveries). Depending on several factors, such as the type of products stocked and sold, warehouse size, and the amount of daily confirmed receipts and delivery orders, the way products are handled when coming in and out of the warehouse can vary a lot. Different settings can be configured for receipts and deliveries; they do not have to be configured to have the same number of steps." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:5 -msgid "A *warehouse* is a physical building or space where items are stored. In Odoo, it is possible to set up multiple warehouses and transfer stored items between them." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:12 +msgid "`Using Routes (eLearning Tutorial) `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:8 -msgid "By default, the Odoo platform has one warehouse that is already configured, with the address set as the company's address. To create a second warehouse, select :menuselection:`Configuration --> Warehouses`, then click :guilabel:`Create` and configure the form as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:13 +msgid "`Push & Pull Rules (eLearning Tutorial) `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:12 -msgid ":guilabel:`Warehouse`: the full name of the warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:17 +msgid "Choosing the right inventory flow to handle receipts and deliveries" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:13 -msgid ":guilabel:`Short Name`: the abbreviated code by which the warehouse is referred to; the short name for the default warehouse in Odoo is **WH**" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:19 +msgid "By default, Odoo handles shipping and receiving in three different ways: in one, two, or three steps. The simplest configuration is one step, which is the default. Each additional step required for a warehouse for either the receiving or shipping process will add an additional layer of operations to perform before a product is either received or shipped. These configurations depend entirely on the requirements for the products stored, such as performing quality checks on received products, or using special packaging on shipped products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:15 -msgid ":guilabel:`Company`: the company that owns the warehouse; this can be set as the company that owns the Odoo database or the company of a customer or vendor" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:27 +msgid "One-step flow" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:17 -msgid ":guilabel:`Address`: the address where the warehouse is located" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:29 +msgid "The receiving and shipping rules for a one-step configuration are as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:20 -msgid "The options below will only appear if the :guilabel:`Multi-Step Routes` checkbox is enabled in :menuselection:`Configuration --> Settings` under the :guilabel:`Warehouse` heading. For more information about routes and how they work in Odoo, see :ref:`Using Routes and Pull/Push Rules `." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:31 +msgid "**Receipt**: Receive products directly into stock. No intermediate steps between receipt and stock occur, such as a transfer to a quality control location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:25 -msgid ":guilabel:`Incoming/Outgoing Shipments`: select the routes that incoming and outgoing shipments should follow" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:33 +msgid "**Shipping**: Ship products directly from stock. No intermediate steps between stock and shipping occur, such as a transfer to a packing location." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:27 -msgid ":guilabel:`Resupply Subcontractors`: allow subcontractors to be resupplied from this warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:35 +msgid "Can only be used if not using :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategies." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:28 -msgid ":guilabel:`Manufacture to Resupply`: allow for items to be manufactured in this warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:37 +msgid "Receipts and/or deliveries are handled quickly." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:29 -msgid ":guilabel:`Manufacture`: select the route that should be followed when manufacturing goods inside the warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:38 +msgid "Recommended for small warehouses with low stock levels, and for non-perishable items." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:31 -msgid ":guilabel:`Buy to Resupply`: check the box to allow for purchased products to be delivered to the warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:39 +msgid "Items are received or shipped directly into/from stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:33 -msgid ":guilabel:`Resupply From`: select warehouses that can be used to resupply the warehouse being created" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:42 +msgid ":ref:`Process receipts and deliveries in one step `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:-1 -msgid "A filled out form for creating a new warehouse." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:45 +msgid "Two-step flow" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:41 -msgid "Creating a second warehouse will automatically enable the *Storage Locations* setting, which allows location tracking of products within a warehouse. To toggle this setting, navigate to :menuselection:`Configuration --> Settings` and click the checkbox under the :guilabel:`Warehouse` heading." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:47 +msgid "The receiving and shipping rules for a two-step configuration are as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:46 -msgid "After filling out the form, click :guilabel:`Save` and the new warehouse will be created." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:49 +msgid "**Input + stock**: Bring products to an input location *before* moving into stock. Products can be organized by different internal storage locations, such as various shelves, freezers, and locked areas, before being stocked in the warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:49 -msgid "Add inventory to a new warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:52 +msgid "**Pick + ship**: Bring products to an output location before shipping. Packages can be organized by different carriers or shipping docks before being shipped." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:51 -msgid "If a new warehouse is created that has existing inventory in it, the inventory counts should be added to Odoo so that the stock listed in the Odoo database reflects what is in the physical warehouse. To add inventory to a new warehouse, navigate to :menuselection:`Inventory --> Operations --> Inventory Adjustments`, and then click :guilabel:`Create`. The inventory adjustment form can then be filled out as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:54 +msgid "Minimum requirement to use lot numbers or serial numbers to track products with a :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)` or :abbr:`FEFO (First Expired, First Out)` removal strategy." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:57 -msgid ":guilabel:`Inventory Reference`: the name or code that the inventory adjustment can be referred to by" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:57 +msgid "Recommended for larger warehouses with high stock levels, or when stocking large items (such as mattresses, large furniture, heavy machinery, etc.)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:59 -msgid ":guilabel:`Locations`: the location(s) where the inventory is stored; include the new warehouse and any locations within it that inventory will be added to" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:80 +msgid "Products received will not be available for manufacturing, shipping, etc., until they are transferred into stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:61 -msgid ":guilabel:`Products`: include all products that will be added to inventory or leave blank to select any product during the next step" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:63 +msgid ":ref:`Process receipts and deliveries in two steps `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:63 -msgid ":guilabel:`Include Exhausted Products`: include products with a quantity of zero; does not affect inventory adjustments for new warehouses since they have no existing inventory" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:66 +msgid "Three-step flow" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:65 -msgid ":guilabel:`Accounting Date`: the date used by accounting teams for bookkeeping related to the inventory" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:68 +msgid "The receiving and shipping rules for a three-step configuration are as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:67 -msgid ":guilabel:`Company`: the company that owns the inventory; can be set as the user's company or as a customer or vendor" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:70 +msgid "**Input + quality + stock**: Receive products at the input location, transfer them to a quality control area, and move the ones that pass inspection into stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:69 -msgid ":guilabel:`Counted Quantities`: choose whether the counted quantities for products being added should default to stock on hand or zero; does not affect inventory adjustments for new warehouses since they have no existing inventory" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:72 +msgid "**Pick + pack + ship**: Pick products according to their removal strategy, pack them in a dedicated packing area, and bring them to an output location for shipping." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:-1 -msgid "A filled out form for an inventory adjustment." +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:74 +msgid "Can be used when tracking products by lot or serial numbers when using a :abbr:`FIFO (First In, First Out)`, :abbr:`LIFO (Last In, First Out)`, or :abbr:`FEFO (First Expired, First Out)` removal strategy." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:77 -msgid "Once the form is properly configured, click on :guilabel:`Start Inventory` to be taken to the next page where products can be added to the inventory adjustment. Add a new product by clicking on :guilabel:`Create` and then fill out the product line as follows:" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:77 +msgid "Recommended for very large warehouses with very high stock levels." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:81 -msgid ":guilabel:`Product`: the product being added to inventory" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:78 +msgid "Required for any warehouse needing to perform quality control inspections before receiving items into stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:82 -msgid ":guilabel:`Location`: the location where the product is currently stored in the new warehouse; this can be set as the overall warehouse or a location within the warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:84 +msgid ":ref:`Process receipts in three steps `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:84 -msgid ":guilabel:`Lot/Serial Number`: the lot that the product belongs to or the serial number used to identify it" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:85 +msgid ":ref:`Process deliveries in three steps `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:86 -msgid ":guilabel:`On Hand`: the total quantity of the product stored in the location for which inventory is being adjusted; this should be zero for a new location or warehouse" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration.rst:5 +msgid "Setup and configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:88 -msgid ":guilabel:`Counted`: the amount of the product that is being added to inventory" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:89 -msgid ":guilabel:`Difference`: the difference between the *On Hand* and *Counted* values; this will automatically update to reflect the value entered in the :guilabel:`Counted` column" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:91 -msgid ":guilabel:`UoM`: the unit of measure used for counting the product" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:-1 -msgid "Include a line for each product being added to inventory." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/create_a_second_warehouse.rst:97 -msgid "After adding all the products already stored in the new warehouse, click :guilabel:`Validate Inventory` to complete the inventory adjustment. The values in the :guilabel:`On Hand` column will update to reflect those in the :guilabel:`Counted` column and the products added will appear in the inventory of the new warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:3 -msgid "Resupply from another warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:5 -msgid "A common use case for multiple warehouses is to have one central warehouse that resupplies multiple shops, and in this case, each shop is considered a local warehouse. When a shop wants to replenish a product, the product is ordered to the central warehouse. Odoo allows the user to easily set which warehouse(s) can resupply another warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:13 -msgid "To resupply from another warehouse, first go to :menuselection:`Inventory --> Configuration --> Settings --> Warehouse` and activate :guilabel:`Multi-Step Routes`. Then, click :guilabel:`Save` to apply the setting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:-1 -msgid "Enable Multi-Step Routes in Inventory settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:21 -msgid "View all the configured warehouses by going to :menuselection:`Inventory --> Configuration --> Warehouses`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:24 -msgid "Create a new warehouse by clicking :guilabel:`Create`. Then, give the warehouse a name and a :guilabel:`Short Name`. Finally, click :guilabel:`Save` to finish creating the warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:27 -msgid "After that, go back to the :guilabel:`Warehouses` page and open the warehouse that will be resupplied by the second warehouse. Then, click :guilabel:`Edit`. In the :guilabel:`Warehouse Configuration` tab, locate the :guilabel:`Resupply From` field, and check the box next to the second warehouse's name. If the warehouse can be resupplied by more than one warehouse, make sure to check those warehouses' boxes too. Finally, click :guilabel:`Save` to apply the setting. Now, Odoo knows which warehouses can resupply this warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:-1 -msgid "Supply one warehouse with another in the Warehouse Configuration tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:39 -msgid "Set route on a product" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:41 -msgid "After configuring which warehouse(s) to resupply from, a new route is now available on all product forms. The new route appears as :guilabel:`Supply Product from [Warehouse Name]` under the :guilabel:`Inventory` tab on a product form. Use the :guilabel:`Supply Product from [Warehouse Name]` route with a reordering rule or the make to order (MTO) route to replenish stock by moving the product from one warehouse to another." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:-1 -msgid "Route setting which enables a product to resupplied from a second warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:51 -msgid "When a product's reordering rule is triggered and the product has the :guilabel:`Supply Product from [Warehouse Name]` route set, Odoo automatically creates two pickings. One picking is a *delivery order* from the second warehouse, which contains all the necessary products, and the second picking is a *receipt* with the same products for the main warehouse. The product move from the second warehouse to the main warehouse is fully tracked in Odoo." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:57 -msgid "On the picking/transfer records created by Odoo, the :guilabel:`Source Document` is the product's reordering rule. The location between the delivery order and the receipt is a transit location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:-1 -msgid "A reordering rule automatically creates two receipts for stock between warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:-1 -msgid "A warehouse order for resupplying one warehouse's stock with another." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/resupply_warehouses.rst:-1 -msgid "A receipt for stock received to one warehouse from another." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:3 -msgid "Locations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:5 -msgid "A *location* is a specific space within a warehouse. This can be a shelf, room, aisle, etc. There are three types of locations in Odoo:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:8 -msgid "*Physical locations* are spaces within a warehouse owned by the user's company. These can be a an area where items are stored like an aisle or shelf, or an area where operations take place, like loading and unloading bays." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:11 -msgid "*Partner locations* are the same as physical locations except that they exist within the warehouse of a customer or vendor." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:13 -msgid "*Virtual locations* are locations that do not exist physically, but where items that are not in inventory can be placed. These can be items that have not yet entered inventory, like products that are on the way to a warehouse, or items that are no longer in inventory due to loss or other factors." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:19 -msgid "In order to use locations, the :guilabel:`Storage Locations` setting must be enabled. To do so, navigate to :menuselection:`Inventory --> Configuration --> Settings`, scroll down to the :guilabel:`Warehouse` heading, and enable the :guilabel:`Storage Locations` checkbox." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:24 -msgid "Create a new location inside a warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:26 -msgid "Starting from the :menuselection:`Inventory` app, select :menuselection:`Configuration --> Locations --> Create`. The new location form can then be configured as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:29 -msgid ":guilabel:`Location Name`: the name that will be used to reference the location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:30 -msgid ":guilabel:`Parent Location`: the location or warehouse that the new location exists within" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:31 -msgid ":guilabel:`Location Type`: choose the category that the location belongs to" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:32 -msgid ":guilabel:`Company`: the company that owns the warehouse that the location is inside of" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:33 -msgid ":guilabel:`Is a Scrap Location?`: check this box to allow for scrapped/damaged goods to be stored in this location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:35 -msgid ":guilabel:`Is a Return Location?`: check this box to allow products to be returned to this location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:37 -msgid ":guilabel:`Barcode`: the barcode number assigned to the location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:38 -msgid ":guilabel:`Removal Strategy`: the :ref:`strategy ` for how items should be taken from inventory" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:-1 -msgid "The form for creating a new location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:46 -msgid "Create location hierarchies" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:48 -msgid "The *Parent Location* setting on the new location form allows for a location to exist within a warehouse or another location. Every location can serve as a parent location, and every parent location can have multiple locations within it, allowing for the creation of a virtually infinite hierarchical structure." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:54 -msgid "Location hierarchy could be organized so that a shelf is located within an aisle, which is located within a room, which is located within the overall warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/use_locations.rst:57 -msgid "To create the location hierarchy in the example above, set the warehouse as the parent of the room, the room as the parent of the aisle, and the aisle as the parent of the shelf. This can be adapted to a hierarchy of any magnitude." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:3 -msgid "Transfer products between warehouses using replenishment" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:5 -msgid "For companies that use multiple warehouses, it is often necessary to transfer items between them. This is referred to as an *inter-warehouse transfer*. Odoo *Inventory* handles the administrative process of inter-warehouse transfers to ensure that inventory counts remain accurate during and after the transfer. This document will detail the method for conducting an inter-warehouse transfer using replenishment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:12 -msgid "Configure warehouses for inter-warehouse replenishment" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:14 -msgid "First, ensure the :guilabel:`Multi-Step Routes` setting is enabled by navigating to :menuselection:`Inventory --> Configuration --> Settings`, and then check the box under the :guilabel:`Warehouse` tab. This will provide additional configuration options when creating a second warehouse that are needed for inter-warehouse replenishment." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:19 -msgid "By default, Odoo comes with a main warehouse already configured. If an additional warehouse has not already been created, do so now from the :guilabel:`Inventory` module by selecting :menuselection:`Configuration --> Warehouses --> Create`. Otherwise, select the warehouse that products will be transferred to from the :guilabel:`Warehouses` page and then click :guilabel:`Edit` to change its settings. Configure the warehouse as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:25 -msgid ":guilabel:`Warehouse`: choose a name that is not already being used for another warehouse (e.g. `Alternative Warehouse`)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:27 -msgid ":guilabel:`Short Name`: choose a short name by which the warehouse will be identified (e.g. `ALT_WH`)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:30 -msgid "Click :guilabel:`Save` and the new warehouse will be created. In addition, a new :guilabel:`Resupply From` field will appear on the warehouse's form. Click :guilabel:`Edit` and then check the box next to the warehouse that will be used to resupply the warehouse that is currently being configured." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:-1 -msgid "A warehouse settings form configured to allow resupplying between warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:39 -msgid "For the purposes of this demonstration, the warehouse that products are transferred from (outgoing) will be titled \"San Francisco\", and the warehouse that products are transferred to (incoming) will be titled \"San Francisco 2\"." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:44 -msgid "Configure products for inter-warehouse replenishment" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:46 -msgid "Products must also be configured properly in order for them to be transferred between warehouses. Navigate to :menuselection:`Inventory --> Products --> Products` and select an existing product or :guilabel:`Create` a new one, if necessary." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:50 -msgid "Then, on the product form, go to the :guilabel:`Inventory` tab and enable the checkbox for :guilabel:`X: Supply Product from Y`, with *X* being the warehouse receiving the transferred products and *Y* being the warehouse that products are transferred from." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:-1 -msgid "Enable the checkbox to resupply one warehouse from another." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:59 -msgid "Replenish one warehouse from another" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:61 -msgid "Starting in the :menuselection:`Inventory` module, select :menuselection:`Products --> Products` and then choose the product that will be replenished. Click the :guilabel:`Replenish` button on the top left of the product page and fill out the pop-up form as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:65 -msgid ":guilabel:`Quantity`: the number of units that will be sent to the warehouse being replenished" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:66 -msgid ":guilabel:`Scheduled Date`: the date that the replenishment is scheduled to take place" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:67 -msgid ":guilabel:`Warehouse`: the warehouse that will be replenished" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:68 -msgid ":guilabel:`Preferred Routes`: select `X: Supply Product from Y`, with *X* being the warehouse to be replenished and *Y* being the warehouse that the product will be transferred from" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:-1 -msgid "The form for replenishing a product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:75 -msgid "Click :guilabel:`Confirm` and a delivery order will be created for the outgoing warehouse along with a receipt for the warehouse that will receive the product. Depending on the configuration settings for the outgoing and incoming warehouses, processing delivery orders and receipts will require between one and three steps. This document will detail how to process one-step deliveries and receipts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:82 -msgid "Process the delivery order" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:84 -msgid "The first stage of a replenishment order is processing the delivery from the warehouse that the product is being transferred from. On the :menuselection:`Inventory` dashboard, select the :guilabel:`X to Process` button on the :guilabel:`Delivery Orders` card for the outgoing warehouse, then the delivery order created for the replenishment. On the delivery order page, click the :guilabel:`Check Availability` button in the top left to reserve the quantity of the product to be transferred. Once the delivery has been dispatched, click the :guilabel:`Validate` button to register the quantities shipped." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:-1 -msgid "The delivery orders card for the outgoing warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:99 -msgid "Once the goods arrive at the incoming warehouse, the receipt created for that warehouse must be processed as well. Return to the :menuselection:`Inventory` dashboard and select the :guilabel:`X to Process` button on the :guilabel:`Receipts` card for the incoming warehouse, then the receipt created for the replenishment. On the receipt page, click the :guilabel:`Validate` button in the top left of the page to register the quantities received." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:109 -msgid "After processing the receipt, the products transferred will now appear in the inventory of the incoming warehouse. The stock numbers for both warehouses can be viewed by returning to the product page and selecting the :guilabel:`X Units On Hand` button at the top of the screen." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:114 -msgid "Automate inter-warehouse replenishment" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:116 -msgid "Using reordering rules, it is possible to automate the process of replenishing one warehouse from another." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:119 -msgid "To get started, navigate to :menuselection:`Inventory --> Products --> Products`, and then choose the product that will be replenished. From the product page, select the :guilabel:`Reordering Rules` smart button at the top of the form, and then on the next page, click :guilabel:`Create` to configure the form as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:124 -msgid ":guilabel:`Location`: the location that the reordering rule will replenish when triggered, in this case, the incoming warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:126 -msgid ":guilabel:`Min Quantity`: when the quantity on hand at the incoming warehouse falls below this number, the reordering rule will be triggered" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:128 -msgid ":guilabel:`Max Quantity`: when the reordering rule is triggered, the product will be replenished at the incoming warehouse up to this quantity" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:130 -msgid ":guilabel:`Multiple Quantity`: specify if the product should be replenished in batches of a certain quantity; for example, a product could be replenished in batches of 20" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:132 -msgid ":guilabel:`UoM`: the unit of measure used for reordering the product; this value can simply be `Units`, or a specific unit of measurement for weight, length, etc." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:-1 -msgid "A fully configured reordering rule." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:139 -msgid "Finish by clicking :guilabel:`Save` and the reordering rule will be created. Now, when the scheduler runs automatically each day, a transfer will be created for each reordering rule that has been triggered." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:144 -msgid "To manually trigger reordering rules, start from the :menuselection:`Inventory` module and select :menuselection:`Operation --> Run Scheduler`, then click the green :guilabel:`Run Scheduler` button in the pop-up that appears." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouse_replenishment_transfer.rst:148 -msgid "After the scheduler runs, a delivery order and receipt will be created for the outgoing and incoming warehouses, respectively. Both the delivery order and receipt should be processed using the same method as detailed above." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:3 -msgid "Manage Warehouses and Locations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:9 -msgid "Warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:11 -msgid "In Odoo, a **Warehouse** is the actual building/place in which a company's items are stocked. Multiple warehouses can be set up in Odoo and the user can create moves between warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:19 -msgid "A **Location** is a specific space within the warehouse. It can be a sublocation of the warehouse (a shelf, a floor, an aisle, and so on). Therefore, a location is part of one warehouse only and it is not possible to link one location to multiple warehouses. In Odoo, as many locations can be configured as needed under one warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:24 -msgid "There are three types of locations:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:26 -msgid "The **Physical Locations** are internal locations that are part of the warehouses that the company owns. They can be the loading and unloading areas of the warehouse, a shelf, a department, etc." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:30 -msgid "The **Partner Locations** are spaces within a customer and/or vendor's warehouse. They work the same way as physical locations, with the only difference being that they are not owned by the user's company." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:34 -msgid "The **Virtual Locations** are places that do not exist, but in which products can be placed when they are not physically in an inventory yet (or anymore). They come in handy when recording lost products (**Inventory Loss**), or accounting for products that are on their way to the warehouse (**Procurements**)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:39 -msgid "In Odoo, locations are structured hierarchically. Locations can be structured as a tree, dependent on a parent-child relationship. This gives more detailed levels of analysis of the stock operations and the organization of the warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:46 -msgid "To activate locations, go to :menuselection:`Configuration --> Settings` and enable :guilabel:`Storage Locations`. Then, click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:-1 -msgid "Enable the storage location feature in Odoo Inventory settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:54 -msgid "To manage several routes within the warehouses, also enable :guilabel:`Multi-Step Routes` and check :doc:`../../routes/concepts/use_routes`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:58 -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:41 -msgid "Create a new warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:60 -msgid "To create a warehouse, go to :menuselection:`Configuration --> Warehouse Management --> Warehouses` and click on :guilabel:`Create`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:63 -msgid "Then, fill out a :guilabel:`Warehouse Name` and a :guilabel:`Short Name`. The short name is five characters maximum." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:-1 -msgid "Short name field of a warehouse on Odoo Inventory." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:71 -msgid "The :guilabel:`Short Name` appears on transfer orders and other warehouse documents. Odoo recommends using an understandable one like \"WH/[first letters of location]\"." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:74 -msgid "Now, go back to the :guilabel:`Inventory` dashboard. There, new operations related to the newly created warehouse have been automatically generated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:-1 -msgid "Inventory app dashboard displaying new transfer types for the recently created warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:82 -msgid "Adding a second warehouse will automatically activate the :guilabel:`Locations` setting." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:85 -msgid "Create a new location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:87 -msgid "To create a location, go to :menuselection:`Configuration --> Warehouse Management --> Locations` and click on :guilabel:`Create`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:90 -msgid "Then, fill out a :guilabel:`Location Name` and a :guilabel:`Parent Location` and click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/management/warehouses/warehouses_locations.rst:-1 -msgid "Create a new warehouse location in Odoo Inventory." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes.rst:5 -msgid "Advanced routes" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts.rst:5 -msgid "Concepts" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:3 -msgid "Organize a cross-dock in a warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:5 -msgid "Cross-docking is the process of sending products that are received directly to the customers, without making them enter the stock. The trucks are simply unloaded in a *Cross-Dock* area in order to reorganize products and load another truck." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:13 -msgid "For more information on how to organize your warehouse, read our blog: `What is cross-docking and is it for me? `_" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:20 -msgid "In the *Inventory* app, open :menuselection:`Configuration --> Settings` and activate the *Multi-Step Routes*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:27 -msgid "Doing so will also enable the *Storage Locations* feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:29 -msgid "Now, both *Incoming* and *Outgoing* shipments should be configured to work with 2 steps. To adapt the configuration, go to :menuselection:`Inventory --> Configuration --> Warehouses` and edit your warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:36 -msgid "This modification will lead to the creation of a *Cross-Docking* route that can be found in :menuselection:`Inventory --> Configuration --> Routes`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:43 -msgid "Configure products with Cross-Dock Route" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:45 -msgid "Create the product that uses the *Cross-Dock Route* and then, in the inventory tab, select the routes *Buy* and *Cross-Dock*. Now, in the purchase tab, specify the vendor to who you buy the product and set a price for it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:55 -msgid "Once done, create a sale order for the product and confirm it. Odoo will automatically create two transfers which will be linked to the sale order. The first one is the transfer from the *Input Location* to the *Output Location*, corresponding to the move of the product in the *Cross-Dock* area. The second one is the delivery order from the *Output Location* to your *Customer Location. Both are in state *Waiting Another Operation* because we still need to order the product to our supplier." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:68 -msgid "Now, go to the *Purchase* app. There, you will find the purchase order that has been automatically triggered by the system. Validate it and receive the products in the *Input Location*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:77 -msgid "When the products have been received from the supplier, you can go back to your initial sale order and validate the internal transfer from *Input* to *Output*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/cross_dock.rst:86 -msgid "The delivery order is now ready to be processed and can be validated too." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:3 -msgid "Sell stock from multiple warehouses using virtual locations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:5 -msgid "While keeping stock and selling inventory from one warehouse might work for smaller companies, bigger companies might need to keep stock in, or sell from, multiple warehouses in multiple locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:9 -msgid "In Odoo, sometimes products included in a single sales order might take stock from two (or more) warehouses. In Odoo, pulling products from multiple warehouses to satisfy sales demands can be done by using *virtual locations*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:14 -msgid "In order to create virtual locations in warehouses and proceed to the following steps, the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` features will need to be enabled in the :menuselection:`Settings` app." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:18 -msgid "To do so, go to :menuselection:`Inventory --> Configuration --> Settings`, scroll down to the :guilabel:`Warehouse` section, and click the checkboxes next to :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes`. Then, :guilabel:`Save` the changes to finish." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:23 -msgid "Create and configure a virtual parent location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:25 -msgid "Before creating any virtual stock locations, a new warehouse will need to be created. This new warehouse will act as a *virtual* warehouse, and will be the *parent* location of other physical warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:31 -msgid "Virtual warehouses are great for companies with multiple physical warehouses. This is because a situation might arise when one warehouse runs out of stock of a particular product, but another warehouse still has stock on-hand. In this case, stock from these two (or more) warehouses could be used to fulfill a single sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:36 -msgid "The \"virtual\" warehouse acts as a single aggregator of all the inventory stored in a company's physical warehouses, and is used (for traceability purposes) to create a hierarchy of locations in Odoo." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:43 -msgid "To create a new warehouse, go to :menuselection:`Inventory --> Configuration --> Warehouses`, and click :guilabel:`Create`. From here, the warehouse :guilabel:`Name` and :guilabel:`Short Name` can be changed, and other warehouse details can be changed under the :guilabel:`Warehouse Configuration` tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:48 -msgid "Under the :guilabel:`Shipments` heading, set the number of steps used to process :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments` by selecting between the :guilabel:`1 step`, :guilabel:`2 steps`, and :guilabel:`3 steps` radio buttons. The desired option for :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments` will depend on the warehouse's procurement process, and might differ for individual products or product categories." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:55 -msgid ":doc:`How to choose the right flow to handle receipts and deliveries? `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:58 -msgid "Under the :guilabel:`Resupply` heading, configure the method(s) for how the warehouse resupplies its inventory:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:61 -msgid ":guilabel:`Resupply Subcontractors`: resupply subcontractors with components from this warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:62 -msgid ":guilabel:`Manufacture to Resupply`: when products are manufactured, they can be manufactured in this warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:64 -msgid ":guilabel:`Manufacture`: to produce right away, move the components to the production location directly and start the manufacturing process; to pick first and then produce, unload the components from the stock to input location first, and then transfer it to the production location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:68 -msgid ":guilabel:`Buy to Resupply`: when products are bought, they can be delivered to this warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:69 -msgid ":guilabel:`Resupply From`: automatically create routes to resupply this warehouse from another chosen warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:73 -msgid "*Routes* can be set and configured directly from the :guilabel:`Warehouse` form, by clicking on the :guilabel:`Routes` smart button. Once the warehouse is configured, virtual *Locations* can be created." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:-1 -msgid "The edit screen for creating a new warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:81 -msgid "In order to apply this virtual warehouse as the *parent* location of two *child* location warehouses, there need to be two warehouses configured with physical stock locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:0 -msgid "**Parent Warehouse**" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:0 -msgid ":guilabel:`Warehouse`: `Virtual Warehouse`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:0 -msgid ":guilabel:`Location`: `VWH`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:0 -msgid "**Child Warehouses**" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:0 -msgid ":guilabel:`Warehouses`: `Warehouse A` and `Warehouse B`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:0 -msgid ":guilabel:`Locations`: `WHA/Stock` and `WHB/Stock`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:95 -msgid "Create a virtual parent location" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:98 -msgid "In order to take stock from multiple warehouses to fulfill a sales order, there need to be at least **two** warehouses acting as *child locations* of the *virtual parent location* warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:101 -msgid "To create and edit *Locations*, go to :menuselection:`Inventory --> Configuration --> Locations`. All :guilabel:`Locations` are listed here, including the *Stock* :guilabel:`Location` of the virtual warehouse that was created. Click into the *Stock* :guilabel:`Location` for the virtual warehouse that was previously created (:dfn:`Warehouse Name/Stock`)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:106 -msgid "Then, under the :guilabel:`Additional Information` section, change the :guilabel:`Location Type` from :guilabel:`Internal Location` to :guilabel:`View`. :guilabel:`Save` the changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:109 -msgid "This identifies this :guilabel:`Location` as a *virtual location*, which is used to create a hierarchical structure for a warehouse and aggregate its *child locations*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:113 -msgid "Products can *not* be stored in a :guilabel:`View` :guilabel:`Location Type`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:-1 -msgid "Warehouse location types in location creation screen." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:120 -msgid "Configure physical warehouse locations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:122 -msgid "Navigate back to the :guilabel:`Locations` overview (via the breadcrumbs), and remove any filters in the :guilabel:`Search Bar`. Then, click into the first physical warehouse :guilabel:`Location` that was previously created to be a *child location*, and click :guilabel:`Edit`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:126 -msgid "Under :guilabel:`Parent Location`, select the virtual warehouse from the drop-down menu, and :guilabel:`Save` changes. Then, navigate back to the :guilabel:`Locations` overview, and repeat this step for the second physical warehouse stock location. Be sure to :guilabel:`Save` changes again." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:130 -msgid "Both locations are now *child locations* of the virtual warehouse *parent location*. This allows stock to be taken from multiple locations to fulfill a single sales order, if there is not enough stock in any one location (provided they are both tied to the same virtual warehouse *parent location*)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:136 -msgid "Example flow: Sell a product from a virtual warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:139 -msgid "To sell products from multiple warehouses using a virtual *parent* location in this flow, there must be at least **two** products and at least **two** warehouses configured - with at least **one** product with quantity on-hand in each warehouse, respectively." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:143 -msgid "To create a new request for quotation, or RFQ, navigate to the :menuselection:`Sales` app, and click :guilabel:`Create` from the :guilabel:`Quotations` overview. Fill out the information on the new quotation by adding a :guilabel:`Customer`, and click :guilabel:`Add a product` to add the two products stored in the two warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:148 -msgid "Then, click the :guilabel:`Other Info` tab on the sales order form. Under the :guilabel:`Delivery` section, change the :guilabel:`Warehouse` field value listed to the virtual warehouse that was previously created. Once the warehouse has been changed, click :guilabel:`Confirm` to convert the quotation into a sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:153 -msgid "Now that the quotation has been confirmed as a sales order, click the :guilabel:`Delivery` smart button. From the warehouse delivery form, confirm that the :guilabel:`Source Location` value matches the :guilabel:`Warehouse` field value from the sales order. Both should list the virtual warehouse location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:159 -msgid "The :guilabel:`Source Location` on the warehouse delivery form and the :guilabel:`Warehouse` under the :guilabel:`Other Info` tab on the sales order form *must* match in order for the products included in the sales order to be pulled from different warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:163 -msgid "If the virtual warehouse is not the value in the :guilabel:`Source Location` field on the warehouse delivery form, then click :guilabel:`Edit`, make the change, and click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:166 -msgid "If the virtual warehouse is not the value in the :guilabel:`Warehouse` field on the sales order, then a new quotation may need to be generated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:168 -msgid "If the :guilabel:`Warehouse` field is missing on the sales order form, then the virtual warehouse (and its children warehouses) may not have been set up correctly, in which case, review the documentation above again to make sure all settings/configuration were done properly." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:-1 -msgid "Delivery order with matching source and child locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:176 -msgid "Finally, on the warehouse delivery form, under the :guilabel:`Detailed Operations` tab, confirm that the *Locations* values under the :guilabel:`From` column for each product matches to the *child locations* that are tied to the virtual *parent location*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:181 -msgid "To view which *Locations* the products are coming from on the drop-down menus, click the :guilabel:`internal link (arrow)` icon to expand the *Location* information. If needed, it can be changed from here (granted there is quantity on hand for the product in that location)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:185 -msgid "Once everything has been properly set, click :guilabel:`Validate` and then :guilabel:`Apply` to validate the delivery. Then, navigate back to the sales order form (via the breadcrumbs), and click :guilabel:`Create Invoice` to invoice for the sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:190 -msgid "To use a virtual *parent* location as the default warehouse for sales orders, each salesperson can have the virtual warehouse assigned to them from the drop-down menu next to :guilabel:`Default Warehouse` on their employee form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst:-1 -msgid "Default warehouse location on employee form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:5 -msgid "Routes and Pull/Push Rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:7 -msgid "In inventory management, the supply chain strategy determines when products should be purchased/manufactured, delivered to distribution centers, and made available to the retail channel." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:11 -msgid "In Odoo, a product's supply chain strategy can be configured using *Routes*, which feature *Pull and Push Rules*. Once everything is properly configured, the Inventory app can automatically generate transfers following the configured push/pull rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:16 -msgid "Inside the warehouse" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:18 -msgid "In a generic warehouse, there are receiving docks, a quality control area, storage locations, picking and packing areas, and shipping docks. All products go through all these locations. As the products move through the locations, each location triggers the products' specified route and rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of a generic warehouse with stock and quality control area." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:27 -msgid "In this example, vendor trucks unload pallets of ordered products at the receiving docks. Operators then scan the products in the receiving area. Depending on the product's route and rules, some of these products are sent to a quality control area (for example, products that are components used in the manufacturing process), while others are directly stored in their respective locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of a generic push to rule when receiving products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:36 -msgid "Here is an example of a fulfillment route. In the morning, items are picked for all the orders that need to be prepared during the day. These items are picked from storage locations and moved to the picking area, close to where the orders are packed. Then, the orders are packed in their respective boxes and conveyors bring them close to the shipping docks, ready to be delivered to customers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of a generic pull from rule when preparing deliveries." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:47 -msgid "Pull rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:49 -msgid "With *Pull Rules*, a demand for some products triggers procurements, while *Push Rules* are triggered by products arriving in a specific location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:52 -msgid "Pull Rules are used to fulfill a sales order. Odoo generates a need at the *Customer Location* for each product in the order. Because pull rules are triggered by a need, Odoo looks for a pull rule defined on the *Customer Location*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:56 -msgid "In this case, a \"delivery order\" pull rule that transfers products from the *Shipping Area* to the *Customer Location* is found, and a transfer between the two locations is created." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:59 -msgid "Then, Odoo finds another pull rule that tries to fulfill the need for the *Shipping Area*: the \"packing\" rule that transfers products from the *Packing Area* to the *Shipping Area*. Finally, other pull rules are triggered until a transfer between the *Stock* and the *Picking Area* is created." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:65 -msgid "All these product transfers are automatically generated by Odoo based on the pull rules, starting from the end (the customer location) and going backward (the stock warehouse). While working, the operator processes these transfers in the opposite order: first the picking, then the packing, and finally the delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:71 -msgid "Push rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:73 -msgid "On the other hand, *Push Rules* are much easier to understand. Instead of generating documents based on needs, they are triggered in real time when products arrive in a specific location. Push rules basically say: \"when a product arrives at a specific location, move it to another location.\"" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:77 -msgid "An example of a push rule would be: when a product arrives in the *Receipt Area*, move it to the *Storage Location*. As different push rules can be applied to different products, the user can assign different storage locations for different products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:81 -msgid "Another push rule could be: when products arrive at a location, move them to the *Quality Control Area*. Then, once the quality check is done, move them to their *Storage Location*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:85 -msgid "Push rules can only be triggered if there are no pull rules that have already generated the product transfers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:89 -msgid "Sets of push/pull rules like those are called *Routes*. The grouping on the rule decides if products are grouped in the same transfer or not. For example, during the picking operation, all orders and their products are grouped in one transfer, whereas the packing operation respects the grouping per customer order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:97 -msgid "Use routes and rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:99 -msgid "Since *Routes* are a collection of *Push and Pull Rules*, Odoo helps you manage advanced route configurations such as:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:102 -msgid "Manage product manufacturing chains." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:103 -msgid "Manage default locations per product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:104 -msgid "Define routes within the stock warehouse according to business needs, such as quality control, after-sales services, or supplier returns." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:106 -msgid "Help rental management by generating automated return moves for rented products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:108 -msgid "To configure a route for a product, first, open the :guilabel:`Inventory` application and go to :menuselection:`Configuration --> Settings`. Then, in the :guilabel:`Warehouse` section, enable the :guilabel:`Multi-Step Routes` feature and click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "Activate the Multi-Step Routes feature in Odoo Inventory." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:117 -msgid "The :guilabel:`Storage Locations` feature is automatically activated with the :guilabel:`Multi-Step Routes` feature." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:120 -msgid "Once this first step is completed, the user can use pre-configured routes that come with Odoo, or they can create custom routes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:124 -msgid "Pre-configured routes" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:126 -msgid "To access Odoo's pre-configured routes, go to :menuselection:`Inventory --> Configuration --> Warehouses`. Then, open a warehouse form. In the :guilabel:`Warehouse Configuration` tab, the user can view the warehouse's pre-configured routes for :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "A preconfigured warehouse in Odoo Inventory." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:135 -msgid "Some more advanced routes, such as pick-pack-ship, are also available. The user can select the route that best fits their business needs. Once the :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments` routes are set, head to :menuselection:`Inventory --> Configuration --> Routes` to see the specific routes that Odoo generated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of all the preconfigured routes Odoo offers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:144 -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/routes/concepts/use_routes.rst:-1 -msgid "View of a route example applicable on product categories and warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:154 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "An example of rules with push & pull actions in Odoo Inventory." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:163 -msgid "Custom Routes" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:165 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of a pick-pack-ship route." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:173 -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/routes/concepts/use_routes.rst:176 -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/routes/concepts/use_routes.rst:181 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of a route applied to the \"all\" product category." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:189 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the warehouse drop-down menu when selecting applicable on warehouse." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:197 -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/routes/concepts/use_routes.rst:201 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the menu allowing to add new lines to sales orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:208 -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/routes/concepts/use_routes.rst:211 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of a product form, where the route must be selected." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:220 -msgid "Rules must be set on the route in order for the route to work." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:223 -msgid "Rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:225 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the rules menu, where it is possible to add new rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:233 -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/routes/concepts/use_routes.rst:236 -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/routes/concepts/use_routes.rst:240 -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/routes/concepts/use_routes.rst:243 -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/routes/concepts/use_routes.rst:248 -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/routes/concepts/use_routes.rst:250 -msgid ":guilabel:`Manufacture`: when products are needed in the source location, a manufacturing order is created to fulfill the need." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "Overview of a \"Pull From\" rule that creates a transfer between the stock and the packing\n" -"zone." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:258 -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/routes/concepts/use_routes.rst:261 -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/routes/concepts/use_routes.rst:265 -msgid ":guilabel:`Take From Stock`: the products are taken from the available stock of the source location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:267 -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/routes/concepts/use_routes.rst:269 -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/routes/concepts/use_routes.rst:273 -msgid "In the *Scheduling* section, you can determine how Odoo behaves when one of the chain's pickings is rescheduled. In case you decide to **Propagate Rescheduling**, the next move is also to be rescheduled." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:277 -msgid "If you prefer having the choice to reschedule the next move, you can decide to receive an alert in the form of a *next activity*." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:281 -msgid "Sample full route flow" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:283 -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/routes/concepts/use_routes.rst:286 -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/routes/concepts/use_routes.rst:289 -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/routes/concepts/use_routes.rst:292 -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/routes/concepts/use_routes.rst:295 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "Overview of all the transfers created by the pick - pack - ship route." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:303 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the operations created by a pull from transfer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:311 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the transfers' various statuses at the beginning of the process." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:319 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the detailed operations for a transfer between the packing and output zones." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:326 -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 "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the detailed operations for a transfer between the stock and packing zones." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:333 -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/routes/concepts/use_routes.rst:338 -msgid "In this example, the product is delivered to the customer when all the rules have been triggered and the transfers are done." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/concepts/use_routes.rst:-1 -msgid "View of the transfers' statuses when the route is completed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies.rst:5 -msgid "Putaway & Removal Strategies" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:3 -msgid "Putaway rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:6 -msgid "What is a Putaway Rule?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:8 -msgid "A good warehouse implementation makes sure that products automatically move to their appropriate destination location. To make that process easier, Odoo uses *Putaway Rules*. Putaway is the process of taking products from the received shipments and putting them into the appropriate location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:13 -msgid "If, for example, a warehouse contains volatile substances, it is important to make sure that certain products are not stored close to each other because of a potential chemical reaction. That's where putaway rules intervene, to avoid storing products wrongly." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:20 -msgid "In the :guilabel:`Inventory` app, go to :menuselection:`Configuration --> Settings` and activate the :guilabel:`Multi-Step Routes` feature. By doing so, the :guilabel:`Storage Locations` feature is also automatically activated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:-1 -msgid "Activate Multi-Step Routes in Inventory configuration settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:29 -msgid "Setting up a putaway rule" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:31 -msgid "In some cases, like for a retail shop storing fruits and vegetables, products should be stored in different locations depending on several factors like frequency, size, product category, specific environment needs, and so on." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:35 -msgid "In this example, suppose there is one warehouse location, **WH/Stock**, with the following sub-locations:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:38 -msgid "WH/Stock/Pallets" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:40 -msgid "WH/Stock/Pallets/PAL1" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:41 -msgid "WH/Stock/Pallets/PAL2" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:42 -msgid "WH/Stock/Pallets/PAL3" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:44 -msgid "WH/Stock/Shelf 1" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:46 -msgid "WH/Stock/Shelf 2" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:48 -msgid "WH/Stock/Shelf 2/Small Refrigerator" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:50 -msgid "WH/Stock/Shelf 3" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:52 -msgid "Manage those locations with putaway rules. To create a putaway rule, open the :guilabel:`Inventory` app and go to :menuselection:`Configuration --> Putaway Rules`. Then, click on :guilabel:`Create` and configure a putaway rule that indicated the main location the product will enter before being redirected to the right storage location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:58 -msgid "The putaway rules can be defined either per product/product category and/or package type (the :guilabel:`Packages` setting must be enabled for that). Putaway rules are read sequentially until a match is found." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:62 -msgid "Take the following example:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:64 -msgid "If water (category All/drinks) is received, whatever the package, it will be redirected to WH/Stock/Shelf 2/Small Refrigerator." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:66 -msgid "If orange juice cans, packaged in boxes, are received, they will be redirected to WH/Stock/Shelf 2." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:68 -msgid "If water or apple juice bottles, packaged in boxes, are received, they will be redirected to WH/Stock/Shelf 3." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:70 -msgid "If a pallet of lemonade cans are receieved, it will be redirected to WH/Stock/Pallets/PAL1." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:-1 -msgid "Some examples of putaway rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:77 -msgid "Using Storage Categories" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:79 -msgid "A *Storage Category* is an extra location attribute. Storage categories allow the user to define the quantity of products that can be stored in the location and how the location will be selected with putaway rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:86 -msgid "In the :guilabel:`Inventory` app, go to :menuselection:`Configuration --> Settings` and activate the :guilabel:`Storage Categories` feature. By doing so, the :guilabel:`Storage Locations` feature is also automatically activated." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:91 -msgid "Create a Storage Category" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:93 -msgid "To create a storage category, go to :menuselection:`Inventory --> Configuration --> Storage Categories` and click :guilabel:`Create`. Then, click :guilabel:`Save` and click :guilabel:`Storage Categories` or go to :menuselection:`Configuration --> Storage Categories` to create a new storage category." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:-1 -msgid "Create Storage Categories inside Odoo Inventory configuration settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:102 -msgid "First, click :guilabel:`Create` and type a name for the storage category." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:104 -msgid "Then, there are options to limit the capacity by weight, by product, or by package type. The :guilabel:`Allow New Product` field defines when the location is considered available to store a product:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:108 -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/routes/strategies/putaway.rst:109 -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/routes/strategies/putaway.rst:111 -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/routes/strategies/putaway.rst:114 -msgid "Once the storage category settings are saved, the storage category can be linked to a location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:-1 -msgid "When a Storage Category is created, it can be linked to a warehouse location." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:121 -msgid "Storage categories in putaway rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:123 -msgid "To continue the example from above, apply the \"High Frequency Pallets\" on the PAL1 and PAL2 locations and rework the putaway rules as follows:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:126 -msgid "Assume one pallet of lemonade cans is received:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:128 -msgid "If PAL1 and PAL2 are empty, the pallet will be redirected to WH/Stock/Pallets/PAL1." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:129 -msgid "If PAL1 is full, the pallet will be redirected to WH/Stock/Pallets/PAL2." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:130 -msgid "If PAL1 and 2 are full, the pallet will be redirected to WH/Stock/Pallets." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/putaway.rst:-1 -msgid "Storage Categories used in a variety of putaway rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:3 -msgid "Removal strategies (FIFO, LIFO, FEFO)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:7 -msgid "For companies with warehouses, **removal strategies** determine which products are taken from the warehouse, and when. Removal strategies are typically defined for specific picking operations. This helps companies to select the best products, optimize the distance workers need to travel when picking items for orders, and account for quality control, such as moving products with expiration dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:13 -msgid "Usually, *Removal Strategies* are defined in picking operations to select the best products to optimize the distance for the worker, for quality control purposes, or to first move the products with the closest expiration date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:17 -msgid "When a product needs to be moved, Odoo finds available products that can be assigned to the transfer. The way Odoo assigns these products depends on the :guilabel:`Removal Strategy` defined in either the :guilabel:`Product Category` or the :guilabel:`Location` dashboards." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:21 -msgid "To change the :guilabel:`Removal Strategy`, go to :menuselection:`Inventory app --> Configuration --> Locations` or :menuselection:`Product Categories`. Click on a :guilabel:`Location` or :guilabel:`Product Category`, and then click :guilabel:`Edit`. Change the product category :guilabel:`Force Removal Strategy` or the location :guilabel:`Removal Strategy` by clicking on the drop-down menu and selecting the desired removal strategy. After selecting the new removal strategy, click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Change the Force Removal Strategy for either the Product Categories or Locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:33 -msgid "What happens inside the warehouse?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:35 -msgid "Most warehouses share the same important areas: receiving docks and sorting areas, storage locations, picking and packing areas, and shipping/loading docks. While all products entering or leaving the warehouse might go through each of these locations at some point, removal strategies can have an effect on which products are taken, from where, and when." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:40 -msgid "In this example below, vendor trucks unload pallets of goods at the receiving docks. Then, operators scan the products in the receiving area, with the reception date and expiration date. After that, products are stored in their respective storage locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:45 -msgid "Not all products have expiration dates, but in this example, expiration dates apply." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Products entering stock via the receiving area." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:51 -msgid "In Odoo, receive products by navigating to the :menuselection:`Inventory` application, and in the kanban view, click on either the :guilabel:`Receipts` heading or :guilabel:`# TO PROCESS` button. On the :guilabel:`Receipts` dashboard, find and click on the individual receipt which will open the warehouse intake form. Click :guilabel:`Edit`, and then enter the received quantity in the :guilabel:`Done` column. To finish, :guilabel:`Validate` to receive the products and register them in the Odoo database." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:59 -msgid "Receiving products can also be done within the Odoo *Barcode* application. If using the *Barcode* app, scan the product(s), update the quantity, and finally, click :guilabel:`Validate`. After products are received in Odoo, the products can then be moved to their respective storage locations." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:64 -msgid "Continuing with the same example, below, imagine several sales orders are made for the products received earlier, that use expiration dates. In this example, the products weren't received on the same day, and they don't have the same expiration date. In this situation, logically, sending products with the closest expiration date is preferred, instead of products received first or last. Using the chosen removal strategy configured for those products (in this example, :ref:`FEFO `), Odoo generates a transfer for the products with the soonest expiration date to the picking area, then the packing area, and finally, to the shipping docks for delivery to the customer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Products being packed at the packing area for delivery, taking the expiration dates into\n" -"account." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:79 -msgid "To pick for delivery, the product's lot/serial number can be found on the transfer form. To learn more about picking and shipping, refer to either the :ref:`Two-step delivery ` or :ref:`Three-step delivery ` documentation." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:85 -msgid "How each removal strategy works" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:87 -msgid "Removal strategies determine which products are taken from the warehouse when orders are confirmed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:90 -msgid "First In, First Out (FIFO)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:92 -msgid "When using a :guilabel:`First In, First Out (FIFO)` strategy, demand for a product triggers a removal rule, which requests a transfer for the lot/serial number that entered the stock first (and therefore, has been in stock for the longest time)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:96 -msgid "For example, imagine there are three lots of nails in the warehouse, and have the corresponding lot numbers: `00001`, `00002`, `00003`. Each lot has five boxes of nails in it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:99 -msgid "Lot `00001` entered the stock on May 23, lot `00002` on May 25, and lot `00003` on June 1. A customer orders six boxes on June 11." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:102 -msgid "Using the :abbr:`FIFO (First In, First Out)` removal strategy, a transfer request will pick the five boxes from lot `00001` first, and then from the boxes in lot `00002`, since lot `00001` entered the stock first. The box from lot `00002` is taken next because it has the oldest receipt date after lot `00001`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "The detailed operations for the transfer shows the nail lots to be removed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:112 -msgid "Last In, First Out (LIFO)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:114 -msgid "Similar to the :abbr:`FIFO (First In, First Out)` method, the :guilabel:`Last In, First Out (LIFO)` removal strategy moves products based on the date they entered a warehouse's stock. Instead of removing the oldest stock on-hand, however, it targets the **newest** stock on-hand for removal." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:118 -msgid "Every time an order for products with the :abbr:`LIFO (Last In, First Out)` method is placed, a transfer is created for the lot/serial number that has most recently entered the stock (the **last** lot/serial number that entered the warehouse's inventory)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:123 -msgid "In many countries, the :abbr:`LIFO (Last In, First Out)` removal strategy in banned, since it can potentially result in old, expired, or obsolete products being delivered to customers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:126 -msgid "For example, imagine there are three lots of boxes of screws in the warehouse, and have the corresponding lot numbers: `10001`, `10002`, and `10003`, each with 10 boxes of screws per lot." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:129 -msgid "Lot `10001` entered the stock on June 1, lot `10002` on June 3, and lot `10003` on June 6. A customer orders seven boxes on June 8." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:132 -msgid "Using the :abbr:`LIFO (Last In, First Out)` removal strategy, a transfer is requested for seven boxes of screws from lot `10003` because that lot is the last one to have entered the stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "The detailed operations shows which lots are being selected for the picking." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:140 -msgid "First Expired, First Out (FEFO)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:142 -msgid "While the :abbr:`FIFO (First In, First Out)` and :abbr:`LIFO (Last In, First Out)` methods target products for removal based on date of entry into the warehouse, the :guilabel:`First Expired, First Out (FEFO)` method targets products for removal based on their assigned expiration dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:146 -msgid "Using the :abbr:`FEFO (First Expired, First Out)` removal strategy, every sales order that includes products with this removal strategy assigned ensures that transfers are requested for products with the expiration date soonest to the order date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:150 -msgid "As an example, imagine there are three lots of six-egg boxes. Those three lots have the following lot numbers: `20001`, `20002`, and `20003`, each with five boxes in it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:153 -msgid "Lot `20001` entered the stock on July 1 and expires on July 15, lot `20002` entered on July 2 and expires on July 14, and lot `20003` entered on July 3 and expires on July 21. A customer orders six boxes on July 5." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:157 -msgid "Using the :abbr:`FEFO (First Expired, First Out)` method, a transfer is requested for the five boxes from lot `20002` and one from lot `20001`. All the boxes in lot `20002` are transferred because they have the earliest expiration date. The transfer also requests one box from lot `20001` because it has the next closest expiration date after lot `20002`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "The detailed operations for the transfer shows the lots to be removed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:167 -msgid "Using removal strategies" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:169 -msgid "To differentiate some units of products from others, the units need to be tracked, either by :guilabel:`Lot` or by :guilabel:`Serial Number`. To do so, go to :menuselection:`Inventory --> Configuration --> Settings`. Then, activate the :guilabel:`Storage Locations`, :guilabel:`Multi-Step Routes`, and :guilabel:`Lots & Serial Numbers` settings. Click :guilabel:`Save` to save changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid ":alt: Traceability settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid ":alt: Warehouse settings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:183 -msgid "To use the :abbr:`FEFO (First Expired, First Out)` removal strategy, the :guilabel:`Expiration Dates` setting needs to be activated as well. To enable this, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Traceability` section, and click the checkbox next to :guilabel:`Expiration Dates`. Remember to click :guilabel:`Save` to save all changes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:189 -msgid "Now, specific removal strategies can be defined on product categories. To do this, go to :menuselection:`Inventory app --> Configuration --> Product Categories`, and choose a product category to define the removal strategy on. In the :guilabel:`Force Removal Strategy` field, choose a removal strategy." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid ":alt: Removal strategy on a product category." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:198 -msgid "To view all products with lots/serial numbers assigned to them, navigate to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. This reveals a page with drop-down menus of all products assigned lots or serial numbers, filtered by *product* by default. To change the category these products are filtered by, click :guilabel:`Product` (in the search bar, in the top right of the page) to remove the default filter, and select a new filter if desired." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Click on Products, then Lots/Serial Numbers to display all the products with lots or serial\n" -"numbers." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:209 -msgid "To view the serial numbers being selected for a sales order, go to the :guilabel:`Sales app` and select the sales order in question. In the sales order, click the :guilabel:`Delivery` smart button in the top right. In the :guilabel:`Operations` tab, click the :guilabel:`⦙≣ (Detailed Operations)` icon in the far right for the product in question. The :guilabel:`Detailed Operations` window appears, and displays the lot or serial numbers selected for that specific product for the delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:217 -msgid "FIFO (First In, First Out)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:219 -msgid "The :abbr:`FIFO (First In, First Out)` removal strategy implies that products which enter a warehouse's stock first are removed first. Companies should use this method if they are selling products with short demand cycles, such as clothes, to ensure they are not stuck with outdated styles in stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:224 -msgid "In this example, there are three lots of white shirts. The shirts are from the *All/Clothes* category, where *FIFO* is set as the removal strategy. In the :guilabel:`Inventory Valuation Report`, the three different receipts are listed with the amounts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "View of the lots of white shirts in the inventory valuation report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:232 -msgid "Lot `000001` contains five shirts, lot `000002` contains three shirts, and lot `000003` contains two shirts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:235 -msgid "To see the removal strategy in action, go to the :menuselection:`Sales app` and click :guilabel:`Create` to create a sales order. Next, select a :guilabel:`Customer` from the drop-down menu. Then click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Select a product (for this example, the :guilabel:`White Shirt`) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (for this example, `6.00`) in the :guilabel:`Quantity` field, then click :guilabel:`Save`, then click :guilabel:`Confirm`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:242 -msgid "Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the oldest lot numbers will be reserved thanks to the :abbr:`FIFO (First In, First Out)` strategy. All five shirts from lot `000001` and one shirt from lot `000002` will be selected to be sent to the customer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Two lots being reserved for a sales order with the FIFO strategy." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:252 -msgid "LIFO (Last In, First Out)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:254 -msgid "The :abbr:`LIFO (Last In, First Out)` removal strategy works in the **opposite** manner from the :abbr:`FIFO (First In, First Out)` strategy. With this method, the products that are received **last** are moved out first. This method is mostly used for products without a shelf life, and no time-sensitive factors, such as expiration dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:259 -msgid "In this example, there are three lots of cinder blocks. The blocks are from the *All/Building Materials* category, where *FIFO* is set as the removal strategy. In the :guilabel:`Inventory Valuation Report`, the three different receipts are listed with the amounts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "View of the lots of cinder blocks in the inventory valuation report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:267 -msgid "Lot `000020` contains three cinder blocks, lot `000030` contains five cinder blocks, and lot `0000400` contains four cinder blocks." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:270 -msgid "To see how the :abbr:`LIFO (Last In, First Out)` strategy works, first navigate to :menuselection:`Inventory app --> Configuration --> Product Categories`, and select a product category (for this example, the :guilabel:`All/Building Materials` category) to edit. This reveals a product category form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:275 -msgid "Once on the product category form, under the :guilabel:`Logistics` section, change the :guilabel:`Force Removal Strategy` to :guilabel:`Last In First Out (LIFO)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Last in first out (LIFO) strategy set up as forced removal strategy." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:282 -msgid "To see the removal strategy in action, go to the :menuselection:`Sales app` and click :guilabel:`Create` to create a sales order. Next, select a :guilabel:`Customer` from the drop-down menu. Then click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Select a product (for this example, the :guilabel:`Cinder Block`) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (for this example, `5.00`) in the :guilabel:`Quantity` field, then click :guilabel:`Save`, then click :guilabel:`Confirm`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:289 -msgid "Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the newest lot numbers will be reserved thanks to the :abbr:`LIFO (Last In, First Out)` strategy. All four cinder blocks from lot `0000400` and one cinder block from lot `000030` will be selected to be sent to the customer." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Two lots being reserved for sale with the LIFO strategy." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:301 -msgid "FEFO (First Expired, First Out)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:303 -msgid "The :abbr:`FEFO (First Expired, First Out)` removal strategy differs from the :abbr:`FIFO (First In, First Out)` and :abbr:`LIFO (Last In, First Out)` strategies, because it targets products for removal based on **expiration dates** instead of their warehouse receipt dates. With this method, the products that are going to expire first are moved out first. This method is used for perishable products, such as medicine, food, and beauty products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:309 -msgid "Lots are picked based on their **removal date** from earliest to latest. Removal dates indicate how many days *before* the expiration date the product needs to be removed from stock. The removal date is set on the product form. Lots without a removal date defined are picked after lots with removal dates." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:315 -msgid "If products are not removed from stock when they should be, lots that are past the expiration date may still be picked for delivery orders!" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:319 -msgid "For more information about expiration dates, reference the :doc:`Expiration dates ` document." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:323 -msgid "First, go to :menuselection:`Inventory app --> Configuration --> Settings` and ensure :guilabel:`Expiration Dates` is enabled. Once the :guilabel:`Expiration Dates` setting is enabled, it's possible to define different expiration dates for individual serialized products, as well as for lot numbers containing many products." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:328 -msgid "In this example, there are three lots of hand cream. The creams are from the *All/Health & Beauty* category, where *FEFO* is set as the removal strategy. In the :guilabel:`Inventory Valuation Report`, the three different receipts are listed with the amounts." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:332 -msgid "Lot `0000001` contains twenty tubes of hand cream, expiring on Sept 30, lot `0000002` contains ten tubes of hand cream, expiring on November 30, and lot `0000003` contains ten tubes of hand cream, expiring on October 31." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "View the hand cream lot numbers and expiration dates in the inventory report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:340 -msgid "Expiration dates can be entered when validating the received products, or set on products by going to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. Click :guilabel:`Create`, enter the serial number, and select the product from the drop-down menu. Next, select the expiration date in the :guilabel:`Dates` tab. Finally, click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "View of the removal date for 0000001." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:349 -msgid "To see how the :abbr:`FEFO (First Expired, First Out)` strategy works, first navigate to :menuselection:`Inventory app --> Configuration --> Product Categories`, and select a product category (in this example, the :guilabel:`All/Health & Beauty` category) to edit. This reveals a product category form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:354 -msgid "Once on the product category form, under the :guilabel:`Logistics` section, change the :guilabel:`Force Removal Strategy` to :abbr:`FEFO (First Expired, First Out)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "FEFO forced removal strategy set on the product category." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:361 -msgid "Next, go to the :menuselection:`Sales app` and click :guilabel:`Create` to create a sales order. Next, select a :guilabel:`Customer` from the drop-down menu. Then click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Select a product (for this example, the :guilabel:`Hand Cream`) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (in this example, `25.00`) in the :guilabel:`Quantity` field, then click :guilabel:`Save`, then click :guilabel:`Confirm`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:368 -msgid "Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the lot numbers expiring first will be reserved thanks to the :abbr:`FEFO (First Expired, First Out)` strategy. All twenty tubes of hand cream from lot `0000001` and five from lot `0000003` will be selected to be sent to the customer, detailed in the :guilabel:`Detailed Operations` tab in the sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/routes/strategies/removal.rst:-1 -msgid "Hand cream lot numbers selected for the sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping.rst:5 -msgid "Shipping" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation.rst:5 -msgid "Shipping Operations" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:3 -msgid "How to cancel a shipping request to a shipper?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:8 -msgid "Odoo can handle various delivery methods, including third party shippers. Odoo will be linked with the transportation company tracking system." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:12 -msgid "It will allow you to manage the transport company, the real prices and the destination." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:15 -msgid "You can easily cancel the request made to the carrier system." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:18 -msgid "How to cancel a shipping request?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:20 -msgid "If the delivery order is not **Validated**, then the request hasn't been made. You can choose to cancel the delivery or to change the carrier." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:24 -msgid "If you have clicked on **Validate**, the request has been made and you should have received the tracking number and the label. You can still cancel the request. Simply click on the **Cancel** button next to the **Carrier Tracking Ref**:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:32 -msgid "You will now see that the shipment has been cancelled." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:37 -msgid "You can now change the carrier if you wish." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:40 -msgid "How to send a shipping request after cancelling one?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:42 -msgid "After cancelling the shipping request, you can change the carrier you want to use. Confirm it by clicking on the **Send to shipper** button. You will get a new tracking number and a new label." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:50 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:115 -msgid ":doc:`invoicing`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst:51 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:116 -msgid ":doc:`multipack`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:3 -msgid "Use dropshipping to ship directly from suppliers to customers" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:5 -msgid "Dropshipping is an order fulfillment strategy that allows sellers to have items shipped directly from suppliers to customers. Normally, a seller purchases a product from a supplier, stores it in their inventory, and ships it to the end customer once an order is placed. With dropshipping, the supplier is responsible for storing and shipping the item. This benefits the seller by reducing inventory costs, including the price of operating warehouses." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:12 -msgid "Configure products to be dropshipped" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:14 -msgid "To use dropshipping as a fulfillment strategy, navigate to the :menuselection:`Purchase` app and select :menuselection:`Configuration --> Settings`. Under the :guilabel:`Logistics` heading, click the :guilabel:`Dropshipping` checkbox, and :guilabel:`Save` to finish." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:18 -msgid "Next, go to the :menuselection:`Sales` app, click :menuselection:`Products --> Products` and choose an existing product or select :guilabel:`Create` to configure a new one. On the :guilabel:`Product` page, make sure that the :guilabel:`Can be Sold` and :guilabel:`Can be Purchased` checkboxes are enabled." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "Enable the \"Can be Sold\" and \"Can be Purchased\" checkboxes on the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:27 -msgid "Click on the :guilabel:`Purchase` tab and specify a vendor and the price that they sell the product for. Multiple vendors can be added, but the vendor at the top of the list will be the one automatically selected for purchase orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "The product form with a vendor specified." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:35 -msgid "Finally, select the :guilabel:`Inventory` tab and enable the :guilabel:`Dropship` checkbox in the :guilabel:`Routes` section." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "Enable the Dropship option in the product inventory tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:43 -msgid "Fulfill orders using dropshipping" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:45 -msgid "When a customer completes an online purchase for a dropshipped product, a sales order will be automatically created with an associated request for quotation (:abbr:`RFQ (Request for Quotation)`) for the supplier. Sales orders can be viewed in the :menuselection:`Sales` app by selecting :menuselection:`Orders --> Orders`. Click the :guilabel:`Purchase` smart button at the top right of a sales order to view the associated :abbr:`RFQ (Request for Quotation)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:52 -msgid "Dropship sales orders can also be created manually through the :menuselection:`Sales` app by selecting :menuselection:`Orders --> Orders --> Create` and adding a product configured for dropshipping." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "A dropship sales order with the Purchase smart button in the top right corner." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:60 -msgid "Once the :abbr:`RFQ (Request for Quotation)` is confirmed, it becomes a purchase order and a dropship receipt is created and linked to it. The receipt can be viewed by clicking the :guilabel:`Receipt` smart button in the top right corner of the purchase order form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "A dropship purchase order with the Receipt smart button in the top right corner." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:68 -msgid "The dropship receipt will list the supplier in the :guilabel:`Receive From` section and the customer in the :guilabel:`Destination Location` section. Upon delivery of the product to the customer, click on the :guilabel:`Validate` button at the top left of the dropship receipt to confirm the delivered quantity." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "Validate the dropship receipt after delivery." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:77 -msgid "To view all dropship orders, simply navigate to the :menuselection:`Inventory` :guilabel:`Overview` dashboard and click the teal :guilabel:`# TO PROCESS` button on the :guilabel:`Dropship` card." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/dropshipping.rst:-1 -msgid "Click the green button on the Dropship card to view all dropship orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:3 -msgid "How to invoice the shipping cost to the customer?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:10 -msgid "There are two ways to invoice the shipping costs:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:12 -msgid "Agree with the customer over a cost and seal it down in the sale order" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:15 -msgid "Invoice the real cost of the shipping." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:20 -msgid "To configure the price of your delivery methods, go to the **Inventory** app, click on :menuselection:`Configuration --> Delivery --> Delivery Methods`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:23 -msgid "You can manually set a price for the shipping: It can be fixed or based on rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:26 -msgid "Or you can use the transportation company computation system. Read the document :doc:`../setup/third_party_shipper`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:30 -msgid "How to invoice the shipping costs to the customer?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:33 -msgid "Invoice the price set on the sale order" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:35 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:57 -msgid "On your sale order, choose the carrier that will be used. Click on **Delivery Method** to choose the right one." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:41 -msgid "The price is computed when you **save** the sale order or when you click on **Set price**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:44 -msgid "To invoice the price of the delivery charge on the sale order, click on **Set price**, it will add a line with the name of the delivery method as a product. It may vary from the real price." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:48 -msgid "When you create the invoice, it will take the price set on the sale order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:55 -msgid "Invoice the real shipping costs" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:63 -msgid "The price is computed when you **save** the sale order. Confirm the sale order and proceed to deliver the product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:66 -msgid "The real shipping cost is computed when the delivery order is validated, you can see the real cost in the chatter of the delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:72 -msgid "Go back to the sale order, the real cost is now added to the sale order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:78 -msgid "When you create the invoice, it will take the price computed by the carrier." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:85 -msgid "If you split the delivery and make several ones, each delivery order will add a line to the sale order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:89 -msgid ":doc:`../setup/third_party_shipper`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/invoicing.rst:90 -msgid ":doc:`labels`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:3 -msgid "Change shipping label size" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:8 -msgid "In Odoo, there are a variety of different types of shipping labels that can be selected for delivery orders. Depending on the types of shipping packages used, different label sizes may be more appropriate, and can be configured to fit the package." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:15 -msgid "In the :menuselection:`Inventory` module, go to :menuselection:`Configuration --> Delivery --> Shipping Methods.` Click on a delivery method to choose it. For the following example, *FedEx International* will be used." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Different shipping methods." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:23 -msgid "In the :guilabel:`Configuration` tab, under :guilabel:`Label Type`, choose one of the label types available. The availability varies depending on the carrier." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Select a label type." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:30 -msgid "When a sales order with the corresponding shipping company is confirmed and a delivery order is validated, the shipping label will be automatically created as a PDF and appear in the :guilabel:`Chatter`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:37 -msgid "In the :menuselection:`Sales` application, click :guilabel:`Create` and select an international customer. Click :guilabel:`Add A Product` and select an item. Click :guilabel:`Add Shipping`, select a shipping method, then click :guilabel:`Get Rate`, and finally, click :guilabel:`Add`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Add a shipping method and rate to a sales order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:45 -msgid "Once the quotation is confirmed by clicking :guilabel:`Confirm`, a :guilabel:`Delivery` smart button will appear." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Delivery order smart button." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:52 -msgid "Once the delivery order is validated by clicking :guilabel:`Validate` in the delivery order, the shipping documents appear in the :guilabel:`Chatter`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Shipping PDF documents." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:60 -msgid "Example labels" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:62 -msgid "The default :guilabel:`Label Type` is :guilabel:`Paper Letter`. An example of a FedEx letter sized label is:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Full page letter size FedEx shipping label." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:69 -msgid "For comparison, an example of a FedEx bottom-half label is:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/label_type.rst:-1 -msgid "Half page letter size FedEx shipping label." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:3 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:85 -msgid "How to print shipping labels?" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:8 -msgid "Odoo can handle various delivery methods, including third party shippers linked with the transportation company tracking system. It allows you to manage the transport company, the real prices and the destination. And finally, you will be able to print the shipping labels directly from Odoo." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:18 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:19 -msgid "Install the shipper company connector module" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:20 -msgid "In the **Inventory** module, click on :menuselection:`Configuration --> Settings`. Under **Shipping Connectors**, flag the transportation companies you want to integrate :" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:27 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:28 -msgid "Then click on **Apply**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:30 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:35 -msgid "Configure the delivery method" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:32 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:37 -msgid "To configure your delivery methods, go to the **Inventory** module, click on :menuselection:`Configuration --> Delivery Methods`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:35 -msgid "The delivery methods for the chosen shippers have been automatically created." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:41 -msgid "In the **Pricing** tab, the name of the provider means that the delivery will be handled and computed by the shipper system." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:44 -msgid "The configuration of the shipper is split into two columns :" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:46 -msgid "The first one is linked to **your account** (develop key, password,...). For more information, please refer to the provider website." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:49 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:64 -msgid "The second column varies according to the **provider**. You can choose the packaging type, the service type, the weight unit..." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:52 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:67 -msgid "Uncheck **Test Mode** when you are done with the testings." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:55 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:79 -msgid "Company configuration" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:57 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:81 -msgid "In order to compute the right price, the provider needs your company information. Be sure your address and phone number are correctly encoded." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:64 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:88 -msgid "To check your information, go to the **Settings** application and click on **General Settings**. Click on the first link **Configure your company data**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:68 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:92 -msgid "Product configuration" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:70 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:94 -msgid "The shipper companies need the weight of your product, otherwise the price computation cannot be done." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:73 -msgid "Go the **Sales** module, click on :menuselection:`Sales --> Products`. Open the products you want to ship and set a weight on it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:80 -msgid "The weight on the product form is expressed in kilograms. Don't forget to do the conversion if you are used to the imperial measurement system." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:87 -msgid "The delivery order created from the sale order will take the shipping information from it, but you can change the carrier if you want to." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:90 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:137 -msgid "If you create a delivery transfer from the inventory module, you can add the third party shipper in the additional info tab." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:96 -msgid "Click on **Validate** to receive the tracking number and **the label(s)**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:98 -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:153 -msgid "The label to stick on your package is available in the history underneath :" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:104 -msgid "Click on it to open the document and print it :" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst:110 -msgid "If you are doing multi-packages shippings, most of the time, there will be one label per package. Each label will appear in the delivery history." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:3 -msgid "Multi-package shipments" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:5 -msgid "In some cases, a delivery order with multiple items may need to be shipped in more than one package. This may be necessary if the items are too large to ship in a single package, or if certain items cannot be packaged together. Shipping a single delivery order in multiple packages provides flexibility for how each item is packaged, without the need to create multiple delivery orders." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:13 -msgid "In order to split a delivery order across multiple packages, the *Packages* setting must be enabled. To do so, navigate to :menuselection:`Inventory --> Configuration --> Settings`, then enable the checkbox next to :guilabel:`Packages`. Click :guilabel:`Save` to confirm the change." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The Packages setting on the Inventory app settings page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:24 -msgid "Ship items in multiple packages" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:26 -msgid "To split items in the same delivery order across multiple packages, begin by navigating to :menuselection:`Inventory --> Delivery Orders`, then select a delivery order that has multiple items, a multiple quantity of the same item, or both." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:30 -msgid "On the :guilabel:`Operations` tab, select the :guilabel:`⁞≣ (menu)` icon in the line of the product that will be shipped in the first package." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The menu icon for a product in a delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:37 -msgid "This makes a :guilabel:`Detailed Operations` pop-up window appear. In the table at the bottom of the pop-up window, the :guilabel:`Reserved` column shows the total quantity of the product included in the delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:41 -msgid "If the full quantity will be shipped in the first package, enter the number from the :guilabel:`Done` column in the :guilabel:`Reserved` column. If less than the full quantity will be shipped in the first package, enter a smaller number than the one that appears in the :guilabel:`Reserved` column. Click :guilabel:`Confirm` to confirm the :guilabel:`Done` quantities and close the pop-up." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The Detailed Operations pop-up for a product in a delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:51 -msgid "Repeat the same steps for every item quantity that is included in the first package. Then, click :guilabel:`Put In Pack` to create a package with all of the selected items." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The Put In Pack button on a delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:58 -msgid "For the next package, follow the same steps as detailed above, marking the quantity of each item to be included in the package as :guilabel:`Done` before clicking :guilabel:`Put In Pack` on the delivery order. Continue doing so until the full quantity of all items are added to a package." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:62 -msgid "Finally, after all of the packages have been shipped, click :guilabel:`Validate` to confirm that the delivery order has been completed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:66 -msgid "After one or more packages are created, a :guilabel:`Packages` smart button appears in the top-right corner of the delivery order. Click the :guilabel:`Packages` smart button to go to the :guilabel:`Packages` page for the delivery order, where each package can be selected to view all of the items included in it." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:0 -msgid "The Packages smart button on a delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:76 -msgid "Create a backorder for items to be shipped later" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:78 -msgid "If some items will be shipped at a later date than others, there is no need to put them in a package until they are ready to be shipped. Instead, create a backorder for the items being shipped later." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:81 -msgid "Begin by shipping the items that will be shipped immediately. If they will be shipped in multiple packages, follow the :ref:`steps above ` to package them as required. If they will be shipped in a single package, simply mark in the :guilabel:`Done` column the quantity of each item being shipped, but **do not** click the :guilabel:`Put In Pack` button." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:86 -msgid "After all quantities being shipped immediately are marked as :guilabel:`Done`, click the :guilabel:`Validate` button, and a :guilabel:`Create Backorder?` pop-up window appears. Then, click the :guilabel:`Create Backorder` button. Doing so confirms the items being shipped immediately and creates a new delivery order for the items that will be shipped later." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The Create Backorder? pop-up window." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:95 -msgid "The backorder delivery order will be listed in the chatter of the original delivery order in a message that reads :guilabel:`The backorder WH/OUT/XXXXX has been created.`. Click on :guilabel:`WH/OUT/XXXXX` in the message to view the backorder delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The backorder delivery order listed in the chatter of the original delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:103 -msgid "The backorder delivery order can also be accessed by navigating to :menuselection:`Inventory`, clicking the :guilabel:`# Back Orders` button on the :guilabel:`Delivery Orders` card, and selecting the delivery order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:-1 -msgid "The Back Orders button on the Delivery Orders card." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:111 -msgid "Once the remaining items are ready to be shipped, navigate to the backorder delivery order. The items can be shipped in a single package by clicking :guilabel:`Validate` and selecting :guilabel:`Apply` on the :guilabel:`Immediate Transfer?` pop-up window that appears, or shipped in multiple packages by following the steps detailed in the section above." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst:116 -msgid "It is also possible to ship out some of the items while creating another backorder for the rest. To do so, simply follow the same steps used to create the first backorder." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup.rst:5 -msgid "Shipping Setup" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:3 msgid "Delivery methods" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:5 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:5 msgid "When activated in Odoo, the *Delivery Methods* setting adds the option of calculating the cost of shipping on sales orders and e-commerce shopping carts." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:8 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:8 msgid "When integrated with a :ref:`third-party carrier `, shipping prices are calculated based on the carrier's pricing and packaging information." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:12 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:12 msgid ":ref:`Third-party shipping carrier setup `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:13 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:13 msgid "`Odoo Tutorials: Delivery Prices `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:19 msgid "To calculate shipping on sales orders and e-commerce, the *Delivery Costs* module must be installed. To do so, navigate to the :menuselection:`Apps` application from the main Odoo dashboard." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:22 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:22 msgid "Then, remove the :guilabel:`Apps` filter, and type in `Delivery Costs` in the :guilabel:`Search...` bar. After finding the :guilabel:`Delivery Costs` module, click :guilabel:`Activate` to install it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:-1 msgid "Install the *Delivery Costs* module." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:30 msgid "Add shipping method" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:32 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:32 msgid "To configure delivery methods, go to :menuselection:`Inventory app --> Configuration --> Shipping Methods`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:36 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:36 msgid "If the :guilabel:`Shipping Methods` option is not available from the :guilabel:`Configuration` drop-down menu, verify whether the feature is enabled by following these steps:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:39 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:39 msgid "Go to :menuselection:`Inventory app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:40 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:40 msgid "Scroll to the :guilabel:`Shipping` section and enable the :guilabel:`Delivery Methods` feature by checking the corresponding checkbox." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:0 msgid "Enable the *Delivery Methods* feature by checking the box in Configuration > Settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:47 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:47 msgid "On the :guilabel:`Shipping Methods` page, add a method by clicking :guilabel:`New`. Doing so opens a form to provide details about the shipping provider, including:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:50 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:50 msgid ":guilabel:`Shipping Method` (*Required field*): the name of the delivery method (e.g. `flat-rate shipping`, `same day delivery`, etc.)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:52 msgid ":guilabel:`Provider` (*Required field*): choose the delivery service, like Fedex, if using a :ref:`third-party carrier `. Ensure the integration with the shipping carrier is properly installed and select the provider from the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:56 msgid "For more details on configuring custom shipping methods, such as :ref:`fixed price `, :ref:`based on rules `, or :ref:`pickup in store ` options, refer to their respective sections below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:59 msgid ":guilabel:`Website`: configure shipping methods for an e-commerce page. Select the applicable website from the drop-down menu, or leave it blank to apply the method to all web pages." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:61 msgid ":guilabel:`Company`: if the shipping method should apply to a specific company, select it from the drop-down menu. Leave the field blank to apply the method to all companies." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:63 msgid ":guilabel:`Delivery Product` (*Required field*): the product listed on the :ref:`sales order line ` as the delivery charge." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:65 msgid ":guilabel:`Free if order amount is above`: checking this box enables free shipping if the customer spends above the specified amount." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:68 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:68 msgid "For examples on how to configure specific shipping methods, refer to the sections below." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:73 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:73 msgid "Fixed price" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:75 msgid "To configure a shipping price that is the same for all orders, go to :menuselection:`Inventory app --> Configuration --> Shipping Methods`. Then, click :guilabel:`New`, and on the shipping method form, set the :guilabel:`Provider` to the :guilabel:`Fixed Price` option. Selecting this option makes the :guilabel:`Fixed Price` field become available, which is where the fixed rate shipping amount is defined." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:81 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:81 msgid "To enable free shipping if the amount of the order exceeds a specified amount, check the box :guilabel:`Free if order amount is above` and fill in the amount." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:85 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:85 msgid "To set up `$20` flat-rate shipping that becomes free if the customer spends over `$100`, fill in the following fields:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:88 msgid ":guilabel:`Shipping Method`: `Flat-rate shipping`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:89 msgid ":guilabel:`Provider`: :guilabel:`Fixed Price`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:90 msgid ":guilabel:`Fixed Price`: `$20.00`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:91 msgid ":guilabel:`Free if order amount is above`: `$100.00`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:92 msgid ":guilabel:`Delivery Product`: `[SHIP] Flat`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:0 msgid "Example of filling out a shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:101 msgid "Based on rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:103 msgid "To calculate the price of shipping based on pricing rules, set the :guilabel:`Provider` field to the :guilabel:`Based on Rules` option. Optionally, adjust :guilabel:`Margin on Rate` and :guilabel:`Additional margin` to include additional shipping costs." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:108 msgid "Create pricing rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:110 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:110 msgid "Navigate to the :guilabel:`Pricing` tab and click :guilabel:`Add a line`. Doing so opens the :guilabel:`Create Pricing Rules` window, where the :guilabel:`Condition` related to the product weight, volume, price, or quantity is compared to a defined amount to calculate the :guilabel:`Delivery Cost`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:115 msgid "Once finished, click either :guilabel:`Save & New` to add another rule, or :guilabel:`Save & Close`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:118 msgid "To charge customers $20 in shipping for orders with five or fewer products, set the :guilabel:`Condition` to `Quantity <= 5.00`, and the :guilabel:`Delivery Cost` to `$20`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:0 msgid "Display window to add a pricing rule. Set a condition and delivery cost." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:125 msgid "To restrict shipping to specific destinations on the eCommerce website, in the shipping method form, navigate to the :guilabel:`Destination Availability` tab and define the :guilabel:`Countries`, :guilabel:`States`, and :guilabel:`Zip Prefixes`. Leave these fields empty if all locations apply." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:130 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:130 msgid "Calculate delivery cost" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:132 msgid "Shipping cost is the :guilabel:`Delivery cost` specified in the rule that satisfies the :guilabel:`Condition`, plus any extra charges from the :guilabel:`Margin on rate` and :guilabel:`Additional margin`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:136 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:136 msgid "Total = Rule's~Delivery~Cost + (Margin~on~rate \\times Rule's~Delivery~Cost) + Additional~margin\n" "\n" "" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:140 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:140 msgid "With the two following rules set up:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:142 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:142 msgid "If the order contains five or fewer products, shipping is $20" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:143 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:143 msgid "If the order contains more than five products, shipping is $50." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:145 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:145 msgid ":guilabel:`Margin on Rate` is `10%` and :guilabel:`Additional margin` is `$9.00`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:-1 msgid "Show example of \"Based on rules\" shipping method with margins configured." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:151 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:151 msgid "When the first rule is applied, the delivery cost is $31 (20 + (0.1 * 20) + 9). When the second rule is applied, the delivery cost is $64 (50 + (0.1 * 50) + 9)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:157 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:157 msgid "Pickup in store" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:159 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:159 msgid "To configure in-store pickup, select :guilabel:`Pickup in store` in the :guilabel:`Provider` field and specify the pickup location in :guilabel:`Warehouse`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:162 msgid "To invoice the customer for the shipping cost to the pickup location, choose the :guilabel:`Get Rate and Create Shipment` option in the :guilabel:`Integration Level` field. Then, pick either the :guilabel:`Estimated cost` or :guilabel:`Real cost` radio options in the :guilabel:`Invoicing Policy` field to decide whether the added shipping charge on the sales order is the precise cost from the shipping carrier." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:169 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:169 msgid ":ref:`Invoice cost of shipping `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:174 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:174 msgid "Add shipping" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:176 msgid "Shipping methods can be added to sales orders in the form of delivery products, which appear as individual line items. First, navigate to the desired sales order by going to :menuselection:`Sales app --> Orders --> Orders`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:180 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:180 msgid "On the sales order, click the :guilabel:`Add shipping` button, which opens the :guilabel:`Add a shipping method` pop-up window. Then, choose a :guilabel:`Shipping Method` from the list." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:183 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:183 msgid "The :guilabel:`Total Order Weight` is pre-filled based on product weights (that are defined in the :guilabel:`Inventory` tab for each product form). Edit the field to specify the exact weight, and then click :guilabel:`Add` to add the shipping method." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:188 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:188 msgid "The amount defined in :guilabel:`Total Order Weight` overwrites the total product weights defined on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:191 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:191 msgid "The shipping cost is added to the *sales order line* as the :guilabel:`Delivery Product` detailed on the shipping method form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:195 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:195 msgid "`Furniture Delivery`, a delivery product with a fixed rate of `$200`, is added to sales order `S00088`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:0 msgid "Show delivery order on the sales order line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:203 msgid "Delivery order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:205 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:205 msgid "The shipping method added to the sales order is linked to the shipping carrier details on the delivery order. To add or change the delivery method on the delivery itself, go to the :guilabel:`Additional Info` tab and modify the :guilabel:`Carrier` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method.rst:-1 msgid "Shipping carrier information on the delivery form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:3 msgid "How to get DHL credentials for integration with Odoo?" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:5 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:5 msgid "In order to use the Odoo DHL API, you will need:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:7 msgid "A DHL.com SiteID" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:9 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:9 msgid "A DHL Password" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:11 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:11 msgid "A DHL Account Number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:15 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:15 msgid "Getting SiteID and password for countries other than United States (UK and Rest of the world)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:17 msgid "You should contact DHL account manager and request integration for XML Express API. The presales should provide you live credentials." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:20 msgid "Getting SiteID and Password for United States" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst:22 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials.rst:22 msgid "You need to write to xmlrequests@dhl.com along with your full Account details like account number, region, address, etc. to get API Access." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:3 msgid "Set up Sendcloud shipping services in Odoo" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:5 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:5 msgid "Sendcloud is a shipping service aggregator that facilitates the integration of European shipping carriers with Odoo. Once integrated, users can select shipping carriers on inventory operations in their Odoo database." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:10 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:10 msgid "`Sendcloud integration documentation `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:14 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:14 msgid "Setup in Sendcloud" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:17 msgid "Create an account and activate carriers" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:19 +#: ../../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." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:24 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:24 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/setup/sendcloud_shipping.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:30 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/setup/sendcloud_shipping.rst:35 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:35 msgid "Warehouse configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:37 msgid "Once logged into the Sendcloud account, navigate to :menuselection:`Settings --> Shipping --> Addresses`, and fill in the field for :guilabel:`Warehouse address`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:-1 msgid "Adding addresses in the Sendcloud settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:44 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:44 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 "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid "**SendClould configuration**" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Miscellaneous`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Address Name (optional)`: `Warehouse #1`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Brand`: `Default`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid "**Odoo warehouse configuration**" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Warehouse`: `Warehouse #1`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Short Name`: `WH`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Company`: `My company (San Francisco)`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Address`: `My Company (San Francisco)`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:61 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/setup/sendcloud_shipping.rst:65 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:65 msgid "Generate Sendcloud credentials" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:67 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:67 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/setup/sendcloud_shipping.rst:70 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:70 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/setup/sendcloud_shipping.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:75 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 "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:-1 msgid "Configuring the Sendcloud integration and receiving the credentials." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:83 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:83 msgid "Setup in Odoo" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:86 msgid "Install the Sendcloud shipping module" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:88 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:88 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 :guilabel:`Sendcloud Shipping` integration, and install it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:-1 msgid "Sendcloud Shipping module in the Odoo Apps module." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:97 msgid "Sendcloud shipping connector configuration" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:99 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/setup/sendcloud_shipping.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:103 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:`Create`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:108 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:108 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/setup/sendcloud_shipping.rst:111 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:111 msgid "Fill out the following fields in the :guilabel:`New Shipping Method` form:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:113 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:113 msgid ":guilabel:`Shipping Method`: type `Sendcloud DPD`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:114 msgid ":guilabel:`Provider`: select :guilabel:`Sendcloud` from the drop-down menu." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:115 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/setup/sendcloud_shipping.rst:117 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:117 msgid "In the :guilabel:`SendCloud Configuration` tab, enter the :guilabel:`Sendcloud Public Key`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:118 msgid "In the :guilabel:`SendCloud Configuration` tab, enter the :guilabel:`Sendcloud Secret Key`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:119 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:119 msgid "Manually :guilabel:`Save` the form by clicking the cloud icon next to the :guilabel:`Shipping Methods / New` breadcrumbs." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:122 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:122 msgid "After configuring and saving the form, follow these steps to load the shipping products:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:124 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:124 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/setup/sendcloud_shipping.rst:126 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:126 msgid "Select the shipping products the company would like to use for deliveries and returns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:127 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:127 msgid "Click :guilabel:`Select`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:130 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:130 msgid "Sample Sendcloud shipping products configured in Odoo:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`DELIVERY`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Shipping Product`: `DPD Home 0-31.5kg`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Carrier`: `DPD`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Minimum Weight`: `0.00`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Maximum Weight`: `31.50`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:138 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:138 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 "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`RETURN`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Return Shipping Product`: `DPD Return 0-20kg`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Return Carrier`: `DPD`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Return Minimum Weight`: `0.00`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Return Maximum Weight`: `20.00`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:0 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:0 msgid ":guilabel:`Return Countries`: `Belgium` `Netherlands`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:-1 msgid "Example of shipping products configured in Odoo." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:156 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:156 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 canceled within 24 hours of creation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:160 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 canceled after the creation — this occurs automatically. The test and production environment settings can be toggled back and forth from the :guilabel:`Smart Buttons`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:166 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:166 msgid "Generate a label with Sendcloud" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:168 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:168 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/setup/sendcloud_shipping.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:172 msgid ":guilabel:`Shipping label(s)` depending on the number of packages." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:173 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:173 msgid ":guilabel:`Return label(s)` if the Sendcloud connector is configured for returns." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:174 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:174 msgid ":guilabel:`Customs document(s)` should the destination country require them." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:176 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:176 msgid "Additionally, the tracking number is now available." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:179 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:179 msgid "When return labels are created, Sendcloud will automatically charge the configured Sendcloud account." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:183 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:183 msgid "FAQ" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:186 msgid "Shipment is too heavy" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:188 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:188 msgid "If the shipment is too heavy for the Sendcloud service that is configured, then the weight is split to simulate multiple packages. Products will need to be put in different :guilabel:`Packages` to :guilabel:`Validate` the transfer and generate labels." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:192 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:192 msgid ":guilabel:`Rules` can also be set up in Sendcloud to use other shipping methods when the weight is too heavy. However, note that these rules will not apply to the shipping price calculation on the calculation on the sales order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:197 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:197 msgid "When using a personal carrier contract" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:199 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:199 msgid "When using a personal carrier contract in Sendcloud, if the the price is not accurately reflected when creating a quotation in Odoo, then the pricing information needs to be updated in Sendcloud." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:203 msgid "Measuring volumetric weight" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:205 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:205 msgid "Many carriers have several measures for weight. There is the actual weight of the products in the parcel, and there is the *volumetric weight* (:dfn:`Volumetric weight is the volume that a package occupies when in transit. In other words it is the physical size of a package`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:210 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:210 msgid "Check to see if selected carrier(s) already have defined formulas to compute the volumetric weight." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:214 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:214 msgid "`Sendcloud: How to calculate & automate parcel volumetric weight `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:219 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:219 msgid "Unable to calculate shipping rate" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/sendcloud_shipping.rst:221 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:221 msgid "First, verify that product being shipped has a weight that is supported by the selected shipping method. If this is set, then verify that the destination country (from the customer address) is supported by the carrier. The country of origin (warehouse address) should also be supported by the carrier." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:3 msgid "How to integrate a third party shipper?" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:10 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:10 msgid "Odoo can handle various delivery methods, including third party shippers. Odoo can be linked with the transportation company tracking system. It will allow you to manage the transport company, the real prices and the destination." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:21 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:21 msgid "In the inventory module, click on :menuselection:`Configuration --> Settings`. Under **Shipping Connectors**, flag the transportation companies you want to integrate :" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:31 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:31 msgid "If you want to integrate delivery methods in your e-commerce, you'll have to install the **eCommerce Delivery** module." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:40 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:40 msgid "The delivery methods for the chosen shippers have been automatically created. Most of the time, there will be **2** delivery methods for the same provider: one for **international** shipping and the other for **domestic** shipping." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:45 msgid "You can create other methods with the same provider with other configuration, for example the **Packaging Type**." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:48 msgid "You can change the **Name** of the delivery method. This is the name that will appear on your ecommerce." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:51 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:51 msgid "Flag **Shipping enabled** when you are ready to use it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:56 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:56 msgid "In the pricing tab, the name of the provider chosen under the **Price computation** means that the pricing will be computed by the shipper system." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:59 msgid "The configuration of the shipper is split into two columns:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:61 msgid "The first one is linked to **your account** (developer key, password,...). For more information, please refer to the provider website." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:69 msgid "Finally you can limit the delivery method to a few destinations. You can limit it to some countries, states or even zip codes. This feature limits the list of countries on your e-commerce. It is useful for the domestic providers. For example, USPS US only delivers from the United States to the United States." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:97 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:97 msgid "Go the menu :menuselection:`Sales --> Sales --> Products`. Open the products you want to ship and set a weight on it." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:104 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:104 msgid "The weight on the product form is expressed in kilograms. Don't forget to make the conversion if you are used to the imperial measurement system." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:109 msgid "Sale process" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:112 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:112 msgid "Sale order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:117 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:117 msgid "You can now choose the carrier on your sale order. Click on **Delivery method** to choose the right one." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:120 msgid "The price is computed when you save the sale order or when you click on **Set price**." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:123 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:123 msgid "If you want to invoice the price of the delivery charge on the sale order, click on **Set price**, it will add a line with the name of the delivery method as a product. It may vary from the real price." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:127 -msgid "Otherwise, the real price (computed when the delivery is validated) will automatically be added to the invoice. For more information, please read the document :doc:`../operation/invoicing`" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:127 +msgid "Otherwise, the real price (computed when the delivery is validated) will automatically be added to the invoice. For more information, please read the document :doc:`../advanced_operations_shipping/invoicing`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:132 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:132 msgid "Delivery" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:134 msgid "The delivery created from the sale order will take the shipping information from it. You can change the carrier if you want to." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:143 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:143 msgid "The weight is computed based on the products weights. The shipping cost will be computed once the transfer is validated." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:146 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:146 msgid "Click on **Validate** to receive the tracking number. The **Carrier Tracking ref** field will automatically be filled. Click on the **Tracking** button to check your delivery on the provider website." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:160 -msgid ":doc:`../operation/invoicing`" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:160 +msgid ":doc:`../advanced_operations_shipping/invoicing`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst:161 -msgid ":doc:`../operation/labels`" +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper.rst:161 +msgid ":doc:`../advanced_operations_shipping/labels`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:3 msgid "How to get UPS credentials for integration with Odoo?" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:5 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:5 msgid "In order to use the Odoo UPS API, you will need:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:7 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:7 msgid "A UPS.com user ID and password" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:9 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:9 msgid "A UPS account number" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:11 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:11 msgid "An Access Key" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:13 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:13 msgid "An Access Key is a 16 character alphanumeric code that allows access to the UPS Developer Kit API Development and Production servers." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:17 msgid "Create a UPS Account" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:19 msgid "Note that only customers located in the US can open a UPS account online. If you are located outside the US, you will need to contact UPS Customer Service in order to to open an account." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:23 msgid "You can read additional information about opening a UPS account on the their website, on the page, `How to Open a UPS Account Online `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:27 msgid "If you don't already have a UPS account, you can create one along with your online profile by following these steps:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:30 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:30 msgid "1. Access the UPS.com web site at `www.ups.com `__, and click the **New User** link at the top of the page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:34 msgid "2. Click the **Register for MyUPS** button, and follow the prompts to complete the registration process." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:37 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:37 msgid "If you already have a UPS account, you can add it to your online profile as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:39 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:39 msgid "Log in to the `UPS.com website `_) using your UPS.com User ID and Password." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:41 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:41 msgid "Click the **My UPS** tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:43 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:43 msgid "Click the **Account Summary** link." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:45 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:45 msgid "4. Click the **Add an Existing UPS Account** link in the **UPS Account Details** section of the page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:48 msgid "5. In the **Add New Account** screen, enter the **UPS Account Number**, **Account Name**, and **Postal Code** fields. The country defaults to United States.q" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:52 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:52 msgid "Click the **Next** button to continue." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:55 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:55 msgid "Get an Access Key" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:57 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:57 msgid "After you have added your UPS account number to your user profile you can request an Access Key from UPS using the steps below:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:60 msgid "Go to the `UPS Developer Kit web page `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:61 msgid "Log into UPS.com with your user ID and password" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:62 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:62 msgid "Click on the link **Request an access key**." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:63 msgid "Verify your contact information" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:64 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:64 msgid "Click the **Request Access Key** button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst:66 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials.rst:66 msgid "The **Access Key** will be provided to you on the web page, and an email with the Access Key will be sent to the email address of the primary contact." msgstr "" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage.rst:5 +msgid "Warehouses and storage" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:3 +msgid "Batch picking" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:7 +msgid "*Batch picking* enables a single picker to handle multiple orders at once, reducing the time needed to navigate to the same location in a warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:10 +msgid "When picking in batches, orders are grouped and consolidated into a picking list. After the picking, the batch is taken to an output location, where the products are sorted into their respective delivery packages." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:15 +msgid ":ref:`Use Barcode app for pickings `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:17 +msgid "Since orders *must* be sorted at the output location after being picked, this picking method suits businesses with a few products that are ordered often. Storing high-demand items in easily accessible locations can increase the number of orders that are fulfilled efficiently." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:24 +msgid "To activate the batch picking option, begin by going to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` section, check the :guilabel:`Batch Transfers` box." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +msgid "Enable the *Batch Transfers* in Inventory > Configuration > Settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:32 +msgid "Since batch picking is a method to optimize the *pick* operation in Odoo, the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` options under the :guilabel:`Warehouse` heading must also be checked on this settings page. When finished, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:-1 +msgid "Enable *Storage Locations* and *Multi-Step Routes* Inventory > Configuration > Settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:40 +msgid "Lastly, enable the warehouse picking feature, by navigating to the warehouse settings page, which is accessible from :menuselection:`Inventory app --> Configuration --> Warehouses`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:43 +msgid "From here, select the desired warehouse from the list. Then, from the radio options available for :guilabel:`Outgoing Shipments`, select either the :guilabel:`Send goods in output and then deliver (2 steps)` or :guilabel:`Pack goods, send goods in output and then deliver (3 steps)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:48 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:131 +msgid ":ref:`Delivery in two steps `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:49 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:132 +msgid ":ref:`Delivery in three steps `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +msgid "Set up 2-step or 3-step outgoing shipments." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:56 +msgid "Create batch transfers" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:58 +msgid "Manually create batch transfers directly from the :menuselection:`Inventory app --> Operations --> Batch Transfers` page. Click the :guilabel:`New` button to begin creating a batch transfer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:61 +msgid "On the batch transfer form, fill the following fields out accordingly:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:63 +msgid ":guilabel:`Responsible`: employee assigned to the picking. Leave this field blank if *any* worker can fulfill this picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:65 +msgid ":guilabel:`Operation Type`: from the drop-down menu, select the operation type under which the picking is categorized." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:67 +msgid ":guilabel:`Scheduled Date`: specifies the date by which the :guilabel:`Responsible` person should complete the transfer to the output location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:70 +msgid "Next, in the :guilabel:`Transfers` list, click :guilabel:`Add a line` to open the :guilabel:`Add: Transfers` window." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:73 +msgid "If the :guilabel:`Operation Type` field was filled, the list will filter transfer records matching the selected :guilabel:`Operation Type`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:76 +msgid "Click the :guilabel:`New` button to create a new transfer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:78 +msgid "Once the transfer records are selected, click :guilabel:`Confirm` to confirm the batch picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:81 +msgid "A new batch transfer assigned to the :guilabel:`Responsible`, `Joel Willis`, for the `Pick` :guilabel:`Operation Type`. The :guilabel:`Scheduled Date` is set to `August 11`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:0 +msgid "View of *Batch Transfers* form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:88 +msgid "Clicking the :guilabel:`Add a line` button opens the :guilabel:`Add:Transfers` window, displaying only pickings. This is because the :guilabel:`Operation Type` was set to `Pick` on the batch transfer form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:92 +msgid "Click the checkbox to the left of the transfers, `WH/PICK/00001` and `WH/PICK/00002`, to include them in the new transfer. Then, click the :guilabel:`Select` button to close the :guilabel:`Add:Transfers` window." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:0 +msgid "Select multiple transfers from the *Add:Transfers* window." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:101 +msgid "Add batch from transfers list" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:103 +msgid "Another method of creating batch transfers is available using the :guilabel:`Add to batch` option in a list. Navigate to the :menuselection:`Inventory app --> Operations` drop-down menu, and select any of the :guilabel:`Transfers` to open a filtered list of transfers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +msgid "Show all transfer types in a drop-down menu: Receipts, Deliveries, Internal Transfers,\n" +"Manufacturings, Batch Transfers, Dropships." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:112 +msgid "On the transfers list, select the checkbox to the left of the selected transfers to add in a batch. Next, navigate to the :guilabel:`Actions ⚙️ (gear)` button, and click :guilabel:`Add to batch` from the resulting drop-down menu." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Use *Add to batch* button, from the *Action* button's list." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:120 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:151 +msgid "Doing so opens an :guilabel:`Add to batch` pop-up window, wherein the employee :guilabel:`Responsible` for the picking can be assigned." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:123 +msgid "Choose from the two radio options to add to :guilabel:`an existing batch transfer` or create :guilabel:`a new batch transfer`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:126 +msgid "To begin with a draft, select the :guilabel:`Draft` checkbox." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:128 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:160 +msgid "Conclude the process by clicking :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:-1 +msgid "Show *Add to batch* window to create a batch transfer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:135 +msgid "Process batch transfer" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:137 +msgid "Handle batch transfers in the :menuselection:`Inventory app --> Operations --> Batch Transfers` page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:140 +msgid "From here, select the intended transfer from the list. Then, on the batch transfer form, input the :guilabel:`Done` quantities for each product, under the :guilabel:`Detailed Operations` tab. Finally, select :guilabel:`Validate` to complete the picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:145 +msgid "Be certain the batch transfer is complete when the :guilabel:`Validate` button is highlighted in purple. If the :guilabel:`Check Availability` button is highlighted instead, that means there are items in the batch that are currently *not* available in-stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:152 +msgid "In a batch transfer involving products from pickings, `WH/PICK/00001` and `WH/PICK/00002`, the :guilabel:`Detailed Operations` tab shows that the product, `Cabinet with Doors`, has been picked because the :guilabel:`Done` column matches the value in the :guilabel:`Reserved` column. However, `0.00` quantities have been picked for the other product, `Cable Management Box`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:0 +msgid "Show batch transfer of products from two pickings in the *Detailed Operations* tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:161 +msgid "Only in-stock products are visible in the :guilabel:`Detailed Operations` tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:163 +msgid "To view the complete product list, switch to the :guilabel:`Operations` tab. On this list, the :guilabel:`Demand` column indicates the required quantity for the order. The :guilabel:`Reserved` column shows the available stock to fulfill the order. Lastly, the :guilabel:`Done` column specifies the products that have been picked, and are ready for the next step." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:169 +msgid "The product, `Desk Pad`, from the same batch as the :ref:`example above `, is only visible in the :guilabel:`Operations` tab because there are no :guilabel:`Reserved` quantities in-stock to fulfill the batch picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:173 +msgid "Click the :guilabel:`Check Availability` button to search the stock again for available products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:0 +msgid "Show unavailable reserved quantities in the *Operations* tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:180 +msgid "Create backorder" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:182 +msgid "On the batch transfer form, if the :guilabel:`Done` quantity of the product is *less* than the :guilabel:`Reserved` quantity, a pop-up window appears." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:185 +msgid "This pop-up window provides the option: :guilabel:`Create Backorder?`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:187 +msgid "Clicking the :guilabel:`Create Backorder` button automatically creates a new batch transfer, containing the remaining products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:190 +msgid "Click :guilabel:`No Backorder` to finish the picking *without* creating another batch picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:192 +msgid "Click :guilabel:`Discard` to cancel the validation, and return to the batch transfer form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +msgid "Show the *Create Backorder* pop-up." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:201 +msgid "Process batch transfer: Barcode app" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:203 +msgid "Created batch transfers are also listed in the :menuselection:`Barcode` app, accessible by selecting the :guilabel:`Batch Transfers` button." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:206 +msgid "By default, confirmed batch pickings appear on the :guilabel:`Batch Transfers` page. On that page, click on the desired batch transfer to open the detailed list of products for the picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:-1 +msgid "Show list of to-do batch transfers in *Barcode* app." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:213 +msgid "For the chosen batch transfer, follow the instructions at the top of the page in the black background. Begin by scanning the product's barcode to record a single product for picking. To record multiple quantities, click the :guilabel:`✏️ (pencil)` icon, and enter the required quantities for the picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:219 +msgid "Products from the same order are labeled with the same color on the left. Completed pickings are highlighted in green." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:223 +msgid "In a batch transfer for 2 `Cabinet with Doors`, 3 `Acoustic Bloc Screens`, and 4 `Four Person Desks`, the `3/3` and `4/4` :guilabel:`Units` indicate that the last two product pickings are complete." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:227 +msgid "`1/2` units of the `Cabinet with Doors` has already been picked, and after scanning the product barcode for the second cabinet, Odoo prompts the user to `Scan a serial number` to record the unique serial number for :ref:`product tracking `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:0 +msgid "Display products to be picked in barcode view." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:235 +msgid "Once all the products have been picked, click on :guilabel:`Validate` to mark the batch transfer as :guilabel:`Done`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:3 +msgid "Cluster picking" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:10 +msgid "Cluster picking is an advanced order fulfillment approach derived from :ref:`batch picking `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:13 +msgid "In this strategy, pickers load a cart with multiple packages, each designated for a specific *sales order* (SO). Then, the picker travels to each storage location, and places the products directly in the package of the associated order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:17 +msgid "This method is most efficient for medium-sized companies, with high order volumes, and relatively few unique products, since the method eliminates the need for sorting products into packages for customers after picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:21 +msgid "However, cluster picking does have some disadvantages. For instance, urgent orders cannot be prioritized, and optimized batches must be manually created beforehand. As a result, the picking process can lead to bottlenecks." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:28 +msgid "|SO| 1 calls for one apple and orange" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:29 +msgid "|SO| 2 calls for one apple and banana" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:30 +msgid "|SO| 3 calls for one apple, orange, and banana" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:32 +msgid "Apples are stored in Shelf A, oranges in Shelf B, and bananas in Shelf C." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:34 +msgid "To pick products for three orders at once, the cart is loaded with three empty packages." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:36 +msgid "Starting at Shelf A, the picker places apples into each package. Next, the picker navigates to Shelf B, and places oranges in the packages designated for |SO| 1 and |SO| 3. Finally, the picker pushes the cart to Shelf C, and loads packages for |SO| 2 and |SO| 3 with a banana, each." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:40 +msgid "With the packages for all three |SOS| packed, the picker pushes the cart to the output location, where the packages are sealed and prepared for shipment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Show example of fulfilling sales orders 2 and 3 at once." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:50 +msgid "To enable cluster picking, begin by navigating to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` heading, activate the :guilabel:`Packages` and :guilabel:`Batch Transfers` options." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:-1 +msgid "Activate *Packages* and *Batch Transfers* features in the settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:58 +msgid "Since batch picking is used to optimize the *pick* operation in Odoo, the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` options, under the :guilabel:`Warehouse` heading, must also be checked on this settings page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:62 +msgid "*Storage locations* allow products to be stored in specific locations they can be picked from, while *multi-step routes* enable the picking operation itself." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:65 +msgid "When finished, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:74 +msgid "Packages setup" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:76 +msgid "After the :guilabel:`Packages` feature is enabled, navigate to :menuselection:`Inventory app --> Products --> Packages`, and click the :guilabel:`New` button to create a new package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:79 +msgid "On the new package form, the :guilabel:`Package Reference` is pre-filled with the next available `PACK` number in the system. :guilabel:`Pack Date` is automatically set to the creation date of the form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:83 +msgid "For the :guilabel:`Package Use` field, the :guilabel:`Disposable Box` option should be selected if the package is used for a shipping. Alternatively, the :guilabel:`Reusable Box` option should be selected if the package is simply used as a method of grouping products from the same |SO| together before they are moved to the intended shipping box at the output location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:89 +msgid ":ref:`Packages `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:92 +msgid "A package intended for cluster picking is named `CLUSTER-PACK-3` for easy identification. For this workflow, the products are directly packed using their intended shipping boxes, so :guilabel:`Package Use` is set to :guilabel:`Disposable Box`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Create new package form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:101 +msgid "Create cluster batch" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:103 +msgid "To see how cluster picking works in Odoo, navigate to the :menuselection:`Sales` app, and create |SOS| that will be fulfilled together in the same batch. After confirming an |SO|, the :guilabel:`Delivery` smart button becomes visible. Displayed inside the icon is a number representing the amount of steps in the outgoing shipment process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:109 +msgid "Begin by creating three |SOS| for the apples, oranges, and bananas, as shown in the :ref:`example above `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:112 +msgid "After confirming the |SO|, the :guilabel:`Delivery` smart button displays the number `2`, indicating there are two operations to complete: `Pick` and `Delivery`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Example sales order for an apple, orange, and banana." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:119 +msgid "With the |SOS| created, orders now must be grouped into batches. To do so, navigate to the *Inventory* dashboard and select the operation type card, :guilabel:`Delivery Orders` or :guilabel:`Pick` (whichever is the first operation in the delivery flow)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:123 +msgid "Doing so displays a filtered list of outgoing operations with the :guilabel:`Ready` status, indicating that all the products in the |SO| are in stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:127 +msgid "Cluster pick batches can be created for outgoing shipments in one, two, or three steps." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:130 +msgid ":ref:`Delivery in one step `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:134 +msgid "Click the checkbox to the left of the corresponding outgoing operation to add them to the batch. With the desired pickings selected, click the :guilabel:`⚙️ Actions (gear)` button, and select the :guilabel:`Add to batch` option from the resulting drop-down menu." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:139 +msgid "To create a cluster batch, as shown in the :ref:`example above `, in a warehouse configured with two-step outgoing shipments, the following pick operations are selected:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:143 +msgid "`WH/PICK/00007`: linked to |SO| 88 for one apple and orange." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:144 +msgid "`WH/PICK/00008`: linked to |SO| 89 for one apple and banana." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:145 +msgid "`WH/PICK/00009`: linked to |SO| 90 for one apple, orange, and banana." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:154 +msgid "Choose from the two options in the :guilabel:`Add to` field to either: add to :guilabel:`an existing batch transfer`, or create :guilabel:`a new batch transfer`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:157 +msgid "To create draft batch pickings to be confirmed at a later date, select the :guilabel:`Draft` checkbox." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:167 +msgid "Process batches" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:169 +msgid "To process batches, navigate to :menuselection:`Inventory app --> Operations --> Batch Transfers`. Click on a batch to select it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:172 +msgid "In the :guilabel:`Detailed Operations` tab, products that are to be picked are grouped by location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:174 +msgid "Under the :guilabel:`Source Package` or :guilabel:`Destination Package` field, enter the package used for the picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:178 +msgid "Use the :guilabel:`Source Package` field when the picking package is configured as *reusable* on the :ref:`package form `. This means the products are temporarily placed in a container during picking, before getting transferred to their final shipping box." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:182 +msgid "Alternatively, use the :guilabel:`Destination Package` field when the product is directly placed in its *disposable* shipping box during picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:186 +msgid "Process the cluster batch for the three orders of apples, oranges, and bananas :ref:`example ` by assigning each picking to a dedicated package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:189 +msgid "At the storage location for apples, `WH/Stock/Shelf A`, assign the apples in all three pickings to one of the three disposable packages, `CLUSTER-PACK-1`, `CLUSTER-PACK-2`, or `CLUSTER-PACK-3`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:192 +msgid "Record this in Odoo using the :guilabel:`Destination Package` field in the :guilabel:`Detailed Operations` tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Example of processing cluster pickings in *Inventory*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:200 +msgid "In Barcode" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:202 +msgid "To process cluster pickings directly from the *Barcode* app, select the :guilabel:`Batch Transfers` button from the *Barcode* dashboard. Then, select the desired batch." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:205 +msgid "On the batch transfer screen, the products in the picking are grouped by location, and each line is color-coded to associate products in the same picking together." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:208 +msgid "Then, follow the prompt to :guilabel:`Scan the source location` barcode for the storage location of the first product. Then, scan the barcode for the product and package to process the transfer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:211 +msgid "Repeat this for all products, and click the :guilabel:`Validate` button." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:214 +msgid "To find the package barcode, navigate to :menuselection:`Inventory app --> Products --> Packages`, select the desired package, click the :guilabel:`⚙️ (gear)` icon at the top of the package form, and select the :guilabel:`Print` option." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:218 +msgid "Next, select one of the three print options to generate the package barcode from the :guilabel:`Package Reference` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Display where the package barcode can be generated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:226 +msgid "Begin processing the cluster picking by going to the first storage location, `Shelf A`, and scanning the :ref:`location barcode `. Doing so highlights all the pickings that need products from this particular location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:230 +msgid "Scan the barcode for the apple, which highlights the picking (labeled in red) for the product `Apple`, for the picking, `WH/PICK/00007`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:233 +msgid "Then, scan the `CLUSTER-PACK-1` package barcode, and place the product in the designated package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:0 +msgid "Example of cluster batch from the *Barcode* app." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:240 +msgid "After creating a batch transfer and assigning a package to a picking, Odoo suggests the specified package by displaying the name *in italics* under the product name, ensuring pickers place products into the correct boxes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:3 +msgid "Organize a cross-dock in a warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:5 +msgid "Cross-docking is the process of sending products that are received directly to the customers, without making them enter the stock. The trucks are simply unloaded in a *Cross-Dock* area in order to reorganize products and load another truck." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:13 +msgid "For more information on how to organize your warehouse, read our blog: `What is cross-docking and is it for me? `_" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:20 +msgid "In the *Inventory* app, open :menuselection:`Configuration --> Settings` and activate the *Multi-Step Routes*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:27 +msgid "Doing so will also enable the *Storage Locations* feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:29 +msgid "Now, both *Incoming* and *Outgoing* shipments should be configured to work with 2 steps. To adapt the configuration, go to :menuselection:`Inventory --> Configuration --> Warehouses` and edit your warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:36 +msgid "This modification will lead to the creation of a *Cross-Docking* route that can be found in :menuselection:`Inventory --> Configuration --> Routes`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:43 +msgid "Configure products with Cross-Dock Route" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:45 +msgid "Create the product that uses the *Cross-Dock Route* and then, in the inventory tab, select the routes *Buy* and *Cross-Dock*. Now, in the purchase tab, specify the vendor to who you buy the product and set a price for it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:55 +msgid "Once done, create a sale order for the product and confirm it. Odoo will automatically create two transfers which will be linked to the sale order. The first one is the transfer from the *Input Location* to the *Output Location*, corresponding to the move of the product in the *Cross-Dock* area. The second one is the delivery order from the *Output Location* to your *Customer Location. Both are in state *Waiting Another Operation* because we still need to order the product to our supplier." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:68 +msgid "Now, go to the *Purchase* app. There, you will find the purchase order that has been automatically triggered by the system. Validate it and receive the products in the *Input Location*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:77 +msgid "When the products have been received from the supplier, you can go back to your initial sale order and validate the internal transfer from *Input* to *Output*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cross_dock.rst:86 +msgid "The delivery order is now ready to be processed and can be validated too." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:3 +msgid "Cycle counts" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:5 +msgid "For most companies, warehouse stock only needs to be counted once a year. This is why, by default, after making an *inventory adjustment* in Odoo, the scheduled date for the next inventory count is set for the 31st of December of the current year." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:9 +msgid "However, for some businesses, it's crucial to have an accurate inventory count at all times. These companies use *cycle counts* to keep critical stock levels accurate. Cycle counting is a method by which companies count their inventory more often in certain *locations*, to ensure that their physical inventory counts match their inventory records." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:15 +msgid "Activate storage locations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:17 +msgid "In Odoo, cycle counts are location-based. Therefore, the *storage locations* feature needs to be enabled before performing a cycle count." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:20 +msgid "To enable this feature, navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and scroll down to the :guilabel:`Warehouse` section. Then, click the checkbox next to :guilabel:`Storage Locations`. Click :guilabel:`Save` to save all changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:-1 +msgid "Enabled storage locations setting in inventory settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:29 +msgid "Change inventory count frequency by location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:31 +msgid "Now that the storage locations setting is enabled, the inventory count frequency can be changed for specific locations created in the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:34 +msgid "To view and edit locations, navigate to :menuselection:`Inventory app --> Configuration --> Locations`. This reveals a :guilabel:`Locations` page containing every location currently created and listed in the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:38 +msgid "From this page, click into a location to reveal the settings and configuration page for that location. Click :guilabel:`Edit` to edit the location settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:41 +msgid "Under the :guilabel:`Cyclic Inventory` section, locate the :guilabel:`Inventory Frequency (Days)` field, which should be set to `0` (if this location has not been edited previously). In this field, change the value to whichever number of days is desired." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:-1 +msgid "Location frequency setting on location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:50 +msgid "A location that needs an inventory count every 30 days should have the :guilabel:`Inventory Frequency (Days)` value set to `30`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:53 +msgid "Once the frequency has been changed to the desired number of days, click :guilabel:`Save` to save changes. Now, once an inventory adjustment is applied to this location, the next scheduled count date is automatically set, based on the value entered into the :guilabel:`Inventory Frequency (Days)` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:59 +msgid "Count inventory by location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:61 +msgid "To perform a cycle count for a specific location in the warehouse, navigate to :menuselection:`Inventory app --> Operations --> Inventory Adjustments`. This reveals an :guilabel:`Inventory Adjustments` page containing all products currently in stock, with each product listed on its own line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:66 +msgid "From this page, the :guilabel:`Filters` and :guilabel:`Group By` buttons (at the top of the page, under the :guilabel:`Search...` bar), can be used to select specific locations and perform inventory counts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:-1 +msgid "Inventory adjustments page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:74 +msgid "To select a specific location and view all products within that location, click :guilabel:`Group By`, then click :guilabel:`Add Custom Group` to reveal a new drop-down menu to the right." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:77 +msgid "Click :guilabel:`Location` from the drop-down menu, then click :guilabel:`Apply`. The page now displays condensed drop-down menus of each location in the warehouse that has products in stock, and a cycle count can be performed for all products in that location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:82 +msgid "In large warehouses with multiple locations and a high volume of products, it might be easier to search for the specific location desired. To do this, from the :guilabel:`Inventory Adjustments` page, click :guilabel:`Filters`. Then, click :guilabel:`Add Custom Filter` to reveal a new menu to the right. Click this menu to reveal three drop-downs." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:87 +msgid "For the first field, click and select :guilabel:`Location` from the drop-down. For the second field, leave the :guilabel:`contains` value as is. For the third field, type in the name of the location that is being searched for. Click :guilabel:`Apply` for that location to appear on the page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:-1 +msgid "Applied filters and group by on inventory adjustments page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:97 +msgid "Change full inventory count frequency" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:99 +msgid "While cycle counts are typically performed per location, the scheduled date for full inventory counts of everything in-stock in the warehouse can also be manually changed to push the date up sooner than the date listed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:103 +msgid "To modify the default scheduled date, go to :menuselection:`Inventory app --> Configuration --> Settings`. Then, in the :guilabel:`Operations` section, locate the :guilabel:`Annual Inventory Day and Month` setting field, which includes a drop-down that is set to `31` :guilabel:`December` by default." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:-1 +msgid "Frequency field in inventory app settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:112 +msgid "To change the day, click the `31`, and change it to a day within the range `1-31`, depending on the desired month of the year." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:115 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:196 +msgid "Then, to change the month, click :guilabel:`December` to reveal the drop-down menu, and select the desired month." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:118 +msgid "Once all changes have been made, click :guilabel:`Save` to save all changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts.rst:121 +msgid ":doc:`../inventory_management/count_products`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:3 +msgid "Consignment: buy and sell stock without owning it" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:5 +msgid "Most of the time, products stored in a company's warehouse are either purchased from suppliers, or are manufactured in-house. However, suppliers will sometimes let companies store and sell products in the company's warehouse, without having to buy those items up-front. This is called *consignment*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:10 +msgid "Consignment is a useful method for suppliers to launch new products, and easily deliver to their customers. It's also a great way for the company storing the products (the consignee) to earn something back for their efforts. Consignees can even charge a fee for the convenience of storing products they don't actually own." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:16 +msgid "Enable the consignment setting" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:18 +msgid "To receive, store, and sell consignment stock, the feature needs to be enabled in the settings. To do this, go to :menuselection:`Inventory --> Configuration --> Settings`, and under the :guilabel:`Traceability` section, check the box next to :guilabel:`Consignment`, and then click :guilabel:`Save` to finish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:-1 +msgid "Enabled Consignment setting in Inventory configuration." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:28 +msgid "Receive (and store) consignment stock" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:30 +msgid "With the feature enabled in Odoo, consignment stock can now be received into a warehouse. From the main :menuselection:`Inventory` dashboard, click into the :guilabel:`Receipts` section. Then, click :guilabel:`Create`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:35 +msgid "Consignment stock is not actually purchased from the vendor; it is simply received and stored. Because of this, there are no quotations or purchase orders involved in receiving consignment stock. So, *every* receipt of consignment stock will start by creating manual receipts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:39 +msgid "Choose a vendor to enter in the :guilabel:`Receive From` field, and then choose the same vendor to enter in the :guilabel:`Assign Owner` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:43 +msgid "Since the products received from the vendor will be owned by the same vendor, the :guilabel:`Receive From` and :guilabel:`Assign Owner` fields must match." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:46 +msgid "Once the vendor-related fields are set, enter products into the :guilabel:`Product` lines, and set the quantities to be received into the warehouse under the :guilabel:`Done` column. If the :guilabel:`Units of Measure` feature is enabled, the :abbr:`UoM (Units of Measure)` can be changed, as well. Once all the consignment stock has been received, :guilabel:`Validate` the receipt." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:-1 +msgid "Matching vendor fields in consignment Receipt creation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:56 +msgid "Sell and deliver consignment stock" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:58 +msgid "Once consignment stock has been received into the warehouse, it can be sold the same as any other in-stock product that has the :guilabel:`Can Be Sold` option enabled on the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:61 +msgid "To create a sales order, navigate to the :menuselection:`Sales` app, and from the :guilabel:`Quotations` overview, click :guilabel:`Create`. Next, choose a customer to enter into the :guilabel:`Customer` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:66 +msgid "The :guilabel:`Customer` *must* be different from the :guilabel:`Vendor` that supplied the consignment stock received (and stored) in the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:69 +msgid "Add the consignment product under the :guilabel:`Product` column in the order lines, set the :guilabel:`Quantity`, and fill out any other pertinent product details on the form. Once the quotation is complete, click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:-1 +msgid "Sales order of consignment stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:77 +msgid "Once the :abbr:`RFQ (Request for Quotation)` has been confirmed, it will become a sales order. From here, the products can be delivered by clicking on the :guilabel:`Delivery` smart button, and selecting :guilabel:`Validate` to validate the delivery." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:82 +msgid "Traceability and reporting of consignment stock" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:84 +msgid "Although consignment stock is owned by the vendor who supplied it, and not by the company storing it in their warehouse, consignment products will *still* appear in certain inventory reports." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:87 +msgid "To find inventory reports, go to :menuselection:`Inventory --> Reporting`, and choose a report to view." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:91 +msgid "Since the consignee does not actually own consigment stock, these products are *not* reflected in the :guilabel:`Stock Valuation` report, and have no impact on the consignee's inventory valuation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:96 +msgid "Product moves report" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:98 +msgid "To view all information about on-hand stock moves, navigate to the the :guilabel:`Product Moves` dashboard by going to :menuselection:`Inventory --> Reporting --> Product Moves`. For consignment products, the information in this report is the same as any other product: the history of its product moves can be reviewed; the :guilabel:`Quantity Done` and :guilabel:`Reference` document are available; and its :guilabel:`Locations` are available, as well. The consignment stock will originate from :guilabel:`Partner Location/Vendors`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:106 +msgid "To view a consignment product's moves by ownership, select the :guilabel:`Group By` filter, choose the :guilabel:`Add Custom Group` parameter, and then select :guilabel:`From Owner`, and :guilabel:`Apply` to finish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:-1 +msgid "Consignment stock moves history." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:115 +msgid "To see forecasted units of consignment stock, go to :menuselection:`Inventory --> Reporting --> Forecasted Inventory`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:119 +msgid "Stock on hand report" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/owned_stock.rst:121 +msgid "View the :guilabel:`Stock On Hand` dashboard by navigating to :menuselection:`Inventory --> Reporting --> Inventory Report`. From this report, the :guilabel:`Locations` of all stock on-hand are displayed, in addition to the quantities per location. For consigment products, the :guilabel:`Owner` column will be populated with the owner of those products, or the original vendor who supplied the products in the first place." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:3 +msgid "Putaway rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:6 +msgid "What is a Putaway Rule?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:8 +msgid "A good warehouse implementation makes sure that products automatically move to their appropriate destination location. To make that process easier, Odoo uses *Putaway Rules*. Putaway is the process of taking products from the received shipments and putting them into the appropriate location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:13 +msgid "If, for example, a warehouse contains volatile substances, it is important to make sure that certain products are not stored close to each other because of a potential chemical reaction. That's where putaway rules intervene, to avoid storing products wrongly." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:20 +msgid "In the :guilabel:`Inventory` app, go to :menuselection:`Configuration --> Settings` and activate the :guilabel:`Multi-Step Routes` feature. By doing so, the :guilabel:`Storage Locations` feature is also automatically activated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:-1 +msgid "Activate Multi-Step Routes in Inventory configuration settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:29 +msgid "Setting up a putaway rule" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:31 +msgid "In some cases, like for a retail shop storing fruits and vegetables, products should be stored in different locations depending on several factors like frequency, size, product category, specific environment needs, and so on." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:35 +msgid "In this example, suppose there is one warehouse location, **WH/Stock**, with the following sub-locations:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:38 +msgid "WH/Stock/Pallets" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:40 +msgid "WH/Stock/Pallets/PAL1" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:41 +msgid "WH/Stock/Pallets/PAL2" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:42 +msgid "WH/Stock/Pallets/PAL3" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:44 +msgid "WH/Stock/Shelf 1" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:46 +msgid "WH/Stock/Shelf 2" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:48 +msgid "WH/Stock/Shelf 2/Small Refrigerator" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:50 +msgid "WH/Stock/Shelf 3" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:52 +msgid "Manage those locations with putaway rules. To create a putaway rule, open the :guilabel:`Inventory` app and go to :menuselection:`Configuration --> Putaway Rules`. Then, click on :guilabel:`Create` and configure a putaway rule that indicated the main location the product will enter before being redirected to the right storage location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:58 +msgid "The putaway rules can be defined either per product/product category and/or package type (the :guilabel:`Packages` setting must be enabled for that). Putaway rules are read sequentially until a match is found." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:62 +msgid "Take the following example:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:64 +msgid "If water (category All/drinks) is received, whatever the package, it will be redirected to WH/Stock/Shelf 2/Small Refrigerator." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:66 +msgid "If orange juice cans, packaged in boxes, are received, they will be redirected to WH/Stock/Shelf 2." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:68 +msgid "If water or apple juice bottles, packaged in boxes, are received, they will be redirected to WH/Stock/Shelf 3." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:70 +msgid "If a pallet of lemonade cans are receieved, it will be redirected to WH/Stock/Pallets/PAL1." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:-1 +msgid "Some examples of putaway rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:77 +msgid "Using Storage Categories" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:79 +msgid "A *Storage Category* is an extra location attribute. Storage categories allow the user to define the quantity of products that can be stored in the location and how the location will be selected with putaway rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:86 +msgid "In the :guilabel:`Inventory` app, go to :menuselection:`Configuration --> Settings` and activate the :guilabel:`Storage Categories` feature. By doing so, the :guilabel:`Storage Locations` feature is also automatically activated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:91 +msgid "Create a Storage Category" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:93 +msgid "To create a storage category, go to :menuselection:`Inventory --> Configuration --> Storage Categories` and click :guilabel:`Create`. Then, click :guilabel:`Save` and click :guilabel:`Storage Categories` or go to :menuselection:`Configuration --> Storage Categories` to create a new storage category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:-1 +msgid "Create Storage Categories inside Odoo Inventory configuration settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:102 +msgid "First, click :guilabel:`Create` and type a name for the storage category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:104 +msgid "Then, there are options to limit the capacity by weight, by product, or by package type. The :guilabel:`Allow New Product` field defines when the location is considered available to store a product:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:108 +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/warehouses_storage/advanced_operations_warehouse/putaway.rst:109 +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/warehouses_storage/advanced_operations_warehouse/putaway.rst:111 +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/warehouses_storage/advanced_operations_warehouse/putaway.rst:114 +msgid "Once the storage category settings are saved, the storage category can be linked to a location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:-1 +msgid "When a Storage Category is created, it can be linked to a warehouse location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:121 +msgid "Storage categories in putaway rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:123 +msgid "To continue the example from above, apply the \"High Frequency Pallets\" on the PAL1 and PAL2 locations and rework the putaway rules as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:126 +msgid "Assume one pallet of lemonade cans is received:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:128 +msgid "If PAL1 and PAL2 are empty, the pallet will be redirected to WH/Stock/Pallets/PAL1." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:129 +msgid "If PAL1 is full, the pallet will be redirected to WH/Stock/Pallets/PAL2." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:130 +msgid "If PAL1 and 2 are full, the pallet will be redirected to WH/Stock/Pallets." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/putaway.rst:-1 +msgid "Storage Categories used in a variety of putaway rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:3 +msgid "Removal strategies (FIFO, LIFO, FEFO)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:7 +msgid "For companies with warehouses, **removal strategies** determine which products are taken from the warehouse, and when. Removal strategies are typically defined for specific picking operations. This helps companies to select the best products, optimize the distance workers need to travel when picking items for orders, and account for quality control, such as moving products with expiration dates." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:13 +msgid "Usually, *Removal Strategies* are defined in picking operations to select the best products to optimize the distance for the worker, for quality control purposes, or to first move the products with the closest expiration date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:17 +msgid "When a product needs to be moved, Odoo finds available products that can be assigned to the transfer. The way Odoo assigns these products depends on the :guilabel:`Removal Strategy` defined in either the :guilabel:`Product Category` or the :guilabel:`Location` dashboards." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:21 +msgid "To change the :guilabel:`Removal Strategy`, go to :menuselection:`Inventory app --> Configuration --> Locations` or :menuselection:`Product Categories`. Click on a :guilabel:`Location` or :guilabel:`Product Category`, and then click :guilabel:`Edit`. Change the product category :guilabel:`Force Removal Strategy` or the location :guilabel:`Removal Strategy` by clicking on the drop-down menu and selecting the desired removal strategy. After selecting the new removal strategy, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Change the Force Removal Strategy for either the Product Categories or Locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:33 +msgid "What happens inside the warehouse?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:35 +msgid "Most warehouses share the same important areas: receiving docks and sorting areas, storage locations, picking and packing areas, and shipping/loading docks. While all products entering or leaving the warehouse might go through each of these locations at some point, removal strategies can have an effect on which products are taken, from where, and when." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:40 +msgid "In this example below, vendor trucks unload pallets of goods at the receiving docks. Then, operators scan the products in the receiving area, with the reception date and expiration date. After that, products are stored in their respective storage locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:45 +msgid "Not all products have expiration dates, but in this example, expiration dates apply." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Products entering stock via the receiving area." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:51 +msgid "In Odoo, receive products by navigating to the :menuselection:`Inventory` application, and in the kanban view, click on either the :guilabel:`Receipts` heading or :guilabel:`# TO PROCESS` button. On the :guilabel:`Receipts` dashboard, find and click on the individual receipt which will open the warehouse intake form. Click :guilabel:`Edit`, and then enter the received quantity in the :guilabel:`Done` column. To finish, :guilabel:`Validate` to receive the products and register them in the Odoo database." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:59 +msgid "Receiving products can also be done within the Odoo *Barcode* application. If using the *Barcode* app, scan the product(s), update the quantity, and finally, click :guilabel:`Validate`. After products are received in Odoo, the products can then be moved to their respective storage locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:64 +msgid "Continuing with the same example, below, imagine several sales orders are made for the products received earlier, that use expiration dates. In this example, the products weren't received on the same day, and they don't have the same expiration date. In this situation, logically, sending products with the closest expiration date is preferred, instead of products received first or last. Using the chosen removal strategy configured for those products (in this example, :ref:`FEFO `), Odoo generates a transfer for the products with the soonest expiration date to the picking area, then the packing area, and finally, to the shipping docks for delivery to the customer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Products being packed at the packing area for delivery, taking the expiration dates into\n" +"account." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:79 +msgid "To pick for delivery, the product's lot/serial number can be found on the transfer form. To learn more about picking and shipping, refer to either the :ref:`Two-step delivery ` or :ref:`Three-step delivery ` documentation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:85 +msgid "How each removal strategy works" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:87 +msgid "Removal strategies determine which products are taken from the warehouse when orders are confirmed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:90 +msgid "First In, First Out (FIFO)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:92 +msgid "When using a :guilabel:`First In, First Out (FIFO)` strategy, demand for a product triggers a removal rule, which requests a transfer for the lot/serial number that entered the stock first (and therefore, has been in stock for the longest time)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:96 +msgid "For example, imagine there are three lots of nails in the warehouse, and have the corresponding lot numbers: `00001`, `00002`, `00003`. Each lot has five boxes of nails in it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:99 +msgid "Lot `00001` entered the stock on May 23, lot `00002` on May 25, and lot `00003` on June 1. A customer orders six boxes on June 11." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:102 +msgid "Using the :abbr:`FIFO (First In, First Out)` removal strategy, a transfer request will pick the five boxes from lot `00001` first, and then from the boxes in lot `00002`, since lot `00001` entered the stock first. The box from lot `00002` is taken next because it has the oldest receipt date after lot `00001`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "The detailed operations for the transfer shows the nail lots to be removed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:112 +msgid "Last In, First Out (LIFO)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:114 +msgid "Similar to the :abbr:`FIFO (First In, First Out)` method, the :guilabel:`Last In, First Out (LIFO)` removal strategy moves products based on the date they entered a warehouse's stock. Instead of removing the oldest stock on-hand, however, it targets the **newest** stock on-hand for removal." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:118 +msgid "Every time an order for products with the :abbr:`LIFO (Last In, First Out)` method is placed, a transfer is created for the lot/serial number that has most recently entered the stock (the **last** lot/serial number that entered the warehouse's inventory)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:123 +msgid "In many countries, the :abbr:`LIFO (Last In, First Out)` removal strategy in banned, since it can potentially result in old, expired, or obsolete products being delivered to customers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:126 +msgid "For example, imagine there are three lots of boxes of screws in the warehouse, and have the corresponding lot numbers: `10001`, `10002`, and `10003`, each with 10 boxes of screws per lot." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:129 +msgid "Lot `10001` entered the stock on June 1, lot `10002` on June 3, and lot `10003` on June 6. A customer orders seven boxes on June 8." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:132 +msgid "Using the :abbr:`LIFO (Last In, First Out)` removal strategy, a transfer is requested for seven boxes of screws from lot `10003` because that lot is the last one to have entered the stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "The detailed operations shows which lots are being selected for the picking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:140 +msgid "First Expired, First Out (FEFO)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:142 +msgid "While the :abbr:`FIFO (First In, First Out)` and :abbr:`LIFO (Last In, First Out)` methods target products for removal based on date of entry into the warehouse, the :guilabel:`First Expired, First Out (FEFO)` method targets products for removal based on their assigned expiration dates." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:146 +msgid "Using the :abbr:`FEFO (First Expired, First Out)` removal strategy, every sales order that includes products with this removal strategy assigned ensures that transfers are requested for products with the expiration date soonest to the order date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:150 +msgid "As an example, imagine there are three lots of six-egg boxes. Those three lots have the following lot numbers: `20001`, `20002`, and `20003`, each with five boxes in it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:153 +msgid "Lot `20001` entered the stock on July 1 and expires on July 15, lot `20002` entered on July 2 and expires on July 14, and lot `20003` entered on July 3 and expires on July 21. A customer orders six boxes on July 5." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:157 +msgid "Using the :abbr:`FEFO (First Expired, First Out)` method, a transfer is requested for the five boxes from lot `20002` and one from lot `20001`. All the boxes in lot `20002` are transferred because they have the earliest expiration date. The transfer also requests one box from lot `20001` because it has the next closest expiration date after lot `20002`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "The detailed operations for the transfer shows the lots to be removed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:167 +msgid "Using removal strategies" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:169 +msgid "To differentiate some units of products from others, the units need to be tracked, either by :guilabel:`Lot` or by :guilabel:`Serial Number`. To do so, go to :menuselection:`Inventory --> Configuration --> Settings`. Then, activate the :guilabel:`Storage Locations`, :guilabel:`Multi-Step Routes`, and :guilabel:`Lots & Serial Numbers` settings. Click :guilabel:`Save` to save changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid ":alt: Traceability settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid ":alt: Warehouse settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:183 +msgid "To use the :abbr:`FEFO (First Expired, First Out)` removal strategy, the :guilabel:`Expiration Dates` setting needs to be activated as well. To enable this, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Traceability` section, and click the checkbox next to :guilabel:`Expiration Dates`. Remember to click :guilabel:`Save` to save all changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:189 +msgid "Now, specific removal strategies can be defined on product categories. To do this, go to :menuselection:`Inventory app --> Configuration --> Product Categories`, and choose a product category to define the removal strategy on. In the :guilabel:`Force Removal Strategy` field, choose a removal strategy." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:194 +msgid "The *First Expired, First Out* (FEFO) strategy is a bit different from the other two removal strategies. For :abbr:`FEFO (First Expired, First Out)`, the expiration date is important, not the date the product entered the stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:198 +msgid "For example, imagine there are three lots of six-egg boxes (in this specific case, don't forget to use :doc:`units of measure `). Those three lots have the following numbers: :guilabel:`20001`, :guilabel:`20002`, and :guilabel:`20003`, each with five boxes in it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:204 +msgid ":guilabel:`20001` entered the stock on the 1st of July and expires on the 15th of July, :guilabel:`20002` entered on the 2nd and expires on the 14th of July, and :guilabel:`20003` entered on the 4th and expires on the 21st of July. A customer orders six boxes on the 5th of July. With the :abbr:`FEFO (First Expired, First Out)` strategy selected, a transfer is requested for the five boxes of :guilabel:`20002` and one from :guilabel:`20001`. The transfer for all the boxes in lot :guilabel:`20002` is because they have the closest expiration date. The transfer also requests one box from :guilabel:`20001` because has the next closest expiration date after lot :guilabel:`20002`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:213 +msgid "Basically, for every sales order of a product with the :abbr:`FEFO (First Expired, First Out)` strategy, a transfer is requested for the product that has the nearest expiration date from the order date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:218 +msgid "Closest Location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:220 +msgid "The *Closest Location* strategy is completely different from the other removal strategies. It is not related to the date of entry in the warehouse, but rather the location of the product. It is commonly used for products that do not deteriorate with time." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:224 +msgid "The aim is to avoid making the warehouse worker take a long journey to the bottom of the stock when the product is also located at a near location. This method is only available if the :guilabel:`Storage Locations` setting is on. The closest location is actually the one that comes first in the alphabetic order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:230 +msgid "Use removal strategies" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:232 +msgid "To differentiate some units from others, the units need to be tracked, either by *lot* or by *serial number*. To do so, go to :menuselection:`Inventory --> Configuration --> Settings`. Then, activate the :guilabel:`Storage Location`, :guilabel:`Multi-Step Routes`, and :guilabel:`Lots & Serial Numbers` settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Removal strategy on a product category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:241 +msgid "To view all products with lots/serial numbers assigned to them, navigate to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. This reveals a page with drop-down menus of all products assigned lots or serial numbers, filtered by *product* by default. To change the category these products are filtered by, click :guilabel:`Product` (in the search bar, in the top right of the page) to remove the default filter, and select a new filter if desired." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Click on Products, then Lots/Serial Numbers to display all the products with lots or serial\n" +"numbers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:252 +msgid "To view the serial numbers being selected for a sales order, go to the :guilabel:`Sales app` and select the sales order in question. In the sales order, click the :guilabel:`Delivery` smart button in the top right. In the :guilabel:`Operations` tab, click the :guilabel:`⦙≣ (Detailed Operations)` icon in the far right for the product in question. The :guilabel:`Detailed Operations` window appears, and displays the lot or serial numbers selected for that specific product for the delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:260 +msgid "FIFO (First In, First Out)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:262 +msgid "The :abbr:`FIFO (First In, First Out)` removal strategy implies that products which enter a warehouse's stock first are removed first. Companies should use this method if they are selling products with short demand cycles, such as clothes, to ensure they are not stuck with outdated styles in stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:267 +msgid "In this example, there are three lots of white shirts. The shirts are from the *All/Clothes* category, where *FIFO* is set as the removal strategy. In the :guilabel:`Inventory Valuation Report`, the three different receipts are listed with the amounts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "View of the lots of white shirts in the inventory valuation report." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:275 +msgid "Lot `000001` contains five shirts, lot `000002` contains three shirts, and lot `000003` contains two shirts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:278 +msgid "To see the removal strategy in action, go to the :menuselection:`Sales app` and click :guilabel:`Create` to create a sales order. Next, select a :guilabel:`Customer` from the drop-down menu. Then click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Select a product (for this example, the :guilabel:`White Shirt`) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (for this example, `6.00`) in the :guilabel:`Quantity` field, then click :guilabel:`Save`, then click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:285 +msgid "Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the oldest lot numbers will be reserved thanks to the :abbr:`FIFO (First In, First Out)` strategy. All five shirts from lot `000001` and one shirt from lot `000002` will be selected to be sent to the customer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Two lots being reserved for a sales order with the FIFO strategy." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:295 +msgid "LIFO (Last In, First Out)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:297 +msgid "The :abbr:`LIFO (Last In, First Out)` removal strategy works in the **opposite** manner from the :abbr:`FIFO (First In, First Out)` strategy. With this method, the products that are received **last** are moved out first. This method is mostly used for products without a shelf life, and no time-sensitive factors, such as expiration dates." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:302 +msgid "In this example, there are three lots of cinder blocks. The blocks are from the *All/Building Materials* category, where *FIFO* is set as the removal strategy. In the :guilabel:`Inventory Valuation Report`, the three different receipts are listed with the amounts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "View of the lots of cinder blocks in the inventory valuation report." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:310 +msgid "Lot `000020` contains three cinder blocks, lot `000030` contains five cinder blocks, and lot `0000400` contains four cinder blocks." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:313 +msgid "To see how the :abbr:`LIFO (Last In, First Out)` strategy works, first navigate to :menuselection:`Inventory app --> Configuration --> Product Categories`, and select a product category (for this example, the :guilabel:`All/Building Materials` category) to edit. This reveals a product category form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:318 +msgid "Once on the product category form, under the :guilabel:`Logistics` section, change the :guilabel:`Force Removal Strategy` to :guilabel:`Last In First Out (LIFO)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Last in first out (LIFO) strategy set up as forced removal strategy." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:325 +msgid "To see the removal strategy in action, go to the :menuselection:`Sales app` and click :guilabel:`Create` to create a sales order. Next, select a :guilabel:`Customer` from the drop-down menu. Then click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Select a product (for this example, the :guilabel:`Cinder Block`) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (for this example, `5.00`) in the :guilabel:`Quantity` field, then click :guilabel:`Save`, then click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:332 +msgid "Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the newest lot numbers will be reserved thanks to the :abbr:`LIFO (Last In, First Out)` strategy. All four cinder blocks from lot `0000400` and one cinder block from lot `000030` will be selected to be sent to the customer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Two lots being reserved for sale with the LIFO strategy." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:344 +msgid "FEFO (First Expired, First Out)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:346 +msgid "The :abbr:`FEFO (First Expired, First Out)` removal strategy differs from the :abbr:`FIFO (First In, First Out)` and :abbr:`LIFO (Last In, First Out)` strategies, because it targets products for removal based on **expiration dates** instead of their warehouse receipt dates. With this method, the products that are going to expire first are moved out first. This method is used for perishable products, such as medicine, food, and beauty products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:352 +msgid "Lots are picked based on their **removal date** from earliest to latest. Removal dates indicate how many days *before* the expiration date the product needs to be removed from stock. The removal date is set on the product form. Lots without a removal date defined are picked after lots with removal dates." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:358 +msgid "If products are not removed from stock when they should be, lots that are past the expiration date may still be picked for delivery orders!" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:362 +msgid "For more information about expiration dates, reference the :doc:`Expiration dates <../../product_management/product_tracking/expiration_dates>` document." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:365 +msgid "First, go to :menuselection:`Inventory app --> Configuration --> Settings` and ensure :guilabel:`Expiration Dates` is enabled. Once the :guilabel:`Expiration Dates` setting is enabled, it's possible to define different expiration dates for individual serialized products, as well as for lot numbers containing many products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:370 +msgid "In this example, there are three lots of hand cream. The creams are from the *All/Health & Beauty* category, where *FEFO* is set as the removal strategy. In the :guilabel:`Inventory Valuation Report`, the three different receipts are listed with the amounts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:374 +msgid "Lot `0000001` contains twenty tubes of hand cream, expiring on Sept 30, lot `0000002` contains ten tubes of hand cream, expiring on November 30, and lot `0000003` contains ten tubes of hand cream, expiring on October 31." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "View the hand cream lot numbers and expiration dates in the inventory report." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:382 +msgid "Expiration dates can be entered when validating the received products, or set on products by going to :menuselection:`Inventory app --> Products --> Lots/Serial Numbers`. Click :guilabel:`Create`, enter the serial number, and select the product from the drop-down menu. Next, select the expiration date in the :guilabel:`Dates` tab. Finally, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "View of the removal date for 0000001." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:391 +msgid "To see how the :abbr:`FEFO (First Expired, First Out)` strategy works, first navigate to :menuselection:`Inventory app --> Configuration --> Product Categories`, and select a product category (in this example, the :guilabel:`All/Health & Beauty` category) to edit. This reveals a product category form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:396 +msgid "Once on the product category form, under the :guilabel:`Logistics` section, change the :guilabel:`Force Removal Strategy` to :abbr:`FEFO (First Expired, First Out)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "FEFO forced removal strategy set on the product category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:403 +msgid "Next, go to the :menuselection:`Sales app` and click :guilabel:`Create` to create a sales order. Next, select a :guilabel:`Customer` from the drop-down menu. Then click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Select a product (for this example, the :guilabel:`Hand Cream`) from the drop-down menu, or type in the name of the product in the field. Enter a quantity (in this example, `25.00`) in the :guilabel:`Quantity` field, then click :guilabel:`Save`, then click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:410 +msgid "Once the sales order is confirmed, the delivery order will be created and linked to the picking, and the lot numbers expiring first will be reserved thanks to the :abbr:`FEFO (First Expired, First Out)` strategy. All twenty tubes of hand cream from lot `0000001` and five from lot `0000003` will be selected to be sent to the customer, detailed in the :guilabel:`Detailed Operations` tab in the sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/removal.rst:-1 +msgid "Hand cream lot numbers selected for the sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:3 +msgid "Sell stock from multiple warehouses using virtual locations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:5 +msgid "While keeping stock and selling inventory from one warehouse might work for smaller companies, bigger companies might need to keep stock in, or sell from, multiple warehouses in multiple locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:9 +msgid "In Odoo, sometimes products included in a single sales order might take stock from two (or more) warehouses. In Odoo, pulling products from multiple warehouses to satisfy sales demands can be done by using *virtual locations*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:14 +msgid "In order to create virtual locations in warehouses and proceed to the following steps, the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` features will need to be enabled in the :menuselection:`Settings` app." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:18 +msgid "To do so, go to :menuselection:`Inventory --> Configuration --> Settings`, scroll down to the :guilabel:`Warehouse` section, and click the checkboxes next to :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes`. Then, :guilabel:`Save` the changes to finish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:23 +msgid "Create and configure a virtual parent location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:25 +msgid "Before creating any virtual stock locations, a new warehouse will need to be created. This new warehouse will act as a *virtual* warehouse, and will be the *parent* location of other physical warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:31 +msgid "Virtual warehouses are great for companies with multiple physical warehouses. This is because a situation might arise when one warehouse runs out of stock of a particular product, but another warehouse still has stock on-hand. In this case, stock from these two (or more) warehouses could be used to fulfill a single sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:36 +msgid "The \"virtual\" warehouse acts as a single aggregator of all the inventory stored in a company's physical warehouses, and is used (for traceability purposes) to create a hierarchy of locations in Odoo." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:41 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:58 +msgid "Create a new warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:43 +msgid "To create a new warehouse, go to :menuselection:`Inventory --> Configuration --> Warehouses`, and click :guilabel:`Create`. From here, the warehouse :guilabel:`Name` and :guilabel:`Short Name` can be changed, and other warehouse details can be changed under the :guilabel:`Warehouse Configuration` tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:48 +msgid "Under the :guilabel:`Shipments` heading, set the number of steps used to process :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments` by selecting between the :guilabel:`1 step`, :guilabel:`2 steps`, and :guilabel:`3 steps` radio buttons. The desired option for :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments` will depend on the warehouse's procurement process, and might differ for individual products or product categories." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:55 +msgid ":doc:`How to choose the right flow to handle receipts and deliveries? `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:58 +msgid "Under the :guilabel:`Resupply` heading, configure the method(s) for how the warehouse resupplies its inventory:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:61 +msgid ":guilabel:`Resupply Subcontractors`: resupply subcontractors with components from this warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:62 +msgid ":guilabel:`Manufacture to Resupply`: when products are manufactured, they can be manufactured in this warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:64 +msgid ":guilabel:`Manufacture`: to produce right away, move the components to the production location directly and start the manufacturing process; to pick first and then produce, unload the components from the stock to input location first, and then transfer it to the production location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:68 +msgid ":guilabel:`Buy to Resupply`: when products are bought, they can be delivered to this warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:69 +msgid ":guilabel:`Resupply From`: automatically create routes to resupply this warehouse from another chosen warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:73 +msgid "*Routes* can be set and configured directly from the :guilabel:`Warehouse` form, by clicking on the :guilabel:`Routes` smart button. Once the warehouse is configured, virtual *Locations* can be created." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +msgid "The edit screen for creating a new warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:81 +msgid "In order to apply this virtual warehouse as the *parent* location of two *child* location warehouses, there need to be two warehouses configured with physical stock locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid "**Parent Warehouse**" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid ":guilabel:`Warehouse`: `Virtual Warehouse`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid ":guilabel:`Location`: `VWH`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid "**Child Warehouses**" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid ":guilabel:`Warehouses`: `Warehouse A` and `Warehouse B`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid ":guilabel:`Locations`: `WHA/Stock` and `WHB/Stock`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:95 +msgid "Create a virtual parent location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:98 +msgid "In order to take stock from multiple warehouses to fulfill a sales order, there need to be at least **two** warehouses acting as *child locations* of the *virtual parent location* warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:101 +msgid "To create and edit *Locations*, go to :menuselection:`Inventory --> Configuration --> Locations`. All :guilabel:`Locations` are listed here, including the *Stock* :guilabel:`Location` of the virtual warehouse that was created. Click into the *Stock* :guilabel:`Location` for the virtual warehouse that was previously created (:dfn:`Warehouse Name/Stock`)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:106 +msgid "Then, under the :guilabel:`Additional Information` section, change the :guilabel:`Location Type` from :guilabel:`Internal Location` to :guilabel:`View`. :guilabel:`Save` the changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:109 +msgid "This identifies this :guilabel:`Location` as a *virtual location*, which is used to create a hierarchical structure for a warehouse and aggregate its *child locations*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:113 +msgid "Products can *not* be stored in a :guilabel:`View` :guilabel:`Location Type`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +msgid "Warehouse location types in location creation screen." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:120 +msgid "Configure physical warehouse locations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:122 +msgid "Navigate back to the :guilabel:`Locations` overview (via the breadcrumbs), and remove any filters in the :guilabel:`Search Bar`. Then, click into the first physical warehouse :guilabel:`Location` that was previously created to be a *child location*, and click :guilabel:`Edit`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:126 +msgid "Under :guilabel:`Parent Location`, select the virtual warehouse from the drop-down menu, and :guilabel:`Save` changes. Then, navigate back to the :guilabel:`Locations` overview, and repeat this step for the second physical warehouse stock location. Be sure to :guilabel:`Save` changes again." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:130 +msgid "Both locations are now *child locations* of the virtual warehouse *parent location*. This allows stock to be taken from multiple locations to fulfill a single sales order, if there is not enough stock in any one location (provided they are both tied to the same virtual warehouse *parent location*)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:136 +msgid "Example flow: Sell a product from a virtual warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:139 +msgid "To sell products from multiple warehouses using a virtual *parent* location in this flow, there must be at least **two** products and at least **two** warehouses configured - with at least **one** product with quantity on-hand in each warehouse, respectively." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:143 +msgid "To create a new request for quotation, or RFQ, navigate to the :menuselection:`Sales` app, and click :guilabel:`Create` from the :guilabel:`Quotations` overview. Fill out the information on the new quotation by adding a :guilabel:`Customer`, and click :guilabel:`Add a product` to add the two products stored in the two warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:148 +msgid "Then, click the :guilabel:`Other Info` tab on the sales order form. Under the :guilabel:`Delivery` section, change the :guilabel:`Warehouse` field value listed to the virtual warehouse that was previously created. Once the warehouse has been changed, click :guilabel:`Confirm` to convert the quotation into a sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:153 +msgid "Now that the quotation has been confirmed as a sales order, click the :guilabel:`Delivery` smart button. From the warehouse delivery form, confirm that the :guilabel:`Source Location` value matches the :guilabel:`Warehouse` field value from the sales order. Both should list the virtual warehouse location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:159 +msgid "The :guilabel:`Source Location` on the warehouse delivery form and the :guilabel:`Warehouse` under the :guilabel:`Other Info` tab on the sales order form *must* match in order for the products included in the sales order to be pulled from different warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:163 +msgid "If the virtual warehouse is not the value in the :guilabel:`Source Location` field on the warehouse delivery form, then click :guilabel:`Edit`, make the change, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:166 +msgid "If the virtual warehouse is not the value in the :guilabel:`Warehouse` field on the sales order, then a new quotation may need to be generated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:168 +msgid "If the :guilabel:`Warehouse` field is missing on the sales order form, then the virtual warehouse (and its children warehouses) may not have been set up correctly, in which case, review the documentation above again to make sure all settings/configuration were done properly." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +msgid "Delivery order with matching source and child locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:176 +msgid "Finally, on the warehouse delivery form, under the :guilabel:`Detailed Operations` tab, confirm that the *Locations* values under the :guilabel:`From` column for each product matches to the *child locations* that are tied to the virtual *parent location*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:181 +msgid "To view which *Locations* the products are coming from on the drop-down menus, click the :guilabel:`internal link (arrow)` icon to expand the *Location* information. If needed, it can be changed from here (granted there is quantity on hand for the product in that location)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:185 +msgid "Once everything has been properly set, click :guilabel:`Validate` and then :guilabel:`Apply` to validate the delivery. Then, navigate back to the sales order form (via the breadcrumbs), and click :guilabel:`Create Invoice` to invoice for the sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:190 +msgid "To use a virtual *parent* location as the default warehouse for sales orders, each salesperson can have the virtual warehouse assigned to them from the drop-down menu next to :guilabel:`Default Warehouse` on their employee form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +msgid "Default warehouse location on employee form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:3 +msgid "Units of measure, packages, and packagings" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:5 +msgid "In Odoo, there are a variety of ways to specify the amount of products being bought, stocked, and sold. *Units of measure*, *packages*, and *packagings* are all available to streamline inventory flows, allowing for a variety of configurations for products as they enter and leave the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:12 +msgid "Units of measure" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:14 +msgid "A *unit of measure (UoM)* refers to any of the different standards used to measure and handle a quantifiable amount of products, such a units, weight, time, or size. Different :abbr:`UoMs (Units of Measure)` for weight, for example, can be kilos, pounds, ounces, grams, and so on." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:18 +msgid "In Odoo, stock management and purchasing from suppliers are streamlined by specifying different :abbr:`UoMs (Units of Measure)` for both buying and selling products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:-1 +msgid "Specify unit of measure for selling a product vs purchasing." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:25 +msgid "Once a product has a default :guilabel:`Unit of Measure` and :guilabel:`Purchase Unit of Measure` set on the product form, Odoo automatically converts the different units in the product's purchase/sales orders and the corresponding delivery orders/receipts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:29 +msgid "The only condition is that all of the units have to be in the *same category* (unit, weight, volume, length, etc.)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:33 +msgid "On the product form for `Rope`, the following fields are set as:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:35 +msgid ":guilabel:`Unit of Measure` in `ft` (feet), and" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:36 +msgid ":guilabel:`Purchase Unit of Measure` in `cm` (centimeters)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:38 +msgid "Because the vendor sells rope in `cm`, the purchase :guilabel:`UoM` is used to represent the quantity on the :abbr:`PO (Purchase Order)`, which is also in centimeters." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Display purchase order for the product, rope, in centimeters." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:45 +msgid "After confirming the :abbr:`PO (Purchase Order)`, the quantity of product (found under the now visible :guilabel:`Demand` column) is converted from the purchase :abbr:`UoM (Unit of Measure)` to the :guilabel:`Unit of Measure`. Then, when the product is received by clicking the :guilabel:`Validate` button, the quantity in :guilabel:`Done` is automatically adjusted to match the :guilabel:`Demand` column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:52 +msgid "On the *receipt* for `Rope`, the quantities are automatically converted from `500 cm` that was requested on the purchase order, to `16.40 ft` to match the internal/stock :guilabel:`Unit of Measure` value." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Rope quantity is converted from cm to ft during warehouse reception." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:61 +msgid ":ref:`Use Different Units of Measure `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:66 +msgid "Packages" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:68 +msgid "Packages are a physical container that holds one or several products from a picking, typically used for outgoing deliveries or internal transfers. Packages can be a reusable or disposable (shipping) box, and are **not** specific to a product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:72 +msgid "Reusable boxes temporarily hold products during a picking to be brought to either a packing or shipping area. Disposable boxes are the actual shipping containers (e.g. cardboard boxes, envelopes, shipping bags, etc). These are used to ship the products out to customers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:76 +msgid "Multiple items in a sales order (SO) can be separated into different packages to accommodate the products. For example, an :abbr:`SO (Sales Order)` that has 20 boxes of pencils and 4 boxes of erasers can be separated into two separate packages, each containing 10 boxes of pencils and 2 boxes of erasers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:82 +msgid "Products do *not* have to be divided equally. Products can be divided into as many packages that are needed to accommodate the :abbr:`SO (Sales Order)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:85 +msgid "In Odoo, the quantity of products in each package needs to be recorded, so there is a full history for each product, including which package each item is shipped out in." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:88 +msgid "To use this method, ensure the :guilabel:`Packages` option is enabled, by navigating to :menuselection:`Inventory app --> Configuration --> Settings --> Operations`. Click the :guilabel:`Packages` check box, and then :guilabel:`Save` to activate the feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:92 +msgid "On a delivery order, assign which package to use by clicking on the :guilabel:`≣ (Detailed Operations)` icon to the right of each product in the :guilabel:`Operations` tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:-1 +msgid "Find detailed operations icon to the right on the product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:99 +msgid "Clicking the :guilabel:`≣ (Detailed Operations)` icon of a product reveals a pop-up window. In this window, the :guilabel:`Product` name, :guilabel:`Demand`, and :guilabel:`Quantity Done` are clearly displayed above the customizable product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:103 +msgid "Here, the warehouse location the product is coming from can be modified, in addition to the :guilabel:`Source Package` and :guilabel:`Destination Package`, which represents what package(s) the product(s) will be packaged into." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:107 +msgid "Click :guilabel:`Add a line` to include each additional package used. Enter the desired amount in the :guilabel:`Done` field to specify the amount of products that will go into the :guilabel:`Destination Package`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:112 +msgid "Multiple packages in a single delivery" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:114 +msgid "Although a :abbr:`DO (Delivery Order)` is typically associated with a single package, orders can be split by clicking the :guilabel:`≣ (Detailed Operations)` icon next to the products on an :abbr:`SO (Sales Order)` line. This opens the :guilabel:`Detailed Operations` window with an editable table to specify which products are intended for which package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:120 +msgid "To package 10 boxes of pencils with 2 boxes of erasers from the same :abbr:`SO (Sales Order)`, begin by navigating to the :abbr:`DO (Delivery Order)`. Then, select the :guilabel:`≣ (four horizontal lines)` icon to the right of the product, `Box of Pencils`. Clicking the icon opens the :guilabel:`Detailed Operations` window that is used to detail how products, like the 20 `Box of Pencils`, are packaged." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:126 +msgid "Type in `10` under the :guilabel:`Done` field to package 10 products into the :guilabel:`Destination Package`. To specify the destination package, type the name of an existing package (such as `PACK0000006`) under the field, :guilabel:`Destination Package`. If the package does not exist, Odoo displays the :guilabel:`Create` button to create a new package. Click :guilabel:`Add a line` to assign the remaining products in another package, `PACK0000007`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Detailed operations pop-up where the amount of product going in a pack can be specified." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:136 +msgid "Select :guilabel:`Detailed Operations` on the product line for `Box of Erasers` and similarly set 2 :guilabel:`Done` products to `PACK0000006` and `PACK0000007` each." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Put in pack button to match the done amount matches the demand." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:143 +msgid "Once all the products for each line have been entered, click :guilabel:`Confirm` to return to the :abbr:`DO (Delivery Order)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:146 +msgid "The :guilabel:`Done` quantity on the :abbr:`DO (Delivery Order)` updates as products are selected for each package. When the :guilabel:`Done` amount matches the :guilabel:`Demand` amount, click the :guilabel:`Validate` button to complete the delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:151 +msgid "The :guilabel:`Put In Pack` button is intended to quickly package all products in the :abbr:`DO (Delivery Order)` into one new package. The option to rename the package, or modify its contents, is available in the :guilabel:`Detailed Operations` pop-up." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:155 +msgid "Clicking on the :guilabel:`Packages` smart button in the upper-right corner of the delivery order reveals a separate page, showing all the packages used in that :abbr:`DO (Delivery Order)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:159 +msgid "Packagings" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:161 +msgid "*Packaging* is product specific, and refers to a disposable container that holds several units of a specific product. Unlike packages, packagings cannot be reusable, and each specific packaging must be defined on the individual product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:165 +msgid "For example, different packages for cans of soda can be configured as a 6-pack, a 12-pack, or a case of 36. Each flavor of soda would need a `6`, `12`, and `36` can packaging configured on the individual product since packagings are product specific, not generic." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:170 +msgid "Set up packagings" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:172 +msgid "To use packagings, ensure the :guilabel:`Product Packagings` feature is enabled. To do that, navigate to :menuselection:`Inventory app --> Configuration --> Settings`. Then, under the :guilabel:`Products` heading, check the box next to :guilabel:`Product Packagings`, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:177 +msgid "In Odoo, product packagings are used on sales/purchase orders and inventory transfers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:179 +msgid "Next, to create packagings, navigate to :menuselection:`Inventory app --> Products --> Products` and click on the desired product, then click :guilabel:`Edit` on the product page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:182 +msgid "Under the :guilabel:`Inventory` tab, scroll down to the :guilabel:`Packaging` section, and click :guilabel:`Add a line`. Then, a pop-up window appears, in which the following information for each packaging should be entered:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:186 +msgid ":guilabel:`Packaging`: name of packaging that appears on sales/purchase orders as a packaging option for the product" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:188 +msgid ":guilabel:`Contained quantity`: amount of product in the packaging" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:189 +msgid ":guilabel:`Barcode`: identifier used with the :ref:`Barcode app ` to trace the packaging of a product during stock moves or pickings. Leave blank if not in use" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:191 +msgid ":guilabel:`Company`: indicates the packaging is only available at the selected company. Leave blank to make the packaging available across all companies." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:195 +msgid "Create a packaging type for 6 cans of the product, `Grape Soda`, by naming the :guilabel:`Packaging` to `6-pack` and setting the :guilabel:`Contained quantity` to `6` in the pop-up window that appears after clicking on :guilabel:`Add a line`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Create 6-pack case for product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:203 +msgid "When all the necessary information has been entered, either click :guilabel:`Save & Close` to save the packaging and return to the product detail form, or :guilabel:`Save & New` to save the packaging and create another one in a fresh pop-up window." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:208 +msgid "View all product packagings in the :guilabel:`Inventory` tab of the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Show packaging and contained quantities, specified on the product page form in the\n" +"Inventory tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:216 +msgid "View all packagings" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:218 +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:`Create`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:224 +msgid "Two soda products, `Grape Soda` and `Diet Coke`, have three types of packaging configured. On the :guilabel:`Product Packagings` page, each product can sold as a `6-Pack` that contains 6 products, `12-Pack` of 12 products, or a `Case` of 32 products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "List of different packagings for products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:233 +msgid "Apply packagings" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:235 +msgid "When creating a sales order in the :menuselection:`Sales` app, specify the packagings that should be used for the product(s). The chosen packaging is displayed on the :abbr:`SO (Sales Order)` under the :guilabel:`Package` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:240 +msgid "18 cans of the product, `Grape Soda`, is packed using three 6-pack packagings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:0 +msgid "Assign packagings on the Sales Order Line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:247 +msgid "Packaging can be used in conjunction with Odoo :ref:`Barcode `. 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/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:3 +msgid "Process wave transfers" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:5 +msgid "While a batch transfer is a group of several pickings, a **wave transfer** only contains some parts of different pickings. Both methods are used to pick orders in a warehouse, and depending on the situation, one method may be a better fit than the other." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:9 +msgid "To handle orders of a specific product category, or fetch products that are at the same location, wave transfers are the ideal method." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:12 +msgid "In Odoo, wave transfers are actually batch transfers with an extra step: transfers are split before being grouped in a batch." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:18 +msgid "Before a wave transfer can be created, the :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers` options must be activated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:21 +msgid "First, go to :menuselection:`Inventory --> Configuration --> Settings`. In the :guilabel:`Operations` section, enable :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers`. Then, click :guilabel:`Save` to apply the settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:-1 +msgid "View of Odoo Inventory app settings to enable the wave transfers option." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:30 +msgid "Add products to a wave" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:32 +msgid "Now that the settings are activated, start a wave transfer by adding products to a wave." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:34 +msgid "Wave transfers can only contain product lines from transfers of the same operation type. To view all the transfers and product lines in a specific operation, first go to the :guilabel:`Inventory` dashboard and locate the desired operation type's card. Then, open the options menu (the three dots icon in the corner of the operation type's card) and click :guilabel:`Operations`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:-1 +msgid "How to get an operation type's list of operations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:43 +msgid "On the operations page, select the product lines you want to add in a new or existing wave. Then, click :guilabel:`Add to Wave`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:-1 +msgid "Select lines to add to the wave." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:51 +msgid "Use the :guilabel:`Filters` in the search bar to group lines with the same product, location, carrier, etc..." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:54 +msgid "After that, a pop-up box appears." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:56 +msgid "To add the selected lines to an existing wave transfer, select the :guilabel:`an existing wave transfer` option and select the existing wave transfer from the drop-down menu." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:59 +msgid "To create a new wave transfer, select the :guilabel:`a new wave transfer` option. If creating a new wave transfer, an employee can also be set in the optional :guilabel:`Responsible` field. Once the desired options are selected, click :guilabel:`Confirm` to add the product lines to a wave." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:64 +msgid "View wave transfers" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/wave_transfers.rst:66 +msgid "To view all wave transfers and their statuses, go to :menuselection:`Inventory --> Operations --> Wave Transfers`. Wave transfers can also be viewed in the :guilabel:`Barcode` app by going to :menuselection:`Barcode --> Batch Transfers`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management.rst:5 +msgid "Inventory management" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:3 +msgid "Inventory adjustments" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:7 +msgid "In any warehouse management system, the recorded inventory counts in the database might not always match the actual inventory counts in the warehouse. The discrepancy between the two counts can be due to damages, human errors, theft, or other factors. As such, inventory adjustments must be made to reconcile the differences, and ensure that the recorded counts in the database match the actual counts in the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:14 +msgid "Inventory Adjustments page" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:16 +msgid "To view the *Inventory Adjustments* page, navigate to :menuselection:`Inventory app --> Operations --> Inventory Adjustments`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "In stock products listed on the Inventory adjustments page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:23 +msgid "On the :guilabel:`Inventory Adjustments` page, all products that are currently in stock are listed, with each product line containing the following information:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:26 +msgid ":guilabel:`Location`: the specific location in the warehouse where a product is stored." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:27 +msgid ":guilabel:`Product`: the product whose quantity is listed on the inventory adjustment line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:28 +msgid ":guilabel:`Lot/Serial Number`: the tracking identifier assigned to the specific product listed. It can contain letters, numbers, or a combination of both." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:32 +msgid "If a specific product has a quantity of more than `1.00` in stock, and more than one serial number (or lot number) assigned to it, each uniquely-identified product is displayed on its own product line with its own lot/serial number, displayed under the :guilabel:`Lot/Serial Number` column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:37 +msgid ":guilabel:`On Hand Quantity`: the quantity of the product currently recorded in the database." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:38 +msgid ":guilabel:`UoM`: the *unit of measure* in which the product is measured. Unless otherwise specified (i.e., in :guilabel:`Pounds` or :guilabel:`Ounces`), the default :abbr:`UoM (Unit of Measure)` is :guilabel:`Units`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:41 +msgid ":guilabel:`Counted Quantity`: the real quantity counted during an inventory count. This field is left blank by default, but can be changed, depending on if it matches the :guilabel:`On Hand Quantity` or not." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:44 +msgid ":guilabel:`Difference`: the difference between the :guilabel:`On Hand Quantity` and :guilabel:`Counted Quantity`, once an inventory adjustment is made. The difference is automatically calculated after every inventory adjustment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:47 +msgid ":guilabel:`Scheduled Date`: the date at which a count should be made. If not otherwise specified, this date will default to the 31st of December of the current year." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:49 +msgid ":guilabel:`User`: the person assigned to the count in the database. This can either be the person physically counting the inventory, or applying the count in the database." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:51 +msgid ":guilabel:`Product Category`: the category assigned internally to a specific product. Unless otherwise specified (i.e., as :guilabel:`Consumable` or :guilabel:`Rental`), the default *Product Category* is set to :guilabel:`All`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:54 +msgid ":guilabel:`Available Quantity`: the quantity of a specific product that is currently available, based on any outstanding/uncompleted sales orders, purchase orders, or manufacturing orders that might change the available quantity once fulfilled." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:57 +msgid ":guilabel:`Accounting Date`: the date on which the adjustments will be accounted in the Odoo *Accounting* app." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:59 +msgid ":guilabel:`Company`: the company whose database these inventory adjustments are being made on. The company is listed in the top right corner of the database, next to the user currently logged in." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:63 +msgid "Some columns are hidden by default. To reveal these columns, click the :guilabel:`additional options` button (three dots icon) to the far right of the form's top row, and select any desired column to reveal by clicking the checkbox next to that option." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:68 +msgid "Create an inventory adjustment" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:70 +msgid "To create a new inventory adjustment from the :menuselection:`Inventory Adjustments` page, click :guilabel:`Create`. Doing so creates a new, blank inventory adjustment line at the bottom of the page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:74 +msgid "On this blank inventory adjustment line, click the drop-down menu under the :guilabel:`Product` column, and select a product. If the selected product is tracked using either lots or serial numbers, the desired lot or serial number can also be chosen from the drop-down menu under the :guilabel:`Lot/Serial Number` column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:79 +msgid "Next, set the value in the :guilabel:`Counted Quantity` column to the quantity counted for that product during the inventory adjustment process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:83 +msgid "The :guilabel:`Counted Quantity` for new inventory adjustments is set to `0.00` by default. An inventory move with `0.00` :guilabel:`Quantity Done` is recorded in the product's inventory adjustment history, so it should be set to reflect the actual quantity counted." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:87 +msgid "To the right of the :guilabel:`Counted Quantity` column, the :guilabel:`Scheduled Date` and :guilabel:`User` can also be changed via their respective drop-down menus. Changing the :guilabel:`Scheduled Date` changes the date that the inventory adjustment should be processed on, and selecting a responsible :guilabel:`User` assigns a user to the specific inventory adjustment (for traceability purposes)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:93 +msgid "Once all changes have been made to the new inventory adjustment line, click away from the line. Doing so saves the adjustment, and moves the line to the top of the page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:96 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:158 +msgid "If the :guilabel:`Counted Quantity` is greater than the :guilabel:`On Hand Quantity`, the value in the :guilabel:`Difference` column is **green**. If the :guilabel:`Counted Quantity` is less than the :guilabel:`On Hand Quantity`, the value in the :guilabel:`Difference` column is **red**. If the quantities match, and haven't been changed at all, no value appears in the :guilabel:`Difference` column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "Difference column on inventory adjustments page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:106 +msgid "At this stage, the count (:dfn:`inventory adjustment`) is recorded, but not yet applied. This means that the quantity on hand before the adjustment has not yet been updated to match the new, real counted quantity." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:110 +msgid "There are two ways to apply the new inventory adjustment. The first way is to click the :guilabel:`Apply` button on the line at the far right of the page. The second way is to click the checkbox on the far left of the line. Doing so reveals new button options at the top of the page, one of which is an :guilabel:`Apply` button. Clicking this button instead causes an :guilabel:`Inventory Adjustment Reference / Reason` pop-up window to appear." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:116 +msgid "From this pop-up menu, a reference or reason can be assigned to the inventory adjustment. By default, the :guilabel:`Inventory Reference / Reason` field is pre-populated with the date the adjustment is being made on, but can be changed to reflect whatever reference or reason is desired." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:120 +msgid "Once ready, click :guilabel:`Apply` to apply the inventory adjustment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "Apply all option applies the inventory adjustment once a reason is specified." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:127 +msgid "Count products" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:129 +msgid "Counting products is a recurring activity in a warehouse. Once a count is complete, go to :menuselection:`Inventory app --> Operations --> Inventory Adjustments` to update the :guilabel:`Counted Quantity` column for each product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:133 +msgid "On each product line, identify whether the value in the :guilabel:`On Hand Quantity` column recorded in the database matches the newly-counted value. If the recorded value and the counted value do match, click the :guilabel:`Set` button (target icon) at the far right of the product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:137 +msgid "Doing so copies the value from the :guilabel:`On Hand Quantity` column over to the :guilabel:`Counted Quantity` column, and sets the value of the :guilabel:`Difference` column to `0.00`. Subsequently, once applied, an inventory move with `0.00` :guilabel:`Quantity Done` is recorded in the product's inventory adjustment history." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "Zero count inventory adjustment move." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:146 +msgid "If the newly-counted value for a given product does **not** match the value in the :guilabel:`On Hand Quantity` recorded in the database, instead of clicking the :guilabel:`Set` button, record the real value in the field in the :guilabel:`Counted Quantity` column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:150 +msgid "To do so, click the field in the :guilabel:`Counted Quantity` column on the specific inventory adjustment line for the product whose count is being changed. This automatically assigns a :guilabel:`Counted Quantity` of `0.00`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:154 +msgid "To change this value, type in a new value that matches the real, newly-counted value. Then, click away from the line. Doing so saves the adjustment, and automatically adjusts the value in the :guilabel:`Difference` column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:164 +msgid "Subsequently, once applied, a move with the difference between the :guilabel:`On Hand Quantity` and the :guilabel:`Counted Quantity` is recorded in the product's inventory adjustment history." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "Inventory Adjustments History dashboard detailing a list of prior product moves." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:172 +msgid "Sometimes a count occurs, but cannot be applied in the database right away. In the time between the actual count and applying the inventory adjustment, product moves can occur. In that case, the on-hand quantity in the database can change and no longer be consistent with the counted quantity. As an extra precaution, Odoo asks for confirmation before applying the inventory adjustment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:179 +msgid "Change inventory count frequency" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:181 +msgid "By default, the *scheduled date* for inventory adjustments are always scheduled for the 31st of December of the current year. However, for some companies, it is crucial that they have an accurate inventory count at all times. In such cases, the default scheduled date can be modified." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:185 +msgid "To modify the default scheduled date, go to :menuselection:`Inventory app --> Configuration --> Settings`. Then, in the :guilabel:`Operations` section, locate the :guilabel:`Annual Inventory Day and Month` setting, which includes a drop-down menu that is set to `31 December` by default." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "Adjust the next inventory count date with the Annual Inventory Day and Month setting." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:193 +msgid "To change the day, click the :guilabel:`31`, and change it to a day within the range `1-31`, depending on the desired month of the year." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:199 +msgid "Once all desired changes have been made, click :guilabel:`Save` to save all changes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:202 +msgid "Plan big inventory counts" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:204 +msgid "To plan big inventory counts, such as a full count of everything currently in stock, first navigate to :menuselection:`Inventory app --> Operations --> Inventory Adjustments`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:207 +msgid "Then, select the desired products to be counted by clicking the checkbox on the far left of each product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:211 +msgid "To request a count of **all** products currently in stock, click the checkbox at the very top of the table, in the header row next to the :guilabel:`Location` label. This selects **all** product lines." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:-1 +msgid "Request a count popup on inventory adjustments page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:219 +msgid "Once all desired products have been selected, click the :guilabel:`Request a Count` button at the top of the page. This causes a :guilabel:`Request a Count` pop-up window to appear. From this pop-up, fill in the following information:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:223 +msgid ":guilabel:`Inventory Date`: the planned date of the count." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:224 +msgid ":guilabel:`User`: the user responsible for the count." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:225 +msgid ":guilabel:`Accounting Date`: the date at which the inventory adjustment will be accounted." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:226 +msgid ":guilabel:`Count`: to leave the on-hand quantity of each product line blank, select :guilabel:`Leave Empty`. To prefill the on-hand quantity of each product line with the current value recorded in the database, select :guilabel:`Set Current Value`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:230 +msgid "Finally, once ready, click :guilabel:`Confirm` to request the count." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:233 +msgid "In the Odoo *Barcode* app, users can only view inventory counts that are assigned to **them**, and are scheduled for **today** or **earlier**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/count_products.rst:237 +msgid ":doc:`/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cycle_counts`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:3 +msgid "Create a second warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:5 +msgid "A *warehouse* is a physical building or space where items are stored. In Odoo, it is possible to set up multiple warehouses and transfer stored items between them." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:8 +msgid "By default, the Odoo platform has one warehouse that is already configured, with the address set as the company's address. To create a second warehouse, select :menuselection:`Configuration --> Warehouses`, then click :guilabel:`Create` and configure the form as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:12 +msgid ":guilabel:`Warehouse`: the full name of the warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:13 +msgid ":guilabel:`Short Name`: the abbreviated code by which the warehouse is referred to; the short name for the default warehouse in Odoo is **WH**" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:15 +msgid ":guilabel:`Company`: the company that owns the warehouse; this can be set as the company that owns the Odoo database or the company of a customer or vendor" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:17 +msgid ":guilabel:`Address`: the address where the warehouse is located" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:20 +msgid "The options below will only appear if the :guilabel:`Multi-Step Routes` checkbox is enabled in :menuselection:`Configuration --> Settings` under the :guilabel:`Warehouse` heading. For more information about routes and how they work in Odoo, see :ref:`Using Routes and Pull/Push Rules `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:25 +msgid ":guilabel:`Incoming/Outgoing Shipments`: select the routes that incoming and outgoing shipments should follow" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:27 +msgid ":guilabel:`Resupply Subcontractors`: allow subcontractors to be resupplied from this warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:28 +msgid ":guilabel:`Manufacture to Resupply`: allow for items to be manufactured in this warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:29 +msgid ":guilabel:`Manufacture`: select the route that should be followed when manufacturing goods inside the warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:31 +msgid ":guilabel:`Buy to Resupply`: check the box to allow for purchased products to be delivered to the warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:33 +msgid ":guilabel:`Resupply From`: select warehouses that can be used to resupply the warehouse being created" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:-1 +msgid "A filled out form for creating a new warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:41 +msgid "Creating a second warehouse will automatically enable the *Storage Locations* setting, which allows location tracking of products within a warehouse. To toggle this setting, navigate to :menuselection:`Configuration --> Settings` and click the checkbox under the :guilabel:`Warehouse` heading." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:46 +msgid "After filling out the form, click :guilabel:`Save` and the new warehouse will be created." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:49 +msgid "Add inventory to a new warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:51 +msgid "If a new warehouse is created that has existing inventory in it, the inventory counts should be added to Odoo so that the stock listed in the Odoo database reflects what is in the physical warehouse. To add inventory to a new warehouse, navigate to :menuselection:`Inventory --> Operations --> Inventory Adjustments`, and then click :guilabel:`Create`. The inventory adjustment form can then be filled out as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:57 +msgid ":guilabel:`Inventory Reference`: the name or code that the inventory adjustment can be referred to by" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:59 +msgid ":guilabel:`Locations`: the location(s) where the inventory is stored; include the new warehouse and any locations within it that inventory will be added to" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:61 +msgid ":guilabel:`Products`: include all products that will be added to inventory or leave blank to select any product during the next step" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:63 +msgid ":guilabel:`Include Exhausted Products`: include products with a quantity of zero; does not affect inventory adjustments for new warehouses since they have no existing inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:65 +msgid ":guilabel:`Accounting Date`: the date used by accounting teams for bookkeeping related to the inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:67 +msgid ":guilabel:`Company`: the company that owns the inventory; can be set as the user's company or as a customer or vendor" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:69 +msgid ":guilabel:`Counted Quantities`: choose whether the counted quantities for products being added should default to stock on hand or zero; does not affect inventory adjustments for new warehouses since they have no existing inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:-1 +msgid "A filled out form for an inventory adjustment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:77 +msgid "Once the form is properly configured, click on :guilabel:`Start Inventory` to be taken to the next page where products can be added to the inventory adjustment. Add a new product by clicking on :guilabel:`Create` and then fill out the product line as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:81 +msgid ":guilabel:`Product`: the product being added to inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:82 +msgid ":guilabel:`Location`: the location where the product is currently stored in the new warehouse; this can be set as the overall warehouse or a location within the warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:84 +msgid ":guilabel:`Lot/Serial Number`: the lot that the product belongs to or the serial number used to identify it" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:86 +msgid ":guilabel:`On Hand`: the total quantity of the product stored in the location for which inventory is being adjusted; this should be zero for a new location or warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:88 +msgid ":guilabel:`Counted`: the amount of the product that is being added to inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:89 +msgid ":guilabel:`Difference`: the difference between the *On Hand* and *Counted* values; this will automatically update to reflect the value entered in the :guilabel:`Counted` column" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:91 +msgid ":guilabel:`UoM`: the unit of measure used for counting the product" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:-1 +msgid "Include a line for each product being added to inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/create_a_second_warehouse.rst:97 +msgid "After adding all the products already stored in the new warehouse, click :guilabel:`Validate Inventory` to complete the inventory adjustment. The values in the :guilabel:`On Hand` column will update to reflect those in the :guilabel:`Counted` column and the products added will appear in the inventory of the new warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:3 +msgid "Resupply from another warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:5 +msgid "A common use case for multiple warehouses is to have one central warehouse that resupplies multiple shops, and in this case, each shop is considered a local warehouse. When a shop wants to replenish a product, the product is ordered to the central warehouse. Odoo allows the user to easily set which warehouse(s) can resupply another warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:13 +msgid "To resupply from another warehouse, first go to :menuselection:`Inventory --> Configuration --> Settings --> Warehouse` and activate :guilabel:`Multi-Step Routes`. Then, click :guilabel:`Save` to apply the setting." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:-1 +msgid "Enable Multi-Step Routes in Inventory settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:21 +msgid "View all the configured warehouses by going to :menuselection:`Inventory --> Configuration --> Warehouses`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:24 +msgid "Create a new warehouse by clicking :guilabel:`Create`. Then, give the warehouse a name and a :guilabel:`Short Name`. Finally, click :guilabel:`Save` to finish creating the warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:27 +msgid "After that, go back to the :guilabel:`Warehouses` page and open the warehouse that will be resupplied by the second warehouse. Then, click :guilabel:`Edit`. In the :guilabel:`Warehouse Configuration` tab, locate the :guilabel:`Resupply From` field, and check the box next to the second warehouse's name. If the warehouse can be resupplied by more than one warehouse, make sure to check those warehouses' boxes too. Finally, click :guilabel:`Save` to apply the setting. Now, Odoo knows which warehouses can resupply this warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:-1 +msgid "Supply one warehouse with another in the Warehouse Configuration tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:39 +msgid "Set route on a product" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:41 +msgid "After configuring which warehouse(s) to resupply from, a new route is now available on all product forms. The new route appears as :guilabel:`Supply Product from [Warehouse Name]` under the :guilabel:`Inventory` tab on a product form. Use the :guilabel:`Supply Product from [Warehouse Name]` route with a reordering rule or the make to order (MTO) route to replenish stock by moving the product from one warehouse to another." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:-1 +msgid "Route setting which enables a product to resupplied from a second warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:51 +msgid "When a product's reordering rule is triggered and the product has the :guilabel:`Supply Product from [Warehouse Name]` route set, Odoo automatically creates two pickings. One picking is a *delivery order* from the second warehouse, which contains all the necessary products, and the second picking is a *receipt* with the same products for the main warehouse. The product move from the second warehouse to the main warehouse is fully tracked in Odoo." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:57 +msgid "On the picking/transfer records created by Odoo, the :guilabel:`Source Document` is the product's reordering rule. The location between the delivery order and the receipt is a transit location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:-1 +msgid "A reordering rule automatically creates two receipts for stock between warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:-1 +msgid "A warehouse order for resupplying one warehouse's stock with another." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/resupply_warehouses.rst:-1 +msgid "A receipt for stock received to one warehouse from another." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:3 +msgid "Locations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:5 +msgid "A *location* is a specific space within a warehouse. This can be a shelf, room, aisle, etc. There are three types of locations in Odoo:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:8 +msgid "*Physical locations* are spaces within a warehouse owned by the user's company. These can be a an area where items are stored like an aisle or shelf, or an area where operations take place, like loading and unloading bays." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:11 +msgid "*Partner locations* are the same as physical locations except that they exist within the warehouse of a customer or vendor." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:13 +msgid "*Virtual locations* are locations that do not exist physically, but where items that are not in inventory can be placed. These can be items that have not yet entered inventory, like products that are on the way to a warehouse, or items that are no longer in inventory due to loss or other factors." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:19 +msgid "In order to use locations, the :guilabel:`Storage Locations` setting must be enabled. To do so, navigate to :menuselection:`Inventory --> Configuration --> Settings`, scroll down to the :guilabel:`Warehouse` heading, and enable the :guilabel:`Storage Locations` checkbox." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:24 +msgid "Create a new location inside a warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:26 +msgid "Starting from the :menuselection:`Inventory` app, select :menuselection:`Configuration --> Locations --> Create`. The new location form can then be configured as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:29 +msgid ":guilabel:`Location Name`: the name that will be used to reference the location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:30 +msgid ":guilabel:`Parent Location`: the location or warehouse that the new location exists within" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:31 +msgid ":guilabel:`Location Type`: choose the category that the location belongs to" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:32 +msgid ":guilabel:`Company`: the company that owns the warehouse that the location is inside of" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:33 +msgid ":guilabel:`Is a Scrap Location?`: check this box 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:35 +msgid ":guilabel:`Is a Return Location?`: check this box to allow products to be returned to this location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:37 +msgid ":guilabel:`Barcode`: the barcode number assigned to the location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:38 +msgid ":guilabel:`Removal Strategy`: the :ref:`strategy ` for how items should be taken from inventory" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:-1 +msgid "The form for creating a new location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:46 +msgid "Create location hierarchies" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:48 +msgid "The *Parent Location* setting on the new location form allows for a location to exist within a warehouse or another location. Every location can serve as a parent location, and every parent location can have multiple locations within it, allowing for the creation of a virtually infinite hierarchical structure." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:54 +msgid "Location hierarchy could be organized so that a shelf is located within an aisle, which is located within a room, which is located within the overall warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:57 +msgid "To create the location hierarchy in the example above, set the warehouse as the parent of the room, the room as the parent of the aisle, and the aisle as the parent of the shelf. This can be adapted to a hierarchy of any magnitude." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:5 +msgid "Routes and Pull/Push Rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:7 +msgid "In inventory management, the supply chain strategy determines when products should be purchased/manufactured, delivered to distribution centers, and made available to the retail channel." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:11 +msgid "In Odoo, a product's supply chain strategy can be configured using *Routes*, which feature *Pull and Push Rules*. Once everything is properly configured, the Inventory app can automatically generate transfers following the configured push/pull rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:16 +msgid "Inside the warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:18 +msgid "In a generic warehouse, there are receiving docks, a quality control area, storage locations, picking and packing areas, and shipping docks. All products go through all these locations. As the products move through the locations, each location triggers the products' specified route and rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a generic warehouse with stock and quality control area." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:27 +msgid "In this example, vendor trucks unload pallets of ordered products at the receiving docks. Operators then scan the products in the receiving area. Depending on the product's route and rules, some of these products are sent to a quality control area (for example, products that are components used in the manufacturing process), while others are directly stored in their respective locations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a generic push to rule when receiving products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:36 +msgid "Here is an example of a fulfillment route. In the morning, items are picked for all the orders that need to be prepared during the day. These items are picked from storage locations and moved to the picking area, close to where the orders are packed. Then, the orders are packed in their respective boxes and conveyors bring them close to the shipping docks, ready to be delivered to customers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a generic pull from rule when preparing deliveries." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:47 +msgid "Pull rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:49 +msgid "With *Pull Rules*, a demand for some products triggers procurements, while *Push Rules* are triggered by products arriving in a specific location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:52 +msgid "Pull Rules are used to fulfill a sales order. Odoo generates a need at the *Customer Location* for each product in the order. Because pull rules are triggered by a need, Odoo looks for a pull rule defined on the *Customer Location*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:56 +msgid "In this case, a \"delivery order\" pull rule that transfers products from the *Shipping Area* to the *Customer Location* is found, and a transfer between the two locations is created." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:59 +msgid "Then, Odoo finds another pull rule that tries to fulfill the need for the *Shipping Area*: the \"packing\" rule that transfers products from the *Packing Area* to the *Shipping Area*. Finally, other pull rules are triggered until a transfer between the *Stock* and the *Picking Area* is created." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:65 +msgid "All these product transfers are automatically generated by Odoo based on the pull rules, starting from the end (the customer location) and going backward (the stock warehouse). While working, the operator processes these transfers in the opposite order: first the picking, then the packing, and finally the delivery order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:71 +msgid "Push rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:73 +msgid "On the other hand, *Push Rules* are much easier to understand. Instead of generating documents based on needs, they are triggered in real time when products arrive in a specific location. Push rules basically say: \"when a product arrives at a specific location, move it to another location.\"" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:77 +msgid "An example of a push rule would be: when a product arrives in the *Receipt Area*, move it to the *Storage Location*. As different push rules can be applied to different products, the user can assign different storage locations for different products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:81 +msgid "Another push rule could be: when products arrive at a location, move them to the *Quality Control Area*. Then, once the quality check is done, move them to their *Storage Location*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:85 +msgid "Push rules can only be triggered if there are no pull rules that have already generated the product transfers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:89 +msgid "Sets of push/pull rules like those are called *Routes*. The grouping on the rule decides if products are grouped in the same transfer or not. For example, during the picking operation, all orders and their products are grouped in one transfer, whereas the packing operation respects the grouping per customer order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:97 +msgid "Use routes and rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:99 +msgid "Since *Routes* are a collection of *Push and Pull Rules*, Odoo helps you manage advanced route configurations such as:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:102 +msgid "Manage product manufacturing chains." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:103 +msgid "Manage default locations per product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:104 +msgid "Define routes within the stock warehouse according to business needs, such as quality control, after-sales services, or supplier returns." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:106 +msgid "Help rental management by generating automated return moves for rented products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:108 +msgid "To configure a route for a product, first, open the :guilabel:`Inventory` application and go to :menuselection:`Configuration --> Settings`. Then, in the :guilabel:`Warehouse` section, enable the :guilabel:`Multi-Step Routes` feature and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "Activate the Multi-Step Routes feature in Odoo Inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:117 +msgid "The :guilabel:`Storage Locations` feature is automatically activated with the :guilabel:`Multi-Step Routes` feature." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:120 +msgid "Once this first step is completed, the user can use pre-configured routes that come with Odoo, or they can create custom routes." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:124 +msgid "Pre-configured routes" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:126 +msgid "To access Odoo's pre-configured routes, go to :menuselection:`Inventory --> Configuration --> Warehouses`. Then, open a warehouse form. In the :guilabel:`Warehouse Configuration` tab, the user can view the warehouse's pre-configured routes for :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "A preconfigured warehouse in Odoo Inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:135 +msgid "Some more advanced routes, such as pick-pack-ship, are also available. The user can select the route that best fits their business needs. Once the :guilabel:`Incoming Shipments` and :guilabel:`Outgoing Shipments` routes are set, head to :menuselection:`Inventory --> Configuration --> Routes` to see the specific routes that Odoo generated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of all the preconfigured routes Odoo offers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:144 +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/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a route example applicable on product categories and warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:154 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "An example of rules with push & pull actions in Odoo Inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:163 +msgid "Custom Routes" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:165 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a pick-pack-ship route." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:173 +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/warehouses_storage/inventory_management/use_routes.rst:176 +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/warehouses_storage/inventory_management/use_routes.rst:181 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a route applied to the \"all\" product category." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:189 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the warehouse drop-down menu when selecting applicable on warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:197 +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/warehouses_storage/inventory_management/use_routes.rst:201 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the menu allowing to add new lines to sales orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:208 +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/warehouses_storage/inventory_management/use_routes.rst:211 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of a product form, where the route must be selected." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:220 +msgid "Rules must be set on the route in order for the route to work." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:223 +msgid "Rules" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:225 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the rules menu, where it is possible to add new rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:233 +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/warehouses_storage/inventory_management/use_routes.rst:236 +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/warehouses_storage/inventory_management/use_routes.rst:240 +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/warehouses_storage/inventory_management/use_routes.rst:243 +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/warehouses_storage/inventory_management/use_routes.rst:248 +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/warehouses_storage/inventory_management/use_routes.rst:250 +msgid ":guilabel:`Manufacture`: when products are needed in the source location, a manufacturing order is created to fulfill the need." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "Overview of a \"Pull From\" rule that creates a transfer between the stock and the packing\n" +"zone." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:258 +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/warehouses_storage/inventory_management/use_routes.rst:261 +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/warehouses_storage/inventory_management/use_routes.rst:265 +msgid ":guilabel:`Take From Stock`: the products are taken from the available stock of the source location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:267 +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/warehouses_storage/inventory_management/use_routes.rst:269 +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/warehouses_storage/inventory_management/use_routes.rst:273 +msgid "In the *Scheduling* section, you can determine how Odoo behaves when one of the chain's pickings is rescheduled. In case you decide to **Propagate Rescheduling**, the next move is also to be rescheduled." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:277 +msgid "If you prefer having the choice to reschedule the next move, you can decide to receive an alert in the form of a *next activity*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:281 +msgid "Sample full route flow" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:283 +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/warehouses_storage/inventory_management/use_routes.rst:286 +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/warehouses_storage/inventory_management/use_routes.rst:289 +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/warehouses_storage/inventory_management/use_routes.rst:292 +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/warehouses_storage/inventory_management/use_routes.rst:295 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "Overview of all the transfers created by the pick - pack - ship route." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:303 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the operations created by a pull from transfer." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:311 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the transfers' various statuses at the beginning of the process." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:319 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the detailed operations for a transfer between the packing and output zones." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:326 +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 "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the detailed operations for a transfer between the stock and packing zones." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:333 +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/warehouses_storage/inventory_management/use_routes.rst:338 +msgid "In this example, the product is delivered to the customer when all the rules have been triggered and the transfers are done." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes.rst:-1 +msgid "View of the transfers' statuses when the route is completed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:3 +msgid "Transfer products between warehouses using replenishment" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:5 +msgid "For companies that use multiple warehouses, it is often necessary to transfer items between them. This is referred to as an *inter-warehouse transfer*. Odoo *Inventory* handles the administrative process of inter-warehouse transfers to ensure that inventory counts remain accurate during and after the transfer. This document will detail the method for conducting an inter-warehouse transfer using replenishment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:12 +msgid "Configure warehouses for inter-warehouse replenishment" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:14 +msgid "First, ensure the :guilabel:`Multi-Step Routes` setting is enabled by navigating to :menuselection:`Inventory --> Configuration --> Settings`, and then check the box under the :guilabel:`Warehouse` tab. This will provide additional configuration options when creating a second warehouse that are needed for inter-warehouse replenishment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:19 +msgid "By default, Odoo comes with a main warehouse already configured. If an additional warehouse has not already been created, do so now from the :guilabel:`Inventory` module by selecting :menuselection:`Configuration --> Warehouses --> Create`. Otherwise, select the warehouse that products will be transferred to from the :guilabel:`Warehouses` page and then click :guilabel:`Edit` to change its settings. Configure the warehouse as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:25 +msgid ":guilabel:`Warehouse`: choose a name that is not already being used for another warehouse (e.g. `Alternative Warehouse`)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:27 +msgid ":guilabel:`Short Name`: choose a short name by which the warehouse will be identified (e.g. `ALT_WH`)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:30 +msgid "Click :guilabel:`Save` and the new warehouse will be created. In addition, a new :guilabel:`Resupply From` field will appear on the warehouse's form. Click :guilabel:`Edit` and then check the box next to the warehouse that will be used to resupply the warehouse that is currently being configured." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:-1 +msgid "A warehouse settings form configured to allow resupplying between warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:39 +msgid "For the purposes of this demonstration, the warehouse that products are transferred from (outgoing) will be titled \"San Francisco\", and the warehouse that products are transferred to (incoming) will be titled \"San Francisco 2\"." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:44 +msgid "Configure products for inter-warehouse replenishment" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:46 +msgid "Products must also be configured properly in order for them to be transferred between warehouses. Navigate to :menuselection:`Inventory --> Products --> Products` and select an existing product or :guilabel:`Create` a new one, if necessary." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:50 +msgid "Then, on the product form, go to the :guilabel:`Inventory` tab and enable the checkbox for :guilabel:`X: Supply Product from Y`, with *X* being the warehouse receiving the transferred products and *Y* being the warehouse that products are transferred from." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:-1 +msgid "Enable the checkbox to resupply one warehouse from another." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:59 +msgid "Replenish one warehouse from another" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:61 +msgid "Starting in the :menuselection:`Inventory` module, select :menuselection:`Products --> Products` and then choose the product that will be replenished. Click the :guilabel:`Replenish` button on the top left of the product page and fill out the pop-up form as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:65 +msgid ":guilabel:`Quantity`: the number of units that will be sent to the warehouse being replenished" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:66 +msgid ":guilabel:`Scheduled Date`: the date that the replenishment is scheduled to take place" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:67 +msgid ":guilabel:`Warehouse`: the warehouse that will be replenished" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:68 +msgid ":guilabel:`Preferred Routes`: select `X: Supply Product from Y`, with *X* being the warehouse to be replenished and *Y* being the warehouse that the product will be transferred from" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:-1 +msgid "The form for replenishing a product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:75 +msgid "Click :guilabel:`Confirm` and a delivery order will be created for the outgoing warehouse along with a receipt for the warehouse that will receive the product. Depending on the configuration settings for the outgoing and incoming warehouses, processing delivery orders and receipts will require between one and three steps. This document will detail how to process one-step deliveries and receipts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:82 +msgid "Process the delivery order" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:84 +msgid "The first stage of a replenishment order is processing the delivery from the warehouse that the product is being transferred from. On the :menuselection:`Inventory` dashboard, select the :guilabel:`X to Process` button on the :guilabel:`Delivery Orders` card for the outgoing warehouse, then the delivery order created for the replenishment. On the delivery order page, click the :guilabel:`Check Availability` button in the top left to reserve the quantity of the product to be transferred. Once the delivery has been dispatched, click the :guilabel:`Validate` button to register the quantities shipped." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:-1 +msgid "The delivery orders card for the outgoing warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:99 +msgid "Once the goods arrive at the incoming warehouse, the receipt created for that warehouse must be processed as well. Return to the :menuselection:`Inventory` dashboard and select the :guilabel:`X to Process` button on the :guilabel:`Receipts` card for the incoming warehouse, then the receipt created for the replenishment. On the receipt page, click the :guilabel:`Validate` button in the top left of the page to register the quantities received." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:109 +msgid "After processing the receipt, the products transferred will now appear in the inventory of the incoming warehouse. The stock numbers for both warehouses can be viewed by returning to the product page and selecting the :guilabel:`X Units On Hand` button at the top of the screen." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:114 +msgid "Automate inter-warehouse replenishment" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:116 +msgid "Using reordering rules, it is possible to automate the process of replenishing one warehouse from another." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:119 +msgid "To get started, navigate to :menuselection:`Inventory --> Products --> Products`, and then choose the product that will be replenished. From the product page, select the :guilabel:`Reordering Rules` smart button at the top of the form, and then on the next page, click :guilabel:`Create` to configure the form as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:124 +msgid ":guilabel:`Location`: the location that the reordering rule will replenish when triggered, in this case, the incoming warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:126 +msgid ":guilabel:`Min Quantity`: when the quantity on hand at the incoming warehouse falls below this number, the reordering rule will be triggered" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:128 +msgid ":guilabel:`Max Quantity`: when the reordering rule is triggered, the product will be replenished at the incoming warehouse up to this quantity" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:130 +msgid ":guilabel:`Multiple Quantity`: specify if the product should be replenished in batches of a certain quantity; for example, a product could be replenished in batches of 20" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:132 +msgid ":guilabel:`UoM`: the unit of measure used for reordering the product; this value can simply be `Units`, or a specific unit of measurement for weight, length, etc." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:-1 +msgid "A fully configured reordering rule." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:139 +msgid "Finish by clicking :guilabel:`Save` and the reordering rule will be created. Now, when the scheduler runs automatically each day, a transfer will be created for each reordering rule that has been triggered." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:144 +msgid "To manually trigger reordering rules, start from the :menuselection:`Inventory` module and select :menuselection:`Operation --> Run Scheduler`, then click the green :guilabel:`Run Scheduler` button in the pop-up that appears." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouse_replenishment_transfer.rst:148 +msgid "After the scheduler runs, a delivery order and receipt will be created for the outgoing and incoming warehouses, respectively. Both the delivery order and receipt should be processed using the same method as detailed above." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:3 +msgid "Manage Warehouses and Locations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:9 +msgid "Warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:11 +msgid "In Odoo, a **Warehouse** is the actual building/place in which a company's items are stocked. Multiple warehouses can be set up in Odoo and the user can create moves between warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:19 +msgid "A **Location** is a specific space within the warehouse. It can be a sublocation of the warehouse (a shelf, a floor, an aisle, and so on). Therefore, a location is part of one warehouse only and it is not possible to link one location to multiple warehouses. In Odoo, as many locations can be configured as needed under one warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:24 +msgid "There are three types of locations:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:26 +msgid "The **Physical Locations** are internal locations that are part of the warehouses that the company owns. They can be the loading and unloading areas of the warehouse, a shelf, a department, etc." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:30 +msgid "The **Partner Locations** are spaces within a customer and/or vendor's warehouse. They work the same way as physical locations, with the only difference being that they are not owned by the user's company." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:34 +msgid "The **Virtual Locations** are places that do not exist, but in which products can be placed when they are not physically in an inventory yet (or anymore). They come in handy when recording lost products (**Inventory Loss**), or accounting for products that are on their way to the warehouse (**Procurements**)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:39 +msgid "In Odoo, locations are structured hierarchically. Locations can be structured as a tree, dependent on a parent-child relationship. This gives more detailed levels of analysis of the stock operations and the organization of the warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:46 +msgid "To activate locations, go to :menuselection:`Configuration --> Settings` and enable :guilabel:`Storage Locations`. Then, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:-1 +msgid "Enable the storage location feature in Odoo Inventory settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:54 +msgid "To manage several routes within the warehouses, also enable :guilabel:`Multi-Step Routes` and check :doc:`/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_routes`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:60 +msgid "To create a warehouse, go to :menuselection:`Configuration --> Warehouse Management --> Warehouses` and click on :guilabel:`Create`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:63 +msgid "Then, fill out a :guilabel:`Warehouse Name` and a :guilabel:`Short Name`. The short name is five characters maximum." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:-1 +msgid "Short name field of a warehouse on Odoo Inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:71 +msgid "The :guilabel:`Short Name` appears on transfer orders and other warehouse documents. Odoo recommends using an understandable one like \"WH/[first letters of location]\"." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:74 +msgid "Now, go back to the :guilabel:`Inventory` dashboard. There, new operations related to the newly created warehouse have been automatically generated." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:-1 +msgid "Inventory app dashboard displaying new transfer types for the recently created warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:82 +msgid "Adding a second warehouse will automatically activate the :guilabel:`Locations` setting." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:85 +msgid "Create a new location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:87 +msgid "To create a location, go to :menuselection:`Configuration --> Warehouse Management --> Locations` and click on :guilabel:`Create`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:90 +msgid "Then, fill out a :guilabel:`Location Name` and a :guilabel:`Parent Location` and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations.rst:-1 +msgid "Create a new warehouse location in Odoo Inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation.rst:5 +msgid "Inventory valuation" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:3 +msgid "Integrating additional costs to products (landed costs)" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:7 +msgid "The landed cost feature in Odoo allows the user to include additional costs (shipment, insurance, customs duties, etc.) into the cost of the product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:13 +msgid "First, go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation` and activate the :guilabel:`Landed Costs` feature. Odoo also gives the option to set a :guilabel:`Default Journal` in which the landed costs accounting entries will be recorded." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:-1 +msgid "Activate the landed cost feature in Inventory settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:22 +msgid "Add costs to products" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:25 +msgid "Receive the vendor bill" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:27 +msgid "After a vendor fulfills a purchase order and sends a bill, click :guilabel:`Create Bill` on the purchase order to create a vendor bill in Odoo. If the vendor bill includes landed costs, such as custom duties, tick the box in the :guilabel:`Landed Costs` column on the vendor bill invoice line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:-1 +msgid "Enable Landed Costs option on vendor bill line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:35 +msgid "For charges that are always landed costs, create a landed cost product in Odoo. That way, the landed cost product can be quickly added to the vendor bill as an invoice line instead of manually entering the landed cost information every time a vendor bill comes in." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:39 +msgid "First, create a new product in :menuselection:`Inventory --> Products --> Products --> Create`. Next, name the landed cost product. Then, set the :guilabel:`Product Type` to :guilabel:`Service`. A landed cost product must always be a service product type. After that, go to the :guilabel:`Purchase` tab and check the box next to :guilabel:`Is a Landed Cost`. Finally, click :guilabel:`Save` to finish creating the landed cost product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:45 +msgid "If this product is always a landed cost, you can also define it on the product and avoid having to tick the box on each vendor bill." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:-1 +msgid "Option to define a product as a landed cost." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:52 +msgid "Once the landed cost is added to the vendor bill (either by checking the :guilabel:`Landed Cost` option on the invoice line or adding a landed cost product to the bill), click the :guilabel:`Create Landed Costs` button at the top of the bill. Odoo automatically creates a landed cost record with the set landed cost pre-filled in the :guilabel:`Additional Costs` product lines. From here, decide which picking the additional costs apply to by clicking :guilabel:`Edit` and selecting the picking reference number from the :guilabel:`Transfers` drop-down menu. Finally, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:-1 +msgid "Use a warehouse transfer to cover a landed cost in the accounting journal." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:64 +msgid "After setting the picking, click :guilabel:`Compute` on the landed cost record. Then, go to the :guilabel:`Valuation Adjustments` tab to see the impact of the landed costs. Finally, click :guilabel:`Validate` to post the landed cost entry to the accounting journal." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:68 +msgid "The user can access the journal entry that has been created by the landed cost by clicking on the :guilabel:`Journal Entry`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:72 +msgid "The product that the landed cost is applied to must have a product category set to a :abbr:`FIFO (First In, First Out)` or an :abbr:`AVCO (Average Costing)` method." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:-1 +msgid "Landed cost journal entry" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs.rst:80 +msgid "Landed cost records can also be directly created in :menuselection:`Inventory --> Operations --> Landed Costs`, it is not necessary to create a landed cost record from the vendor bill." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:3 +msgid "Inventory valuation configuration" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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 posts journal entries based on the physical inventory of the company, and that warehouse employees take the time to count the stock. In Odoo, this method is reflected inside each product category, where the :guilabel:`Costing Method` field will be set to `Standard Price` by default, and the :guilabel:`Inventory Valuation` field will be set to `Manual`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:-1 +msgid "The Inventory Valuation fields are located on the Product Categories form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:22 +msgid "Alternatively, automated inventory valuation is an integrated valuation method that updates the inventory value in real-time by creating journal entries whenever there are stock moves initiated between locations in a company's inventory." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:27 +msgid "Automated inventory valuation is a method recommended for expert accountants, given the extra steps involved in journal entry configuration. Even after the initial setup, the method will need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing basis depending on the needs and priorities of the business." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:35 +msgid "Types of accounting" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:37 +msgid "Accounting entries will depend on the accounting mode: *Continental* or *Anglo-Saxon*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:40 +msgid "Verify the accounting mode by activating the :ref:`developer-mode` and navigating to :menuselection:`Accounting --> Configuration --> Settings`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:43 +msgid "In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or delivered. This means that the cost of a good is only recorded as an expense when a customer is invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are both *Asset Accounts* in the balance sheet." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:48 +msgid "In *Continental* accounting, the cost of a good is reported as soon as a product is received into stock. Additionally, a single *Expense* account is used for both input and output accounts in the balance sheet." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:55 +msgid "Costing methods" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:57 +msgid "Below are the three costing methods that can be used in Odoo for inventory valuation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:59 +msgid "**Standard Price**: is 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 will still use the cost defined on the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:63 +msgid "**Average Cost (AVCO)**: 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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:66 +msgid "**First In First Out (FIFO)**: 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. This method is arguably the most accurate inventory valuation method for a variety of reasons, however, it's highly sensitive to input data and human error." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:74 +msgid "Changing the costing method greatly impacts inventory valuation. It's highly recommended to consult an accountant first before making any adjustments here." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:78 +msgid "Configure automated inventory valuation in Odoo" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:80 +msgid "Make changes to inventory valuation options by navigating to :menuselection:`Inventory --> Configuration --> Product Categories`, and choose the category/categories where the automated valuation method should apply." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:85 +msgid "It is possible to use different valuation settings for different product categories." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:87 +msgid "Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and :guilabel:`Inventory Valuation`. Pick the desired :guilabel:`Costing Method` using the drop-down menu (e.g. :guilabel:`Standard`, :guilabel:`Average Cost (AVCO)`, or :guilabel:`First In First Out (FIFO)`) and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:93 +msgid ":ref:`Using the inventory valuation`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:96 +msgid "When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, changing the numerical value in the :guilabel:`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 :guilabel:`Cost` amount will then automatically update based on the average purchase price both of inventory on hand and the costs accumulated from validated purchase orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:102 +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 will generate a corresponding record in the *Inventory Valuation* report." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:108 +msgid "On the same screen, the :guilabel:`Account Stock Properties` fields will appear, as they are now required fields given the change to automated inventory valuation. These accounts are defined as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:112 +msgid ":guilabel:`Stock Valuation Account`: when automated inventory valuation is enabled on a product, this account will hold the current value of the products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:114 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:118 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:124 +msgid "Access reporting data generated by inventory valuation" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:126 +msgid "To start, go to :menuselection:`Accounting --> Reporting --> Balance Sheet`. At the top of the dashboard, change the :guilabel:`As of` field value to :guilabel:`Today`, and adjust the filtering :guilabel:`Options` to :guilabel:`Unfold All` in order to see all of the latest data displayed, all at once." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:131 +msgid "Under the parent :guilabel:`Current Assets` line item, look for the nested :guilabel:`Stock Valuation Account` line item, where the total valuation of all of the inventory on hand is displayed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:135 +msgid "Access more specific information with the :guilabel:`Stock Valuation Account` drop-down menu, by selecting either the :guilabel:`General Ledger` to see an itemized view of all of the journal entries, or by selecting :guilabel:`Journal Items` to review all of the individualized journal entries that were submitted to the account. As well, annotations to the :guilabel:`Balance Sheet` can be added by choosing :guilabel:`Annotate`, filling in the text box, and clicking :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config.rst:-1 +msgid "See the full inventory valuation breakdown in Odoo Accounting app." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:3 +msgid "Using inventory valuation" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:15 +msgid "Automatic inventory valuation" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:24 +msgid ":ref:`Set up inventory valuation `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:30 +msgid "Receive a product" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:-1 +msgid "Purchase order with 10 tables products valued at $10.00 each." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:56 +msgid ":ref:`Developer mode ` **must** be turned on to see the :guilabel:`Valuation` smart button." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:60 +msgid "The :doc:`consignment ` feature allows ownership to items in stock. Thus, products owned by other companies are not accounted for in the host company's inventory valuation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:-1 +msgid "See Valuation smart button on a receipt, with Developer mode enabled." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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 `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:73 +msgid "Deliver a product" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:-1 +msgid "Decreased stock valuation after a product is shipped." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:86 +msgid "Inventory valuation report" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:95 +msgid ":ref:`Developer mode ` **must** be enabled to see the :guilabel:`Valuation` option under :guilabel:`Reporting`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:-1 +msgid "Inventory valuation report showing multiple products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:112 +msgid "Update product unit price" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:114 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:119 +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)`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:-1 +msgid "Add manual valuation of stock value to a product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:127 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:133 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:138 +msgid "The :guilabel:`▶️ (drop-down triangle)` and :guilabel:`➕ (plus)` buttons are only visible after grouping entries by product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:-1 +msgid "Product revaluation form adding a value of $1.00 with the reason being inflation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:146 +msgid "Inventory valuation journal entries" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:148 +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)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:154 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:159 +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`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:0 +msgid "Stock valuation page depicting the products within a shipment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:168 +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." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:0 +msgid "Accounting entry for the inventory valuation of 10 tables." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation.rst:176 +msgid "`Odoo Tutorial: Inventory Valuation `_" +msgstr "" + #: ../../content/applications/inventory_and_mrp/maintenance.rst:8 msgid "Maintenance" msgstr "" @@ -8918,43 +8943,43 @@ msgstr "" msgid "Add new equipment" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:5 -msgid "In Odoo, **equipment** refers to any item that is used in everyday operations, including the manufacturing of products. This can mean a piece of machinery on a production line, a tool that is used in different locations, or a computer in an office space. Equipment registered in Odoo can be owned by the company that uses the Odoo database, or by a third party, such as a vendor in the case of equipment rentals." +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:7 +msgid "In Odoo, *equipment* refers to any item that is used in everyday operations, including the manufacturing of products. This can mean a piece of machinery on a production line, a tool that is used in different locations, or a computer in an office space. Equipment registered in Odoo can be owned by the company that uses the Odoo database, or by a third party, such as a vendor in the case of equipment rentals." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:11 -msgid "Using Odoo **Maintenance**, it is possible to track individual pieces of equipment, along with information about their maintenance requirements. To add a new piece of equipment, navigate to the :guilabel:`Maintenance` module, select :menuselection:`Equipments --> Machines & Tools --> Create`, and configure the equipment as follows:" +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:13 +msgid "Using Odoo *Maintenance*, it is possible to track individual pieces of equipment, along with information about their maintenance requirements. To add a new piece of equipment, navigate to the :guilabel:`Maintenance` module, select :menuselection:`Equipments --> Machines & Tools --> Create`, and configure the equipment as follows:" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:16 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:18 msgid ":guilabel:`Equipment Name`: the product name of the piece of equipment" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:17 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:19 msgid ":guilabel:`Equipment Category`: the category that the equipment belongs to; for example, computers, machinery, tools, etc.; new categories can be created by navigating to :menuselection:`Configuration --> Equipment Categories` and clicking :guilabel:`Create`" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:20 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:22 msgid ":guilabel:`Company`: the company that owns the equipment; again, this can be the company that uses the Odoo database, or a third-party company" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:22 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:24 msgid ":guilabel:`Used By`: specify if the equipment is used by a specific employee, department, or both; select :guilabel:`Other` to specify both an employee and a department" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:24 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:26 msgid ":guilabel:`Maintenance Team`: the team responsible for servicing the equipment; new teams can be created by navigating to :menuselection:`Configuration --> Maintenance Teams` and selecting :guilabel:`Create`; the members of each team can also be assigned from this page" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:27 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:29 msgid ":guilabel:`Technician`: the person responsible for servicing the equipment; this can be used to assign a specific individual in the event that no maintenance team is assigned or when a specific member of the assigned team should always be responsible for the equipment; any person added to Odoo as a user can be assigned as a technician" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:31 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:33 msgid ":guilabel:`Used in location`: the location where the equipment is used; this is a simple text field that can be used to specify locations that are not work centers, like an office, for example" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:34 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:36 msgid ":guilabel:`Work Center`: if the equipment is used at a work center, specify it here; equipment can also be assigned to a work center by navigating to :menuselection:`Maintenance --> Equipments --> Work Centers`, selecting a work center or creating a new one using the :guilabel:`Create` button, and clicking the :guilabel:`Equipment` tab on the work center form" msgstr "" @@ -8962,39 +8987,39 @@ msgstr "" msgid "An example of a fully configured new equipment form." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:44 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:46 msgid "Include additional product information" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:46 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:48 msgid "The :guilabel:`Product Information` tab at the bottom of the form can be used to provide further details about the piece of equipment:" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:49 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:51 msgid ":guilabel:`Vendor`: the vendor that the equipment was purchased from" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:50 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:52 msgid ":guilabel:`Vendor Reference`: the reference code assigned to the vendor" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:51 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:53 msgid ":guilabel:`Model`: the specific model of the piece of equipment" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:52 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:54 msgid ":guilabel:`Serial Number`: the unique serial number of the equipment" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:53 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:55 msgid ":guilabel:`Effective Date`: the date that the equipment became available for use; this is used to calculate the :abbr:`MTBF (Mean Time Between Failures)`" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:55 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:57 msgid ":guilabel:`Cost`: the amount the equipment was purchased for" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:56 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:58 msgid ":guilabel:`Warranty Expiration Date`: the date on which the equipment's warranty will expire" msgstr "" @@ -9002,23 +9027,23 @@ msgstr "" msgid "The product information tab for the new piece of equipment." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:63 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:65 msgid "Add maintenance details" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:65 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:67 msgid "The :guilabel:`Maintenance` tab includes information that can be useful to maintenance teams:" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:67 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:69 msgid ":guilabel:`Preventive Maintenance Frequency`: specifies how often maintenance should be performed to prevent equipment failure" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:69 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:71 msgid ":guilabel:`Maintenance Duration`: the amount of time required to fix the equipment when it fails" msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:70 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:72 msgid ":guilabel:`Expected Mean Time Between Failure`: the average amount of time that the equipment is expected to operate before failing" msgstr "" @@ -9026,11 +9051,11 @@ msgstr "" msgid "The maintenance tab for the new piece of equipment." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:78 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:80 msgid "The :guilabel:`Maintenance` tab also includes sections for :guilabel:`Mean Time Between Failure`, :guilabel:`Estimated Next Failure`, :guilabel:`Latest Failure`, and :guilabel:`Mean Time To Repair`. These values are calculated automatically based on maintenance requests if any exist." msgstr "" -#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:84 +#: ../../content/applications/inventory_and_mrp/maintenance/equipment_management/add_new_equipment.rst:86 msgid "To see the maintenance requests for a piece of equipment, go to the page for the equipment and select :guilabel:`Maintenance` in the top right corner of the form." msgstr "" @@ -12985,6 +13010,10 @@ msgstr "" msgid ":doc:`/applications/inventory_and_mrp/purchase/manage_deals/control_bills`" msgstr "" +#: ../../content/applications/inventory_and_mrp/purchase/products.rst:5 +msgid "Products" +msgstr "" + #: ../../content/applications/inventory_and_mrp/purchase/products/reordering.rst:3 msgid "Configure reordering rules" msgstr "" @@ -13339,6 +13368,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:27 #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:27 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:26 msgid "Quality check" msgstr "" @@ -13352,10 +13382,12 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:33 #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:34 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:33 msgid "In the :guilabel:`Team` drop-down field, select the quality team responsible for managing the check." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:35 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:35 msgid "In the :guilabel:`Instructions` text field of the :guilabel:`Notes` tab, enter instructions for how the picture should be taken." msgstr "" @@ -13385,6 +13417,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:59 #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:51 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:54 msgid "In the :guilabel:`Team` drop-down field, select the quality team responsible for managing the checks created by the |QCP|." msgstr "" @@ -13407,6 +13440,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:76 #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:68 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:71 msgid "From the check's page" msgstr "" @@ -13424,6 +13458,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:92 #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:78 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:87 msgid "On an order" msgstr "" @@ -13432,6 +13467,7 @@ msgid "To process a *Measure* quality check on an order, select a manufacturing msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:101 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:96 msgid "On the selected manufacturing or inventory order, a purple :guilabel:`Quality Checks` button appears at the top of the page. Click the button to open the :guilabel:`Quality Check` pop-up window, which shows all of the quality checks required for that order." msgstr "" @@ -13475,6 +13511,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/measure_check.rst:144 #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:106 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:120 msgid "On a work order" msgstr "" @@ -13548,6 +13585,7 @@ msgid "A quality check form configured for a Pass - Fail quality check." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_check_types/pass_fail_check.rst:44 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:43 msgid "Quality Control Point (QCP)" msgstr "" @@ -13615,6 +13653,135 @@ msgstr "" msgid "If a quality alert must be created, do so by clicking the :guilabel:`☰ (menu)` button in the tablet view, and selecting :guilabel:`Quality Alert` from the :guilabel:`Menu` pop-up window. A :guilabel:`Quality Alerts` pop-up window appears, from which a quality alert can be created. For a complete guide on how to fill out quality alert forms, view the documentation on :ref:`quality alerts `." msgstr "" +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:3 +msgid "Take a Picture quality check" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:8 +msgid "In Odoo *Quality*, a *Take a Picture* check is one of the quality check types that can be selected when creating a new quality check or quality control point (QCP). *Take a Picture* checks require a picture to be attached to the check, which can then be reviewed by a quality team." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:13 +msgid "Create a Take a Picture quality check" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:15 +msgid "There are two distinct ways that *Take a Picture* quality checks can be created. A single check can be manually created. Alternatively, a |QCP| can be configured that automatically creates checks at a predetermined interval." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:19 +msgid "This documentation only details the configuration options that are unique to *Take a Picture* quality checks and |QCPs|. For a full overview of all the configuration options available when creating a single check or a |QCP|, see the documentation on :ref:`quality checks ` and :ref:`quality control points `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:28 +msgid "To create a single *Take a Picture* quality check, navigate to :menuselection:`Quality --> Quality Control --> Quality Checks`, and click :guilabel:`New`. Fill out the new quality check form as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:32 +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:49 +msgid "In the :guilabel:`Type` drop-down field, select the :guilabel:`Take a Picture` quality check type." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:-1 +msgid "A quality check form configured for a Take a Picture quality check." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:45 +msgid "To create a |QCP| that will generate *Take a Picture* quality checks automatically, navigate to :menuselection:`Quality --> Quality Control --> Control Points`, and click :guilabel:`New`. Fill out the new |QCP| form as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:50 +msgid "If the *Maintenance* app is installed, a :guilabel:`Device` field appears after selecting the *Take a Picture* check type. Use this field to specify a device that should be used to take quality check pictures. For information about managing devices in the *Maintenance* app, see the documentation on :ref:`adding new equipment `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:56 +msgid "In the :guilabel:`Instructions` text field, enter instructions for how the picture should be taken." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:-1 +msgid "A Quality Control Point (QCP) form configured to create a Take a Picture quality check." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:64 +msgid "Process a Take a Picture quality check" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:66 +msgid "Once created, there are multiple ways that *Take a Picture* quality checks can be processed. If a quality check is assigned to a specific inventory, manufacturing, or work order, the check can be processed on the order itself. Alternatively, a check can be processed from the check's page." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:73 +msgid "To process a *Take a Picture* quality check from the check's page, begin by navigating to :menuselection:`Quality --> Quality Control --> Quality Checks`, and then select a quality check. Follow the :guilabel:`Instructions` for how to take the picture." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:77 +msgid "After taking the picture, make sure it is stored on the device being used to process the quality check (computer, tablet, etc.). Then, click the :guilabel:`✏️ (pencil)` button in the :guilabel:`Picture` section to open the device's file manager. In the file manager, navigate to the picture, select it, and click :guilabel:`Open` to attach it." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:-1 +msgid "The edit button (pencil) on a Take a Picture quality check." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:89 +msgid "To process a *Take a Picture* quality check on an order, select a manufacturing order or inventory order (receipt, delivery, return, etc.), for which a check is required. Manufacturing orders can be selected by navigating to :menuselection:`Manufacturing --> Operations --> Manufacturing Orders`, and clicking on an order. Inventory orders can be selected by navigating to :menuselection:`Inventory`, clicking the :guilabel:`# To Process` button on an operation card, and selecting an order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:100 +msgid "Follow the instructions detailing how to take the picture, which are shown on the :guilabel:`Quality Check` pop-up window. After taking the picture, make sure it is stored on the device being used to process the quality check (computer, tablet, etc.)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:104 +msgid "Then, click the :guilabel:`Take a Picture` button in the :guilabel:`Picture` section to open the device's file manager. In the file manager, navigate to the picture, select it, and click :guilabel:`Open` to attach it. Finally, click :guilabel:`Validate` on the :guilabel:`Quality Check` pop-up window to complete the quality check." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:-1 +msgid "A Take a Picture quality check pop-up window on a manufacturing or inventory order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:113 +msgid "If a quality alert must be created, click the :guilabel:`Quality Alert` button that appears at the top of the manufacturing or inventory order after the check is validated. Clicking :guilabel:`Quality Alert` opens a quality alert form on a new page. For a complete guide on how to fill out quality alert forms, view the documentation on :ref:`quality alerts `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:122 +msgid "When configuring a |QCP| that is triggered during manufacturing, a specific work order can also be specified in the :guilabel:`Work Order Operation` field on the |QCP| form. If a work order is specified, a *Take a Picture* quality check is created for that specific work order, rather than the manufacturing order as a whole." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:127 +msgid "*Take a Picture* quality checks created for work orders must be completed from the tablet view. To do so, begin by navigating to :menuselection:`Manufacturing --> Operations --> Manufacturing Orders`. Select a manufacturing order that includes a work order for which a quality check is required. Open the tablet view for that work order by selecting the :guilabel:`Work Orders` tab, and then clicking the :guilabel:`📱 (tablet)` button on the order's line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:133 +msgid "With tablet view open, complete the steps listed on the left side of the screen until the *Take a Picture* quality check step is reached. Upon reaching the check, follow the instructions for how to take the picture, which appear at the top of the screen." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:137 +msgid "After taking the picture, make sure it is stored on the device being used to process the work order (computer, tablet, etc.). Then, click the :guilabel:`Take a Picture` button to open the device's file manager. In the file manager, navigate to the picture, select it, and click :guilabel:`Open` to attach it. Finally, click :guilabel:`Validate` to complete the quality check." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:-1 +msgid "A Take a Picture check for a manufacturing work order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:146 +msgid "If a quality alert must be created, do so by clicking the :guilabel:`☰ (three horizontal lines)` button in the tablet view, and selecting :guilabel:`Quality Alert` from the :guilabel:`Menu` pop-up window. A :guilabel:`Quality Alerts` pop-up window appears, from which a quality alert can be created. For a complete guide on how to fill out quality alert forms, view the documentation on :ref:`quality alerts `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:153 +msgid "Review a picture attached to a check" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:155 +msgid "After a picture has been attached to a check, it can then be reviewed by quality team members or other users. To do so, navigate to :menuselection:`Quality --> Quality Control --> Quality Checks`, and select a quality check to review." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:159 +msgid "The attached picture appears in the :guilabel:`Picture` section of the quality check form. After reviewing the picture, click the :guilabel:`Pass` button if the check passes, or the :guilabel:`Fail` button if the check fails." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_check_types/picture_check.rst:-1 +msgid "A Take a Picture check with a picture attached." +msgstr "" + #: ../../content/applications/inventory_and_mrp/quality/quality_management.rst:5 msgid "Quality control basics" msgstr "" diff --git a/locale/sources/marketing.pot b/locale/sources/marketing.pot index 9a2233e62..f005b25f2 100644 --- a/locale/sources/marketing.pot +++ b/locale/sources/marketing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-08 08:46+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -116,7 +116,7 @@ msgid "In the upper-right corner of the main :guilabel:`Email Marketing` dashboa msgstr "" #: ../../content/applications/marketing/email_marketing.rst:74 -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:237 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:420 msgid "List view" msgstr "" @@ -1382,91 +1382,181 @@ msgid "Advanced" msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:3 -msgid "Understanding metrics" +msgid "Campaign metrics" msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:5 -msgid "Metrics are detailed statistics that measure the progress and success of marketing campaigns. When creating marketing activities in a workflow, Odoo visually displays various metrics related to the campaign with detailed graphs and in-depth data." +msgid "*Campaign metrics* are detailed statistics and analytics within a marketing campaign, measuring its success and effectiveness. Triggered marketing activities populate relevant activity blocks with real-time metrics, in the campaign detail form." msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:10 -msgid "A typical line graph in a marketing automation workflow showcasing the success rate of an email." +msgid "Activity analytics" msgstr "" -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:0 -msgid "An example of a marketing automation campaign in Odoo." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:16 -msgid "In this case, the :guilabel:`Target` of this campaign is set to :guilabel:`Lead/Opportunity`, and was narrowed down to *only* focus on the leads (or opportunities) whose :guilabel:`Tag Name` contains a value of `product` — and *also* have an email address set up in the database." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:20 -msgid "Beneath the filter nodes, Odoo displays how many records in the database fall into the previously-specified criteria filter." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:24 -msgid "Below, there are 18 records in the database that match the criteria." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:0 -msgid "Lead generation filters used to refine records on automation campaigns in Odoo." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:30 -msgid "At the top of the marketing automation campaign form, there are a series of smart buttons. The :guilabel:`Participations` smart button in this example indicates that, out of those 18 records, 25 have become participants. In other words, they have matched the criteria, and have already interacted with the campaign in one way or another." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:36 -msgid ":guilabel:`Records` represent a real-time number. Therefore, while the workflow is running, changes in opportunity records (deletions, additions, or adjustments) may occur." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:39 -msgid "This means there will be real-time updates to the number of :guilabel:`Records`, but such updates do *not* change the number of :guilabel:`Participants`, as the metric *will not* exclude opportunities that have already been set as :guilabel:`Participants` before — Odoo just adds new ones." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:44 -msgid "That's why the number of :guilabel:`Records` can be different from the number of :guilabel:`Participants` from time to time." +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:12 +msgid "In the :guilabel:`Workflow` section of a campaign detail form in the *Marketing Automation* app, where the various campaign activities are located, a collection of useful data can be found on every individual activity block, like number of communications :guilabel:`Sent`, percentage of messages that have been :guilabel:`Clicked`, and more." msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:-1 -msgid "Difference between real-time record count and total participants on a marketing campaign." +msgid "An activity block in the workflow section with useful analytical data in Odoo." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:21 +msgid "To the left of the activity block, the configured :doc:`trigger time <../getting_started/workflow_activities>` is displayed as a duration (either :guilabel:`Hours`, :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months`) if it corresponds to period after the workflow begins." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:27 +msgid "If the trigger time is dependent on another activity or triggering action (e.g. :guilabel:`Mail: Replied`, etc.) the time is displayed, along with the necessary action for that activity to be activated (e.g. `Replied after 2 Hours`)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:0 +msgid "Time trigger display when dependent on another activity in Odoo Marketing Automation." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:35 +msgid "In the activity block, an icon represents each activity type. An :guilabel:`✉️ (envelope)` icon means the activity is an email. Three tiny, interlocking :guilabel:`⚙️ (gear)` icons means the activity is an internal action. And, a small, basic :guilabel:`📱 (mobile)` icon means the activity is an SMS." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:41 +msgid "The activity type name is also displayed in smaller font below the activity title." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:43 +msgid "Beside the activity icon, at the top of the activity block, is the title of the activity. To the right of the activity title, there are :guilabel:`Edit` and :guilabel:`Delete` buttons." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:46 +msgid "Click :guilabel:`Edit` to open the :guilabel:`Open: Activities` pop-up form for that specific activity, in which that activity can be modified. Click the :guilabel:`Delete` button to completely delete that specific activity from the workflow." msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:51 -msgid "Whenever the system runs, updating numbers and triggering actions, it will look at the :guilabel:`Target` model, and check if new :guilabel:`Records` have been added (or modified), which always keeps the flow up-to-date." +msgid ":doc:`/applications/marketing/marketing_automation/getting_started/workflow_activities`" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:54 +msgid "Activity graph tab" msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:56 -msgid "The :guilabel:`Filter` here is applied to *all* activities. Leads that lose that specific tag (`product`) in the meantime will be excluded from later activities." +msgid "In every activity block, the :guilabel:`Graph (pie chart icon)` tab is open by default, displaying related metrics as a simple line graph. The success metrics are represented in `green` and the rejected metrics are represented in `red`." msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:60 -msgid "Filters can also be applied to individual activities, in the :guilabel:`Domain` section of the :guilabel:`Activity` pop-up form. Use this feature to specify an individual filter that will *only* be performed if the records satisfy *both* filter criteria — the activity filter and its specific domain filter." +msgid "Numerical representations of both :guilabel:`Success` and :guilabel:`Rejected` activities are shown to the right of the line graph." msgstr "" -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:66 -msgid "When configuring an SMS activity, make sure a certain phone number is set, in order to avoid triggering a SMS that would never be sent." +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:64 +msgid "Hovering over any point in the line graph of the activity block reveals a notated breakdown of data for that specific date." msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:0 -msgid "A relevant targeting filter that applies to a type of individual activity." +msgid "Hovering over any point in line graph reveals notated breakdown of data in Odoo." msgstr "" -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:73 -msgid ":guilabel:`Success` represents the number of times that the searching for participants — who match the criteria filter(s) of that activity — was performed successfully, in relation to the total number of participants. If a participant does *not* match the conditions, it will be added to the :guilabel:`Rejected` number." +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:71 +msgid "Beneath the graph in the activity block, for *Email* or *SMS* activity types, a line of accessible data figures provide a bird's eye view of the campaign activity, including: :guilabel:`Sent` (numerical), :guilabel:`Clicked` (percentage), :guilabel:`Replied` (percentage), and :guilabel:`Bounced` (percentage)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:77 +msgid "Clicking any of those stats on the :guilabel:`DETAILS` line, beneath the line graph, reveals a separate page containing every specific record for that particular data point." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:81 +msgid "Activity filter tab" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:83 +msgid "Next to the :guilabel:`Graph` tab on the activity block, there's the option to open a :guilabel:`Filter` tab (represented by a :guilabel:`filter/funnel` icon)." msgstr "" #: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:-1 -msgid "Overview showing participants who do or do not match filtering criteria on an activity." +msgid "What a campaign activity filter tab looks like in Odoo Marketing Automation." msgstr "" -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:82 -msgid "Hovering over the graph on an automation activity block, Odoo displays the number of successful and rejected participants, per day, over the last 15 days." +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:90 +msgid "Clicking the :guilabel:`Filter` tab on an activity block, reveals what the specific filters are for that particular campaign activity, and how many records in the database match that specific criteria." msgstr "" -#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:86 -msgid "Whenever a new record is added to the :guilabel:`Target` model, it's automatically added to the workflow, and it will start the workflow from the beginning (:guilabel:`Parent Action`)." +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:95 +msgid "Clicking the :guilabel:`records` link beneath the displayed filter reveals a separate pop-up window containing a list of all the records that match that specific campaign activity rule(s)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:99 +msgid "Link tracker" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:101 +msgid "Odoo tracks all URLs used in marketing campaigns. To access and analyze those URLs, navigate to :menuselection:`Marketing Automation app --> Reporting --> Link Tracker`. Doing so reveals a :guilabel:`Link Statistics` page, wherein all campaign-related URLs can be analyzed." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:109 +msgid "The default view on the :guilabel:`Link Statistics` page is the :guilabel:`Bar Chart` view, but there are different view options available in the upper-left corner. There is the option to view the statistics as a :guilabel:`Line Chart` or :guilabel:`Pie Chart`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:113 +msgid "Beside that, there is also the option to view the statistics as :guilabel:`Stacked`, and the data can be put into :guilabel:`Descending` or :guilabel:`Ascending` order." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:116 +msgid "To the far-left of the view options, there is the :guilabel:`Measures` drop-down menu. When clicked, the options to view the :guilabel:`Number of Clicks` or total :guilabel:`Count` are available. And, to the right of the :guilabel:`Measures` drop-down menu, there's the ability to add any data to a spreadsheet by clicking the :guilabel:`Insert in Spreadsheet` button." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:121 +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:153 +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:180 +msgid "Also, in the upper-right corner of the :guilabel:`Link Statistics` page, to the far-right of the search bar, there are additional view options to choose from: the default :guilabel:`Graph` view, the :guilabel:`Pivot` table view, and the :guilabel:`List` view." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:126 +msgid "Traces" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:128 +msgid "Odoo tracks all activities used in every marketing campaign. The data related to these activities can be accessed and analyzed in the :guilabel:`Traces` page, which can be found by navigating to :menuselection:`Marketing Automation app --> Reporting --> Traces`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:-1 +msgid "The Traces page in the Odoo Marketing Automation application." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:136 +msgid "The default view on the :guilabel:`Traces` page is the :guilabel:`Bar Chart` view, but there are different view options available in the upper-left corner. There is the option to view the statistics as a :guilabel:`Line Chart` or :guilabel:`Pie Chart`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:140 +msgid "At the top of the graph, there's a color key, informing the user which activities have been :guilabel:`Processed`, :guilabel:`Scheduled`, and :guilabel:`Rejected`. There's also an outline indicator to inform users of the :guilabel:`Sum` of certain activities, as well." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:144 +msgid "Beside the various view option in the upper-left corner of the :guilabel:`Traces` page, there is also the option to view the statistics as :guilabel:`Stacked`, and the data can be put into :guilabel:`Descending` or :guilabel:`Ascending` order." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:148 +msgid "To the far-left of the view options, there is the :guilabel:`Measures` drop-down menu. When clicked, the options to view the :guilabel:`Document ID` or total :guilabel:`Count` are available. And, to the right of the :guilabel:`Measures` drop-down menu, there's the ability to add any data to a spreadsheet by clicking the :guilabel:`Insert in Spreadsheet` button." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:158 +msgid "Participants" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:160 +msgid "Odoo tracks all participants related to every marketing campaign. The data related to these participants can be accessed and analyzed in the :guilabel:`Participants` page, which can be found by navigating to :menuselection:`Marketing Automation app --> Reporting --> Participants`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:-1 +msgid "The Participants page in the Odoo Marketing Automation application." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:168 +msgid "The default view on the :guilabel:`Participants` page is the :guilabel:`Pie Chart` view, but there are different view options available in the upper-left corner. There is the option to view the statistics as a :guilabel:`Line Chart` or :guilabel:`Bar Chart`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:172 +msgid "At the top of the graph, there's a color key that describes the type of participants found in the graph." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst:175 +msgid "To the far-left of the view options, there is the :guilabel:`Measures` drop-down menu. When clicked, the options to view the :guilabel:`Record ID` or total :guilabel:`Count` are available. And, to the right of the :guilabel:`Measures` drop-down menu, there's the ability to add any data to a spreadsheet by clicking the :guilabel:`Insert in Spreadsheet` button." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started.rst:5 @@ -1474,100 +1564,133 @@ msgid "Getting Started" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:3 -#: ../../content/applications/marketing/surveys/create.rst:13 -msgid "Getting started" +msgid "Marketing automation campaigns" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:5 -msgid "The Odoo *Marketing Automation* app automates a variety of marketing tasks, by combining specific rules and filters to generate timed actions. Instead of manually having to build each stage of a campaign (such as a series of timed massmails), the *Marketing Automation* app allows marketers to build the entire campaign, and all of its stages, in one place on a single dashboard." +msgid "The Odoo *Marketing Automation* app automates a variety of marketing tasks by combining specific rules and filters to generate timed actions. Instead of manually having to build each stage of a campaign (like a series of timed massmails), the *Marketing Automation* app allows marketers to build the entire campaign, and all of its stages, in one place---on one dashboard." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:11 -msgid "Create a campaign" +msgid "Campaign configuration" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:13 -msgid "To create a new automated marketing campaign, open the :menuselection:`Marketing Automation` app, and click the :guilabel:`Create` button in the upper-left corner. Doing so reveals a blank marketing automation campaign detail form on a separate page." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:17 -msgid "On the blank marketing automation campaign page, the following smart buttons and fields are available:" +msgid "To create a new automated marketing campaign, navigate to :menuselection:`Marketing Automation app --> New` to reveal a blank campaign form." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:-1 -msgid "A dashboard showing the creation of a new marketing automation campaign in Odoo." +msgid "A blank marketing automation campaign form in Odoo Marketing Automation application." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:24 -msgid "**Smart buttons**" +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:20 +msgid "After entering a name for the marketing campaign, configure the target audience in the remaining fields." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:23 +msgid "A target audience can be configured by entering specific criteria for Odoo to use when determining to whom this marketing automation campaign should be sent." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:26 -msgid ":guilabel:`Templates`: represents the number of pre-configured mail templates being used in this particular campaign. (Templates can always be created on-the-fly, as well)." +msgid "In the :guilabel:`Target` field, use the drop-down menu to choose which model the target audience filters should be based on (e.g. :guilabel:`Contact`, :guilabel:`Lead/Opportunity`, :guilabel:`Sales Order`, etc.)." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:28 -msgid ":guilabel:`SMS`: represents the number of personalized SMS messages connected to this campaign." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:30 +msgid "Select :guilabel:`Search More...` from the drop-down menu to reveal a :guilabel:`Search: Target` pop-up window containing all of the available targeting options." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:29 -msgid ":guilabel:`Clicks`: represents the number of times attached links have been clicked by recipients of this campaign." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:31 -msgid ":guilabel:`Participants`: represents the number of contacts that have directly participated in this campaign." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:34 -msgid "**Fields**" -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:36 -msgid ":guilabel:`Name`: represents the name of the marketing automation campaign being created." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:33 +msgid "Once a :guilabel:`Target` is selected, there's a :guilabel:`Unicity based on` field. This field is used to avoid duplicates based on the model chosen in the :guilabel:`Target` field." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:37 -msgid ":guilabel:`Target`: this field is a drop-down menu to choose which model is targeted by this campaign (i.e., by Contacts, Sales Order, Lead/Opportunity, etc.)." +msgid "If :guilabel:`Customers` is chosen as the :guilabel:`Target`, select :guilabel:`Email` in the :guilabel:`Unicity based on` field so Odoo only processes one record for each customer email address." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:39 -msgid ":guilabel:`Filter`: this field provides numerous configurable criteria that can be used to further narrow down the target recipients/audience for the marketing automation campaign." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:41 +msgid "Select :guilabel:`Search More...` from the :guilabel:`Unicity based on` drop-down menu to reveal all available options in a pop-up window." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:43 -msgid "Campaign filters" +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:44 +msgid "Last on the campaign form is the :guilabel:`Filter` field. This is where more specific targeting options can be layered into the campaign to further narrow the number and type of recipients that receive the marketing automation material." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:45 -msgid "To add a :guilabel:`Filter` to the target audience, click :guilabel:`Add Filter`, and a node field appears. In the node field, a custom equation can be configured for Odoo to use when filtering who to include (and exclude) in this specific marketing campaign." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:-1 -msgid "A filter node in Odoo Marketing Automation." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:48 +msgid "If left alone, the :guilabel:`Filter` field reads: :guilabel:`Match all records`. That means Odoo uses the :guilabel:`Target` and :guilabel:`Unicity based on` fields to determine who the recipients will be. The number of recipients is represented beneath as :guilabel:`record(s)`." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:53 -msgid "When the first field of the node is clicked, a nested drop-down menu of options appears on the screen, wherein specific criteria is chosen based on needs of the campaign. The remaining fields on the node further define the criteria determining which records to include (or exclude) in the execution of the campaign." +msgid "Campaign filter rules" msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:58 -msgid "To add another node, click the :guilabel:`➕ (plus sign)` icon to the right of the filtering rule. To add a branch of multiple nodes at the same time, click the :guilabel:`⋯ (ellipses)` icon." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:55 +msgid "To add a more specific filter to a marketing automation campaign, click the :guilabel:`Add condition` button in the :guilabel:`Filter` field. Doing so reveals a series of other configurable filter rule fields." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:61 -msgid "For further information on filters, refer to :doc:`this documentation page `." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:59 +msgid "In the rule fields, customizable equations can be configured for Odoo to use when filtering who to include or exclude in this specific marketing campaign." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:65 -msgid ":guilabel:`Records` represent the number of contacts in the system that fit the specified criteria for a campaign." +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:-1 +msgid "How the filter rule equation fields look in Odoo Marketing Automation campaigns." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:69 -msgid ":doc:`/applications/marketing/marketing_automation/getting_started/testing_running`" +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:67 +msgid ":guilabel:`Records` refer to contacts in the system that fit the specified criteria for a campaign." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:70 -msgid ":doc:`/applications/marketing/marketing_automation/getting_started/workflow_activities`" +msgid "Also, once :guilabel:`Add condition` is clicked, the ability to :guilabel:`Save as Favorite Filter` becomes available on the campaign form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:73 +msgid "There is also the option to match records with :guilabel:`all` or :guilabel:`any` of the rules configured in the :guilabel:`Filter` field." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:76 +msgid "To choose either of those options, click :guilabel:`all` from the middle of the sentence \":guilabel:`Match records with all of the following rules`\" to reveal a drop-down menu with those options." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:-1 +msgid "Match records with all or any of the rules in Filter field for marketing campaigns." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:84 +msgid "When the first field of the rule equation is clicked, a nested drop-down menu of options appears on the screen where specific criteria is chosen based on needs of the campaign." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:87 +msgid "The remaining fields on the rule equation further define the criteria, which is used to determine which records in the database to include or exclude in the execution of the campaign." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:90 +msgid "To add another rule, either click the :guilabel:`➕ (plus sign)` icon to the right of the filtering rule, or click :guilabel:`New Rule` beneath the rule equation fields. When either are clicked, a new series of rule fields appears." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:94 +msgid "To add a branch of multiple rules at the same time, click the :guilabel:`branch` icon, located to the right of the :guilabel:`➕ (plus sign)` icon. When clicked, two additional sub-rule equation fields appear beneath the initial rule." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:-1 +msgid "Sample of how the rule branches look in the filter section of a marketing campaign." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:102 +msgid "There is also the option to have the filter apply to :guilabel:`any` or :guilabel:`all` of the configured branch rules." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:105 +msgid "For further information on marketing automation campaign filter configuration, refer to :doc:`this documentation page `." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:109 +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:153 +msgid ":doc:`workflow_activities`" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/first_campaign.rst:110 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:266 +msgid ":doc:`testing_running`" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/target_audience.rst:3 @@ -1711,183 +1834,500 @@ msgid "Testing/running campaigns" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:5 -msgid "Odoo gives users the ability to test marketing campaigns (and mailings) before officially running them." +msgid "The Odoo *Marketing Automation* app allows users to test marketing campaigns (and mailings) before officially running them to check for errors and correct any mistakes before it reaches its target audience." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:8 -msgid "First, open the :menuselection:`Marketing Automation` application, and select the desired campaign, which reveals that campaign's detail form." +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:10 +msgid "Test campaigns" msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:11 -msgid "On the campaign detail form, make sure the campaign already has activities configured (or build a campaign by following the directions here on :doc:`this documentation `)." +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:12 +msgid "To test a marketing campaign, open the :menuselection:`Marketing Automation app`, and select the desired campaign to test, which reveals the campaign's detail form." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:15 -msgid "To start a test, click the :guilabel:`Launch a Test` button at the top of the campaign form." +msgid "On the campaign detail form, make sure the campaign already has activities configured in the workflow (or build a campaign by following the directions on :doc:`this documentation `)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:20 +msgid "Testing marketing automation campaigns is meant to be performed in the production version of the database. Duplicate (or trial) databases have limited email sending capabilities." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:23 +msgid "To start a test, click the :guilabel:`Launch a Test` button at the top of the campaign form, to the right of the :guilabel:`Start` button." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 -msgid "Launch a test button in Odoo Marketing Automation." +msgid "Launch a test button on a campaign detail form in Odoo Marketing Automation." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:21 -msgid "When clicked, a :guilabel:`Launch a test` pop-up window appears. In the drop-down field, choose an existing record (or create a new one) to run the test on. To create a brand new record, click the :guilabel:`Search More...` link at the bottom of the drop-down menu, and then click the :guilabel:`Create` button." +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:30 +msgid "When clicked, a :guilabel:`Launch a test` pop-up window appears." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:26 -msgid "Doing so reveals a blank contact form, in which the :guilabel:`Name` and :guilabel:`Email` **must** be entered. When all the necessary information has been entered, click :guilabel:`Save`, and Odoo returns to the :guilabel:`Launch a test` pop-up, with that new record in the :guilabel:`Choose an existing record or create a new one to test` field." +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "Launch a test pop-up window that appears in Odoo Markting Automation." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:31 -msgid "Once a record is selected, click :guilabel:`Continue`, and Odoo reveals the campaign test page." +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:36 +msgid "In the :guilabel:`Launch a test` pop-up window, click the :guilabel:`Pick or create a/an Contact to generate a Test Participant` field to reveal a drop-down menu of contacts. From this drop-down menu, select an existing contact (or create a new one) to run the test on." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:41 +msgid "Only one contact can be selected from the :guilabel:`Launch a test` pop-up window." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:43 +msgid "To create a new contact directly from the :guilabel:`Launch a test` pop-up window, start typing the name of the new contact in the blank field, and click :guilabel:`Create and edit...`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "Typing in a new contact directly from the launch a test pop-up window in Odoo." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:50 +msgid "Doing so reveals a blank :guilabel:`Create Record` pop-up form, in which the necessary contact information (:guilabel:`Email`, :guilabel:`Mobile`, etc.) *must* be entered, in order for the test to work. When the necessary information is entered, click :guilabel:`Save & Close`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "A blank contact form from a launch test pop-up window in Odoo Marketing Automation." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:58 +msgid "When all the necessary fields have been entered, click :guilabel:`Save & Close` to return to the :guilabel:`Launch a test` pop-up window." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:61 +msgid "Once a contact is selected, click :guilabel:`Launch` to reveal the campaign test page." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 msgid "Test screen in Odoo Marketing Automation." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:37 +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:67 msgid "On the campaign test page, the name of the :guilabel:`Record` being tested is visible, along with the precise time this test workflow was started in the :guilabel:`Workflow Started On` field. Beneath that, in the :guilabel:`Workflow` section is the first activity (or activities) in the workflow that's being tested." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:42 +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:72 msgid "To start a test, click the :guilabel:`Run` button, represented by a :guilabel:`▶️ (play button)` icon beside the first activity in the workflow. When clicked, the page reloads, and Odoo shows the various results (and analytics) connected to that specific activity as they occur, in real-time." msgstr "" +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:77 +msgid "If a child activity is scheduled beneath a parent activity, that child activity will be revealed slightly indented in the workflow, once that parent activity has been run, via the :guilabel:`▶️ (play button)` icon." +msgstr "" + #: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 msgid "Workflow test progress in Odoo Marketing Automation." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:50 -msgid "Once all the workflow activities are completed, the test will end, and move to the :guilabel:`Completed` stage. To stop a test before all the workflow activities are completed, click the :guilabel:`Stop` button in the upper-left corner of the campaign test page." +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:85 +msgid "Once all the workflow activities are completed, the test ends, and the status bar (in the upper-right corner) moves to the :guilabel:`Completed` stage." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:88 +msgid "To stop a test before all the workflow activities are completed, click the :guilabel:`Stop` button in the upper-left corner of the campaign test page." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:92 +msgid "Run campaigns" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:94 +msgid "To run a campaign, navigate to :menuselection:`Marketing Automation app`, and select the desired campaign to run." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:97 +msgid "On the campaign detail form, with all the desired activities ready in the :guilabel:`Workflow` section, click :guilabel:`Start` in the upper-left corner to officially run the campaign to the configured target audience specified on the campaign detail form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:101 +msgid "Clicking :guilabel:`Start` launches the campaign, and the status bar of the campaign switches to :guilabel:`Running`, which is located in the upper-right corner of the campaign detail form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "The status of a marketing campaign changing to running in the upper-right corner." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:109 +msgid "If some participants are already running on a campaign, and was stopped for any reason, clicking the :guilabel:`Start` button again prompts a pop-up warning. This warning advises the user to click an :guilabel:`Update` button to apply any modifications made to the campaign." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "The workflow has been modified warning pop-up window of a marketing campaign form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:117 +msgid "Be aware that participants that had already gone through an entire campaign in its original state **can** be reintroduced into the newly-modified campaign, and new traces could be created for them." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:121 +msgid "Then, as the mailings and actions are triggered in the :guilabel:`Workflow`, the various stats and data related to each activity appear in each activity block. There is also a series of stat-related smart buttons that appear at the top of the campaign detail form, as well." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:125 +msgid "These analytical smart buttons will *also* populate with real-time data as the campaign progresses: :guilabel:`Templates`, :guilabel:`Clicks`, :guilabel:`Tests`, :guilabel:`Participants`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "The row of smart buttons that appear in a currently running marketing campaign in Odoo." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:133 +msgid "Stop campaigns" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:135 +msgid "To stop a campaign that's currently running, navigate to the :menuselection:`Marketing Automation app`, and select the desired campaign to stop. On the campaign detail form, click the :guilabel:`Stop` button in the upper-left corner." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "The stop button on a typical campaign detail form in Odoo Marketing Automation application." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:143 +msgid "When clicked, the campaign is officially stopped, and the status changes to :guilabel:`Stopped` in the upper-right corner of the campaign detail form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:-1 +msgid "Marketing campaign's stopped status on a campaign detail form in Odoo Marketing Automation." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:151 +msgid ":doc:`first_campaign`" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/testing_running.rst:152 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:188 +msgid ":doc:`target_audience`" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:3 -msgid "Marketing activities" +msgid "Campaign workflow activities" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:5 -msgid "When creating a campaign in the *Marketing Automation* app, users can plan marketing activities, such as email or SMS campaigns." +msgid "When creating a marketing campaign in the *Marketing Automation* app, users can plan marketing activities that can be triggered when certain actions or inactions occur. These can be activities such as, automated emails, SMS, or internal server actions." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:8 -msgid "To get started, navigate to the bottom of a marketing automation campaign detail form, and click :guilabel:`Add New Activity`. Doing so reveals a :guilabel:`Create Activities` pop-up window. This pop-up window is a blank activity template, where specific parameters can be set for that particular activity." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:10 +msgid "Add workflow activities" msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:13 -msgid "The following fields are available in the :guilabel:`Create Activities` pop-up window (when :guilabel:`Add New Activity` is clicked):" +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:12 +msgid "To add workflow activities to a marketing campaign, navigate to the bottom of a pre-existing or new campaign detail form, beneath the target audience configuration fields, and click :guilabel:`Add new activity`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:16 +msgid "Doing so reveals a :guilabel:`Create Activities` pop-up window. This pop-up window is a blank activity template, where specific parameters can be set for that particular activity." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 -msgid "An activity template in Odoo Marketing Automation." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:20 -msgid ":guilabel:`Activity Name`: the title of the activity." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:21 -msgid ":guilabel:`Activity Type`: choose between `Email`, `Server Action` (internal Odoo operation), or `SMS`." +msgid "A workflow activity template pop-up window in Odoo Marketing Automation." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:23 -msgid ":guilabel:`Mail Template`: choose from pre-configured templates (or create a new one on-the-fly)." +msgid "First, enter a name for the activity in the :guilabel:`Activity Name` field. Then, proceed to configure the following options." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:24 -msgid ":guilabel:`Trigger`: choose when this activity should be triggered." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:25 -msgid ":guilabel:`Expiry Duration`: configure to stop the actions after a specific amount of time (after the scheduled date). When selected, a :guilabel:`Cancel after` field appears, in which the user can choose how many :guilabel:`Hours, Days, Weeks, or Months` they want the actions to cease after the initial date." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:29 -msgid ":guilabel:`Activity Filter`: domain related to this activity (and all subsequent child activities)." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:26 +msgid "Once ready, either click: :guilabel:`Save & Close` to save the activity and close the pop-up form, :guilabel:`Save & New` to save the activity and instantly create an additional activity on a fresh :guilabel:`Create Activities` pop-up form, or :guilabel:`Discard` to delete the activity." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:31 -msgid ":guilabel:`Applied Filter`: activity will *only* be performed if it satisfies the specified domain (filter)." +msgid "Activity types" msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:34 -msgid "After the activity's settings are fully configured, click :guilabel:`Save & Close` to save the activity and return to the marketing automation campaign form, :guilabel:`Save & New` to save the activity and immediately create another one in a fresh :guilabel:`Create Activities` pop-up window, or :guilabel:`Discard` to delete the activity and return to the marketing automation campaign form." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:33 +msgid "Then, select the :guilabel:`Activity Type`. Choose between :guilabel:`Email`, :guilabel:`Server Action` (an internal action within the database), or :guilabel:`SMS`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:36 +msgid "The field below the :guilabel:`Activity Type` changes, depending on the chosen :guilabel:`Activity Type`." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:40 -msgid "Workflow activity" +msgid "Email activity" msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:42 -msgid "Once an activity is saved, the :guilabel:`Workflow Activity` section appears at the bottom of the marketing automation campaign form. Each activity is displayed as a line graph." +msgid "If :guilabel:`Email` is the :guilabel:`Activity Type`, the option to choose a premade/pre-configured :guilabel:`Mail Template` becomes available. A mail template can also be created on-the-fly, as well." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:45 -msgid "The configured :guilabel:`Trigger` time for that activity can be found to the left of the :guilabel:`Workflow Activity` card in the :guilabel:`Workflow` section." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:46 +msgid "To create a new template directly from the :guilabel:`Mail Template` field, start typing the title of the new template into the blank field beside :guilabel:`Mail Template`, and select :guilabel:`Create and edit...` to reveal a :guilabel:`Create Marketing Template` pop-up window." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:48 -msgid "Once the activity has been triggered, a figure representing the number of :guilabel:`Success` or :guilabel:`Rejected` activities will be displayed to the right of the graph." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "The create and edit email drop-down option on create activities pop-up window." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:54 +msgid "In that pop-up window, proceed to create and configure the new email template." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "The create marketing template email pop-up window in Odoo Marketing Automation." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:61 +msgid "Server action activity" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:63 +msgid "If :guilabel:`Server Action` is the :guilabel:`Activity Type`, the option to choose a specific :guilabel:`Server Action` (e.g. Message for sales person, Create Leads on Website clicks, etc.) becomes available." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:67 +msgid "The option to create a new server action directly from the :guilabel:`Server Action` is also available. To do that, type in the name of the new action, then click :guilabel:`Create and Edit...` from the drop-down menu." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "The create and edit option in the server action field on campaign detail form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:75 +msgid "Or, as an alternative, click the empty :guilabel:`Server Action` field to reveal a drop-down menu, and select :guilabel:`Search More...` to reveal a :guilabel:`Search: Server Action` pop-up window, containing all the pre-configured server action options to choose from." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:79 +msgid "To create a new server action from this pop-up window, and click :guilabel:`New`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "The new button found on a server action pop-up in Odoo marketing automation application." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:85 +msgid "Either option reveals a blank :guilabel:`Create Server Action` pop-up, wherein a custom server action can be created and configured." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:89 +msgid "SMS activity" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:91 +msgid "If :guilabel:`SMS` is the :guilabel:`Activity Type`, the option to choose a premade/pre-configured :guilabel:`SMS Template` becomes available. A SMS template can also be created on-the-fly directly from this field." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:95 +msgid "To create a new template directly from the :guilabel:`SMS Template` field, start typing the title of the new template into the blank field beside :guilabel:`SMS Template`, and select :guilabel:`Create and edit...` from the drop-down menu." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:103 +msgid "Doing so reveals a :guilabel:`Create Marketing Template` pop-up window. In that pop-up window, proceed to create and configure the new SMS template." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "The create marketing template pop-up window to create a SMS template on-the-fly." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:111 +msgid "Trigger" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:113 +msgid "The :guilabel:`Trigger` field on the :guilabel:`Create Activities` pop-up form allows users to choose when the designated workflow activity should be triggered." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:116 +msgid "Start by selecting a number in the top field. In the next :guilabel:`Trigger` field, designate if it should be :guilabel:`Hours`, :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months`. Then, click the final field, where it reads :guilabel:`beginning of the workflow` be default to reveal a a drop-down menu of other trigger options." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "A list of the trigger options available on the workflow activities pop-up form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:125 +msgid "The trigger options are as follows:" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:127 +msgid ":guilabel:`beginning of the workflow`: the activity will be triggered at the previously-configured time after the beginning of the entire workflow." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:129 +msgid ":guilabel:`another activity`: the activity will be triggered at the previously-configured time after another specific activity in the workflow." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:131 +msgid ":guilabel:`Mail:opened`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has been opened by the recipient." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:133 +msgid ":guilabel:`Mail:not opened`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has not been opened by the recipient." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:135 +msgid ":guilabel:`Mail: replied`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has been replied to by the recipient." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:137 +msgid ":guilabel:`Mail: not replied`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has not been replied to by the recipient." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:139 +msgid ":guilabel:`Mail: clicked`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has been clicked by the recipient, after it's been opened." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:141 +msgid ":guilabel:`Mail: not clicked`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has not been clicked by the recipient, after it's been opened." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:143 +msgid ":guilabel:`Mail: bounced`: the activity will be triggered at the previously-configured time if the sent mail in the workflow has been bounced back for any reason." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:145 +msgid ":guilabel:`SMS: clicked`: the activity will be triggered at the previously-configured time if the sent SMS in the workflow has been clicked by the recipient, after it's been opened." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:147 +msgid ":guilabel:`SMS: not clicked`: the activity will be triggered at the previously-configured time if the sent SMS in the workflow has not been clicked by the recipient, after it's been opened." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:149 +msgid ":guilabel:`SMS: bounced`: the activity will be triggered at the previously-configured time if the sent SMS in the workflow has been bounced back for any reason." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:153 +msgid "Expiry duration" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:155 +msgid "Next, on the :guilabel:`Create Activities` pop-up form is the :guilabel:`Expiry Duration` option." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:157 +msgid "The :guilabel:`Expiry Duration` checkbox provides the option to configure the activity to stop the actions after a specific amount of time (after the scheduled date)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:160 +msgid "When selected, a :guilabel:`Cancel after` field appears, in which the number of :guilabel:`Hours, Days, Weeks, or Months` can be configured for the actions to cease after the initial date." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "A list of the expiry duration options available on the workflow activities pop-up form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:168 +msgid "Activity and applied filters" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:170 +msgid "Moving down into the :guilabel:`Domain` section of the :guilabel:`Create Activities` pop-up form, there is the :guilabel:`Activity Filter` and :guilabel:`Applied Filter` fields." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:173 +msgid "The :guilabel:`Activity Filter` field provides the option to configure a recipient filter domain that applies to this activity *and* its child activities. In works in the same fashion as a typical target audience filter." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:177 +msgid "To add an activity filter, click :guilabel:`Add condition` in the :guilabel:`Activity Filter` field and proceed to configure a custom activity filter equation rule(s)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "How to add an activity filter to a workflow activity in Odoo Marketing Automation." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:184 +msgid "This option is not a required field. If left alone, the activity applies to all records related to the target audience of the overall campaign." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:190 +msgid "The :guilabel:`Applied Filter` field is non-configurable. It's simply a summary of when the activity will be performed, *only* if it satisfies the specified domain (e.g. the rules configured in the :guilabel:`Activity Filter` field)." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:195 +msgid "After the activity's settings are fully configured, click :guilabel:`Save & Close` to save the activity and return to the marketing automation campaign form, :guilabel:`Save & New` to save the activity and immediately create another one in a fresh :guilabel:`Create Activities` pop-up window, or :guilabel:`Discard` to delete the activity and return to the marketing automation campaign form." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:202 +msgid "Workflow activity" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:204 +msgid "Once an activity is created and saved, it appears as an activity card in the :guilabel:`Workflow` section, located at the bottom of the marketing automation campaign form. The analytics related to each activity is displayed as a line graph." msgstr "" #: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 msgid "Typical workflow activity in Odoo Marketing Automation." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:56 -msgid "If the :guilabel:`Activity Type` of the activity is set to :guilabel:`Email`, there are more in-depth analytics beneath the activity graph data, detailing how many emails have been :guilabel:`Sent`, and what percentage of those have been :guilabel:`Clicked`, :guilabel:`Replied` to, or :guilabel:`Bounced`." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:212 +msgid "The configured :guilabel:`Trigger` time for that activity can be found to the left of the :guilabel:`Workflow Activity` card in the :guilabel:`Workflow` section." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:62 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:215 +msgid "Once the activity has been triggered, a figure representing the number of :guilabel:`Success` or :guilabel:`Rejected` activities will be displayed to the right of the graph." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:219 +msgid "If the :guilabel:`Activity Type` of the activity is set to :guilabel:`Email` or :guilabel:`SMS`, there are more in-depth analytics beneath the activity graph data, detailing how many messages have been :guilabel:`Sent`, and what percentage of those have been :guilabel:`Clicked`, :guilabel:`Replied` to, or :guilabel:`Bounced`." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:225 msgid "Child activities" msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:64 -msgid "There is also the option to add a *child activity* by clicking :guilabel:`Add child activity`, located at the bottom of each activity block in the :guilabel:`Workflow` section of a marketing automation form." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:227 +msgid "There is also the option to add a *child activity* by clicking :guilabel:`Add child activity`, located at the bottom of each activity block in the :guilabel:`Workflow` section of a marketing campaign form." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:68 -msgid "Child activities are sub-activities that are connected to (and triggered by) the activity above it, which is also known as its *parent activity*." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:231 +msgid "Child activities are sub-activities that are connected to and triggered by the activity above it, which is known as its *parent activity*. A child activity is easy to recognize, as its slightly indented beneath its parent activity." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:71 -msgid "Odoo provides a number of triggering options to launch a child activity - all of which depend on the trigger configurations related to the parent activity. Under the desired parent activity, hover over :guilabel:`Add child activity`, and select any of the following triggers:" +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "A typical child activity indented beneath its parent activity." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:75 -msgid ":guilabel:`Add Another Activity`: instantly add another activity." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:239 +msgid "Odoo provides a number of triggering options to launch a child activity - all of which depend on the trigger configurations related to its parent activity. Under the desired parent activity, hover over :guilabel:`Add child activity`, to reveal a menu of child activity trigger options." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:76 -msgid ":guilabel:`Opened`: the next activity will be triggered if the (email) recipient opens the mailing." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:-1 +msgid "The various child activity trigger options in the workflow section of a campaign." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:78 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:247 +msgid "Select any of the following child activity triggers:" +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:249 +msgid ":guilabel:`Add Another Activity`: instantly adds another activity." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:250 +msgid ":guilabel:`Opened`: the next activity will be triggered if the recipient opens the mailing." +msgstr "" + +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:251 msgid ":guilabel:`Not Opened`: the next activity will be triggered if the recipient does not open the mailing." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:80 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:253 msgid ":guilabel:`Replied`: the next activity will be triggered if the recipient replies to the mailing." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:81 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:254 msgid ":guilabel:`Not Replied`: the next activity will be triggered if the recipient does not reply to the mailing." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:83 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:256 msgid ":guilabel:`Clicked`: the next activity will be triggered if the recipient clicks on a link included in the mailing." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:85 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:258 msgid ":guilabel:`Not Clicked`: the next activity will be triggered if the recipient does not click on a link included in the mailing." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:87 +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:260 msgid ":guilabel:`Bounced`: the next activity will be triggered if the mailing is bounced (not sent)." msgstr "" -#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:89 -msgid "Once a trigger is selected, the user can configure the child activity (it has the same configuration options as a regular activity), and click :guilabel:`Save & Close` to finish creating the child activity, which will then be displayed in the :guilabel:`Workflow` section, in a slightly indented position beneath its parent activity." +#: ../../content/applications/marketing/marketing_automation/getting_started/workflow_activities.rst:262 +msgid "Once a trigger is selected, the user can configure the child activity the same way they would for a regular workflow activity." msgstr "" #: ../../content/applications/marketing/sms_marketing.rst:8 @@ -2778,274 +3218,490 @@ msgid "Social marketing essentials" msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:5 -msgid "Odoo's *Social Marketing* helps content marketers create and schedule posts, manage various social media accounts, analyze content effectiveness, and engage directly with social media followers in one, centralized location." +msgid "Odoo's *Social Marketing* application helps content marketers create and schedule posts, manage various social media accounts, analyze content effectiveness, and engage directly with social media followers in one, centralized location." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:10 -msgid "Add social media accounts" +msgid "Social media accounts" msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:12 -msgid "In order to create posts, each social media account must be added as a stream in the Odoo *Social Marketing* application." +msgid "In order to create social posts and analyze content with Odoo *Social Marketing*, social media accounts **must** be added as a *stream* on the application's main dashboard." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:16 -msgid "Add a social media stream" +msgid "Be aware that personal profiles **cannot** be added as a stream. The main use of Odoo *Social Marketing* is to manage and analyze business accounts on social media platforms." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:18 -msgid "Add a social media account as a stream by navigating to :menuselection:`Social Marketing` and then select the :guilabel:`Add A Stream` button located in the upper left corner" +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:20 +msgid "Odoo *Social Marketing* has some limitations in regards to social media accounts. For example, Odoo **cannot** handle a large quantity of various pages (e.g. ~40 pages) under the same company. The same limitations are present in a multi-company environment because of how the API is constructed." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:21 -msgid "When :guilabel:`Add A Stream` is clicked, the following pop-up appears, displaying the different social media outlets to choose from." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 -msgid "View of the pop-up that appears when 'Add a Stream' is selected in Odoo." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:26 +msgid "In multi-company environments, if every company doesn't activate a page at once, it will result in a permission error." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:29 -msgid "Additional social media outlet options are available depending on your version of Odoo." +msgid "For example, if Company 1 is the only company selected from the main Odoo dashboard, and activates *Facebook Page 1* and *Facebook Page 2*, then those pages will be accesible on the *Social Marketing* dashboard." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:31 -msgid "From this pop-up, select a social media option: :guilabel:`Facebook`, :guilabel:`LinkedIn`, or :guilabel:`Twitter`." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:34 -msgid "Then, Odoo navigates directly to that specific social media outlet's authorization page, where permission must be granted, in order for Odoo to add that particular social media account to the *Social Marketing* application as a stream on the main dashboard of the app." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:39 -msgid "A Facebook page can be added as long as the Facebook account that grants permission is the administrator for the page. Also, different pages can be added for different streams." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:42 -msgid "Once permission is granted, Odoo navigates back to the :guilabel:`Feed` on the main :guilabel:`Social Marketing` dashboard, and a new column with that account's posts are automatically added." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:46 -msgid "From here, new accounts and/or streams can be added and managed at any time." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 -msgid "Example of how a populated stream-filled dashboard looks in Odoo Social Marketing" -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:53 -msgid "Adding social media accounts to the feed also links that specific social media platform's KPIs (if the platform has them). To get redirected to the statistics and metrics related to any social account, click on :guilabel:`Insights`." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:33 +msgid "However, if on that same database, the user adds Company 2 from the company drop-down menu in the header, and attempts to add those same streams, it results in a permission error." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:0 -msgid "The insights link that can be accessed for each social media stream added in Odoo." +msgid "View of the permission error that appears when incorrectly attempting to add stream." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:62 -msgid "Create and publish social media posts in Odoo" +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:41 +msgid "Social media streams" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:64 -msgid "To create content for social media accounts in the :menuselection:`Social Marketing` application, click the :guilabel:`New Post` button located in the upper-left corner of the main dashboard, or navigate to :menuselection:`Posts --> Create` from the header menu." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:68 -msgid "Either route reveals a blank post template page that can be customized and configured in a number of different ways." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:43 +msgid "To add a social media business account as a stream, navigate to :menuselection:`Social Marketing app` and select the :guilabel:`Add A Stream` button located in the upper-left corner. Doing so reveals an :guilabel:`Add a Stream` pop-up window." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 -msgid "How to create a social media post directly through Odoo" +msgid "View of the pop-up window that appears when Add a Stream is selected in Odoo." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:76 -msgid "Post template" +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:51 +msgid "In the :guilabel:`Add a Stream` pop-up window, choose to :guilabel:`Link a new account` for a business from any of the following popular social media platforms: :guilabel:`Facebook`, :guilabel:`Instagram`, :guilabel:`LinkedIn`, :guilabel:`Twitter`, and :guilabel:`YouTube`." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:78 -msgid "The post template page has many different options avaiable." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:55 +msgid "After clicking the desired social media outlet from the :guilabel:`Add a Stream` pop-up window, Odoo navigates directly to that specific social media outlet's authorization page, where permission must be granted, in order for Odoo to add that particular social media account as a stream to the *Social Marketing* application." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Sample of a populated social marketing dashboard with social media streams and content." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:64 +msgid "Once permission is granted, Odoo navigates back to the :guilabel:`Feed` on the main :guilabel:`Social Marketing` dashboard, and a new column, with that account's posts, is added. Accounts/streams can be added at any time." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:69 +msgid "A :guilabel:`Facebook` page can be added as long as the :guilabel:`Facebook` account that grants permission is the administrator for the page. It should also be noted that different pages can be added for different streams." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:74 +msgid ":guilabel:`Instagram` accounts are added through a :guilabel:`Facebook` login because it uses the same API. This means, an :guilabel:`Instagram` account needs to be linked to a :guilabel:`Facebook` account in order for it to show up as a stream in Odoo." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:79 +msgid "Posts" msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:81 -msgid "'Your Post' section" +msgid "Clicking on a post from a social media stream reveals a pop-up window, showcasing the content of that specific post, along with all the engagement data related to it (e.g. likes, comments, etc.)." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:83 -msgid "The first option is the :guilabel:`Post on` field. This is where it's determined on what social media account(s), or on which website(s) via push notification, this post will be published." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Sample of a social media post's pop-up window in Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:87 -msgid "In order for the :guilabel:`Push Notification` option to appear, make sure the *Enable Web Push Notifications* feature is enabled in the *Website* app. To do that, navigate to :menuselection:`Website --> Configuration --> Settings`, activate :guilabel:`Enable Web Push Notifications`, fill out the corresponding fields, and click :guilabel:`Save`." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:88 +msgid "If desired, the user can leave a new comment of the post from the post's pop-up window, by typing one in the :guilabel:`Write a comment...` field, and clicking :guilabel:`Enter` to post that comment." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:92 -msgid "Odoo automatically provides every available social media account that's been linked to the database as an option in this section, as well." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:93 +msgid "Create leads from comments" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:96 -msgid "If a social media account hasn't been added as a stream to the *Social Marketing* application, it will not appear as an option on the post template." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:95 +msgid "Odoo *Social Marketing* also provides the ability to create leads directly from social media comments." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:99 -msgid "Next, there's the :guilabel:`Message` field. This is where the main content of the post is created." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:98 +msgid "To create a lead from a comment left on a social media post, click on the desired post from the dashboard to reveal that post's specific pop-up window. Then, scroll to the desired comment, and click the :guilabel:`three vertical dots` icon to the right of that comment." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:101 -msgid "Type the desired message for the post in this field. To the right, as the :guilabel:`Message` field is populated, Odoo displays visual samples of how the post will look on all the previously selected social media accounts from the :guilabel:`Post on` field above." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:102 +msgid "Doing so reveals a drop-down menu with the option: :guilabel:`Create Lead`." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:106 -msgid "Emojis can also be added directly to the text in the :guilabel:`Message` field. Just click the :guilabel:`emoji (smiley face) icon`, located on the line of the :guilabel:`Message` field to the far right. Clicking this icon reveals a drop-down containing numerous emojis to choose from." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "The drop-down menu beside a comment revealing the option to create a lead." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:110 -msgid "If images are to be used in the post, click the :guilabel:`ATTACH IMAGES` link beneath the :guilabel:`Message` field, and Odoo reveals a pop-up window. In this pop-up, the desired image must be chosen, and then uploaded." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:108 +msgid "Upon clicking :guilabel:`Create Lead` from the comment's drop-down menu, a :guilabel:`Conver Post to Lead` pop-up window appears." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:114 -msgid "A preview of the entire post, text and image (if applicable), is instantly displayed in the visual preview of the post." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "The convert post to lead pop-up window that appears in Odoo Social Marketing." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:117 -msgid "Next, there's the option to attach this post to a specific marketing campaign in the database in the :guilabel:`Campaign` field. Click the blank line next to :guilabel:`Campaign` to reveal the previously configured campaigns to choose from." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:115 +msgid "In this pop-up window, select to either: :guilabel:`Create a new customer`, :guilabel:`Link to an existing customer`, or :guilabel:`Do not link to a customer`." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:119 +msgid "If :guilabel:`Link to an existing customer` is selected, a new :guilabel:`Customer` field appears beneath those options, wherein a customer can be chosen to be linked to this lead." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:122 -msgid "A new campaign can be created, as well, by typing the name of the new campaign on the blank :guilabel:`Campaign` field, and selecting :guilabel:`Create` from the drop-down field menu. Or, select :guilabel:`Create and edit` from the menu to further customize that newly-created campaign." +msgid "Once the desired selection has been made, click the :guilabel:`Convert` button at the bottom of the :guilabel:`Convert Post to Lead` pop-up window. Doing so reveals a fresh lead detail form, where the necessary information can be entered and processed." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:128 -msgid "A social post does *not* need to be attached to a campaign." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "New lead detail form generated from a social media comment in Odoo Social Marketing." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:130 -msgid "Then, in the :guilabel:`When` field, choose either :guilabel:`Send Now` to have Odoo publish the post immediately, or :guilabel:`Schedule later` to have Odoo publish the post at a later date and time." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:131 +msgid "Insights" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:134 -msgid "If :guilabel:`Schedule later` is selected, Odoo reveals a new field beneath it (the :guilabel:`Scheduled post date` field). Clicking that empty field reveals a pop-up calendar, in which a future date and time is designated. At which time, Odoo will promptly publish the post on the pre-determined social media accounts." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:133 +msgid "When a social media account stream is added to the *Social Marketing* dashboard, each stream also displays and links that specific social media platform's KPIs (if the platform has them)." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:139 -msgid "Click on the desired date to schedule the post for that day. Then, either select and customize the default time in the :guilabel:`Scheduled post date` field manually. Or, adjust the desired post time, by clicking the :guilabel:`scheduling (clock) icon` located on the calendar pop-up, and choose the desired time for Odoo to publish this post on that future date." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:136 +msgid "To get redirected to the statistics and metrics related to any social media account's KPIs, click on the :guilabel:`Insights` link, located at the top of each stream." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Visual of how the Insights link appears on the dashboard of the Social Marketing app." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:144 -msgid "If scheduling a post, remember to hit :guilabel:`Schedule` in the upper left of the post template. Doing so, locks in that specific date/time for Odoo to send the post, and it changes the status of the post to :guilabel:`Scheduled`." +msgid "In a multi-company environment, if not *all* pages are selected, de-authentication happens." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:149 -msgid "Also, when :guilabel:`Schedule` is clicked, a number of analytical smart buttons appear on the post page. Each one offers up a detailed anaylsis of the corresponding metric (e.g. :guilabel:`Leads`, :guilabel:`Revenues`, etc.). These same smart buttons appear when a post is officially published, as well." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:146 +msgid "For example, if the companies have 3 *Facebook* pages, but only grant access to 1, and try to grant access to another at a later date, they will be de-authenticated, and access to the initial page's insights/analytics will be lost." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:155 -msgid "'Web Notification Options' section" +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:150 +msgid "So, be sure to add *all* pages for *all* companies in a multi-company environment to avoid this issue. If a page gets de-autenticated, simply remove the stream, and re-establish it." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:157 -msgid "If any :guilabel:`Push Notifications` are selected in the :guilabel:`Post on` field, Odoo provides another section of settings/options at the bottom of the post template. It should be noted that *none* of these fields are required." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:154 +msgid "Create and post social media content" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:161 -msgid "The first field is for a :guilabel:`Push Notification Title`. This is text that is displayed as the title of the push notification whenever it's sent. Odoo displays a visual preview of this title, if one is created." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:156 +msgid "Odoo *Social Marketing* offers the ability to create and post content for social media accounts directly through the application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:165 -msgid "To designate a specific page on the website that should trigger this push notification, enter that page's URL in the :guilabel:`Push Target URL` field. Then, once a visitor reaches that specific page, Odoo will display the push notification." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:159 +msgid "To create content for social media accounts, navigated to the :menuselection:`Social Marketing app`, and click :guilabel:`New Post` located in the upper-right corner of the *Social Marketing* dashboard." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:169 -msgid "Below that field is the option to add a custom :guilabel:`Push Icon Image`. This is an icon that appears beside the push notification. By default, Odoo uses a \"smiley face\" as the icon." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "New Post button on the main dashboard of the Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:172 -msgid "To upload a new image, click the :guilabel:`Edit (pencil) icon` when the :guilabel:`Push Icon Image` field is hovered over with the cursor. Then, proceed to locate and upload the desired image, and Odoo automatically displays a preview of how the icon will appear on the push notification." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:167 +msgid "Or, navigate to :menuselection:`Social Marketing app --> Posts` and click the :guilabel:`New` button." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:176 -msgid "Next, there is the option to :guilabel:`Send at Visitors' Timezone`. If enabled, Odoo will send it at the appropriate, pre-determined time, taking the visitor's location into consideration." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "New button on the Social Posts page in the Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:180 -msgid "Save, post, and test notification options" +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:174 +msgid "Either route reveals a blank social media post detail form that can be customized and configured in a number of different ways." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Blank social media post detail page in Odoo Social Marketing." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:182 -msgid "When all the modifications have been made, and the post is completed, either click :guilabel:`Save` to save the post as a *Draft*. Or, if the post is ready to be published immediately, click :guilabel:`Post`, and Odoo automatically publishes the post on the pre-determined social media accounts." +msgid "Post detail form" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:187 -msgid "There is also the option to :guilabel:`Test Notification`, if a :guilabel:`Push Notification` was selected in the :guilabel:`Post on` field. Clicking that, provides a quick example of how the notification will appear for visitors." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:184 +msgid "The social media post detail form in Odoo *Social Marketing* has many different configurable options available." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:192 -msgid "Social post status bar" +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:188 +msgid "Company" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:194 -msgid "In the top-right of the :guilabel:`Post Template` page is the :guilabel:`Status Bar`. This displays the current status of the post." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:190 +msgid "If working in a multi-company environment, the first field in the :guilabel:`Your Post` section of the social media post detail form is :guilabel:`Company`. In this field, select the company that should be connected to this specific social media post." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:195 +msgid "Post on" msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:197 -msgid "When :guilabel:`Save` is clicked, the post is in the *Draft* status." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:199 -msgid "If the post is scheduled to be sent at a future date/time, and the :guilabel:`Schedule` button has been clicked, the status of the post is *Scheduled*." +msgid "If working in a single-company environment, the first field in the :guilabel:`Your Post` section of the social media post detail form is :guilabel:`Post on`. In this field, determine which social media outlets (streams) this post is intended to be posted on, and/or which website's visitors this post should be sent to, via push notification, by checking the box beside the desired option(s)." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:202 -msgid "If the post is in the process of currently being published or sent, the status of the post is *Posting*. And, lastly, if the post has already been published or sent, the status is *Posted*." +msgid "Odoo automatically provides every available social media account that's been linked to the database as an option in this section. If a social media account hasn't been added as a stream to the *Social Marketing* application, it will **not** appear as an option on the post template." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:206 +msgid "Multiple social media outlets (streams) and websites can be selected in the :guilabel:`Post on` field. At least **one** option in the :guilabel:`Post on` field *must* be selected." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:210 +msgid "In order for the :guilabel:`Push Notification` option to appear on the social media post detail form in Odoo *Social Marketing*, make sure the *Enable Web Push Notifications* feature is enabled in the *Website* app." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:214 +msgid "To do that, navigate to :menuselection:`Website app --> Configuration --> Settings`, activate :guilabel:`Enable Web Push Notifications`, fill out the corresponding fields, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:219 +msgid "Message" +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:221 +msgid "Next, there's the :guilabel:`Message` field. This is where the main content of the post is created." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:223 +msgid "In the :guilabel:`Message` field, type in the desired message for the social post. After typing, click away from the :guilabel:`Message` field to reveal visual samples of how the post will look on all the previously selected social media accounts (and/or websites, as push notifications)." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Sample social media post with visual samples of how it will appear on social media outlets." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:232 +msgid "Emojis can also be added directly to the text in the :guilabel:`Message` field. Just click the :guilabel:`🙂 (smiley face)` icon, located on the line of the :guilabel:`Message` field to the far right. Clicking this icon reveals a drop-down menu containing numerous emojis to choose from." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:237 +msgid "If :guilabel:`Twitter` is chosen in the :guilabel:`Post on` field, a character counter appears beneath the :guilabel:`Message` field." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:241 +msgid "Attach Images" +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:243 +msgid "If images are to be used in the post, click the :guilabel:`Attach Images` button, in the :guilabel:`Attach Images` field, located beneath the :guilabel:`Message` field. When clicked, Odoo reveals a pop-up window. In this pop-up window, select the desired image from the hard drive, and upload it." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:248 +msgid "After successfully uploading and attaching the desired image, Odoo reveals a new preview of the social media post, complete with the newly-added image, on the right side of the detail form." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Visualized samples of post with newly-attached images in Odoo Social Marketing." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:256 +msgid "Campaign" +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:258 +msgid "Next, there is the :guilabel:`Campaign` field. This non-required field provides the options to attach this post to a specific marketing campaign." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:261 +msgid "To add this post to a pre-existing campaign, click the empty :guilabel:`Campaign` field to reveal a drop-down menu, containing all the existing campaigns in the database. Select the desired campaign from this drop-down menu to add this post to that campaign." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:265 +msgid "To create a new campaign directly from the social media post detail form, start typing the name of the new campaign in the blank :guilabel:`Campaign` field, and select either :guilabel:`Create` or :guilabel:`Create and edit...`." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Drop-down menu options of Create or Create and edit in the Campaign field." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:273 +msgid "Clicking :guilabel:`Create` creates the campaign, which can be edited/customized later." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:275 +msgid "Clicking :guilabel:`Create and edit...` creates the campaign, and reveals a :guilabel:`Create Campaign` pop-up form, wherein the :guilabel:`Campaign Identifier`, :guilabel:`Responsible`, and :guilabel:`Tags` can be instantly configured." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Create campaign pop-up window that appears on a social media post detail form." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:283 +msgid "When all the desired settings have been entered, click :guilabel:`Save & Close` to save the campaign and return to the social media post detail form." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:287 +msgid "When" +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:289 +msgid "Then, in the :guilabel:`When` field, choose either :guilabel:`Send Now` to have Odoo publish the post immediately, or :guilabel:`Schedule later` to have Odoo publish the post at a later date and time." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:293 +msgid "If :guilabel:`Schedule later` is selected, a new :guilabel:`Scheduled Date` field appears. Clicking the empty field reveals a pop-up calendar, in which a future date and time can be designated." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Schedule date pop-up window that appears on social media post detail form in Odoo." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:300 +msgid "After selecting a desired date and time, click :guilabel:`Apply`. Then, Odoo will promptly publish the post at that specific date and time on the pre-detemined social media account(s)." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:304 +msgid "If scheduling a post, the :guilabel:`Post` button at the top of the social media post detail form changes to :guilabel:`Schedule`. Be sure to click :guilabel:`Schedule` after completing the social media post detail form." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:308 +msgid "Doing so, locks in that specific date/time for Odoo to send the post, and it changes the status of the post to :guilabel:`Scheduled`." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:312 +msgid "Push Notification Options" +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:314 +msgid "If one (or multiple) :guilabel:`[Push Notification]` options are chosen in the :guilabel:`Post on` field, a specific :guilabel:`Push Notification Options` section appears at the bottom of the social media post detail form." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Push notification options section on a social media post detail form." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:322 +msgid "It should be noted that *none* of these fields are required." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:324 +msgid "The first field in this section is :guilabel:`Notification Title`. In this field, there is the option to add a custom title to the push notification that will be sent." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:327 +msgid "To designate a specific page on the website that should trigger this push notification, enter that page's URL in the :guilabel:`Target URL` field. Then, once a visitor reaches that specific page, Odoo will display the push notification." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:331 +msgid "Below that field is the option to add a custom :guilabel:`Icon Image` to the push notification. This is an icon that appears beside the push notification." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:334 +msgid "To upload a new image, click the :guilabel:`✏️ (pencil) icon` when hovering over the :guilabel:`Icon Image` camera icon. Doing so reveals a pop-up window, in which the desired icon image can be located on the hard drive, and subsequently uploaded." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:338 +msgid "Once that's complete, Odoo automatically updates the visual preview of how the icon appears on the push notification." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:342 +msgid "Next, if the post is scheduled to be posted later, there is the option to ensure the post is sent in the visitor's timezone, by enabling the :guilabel:`Local Time` option. If enabled, Odoo will send it at the appropriate, pre-determined time, taking the visitor's location into consideration." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:0 +msgid "The Local Time option in the Push Notification Options section of features." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:351 +msgid "Then, there is the :guilabel:`Match all records` field. This field provides the ability to target a specific group of recipients in the database, based on certain criteria, and can be applied to match :guilabel:`all` or :guilabel:`any` of the rules." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:355 +msgid "To utilize this field, click the :guilabel:`+ Add condition` button, which reveals an equation-like rule field." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:358 +msgid "In this equation-like rule field, specifiy the specific criteria Odoo should take into account when sending this post to a particular target audience." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 +msgid "Push notification conditions set up to match a specific amount of records in the database." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:365 +msgid "To add an additional rule, click the :guilabel:`➕ (plus sign) icon` to the far-right of the rule." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:367 +msgid "To add a branch (series of additional rules based on the previous rule, to further specify a target audience), click the unique :guilabel:`branch icon`, located to the right of the :guilabel:`➕ (plus sign) icon`." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:371 +msgid "Lastly, click the :guilabel:`🗑️ (trash can) icon` to delete any rule." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:373 +msgid "The size of the specified target audience of recipients is represented by the number of :guilabel:`Records` displayed beneath the rules." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:377 msgid "Posts page" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:208 -msgid "To see a complete overview of posts, go to Odoo :menuselection:`Social Marketing`, and click :menuselection:`Posts` in the header menu. Here, every post that has been created and posted with Odoo is available." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:379 +msgid "To see a complete overview of posts, go to Odoo :menuselection:`Social Marketing app --> Posts`. Here, on the :guilabel:`Social Posts` page, every post that has been created and posted with Odoo can be seen and accessed." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:212 -msgid "There are four different view options for :guilabel:`Posts` page data: *kanban*, *calendar*, *list*, and *pivot*. The view options are located in the upper right corner of the :guilabel:`Posts` page, beneath the search bar." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:383 +msgid "There are four different view options for the :guilabel:`Social Posts` page data: *kanban*, *calendar*, *list*, and *pivot*." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:218 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:386 +msgid "The view options are located in the upper right corner of the :guilabel:`Posts` page, beneath the search bar." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:391 msgid "Kanban view" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:220 -msgid "By default, Odoo displays the posts in a kanban view. The information on this page can be sorted even further, via the :guilabel:`Filters` and :guilabel:`Group by` drop-down menu." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:393 +msgid "By default, Odoo displays the posts in a kanban view. The information on this page can be sorted even further, via the left sidebar, where all connected social accounts and posts can be quickly seen, accessed, and analyzed." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:397 +msgid "The kanban view is represented by an :guilabel:`inverted bar graph icon` in the upper-right corner." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:0 msgid "Kanban view of the posts page in the Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:227 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:404 msgid "Calendar view" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:229 -msgid "The calendar view option displays a visual representation in a calendar format of when posts were published, or are scheduled to be published. This option provides a clear overview of any planned day, week, or month, and Odoo displays all drafted, scheduled, and published posts." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:406 +msgid "The calendar view option displays a visual representation of posts in a calendar format of when posts were published, or are scheduled to be published. This option provides a clear overview of any planned day, week, or month, and Odoo displays all drafted, scheduled, and published posts." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:411 +msgid "Clicking on a date reveals a blank social media post detail form, in which a social media post can be created, and Odoo will post it on that specific date/time." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:414 +msgid "The calendar view is represented by a :guilabel:`calendar icon` in the upper-right corner." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:0 msgid "Example of the calendar view in Odoo Social Marketing." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:239 -msgid "The list view option is similar to the kanban option, but instead of individual blocks, all the post information is displayed in a clear, list layout. Each line of the list displays the :guilabel:`Social Accounts`, :guilabel:`Message`, and :guilabel:`Status` of every post." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:422 +msgid "The list view option is similar to the kanban option, but instead of individual blocks, all post information is displayed in a clear, list layout. Each line of the list displays the :guilabel:`Social Accounts`, :guilabel:`Message`, and :guilabel:`Status` of every post." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:426 +msgid "There is also a helpful left sidebar that organizes all posts by :guilabel:`Status` and lists all connected :guilabel:`Social Accounts`, as well." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:429 +msgid "The list view is represented by four vertical lines in the upper-right corner." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:0 msgid "View of the list option on the posts page in Odoo Social Marketing." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:247 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:435 msgid "Pivot view" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:249 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:437 msgid "The pivot view option provides a fully customizable grid table, where different measures of data can be added and analyzed." msgstr "" @@ -3053,111 +3709,107 @@ msgstr "" msgid "View of the pivot option on the posts page in Odoo Social Marketing." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:256 -msgid "The pivot view option provides numerous analytical options, allowing for in-depth, detailed analysis of various posts." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:444 +msgid "The pivot view option provides numerous analytical options, allowing for in-depth, detailed analysis of various posts and metrics." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:259 -msgid "Click on any :guilabel:`+ (plus sign) icon` next to a line in the pivot table to reveal more metric options to add to the grid." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:447 +msgid "Click on any :guilabel:`➕ (plus sign) icon` next to a line in the pivot table to reveal more metric options to add to the grid." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:262 -msgid "While in the pivot view, the option to :guilabel:`Insert in Spreadsheet` is available, located to the right of the :guilabel:`Measures` drop-down." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:450 +msgid "While in the pivot view, the option to :guilabel:`Insert in Spreadsheet` is available, located to the right of the :guilabel:`Measures` drop-down menu, in the upper-left corner of the :guilabel:`Social Posts` page." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:265 -msgid "When clicked, a pop-up appears, where the option to add this information to a current spreadsheet is available. The option to create a new spreadsheet for this information on-the-fly is also available in this pop-up, as well." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:454 +msgid "Next to the :guilabel:`Insert in Spreadsheet` are three options, specific to the pivot view." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:269 -msgid "Next to the :guilabel:`Insert in Spreadsheet` are three view options, specific to the pivot view." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:456 +msgid "From left to right, those options are:" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:272 -msgid "From left to right, the options are:" -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:274 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:458 msgid ":guilabel:`Flip Axis`, which switches the *X* and *Y* axis in the grid table." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:275 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:459 msgid ":guilabel:`Expand All`, which expands each line in the grid, revealing more detailed information related to it." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:277 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:461 msgid ":guilabel:`Download`, which, when clicked, instantly downloads the pivot table as a spreadsheet." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:281 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:465 msgid "Visitors" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:283 -msgid "To see a complete overview of all the people who have visited the website(s) connected to the database, navigate to :menuselection:`Social Marketing --> Visitors` in the header menu." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:467 +msgid "To see a complete overview of all the people who have visited the website(s) connected to the database, navigate to :menuselection:`Social Marketing app --> Visitors`." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 msgid "View of the Visitors page in the Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:290 -msgid "Here, Odoo provides a detailed layout of all the visitors' pertinent information in a default kanban view. This same information can be sorted via the :guilabel:`Filters` and :guilabel:`Group By` options." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:474 +msgid "Here, Odoo provides a detailed layout of all the visitors' pertinent information in a default kanban view. If visitors already have contact information in the database, the option to send them an :guilabel:`Email` and/or an :guilabel:`SMS` is available." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:294 -msgid "The visitor data can also be viewed as a list or a graph. Those view options are located in the upper-right corner of the :guilabel:`Visitors` page beneath the search bar." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:478 +msgid "This same visitor data can also be viewed as a list or a graph. Those view options are located in the upper-right corner of the :guilabel:`Visitors` page." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:298 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:482 msgid "Social media page" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:300 -msgid "Go to :menuselection:`Configuration --> Social Media` to see a collection of all social media options: :guilabel:`Facebook`, :guilabel:`LinkedIn`, :guilabel:`Twitter`, and :guilabel:`Push Notifications`." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:484 +msgid "Another way to quickly link social media accounts to Odoo *Social Marketing* can be done on the :guilabel:`Social Media` page. To access the :guilabel:`Social Media` page, navigate to :menuselection:`Social Marketing app --> Configuration --> Social Media`." +msgstr "" + +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:488 +msgid "On the :guilabel:`Social Media` page there is a collection of all social media options, each complete with a :guilabel:`Link account` button: :guilabel:`Facebook`, :guilabel:`Instagram`, :guilabel:`LinkedIn`, :guilabel:`Twitter`, :guilabel:`YouTube`, and :guilabel:`Push Notifications`." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 msgid "View of the social media page in the Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:308 -msgid "If no account has been linked to any particular social media, click :guilabel:`Link Account` to proceed through the linking process." -msgstr "" - -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:312 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:497 msgid "Social accounts page" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:314 -msgid "To see a list of all social accounts linked to the database, go to :menuselection:`Configuration --> Social Accounts`. This page will display the :guilabel:`Medium Name` and the :guilabel:`Social Media` platform it is associated with." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:499 +msgid "To see a list of all social accounts and websites linked to the database, go to :menuselection:`Social Marketing app --> Configuration --> Social Accounts`. This :guilabel:`Social Accounts` display the :guilabel:`Name`, the :guilabel:`Handle/Short Name`, the :guilabel:`Social Media` platform, who it was :guilabel:`Created by`, and the :guilabel:`Company` to which it is associated." msgstr "" #: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:-1 msgid "View of the social accounts page in the Odoo Social Marketing application." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:322 -msgid "To edit/modify any social accounts, simply select the desired account from the list on this page, and proceed to make any adjustments necessary. Don't forget to hit :guilabel:`Save` to secure any changes." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:509 +msgid "To edit/modify any of the social accounts on this page, simply select the desired account from the list on this page, and proceed to make any adjustments necessary." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:327 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:513 msgid "Social streams page" msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:329 -msgid "Navigate to :menuselection:`Configuration --> Social Streams` to reveal a separate page containing all of the social media streams that have been added to the main dashboard of the *Social Marketing* app, accessible via the :guilabel:`Feed` option in the header menu." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:515 +msgid "To view a separate page with all the social media streams that have been added to the main *Social Marketing* dashboard, navigate to :menuselection:`Social Marketing app --> Configuration --> Social Streams`." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:337 -msgid "Here, the social stream information is organized in a list with the :guilabel:`Social Media`, the :guilabel:`Title` of the stream, and the :guilabel:`Type` of the stream (e.g. :guilabel:`Posts`, :guilabel:`Keyword`, etc.)." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:523 +msgid "Here, the social stream information is organized in a list with the :guilabel:`Social Media`, the :guilabel:`Title` of the stream, the :guilabel:`Type` of the stream (e.g. :guilabel:`Posts`, :guilabel:`Keyword`, etc.), who it was :guilabel:`Created by`, and the :guilabel:`Company` to which it is associated." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:341 -msgid "To modify any stream's information, simply click the desired stream from the list, and proceed to make any necessary adjustments. Don't forget to hit :guilabel:`Save` to secure any changes." +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:528 +msgid "To modify any stream's information, simply click the desired stream from the list, and proceed to make any necessary adjustments." msgstr "" -#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:345 +#: ../../content/applications/marketing/social_marketing/essentials/social_essentials.rst:532 msgid ":doc:`/applications/marketing/social_marketing/essentials/social_campaigns`" msgstr "" @@ -3181,6 +3833,10 @@ msgstr "" msgid "In Odoo, surveys are used to collect customer feedback, evaluate the success of a recent event, measure the satisfaction of customers (or employees), and gain more insight into shifting market sentiments." msgstr "" +#: ../../content/applications/marketing/surveys/create.rst:13 +msgid "Getting started" +msgstr "" + #: ../../content/applications/marketing/surveys/create.rst:15 msgid "To begin, open the :guilabel:`Surveys` application and click :guilabel:`Create`. Odoo then redirects the page to a blank survey template form." msgstr "" diff --git a/locale/sources/productivity.pot b/locale/sources/productivity.pot index edf17a4d5..d2dfdbbf6 100644 --- a/locale/sources/productivity.pot +++ b/locale/sources/productivity.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -502,206 +502,432 @@ msgid "Overview" msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:3 -msgid "Get Started with Discuss" +msgid "Get started with Discuss" msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:5 -msgid "Discuss allows you to bring all of your company’s communication together through messages, notes, and chat. Share information, projects, files, prioritize tasks, and stay connected with colleagues and partners throughout applications. Forge better relationships, increase productivity and transparency by promoting a convenient way of communicating." +msgid "Odoo *Discuss* is an internal communication app that allows users to connect through messages, notes, and file sharing, either through a persistent chat window that works across applications, or through the dedicated *Discuss* dashboard." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:13 -msgid "Choose your notifications preference" +#: ../../content/applications/productivity/discuss/overview/get_started.rst:12 +msgid "Choose notifications preference" msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:15 -msgid "Access your *Preferences* and choose how you would like your notifications to be handled." +#: ../../content/applications/productivity/discuss/overview/get_started.rst:14 +msgid "Access user-specific preferences for the *Discuss* app by navigating to :menuselection:`Settings app --> Users --> User --> Preferences tab`." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 -msgid "View of the preferences page for Odoo Discuss" +msgid "View of the Preferences tab for Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:23 -msgid "By default, the field is set as *Handle by Emails* making messages, notes, and notifications where you were mentioned or that you follow, to be sent through email. By choosing *Handle in Odoo*, they are shown in the *Inbox*." +#: ../../content/applications/productivity/discuss/overview/get_started.rst:21 +msgid "By default, the :guilabel:`Notification` field is set as :guilabel:`Handle by Emails`. With this setting enabled, a notification email will be sent by Odoo every time a message is sent from the chatter, a note is sent with an `@` mention (from chatter), or a notification is sent for a record that the user follows. Something that triggers a notification is changing of the stage (if an email\\ is configured to be sent, for example if the task is set to :guilabel:`Done`)." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:24 -msgid "Messages can then be *Marked as Todo*, *Replied*, or *Marked as Read*." +#: ../../content/applications/productivity/discuss/overview/get_started.rst:27 +msgid "By choosing :guilabel:`Handle in Odoo`, the above notifications are shown in the *Discuss* app's *inbox*. Messages can have the following actions taken on them: respond with an emoji by clicking :guilabel:`Add a Reaction`, or reply to the message by clicking on :guilabel:`Reply`. Additional actions may include starring the message by clicking :guilabel:`Marked as Todo`, or pinning the message by selecting :guilabel:`Pin` or even mark the message as unread by selecting :guilabel:`Marked as unread`." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 -msgid "View of an inbox message and its action options in Odoo Discuss" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:30 -msgid "The messages tagged as *Mark as Todo* are also shown in *Starred*, while the ones *Marked as Read* are moved to *History*." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 -msgid "View of messages marked as todo in Odoo Discuss" +msgid "View of an inbox message and its action options in Odoo Discuss." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:38 -msgid "Start Chatting" +msgid "Clicking :guilabel:`Mark as Todo` on a message causes it to appear on the :guilabel:`Starred` page, while clicking :guilabel:`Mark as Read` moves the message to :guilabel:`History`." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:40 -msgid "The first time you log in to your account, OdooBot sends you a message asking for permission to receive desktop notifications to chats. If accepted, you receive push notifications to the messages sent to you despite of where you are in Odoo." +#: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 +msgid "View of messages marked as todo in Odoo Discuss." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:46 +msgid "Start chatting" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:48 +msgid "The first time a user logs in to their account, OdooBot sends a message asking for permission to send desktop notifications for chats. If accepted, the user will receive push notifications on their desktop for the messages they receive, regardless of where the user is in Odoo." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 msgid "View of the messages under the messaging menu emphasizing the request for push\n" -"notifications for Odoo Discuss" +"notifications for Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:50 -msgid "To stop receiving desktop notifications, reset the notifications settings of your browser." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:52 -msgid "To start a chat, click on *New Message* on the *Messaging Menu*, or go to *Discuss* and send a *Direct Message*." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 -msgid "View of discuss’s panel emphasizing the titles channels and direct messages in Odoo Discuss" +#: ../../content/applications/productivity/discuss/overview/get_started.rst:58 +msgid "To stop receiving desktop notifications, reset the notifications settings of the browser." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:60 -msgid "You can also create :doc:`public and private channels `." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:63 -msgid "Mentions in the chat and on the Chatter" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:66 -msgid "To mention a user within a chat or the chatter type *@user-name*; to refer to a channel, type *#channel-name*." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:68 -msgid "A notification is sent to the user mentioned either to his *Inbox* or through email, depending on his settings." +msgid "To start a chat, go to the :menuselection:`Discuss` app and click on the :guilabel:`+ (plus)` icon next to :guilabel:`Direct Messages` or :guilabel:`Channels` in the left menu of the dashboard." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 -msgid "View of a couple of chat window messages for Odoo Discuss" +msgid "View of Discuss's panel emphasizing the titles channels and direct messages in Odoo\n" +"Discuss." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:69 +msgid "A company can also easily create :doc:`public and private channels `." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:73 +msgid "Mentions in the chat and on the chatter" msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:75 -msgid "When a user is mentioned, the search list (list of names) suggests values first based on the task’s followers, and secondly on *Employees*. If the record being searched does not match with either a follower or employee, the scope of the search becomes all partners." +msgid "To mention a user within a chat or the chatter, type `@user-name`; to refer to a channel, type `#channel-name`. The user mentioned will be notified in their *inbox* or through an email, depending on their communication settings." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:80 -msgid "Chat status" +#: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 +msgid "View of a couple of chat window messages for Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:82 -msgid "It is helpful to see what colleagues are up to and how quickly they can respond to messages by checking their *Status*. The status is shown on the left side of a contact’s names on Discuss’ sidebar and on the *Messaging menu*." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:86 -msgid "Green = online" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:87 -msgid "Orange = away" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/get_started.rst:88 -msgid "White = offline" +#: ../../content/applications/productivity/discuss/overview/get_started.rst:84 +msgid "When a user is mentioned, the search list (list of names) suggests values first based on the task's followers, and secondly on employees. If the record being searched does not match with either a follower or employee, the scope of the search becomes all partners." msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:89 +msgid "User status" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:91 +msgid "It is helpful to see what colleagues are up to and how quickly they can respond to messages by checking their *status*. The status is shown on the left side of a contact's name on the :guilabel:`Discuss` sidebar, on the *messaging menu* and when listed in the *chatter*." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:95 +msgid "Green = online" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:96 +msgid "Orange = away" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:97 +msgid "White = offline" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/get_started.rst:98 msgid "Airplane = out of the office" msgstr "" #: ../../content/applications/productivity/discuss/overview/get_started.rst:-1 -msgid "View of the contacts’ status for Odoo Discuss" +msgid "View of the contacts' status for Odoo Discuss." msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:97 -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:65 -msgid ":doc:`team_communication`" +#: ../../content/applications/productivity/discuss/overview/get_started.rst:106 +msgid ":doc:`/applications/productivity/discuss/overview/team_communication`" msgstr "" -#: ../../content/applications/productivity/discuss/overview/get_started.rst:98 -msgid ":doc:`/applications/general/email_communication/email_servers`" +#: ../../content/applications/productivity/discuss/overview/get_started.rst:107 +msgid ":doc:`/applications/productivity/discuss/overview/plan_activities`" msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:3 -msgid "Get Organized by Planning Activities" +msgid "Activities" msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:5 -msgid "When you plan activities you minimize the risk of uncertainties, as you provide clear directions for the course of your next action. In addition to that, you do not leave space for wasteful activities and reduce the chance of having overlapping actions between team members." +msgid "*Activities* are follow-up tasks tied to a record in an Odoo database. Activities can be scheduled on any page of the database that contains a chatter thread, kanban view, list view, or activities view of an application." msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:10 -msgid "Where do I see my schedule activities?" +msgid "Schedule activities" msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:12 -msgid "Access and manage your activities wherever you are in Odoo by the *Activities* menu." +msgid "One way that activities are created is by clicking the :guilabel:`Schedule Activity` button, located at the top of the *chatter* on any record. On the pop-up window that appears, select an :guilabel:`Activity Type` from the drop-down menu." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:17 +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/discuss/overview/plan_activities.rst:21 +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/discuss/overview/plan_activities.rst:24 +msgid "To assign the activity to a different user, select a name from the :guilabel:`Assigned to` drop-down menu. Otherwise, the user creating the activity is automatically assigned." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:27 +msgid "Lastly, feel free to add any additional information in the optional :guilabel:`Log a note...` field." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:30 +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/discuss/overview/plan_activities.rst:34 +msgid "Lastly, click one of the following buttons:" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:36 +msgid ":guilabel:`Schedule`: adds the activity to the chatter under :guilabel:`Planned activities`." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:37 +msgid ":guilabel:`Mark as Done`: adds the details of the activity to the chatter under :guilabel:`Today`. The activity is not scheduled, it is automatically marked as completed." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:39 +msgid ":guilabel:`Done \\& Schedule Next`: adds the task under :guilabel:`Today` marked as done, and opens a new activity window." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:41 +msgid ":guilabel:`Discard`: discards any changes made on the pop-up window." msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 -msgid "View of crm leads page emphasizing the activities menu for Odoo Discuss" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:20 -msgid "Plan activities" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:22 -msgid "Activities can be planned and managed from the chatter by clicking on *Schedule activity*, or through Kanban views." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 -msgid "View of crm leads and the option to schedule an activity for Odoo Discuss" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:31 -msgid "Set your activity types" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:33 -msgid "A number of activities types are available by default in Odoo (call, email, meeting, etc.). However, you can set new ones going to :menuselection:`Settings --> Activity types`." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 -msgid "View of the settings page emphasizing the menu activity types for Odoo Discuss" -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:42 -msgid "If you need to create an activity type with an available calendar, make sure to create it with an *Action to Perform* set as *Meeting*." -msgstr "" - -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:46 -msgid "Recommend next activities" +msgid "View of CRM leads and the option to schedule an activity." msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:48 -msgid "Odoo helps you to plan a flow of activities by allowing you to set *Recommended Next Activities*." +msgid "Depending on the activity type, the :guilabel:`Schedule` button may be replaced by a :guilabel:`Save` button, or an :guilabel:`Open Calendar` button." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:51 +msgid "Scheduled activities are added to the chatter for the record under :guilabel:`Planned activities`." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:57 +msgid "Activities can also be scheduled from the kanban, list, or activities view of an application." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:61 +msgid "Kanban view" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:63 +msgid "Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon, then :guilabel:`Schedule An Activity`, and proceed to fill out the pop-up form." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:0 +msgid "Kanban view of the CRM pipeline and the option to schedule an activity." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:70 +msgid "List view" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:72 +msgid "Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon, then :guilabel:`Schedule An Activity`. If the record already has an activity scheduled, the clock icon may be replaced by a :guilabel:`📞 (phone)` or an :guilabel:`✉️ (envelope)` icon." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:0 +msgid "List view of the CRM pipeline and the option to schedule an activity." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:80 +msgid "Activity view" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:82 +msgid "To open the activity view for an application, select the :guilabel:`🕘 (clock)` icon from the menu bar anywhere in the database. Select any application from the drop-down menu, and click the :guilabel:`🕘 (clock)` icon for the desired app." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:0 +msgid "Activity menu drop down with focus on where to open activity view for CRM." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:90 +msgid "Select a record on which to schedule an activity. Move across the row to find the desired activity type, then click the :guilabel:`+ (plus sign)`." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:0 +msgid "Activity view of the CRM pipeline and the option to schedule an activity." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:98 +msgid "Activity colors, and their relation to an activity's due date, is consistent throughout Odoo, regardless of the activity type, or the view." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:101 +msgid "Activities that appear in **green** indicate a due date sometime in the future." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:102 +msgid "**Yellow** indicates that the activity's due date is today." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:103 +msgid "**Red** indicates that the activity is overdue and the due date has passed." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:105 +msgid "For example, if an activity is created for a phone call, and the due date passes, the activity appears with a red phone in list view, and a red clock on the kanban view." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:109 +msgid "View scheduled activities" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:111 +msgid "To view scheduled activities, open either the :menuselection:`Sales app` or :menuselection:`CRM app` and click the :guilabel:`🕘 (clock)` icon, located to the far-right side of the other view options." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:114 +msgid "Doing so opens the activities menu, showcasing all the scheduled activities for the user, by default. To show all activities for every user, remove the :guilabel:`My Pipeline` filter from the :guilabel:`Search...` bar." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:118 +msgid "To view a consolidated list of activities separated by the application where they were created, and by deadline, click the :guilabel:`🕘 (clock)` icon on the header menu to see the activities for that specific application in a drop-down menu." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:122 +msgid "The possibility to :guilabel:`Add new note` and :guilabel:`Request a Document` appear at the bottom of this drop-down menu, when the :guilabel:`🕘 (clock)` icon on the header menu is clicked." msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 -msgid "View of an activity type form emphasizing the field recommended next activities for Odoo\n" -"Discuss" +msgid "View of CRM leads page emphasizing the activities menu." msgstr "" -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:55 -msgid "Once the respective activity is completed, select *Done & Schedule Next* and next steps are suggested to you." +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:130 +msgid "Configure activity types" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:132 +msgid "To configure the types of activities in the database, go to :menuselection:`Settings app --> Discuss --> Activities --> Activity Types`." msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 -msgid "View of an activity being schedule emphasizing the recommended activities field being\n" -"shown for Odoo Discuss" +msgid "View of the settings page emphasizing the menu activity types." msgstr "" -#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:64 +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:139 +msgid "Doing so reveals the :guilabel:`Activity Types` page, where the existing activity types are found." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:141 +msgid "To edit an existing activity type, select it from the list, then click :guilabel:`Edit`. To create a new activity type, click :guilabel:`Create`." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:144 +msgid "At the top of a blank activity type form, start by choosing a :guilabel:`Name` for the new activity type." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 +msgid "New activity type form." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:152 +msgid "Activity settings" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:155 +#: ../../content/applications/productivity/studio/automated_actions.rst:134 +msgid "Action" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:157 +msgid "The *Action* field specifies the intent of the activity. Some actions trigger specific behaviors after an activity is scheduled." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:160 +msgid "If :guilabel:`Upload Document` is selected, a link to upload a document is added directly to the planned activity in the chatter." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:162 +msgid "If either :guilabel:`Phonecall` or :guilabel:`Meeting` are selected, users have the option to open their calendar to schedule a time for this activity." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:164 +msgid "If :guilabel:`Request Signature` is selected, a link is added to the planned activity in the chatter that opens a signature request pop-up window." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:168 +msgid "The actions available to select on an activity type vary, depending on the applications currently installed in the database." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:172 +msgid "Default user" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:174 +msgid "To automatically assign this activity to a specific user when this activity type is scheduled, choose a name from the :guilabel:`Default User` drop-down menu. If this field is left blank, the activity is assigned to the user who creates the activity." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:179 +msgid "Default summary" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:181 +msgid "To include notes whenever this activity type is created, enter them into the :guilabel:`Default Summary` field." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:185 +msgid "The information in the :guilabel:`Default User` and :guilabel:`Default Summary` fields are included when an activity is created. However, they can be altered before the activity is scheduled or saved." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:190 +msgid "Next activity" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:192 +msgid "To automatically suggest, or trigger, a new activity after an activity has been marked complete, the :guilabel:`Chaining Type` must be set." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:196 +msgid "Suggest next activity" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:198 +msgid "In the :guilabel:`Chaining Type` field, select :guilabel:`Suggest Next Activity`. Upon doing so, the field underneath changes to: :guilabel:`Suggest`. Click the :guilabel:`Suggest` field drop-down menu to select any activities to recommend as follow-up tasks to this activity type." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:202 +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:230 +msgid "In the :guilabel:`Schedule` field, choose a default deadline for these activities. To do so, configure a desired number of :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months`. Then, decide if it should occur :guilabel:`after completion date` or :guilabel:`after previous activity deadline`." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:207 +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:235 +msgid "This :guilabel:`Schedule` field information can be altered before the activity is scheduled." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:209 +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:237 +msgid "When all configurations are complete, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 +msgid "Schedule activity popup with emphasis on recommended activities." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:216 +msgid "If an activity has the :guilabel:`Chaining Type` set to :guilabel:`Suggest Next Activity`, and has activities listed in the :guilabel:`Suggest` field, users are presented with recommendations for activities as next steps." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:221 +msgid "Trigger next activity" +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:223 +msgid "Setting the :guilabel:`Chaining Type` to :guilabel:`Trigger Next Activity` immediately launches the next activity once the previous one is completed." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:226 +msgid "If :guilabel:`Trigger Next Activity` is selected in the :guilabel:`Chaining Type` field, the field beneath changes to: :guilabel:`Trigger`. From the :guilabel:`Trigger` field drop-down menu, select the activity that should be launched once this activity is completed." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:-1 +msgid "Schedule new activity popup with emphasis on Done and launch next button." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:244 +msgid "When an activity has the :guilabel:`Chaining Type` set to :guilabel:`Trigger Next Activity`, marking the activity as `Done` immediately launches the next activity listed in the :guilabel:`Trigger` field." +msgstr "" + +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:249 #: ../../content/applications/productivity/discuss/overview/team_communication.rst:113 msgid ":doc:`get_started`" msgstr "" +#: ../../content/applications/productivity/discuss/overview/plan_activities.rst:250 +msgid ":doc:`team_communication`" +msgstr "" + #: ../../content/applications/productivity/discuss/overview/team_communication.rst:3 msgid "Use channels for team communication" msgstr "" @@ -4083,10 +4309,6 @@ msgstr "" msgid "Define on which records of the model the automated action should be applied. It works the same way as when you apply filters on a model." msgstr "" -#: ../../content/applications/productivity/studio/automated_actions.rst:134 -msgid "Action" -msgstr "" - #: ../../content/applications/productivity/studio/automated_actions.rst:136 msgid "Determine what the automated action should do (server action). There are eight types of action to choose from." msgstr "" diff --git a/locale/sources/sales.pot b/locale/sources/sales.pot index 1b72b57b6..732e4d391 100644 --- a/locale/sources/sales.pot +++ b/locale/sources/sales.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -68,17 +68,18 @@ msgstr "" #: ../../content/applications/sales/point_of_sale/pricing/fiscal_position.rst:16 #: ../../content/applications/sales/point_of_sale/pricing/loyalty.rst:9 #: ../../content/applications/sales/point_of_sale/pricing/pricelists.rst:12 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:52 #: ../../content/applications/sales/point_of_sale/restaurant.rst:20 #: ../../content/applications/sales/point_of_sale/restaurant/bill_printing.rst:10 #: ../../content/applications/sales/point_of_sale/restaurant/kitchen_printing.rst:10 #: ../../content/applications/sales/point_of_sale/restaurant/tips.rst:11 #: ../../content/applications/sales/point_of_sale/shop/barcode.rst:10 #: ../../content/applications/sales/rental.rst:20 +#: ../../content/applications/sales/sales/invoicing/proforma.rst:14 #: ../../content/applications/sales/sales/products_prices/products/product_images.rst:13 -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:23 -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:9 -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:20 -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:13 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:34 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:24 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:14 #: ../../content/applications/sales/subscriptions/closing.rst:31 #: ../../content/applications/sales/subscriptions/upselling.rst:25 msgid "Configuration" @@ -374,35 +375,267 @@ msgid ":doc:`../../../general/in_app_purchase`" msgstr "" #: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:3 -msgid "Send quotations" +msgid "Create and send quotations" msgstr "" #: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:5 -msgid "When you qualify a lead into an opportunity you will most likely need to send them a quotation. You can directly do this in the CRM App with Odoo." +msgid "Once a qualified lead has been converted into an opportunity, the next step is to create and deliver a quotation. This process can be easily handled through Odoo's *CRM* application." msgstr "" -#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:12 +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:9 msgid "Create a new quotation" msgstr "" +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:11 +msgid "To create a new quotation, open the :menuselection:`CRM app`, revealing the :guilabel:`Pipeline` page on the main *CRM* dashboard." +msgstr "" + #: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:14 -msgid "By clicking on any opportunity or lead, you will see a *New Quotation* button, it will bring you into a new menu where you can manage your quote." +msgid "From here, click on any opportunity to open it. Review the existing information and update any fields, if necessary." msgstr "" -#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:21 -msgid "You will find all your quotes to that specific opportunity under the *Quotations* menu on that page." +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:18 +msgid "If a quotation has already been created for this opportunity, it can be found by clicking on the :guilabel:`Quotations` smart button at the top of the top of the form. The number of existing quotations is listed on the smart button, as well." msgstr "" -#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:28 -msgid "Mark them won/lost" +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:22 +msgid "At the top-left of the form, click the :guilabel:`New Quotation` button." msgstr "" -#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:30 -msgid "Now you will need to mark your opportunity as won or lost to move the process along." +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:-1 +msgid "Qualified lead form with New Quotation button emphasized." msgstr "" -#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:33 -msgid "If you mark them as won, they will move to your *Won* column in your Kanban view. If you however mark them as *Lost* they will be archived." +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:29 +msgid "The :guilabel:`Customer` field is **not** required on the opportunity form." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:31 +msgid "However, customer information must be added or linked before a quotation can be sent. If the :guilabel:`Customer` field is left blank on the opportunity, clicking the :guilabel:`New Quotation` button opens a pop-up window with the following options:" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:35 +msgid ":guilabel:`Create a new customer`: creates a new customer record, using any available information provided on the opportunity form." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:37 +msgid ":guilabel:`Link to an existing customer`: opens a drop-down field with existing customer names. Select a name to link this new quotation to an existing customer record." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:39 +msgid ":guilabel:`Do not link to a customer`: the quotation will **not** be linked to a customer, and no changes are made to the customer information." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:42 +msgid "Once this button is clicked, a new quotation form appears. Confirm the information in the top half of the form, and update any missing or incorrect fields:" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:45 +msgid ":guilabel:`Customer`: the company or contact for whom this quotation was created." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:46 +msgid ":guilabel:`Referrer`: if this customer was referred by another customer or contact, select it from the drop-down menu in this field." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:48 +msgid ":guilabel:`Invoice Address`: physical address where the invoice should be sent." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:49 +msgid ":guilabel:`Delivery Address`: physical address where any products should be delivered." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:50 +msgid ":guilabel:`Quotation Template`: if applicable, select a pre-configured :doc:`quotation template ` from this field." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:52 +msgid ":guilabel:`Expiration`: date when this quotation is no longer valid." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:53 +msgid ":guilabel:`Quotation Date`: creation date of draft/sent orders, confirmation date of confirmed orders. Note that this field is only visible if :doc:`Developer mode (debug mode) ` is active." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:56 +msgid ":guilabel:`Recurring Plan`: if this quotation is for a recurring product or subscription, select the recurring plan configuration to be used." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:58 +msgid ":guilabel:`Pricelist`: select a pricelist to be applied to this order." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:59 +msgid ":guilabel:`Payment Terms`: select any applicable payment terms for this quotation." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:66 +msgid "The :guilabel:`Expiration` field automatically populates based on the creation date of the quotation, and the default validity time frame." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:69 +msgid "To update the default validity time frame, navigate to :menuselection:`Sales app --> Configuration --> Settings --> Quotations & Orders` and update the :guilabel:`Default Quotation Validity` field. To disable automatic expiration, enter `0` in this field." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:73 +msgid "When the desired changes are complete, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:75 +msgid "When using a quotation template, the expiration date is based off of the :guilabel:`Quotation Validity` field on the template. To alter the validity date computation on a template, go to :menuselection:`Sales app --> Configuration --> Sales Orders --> Quotation Templates`." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:79 +msgid "Then, click on a template to open it, and update the number in the :guilabel:`Quotation Validity` field." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:83 +msgid "Order lines" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:85 +msgid "After updating the customer, payment, and deadline information on the new quotation, the :guilabel:`Order Lines` tab can be updated with the appropriate product information." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:88 +msgid "To do that, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:90 +msgid "Next, type the name of an item into the :guilabel:`Product` field to search through the product catalog. Then, select a product from the drop-down menu, or create a new one by selecting :guilabel:`Create` or :guilabel:`Create and Edit`." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:94 +msgid "After selecting a product, update the :guilabel:`Quantity`, if necessary. Confirm the information in the remaining fields." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:97 +msgid "To remove a line from the quotation, click the :guilabel:`🗑️ (trash can)` icon." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:99 +msgid "Repeat the steps above until the quotation is complete." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:102 +msgid "Preview and send quotation" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:104 +msgid "To see a preview of the quotation as the customer will see it, click the :guilabel:`Preview` button. Doing so opens a preview in the :guilabel:`Customer Portal`." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:107 +msgid "After reviewing the customer preview, click :guilabel:`Return to edit mode` to return to the quotation form in the backend." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:110 +msgid "When the quotation is ready to deliver to the customer, click the :guilabel:`Send by Email` button." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:112 +msgid "Doing so opens a pop-up window with a pre-configured email message. Information from the quotation, including the contact information, total cost, and quotation title are be imported from the quotation." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:116 +msgid "A PDF of the quotation is added as an attachment to the email." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:119 +msgid "A pre-loaded template is used to create the email message. To alter the template, click the internal link to the right of the :guilabel:`Load template` field, located at the bottom of the email pop-up window." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:123 +msgid "To select a new template, select an option from the :guilabel:`Load template` drop-down menu." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:125 +msgid "Proceed to make any necessary changes to the email, then click :guilabel:`Send`. A copy of the message is added to the *Chatter* of the of the record." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:128 +msgid "After a quotation is sent, the originating opportunity's :guilabel:`Quotations` smart button updates with a new count. This quotation, and all other quotations can be accessed through this smart button at the top of the opportunity in the *CRM* app." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:132 +msgid "Any quotations attached to the opportunity that are confirmed, and have therefore been converted to sales orders, will be deducted from the number listed on the :guilabel:`Quotations` smart button. Instead, the value of the sales order will appear in the :guilabel:`Orders` smart button located in the same control panel." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:138 +msgid "`Quotation templates `_" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:139 +msgid "`Optional products `_" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:140 +msgid "`Quotation deadlines `_" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:143 +msgid "Mark an opportunity won or lost" +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:145 +msgid "In order to keep the pipeline up to date and accurate, opportunities need to be identified as *won* or *lost* once a customer has responded to a quotation." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:148 +msgid "To mark an opportunity as *won* or *lost*, return to the opportunity using the breadcrumbs at the top-left of the quotation form. Or navigate to :menuselection:`CRM app --> Sales --> My Pipeline` and click on the correct opportunity to open it." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:152 +msgid "At the top-left of the form, click on either the :guilabel:`Won` or :guilabel:`Lost` button." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:154 +msgid "If the opportunity is marked *won*, a green :guilabel:`Won` banner is added to the record, and it is moved to the :guilabel:`Won` stage." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:157 +msgid "Marking an opportunity as *lost*, via the :guilabel:`Lost` button opens a :guilabel:`Mark Lost` pop-up window, where a :guilabel:`Lost Reason` can be entered." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:160 +msgid "From the :guilabel:`Lost Reason` drop-down field, choose an existing lost reason. If no applicable reason is available, create a new one by entering it into the :guilabel:`Lost Reason` field, and clicking :guilabel:`Create`." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:165 +msgid "It's best practice to try and use pre-configured :guilabel:`Lost Reason` values as much as possible or to limit the creation of new values only to sales team leads. Using consistent values for this parameter will make pipeline analysis easier and more accurate when filtering for the :guilabel:`Lost Reason` parameter." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:170 +msgid "To set up new values for this field, navigate to :menuselection:`CRM --> Configuration --> Lost Reasons`, and click both :guilabel:`New`and :guilabel:`Save` for each new entry added to the list." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:174 +msgid "Additional notes and comments can be added in the :guilabel:`Closing Note` field." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:176 +msgid "When all the desired information has been entered in the :guilabel:`Mark Lost` pop-up window, click :guilabel:`Mark as Lost`." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:179 +msgid "Upon clicking :guilabel:`Mark as Lost`, the pop-up window disappears, and Odoo returns to the opportunity form, where a new red :guilabel:`Lost` banner is now present in the upper-right corner of the opportunity." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:183 +msgid "Once an opportunity is marked as *lost*, it is no longer considered active, and it is removed from the pipeline." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:186 +msgid "In order to view a *lost* opportunity from the pipeline, click the :guilabel:`down arrow icon` to the right of the search bar, and select either :guilabel:`Lost` or :guilabel:`Archived` from the drop-down menu that appears." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:191 +msgid "While opportunities that have been marked as *lost* are considered *Archived*, be advised that, in order for an opportunity to be included as *lost* in reporting, it **must** be specifically marked as *lost*, not *Archived*." +msgstr "" + +#: ../../content/applications/sales/crm/acquire_leads/send_quotes.rst:196 +msgid "`Manage lost opportunities `_" msgstr "" #: ../../content/applications/sales/crm/optimize.rst:5 @@ -578,27 +811,1005 @@ msgid "Analyze performance" msgstr "" #: ../../content/applications/sales/crm/performance/win_loss.rst:3 -msgid "Check your Win/Loss Ratio" +msgid "Pipeline Analysis" msgstr "" #: ../../content/applications/sales/crm/performance/win_loss.rst:5 -msgid "To see how well you are doing with your pipeline, take a look at the Win/Loss ratio." +msgid "The *CRM* app manages the sales pipeline as leads/opportunities move from stage to stage, origination to sale (**Won**) or archival (**Lost**)." msgstr "" #: ../../content/applications/sales/crm/performance/win_loss.rst:8 -msgid "To access this report, go to your *Pipeline* view under the *Reporting* tab." +msgid "After organizing the pipeline, use the search options and reports available on the *Pipeline Analysis* page to gain insight into the effectiveness of the pipeline and its users." msgstr "" #: ../../content/applications/sales/crm/performance/win_loss.rst:11 -msgid "From there you can filter to which opportunities you wish to see, yours, the ones from your sales channel, your whole company, etc. You can then click on filter and check Won/Lost." +msgid "To access the *Pipeline Analysis* page, go to :menuselection:`CRM app --> Reporting --> Pipeline`." msgstr "" -#: ../../content/applications/sales/crm/performance/win_loss.rst:18 -msgid "You can also change the *Measures* to *Total Revenue*." +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "Open the CRM app and click on the Reporting tab along the top, then click Pipeline." msgstr "" -#: ../../content/applications/sales/crm/performance/win_loss.rst:23 -msgid "You also have the ability to switch to a pie chart view." +#: ../../content/applications/sales/crm/performance/win_loss.rst:20 +msgid "Navigate the pipeline analysis page" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:22 +msgid "Upon accessing the :guilabel:`Pipeline Analysis` page, a bar graph showcasing the leads from the past year automatically populates. The bars represent the number of leads in each stage of the sales pipeline, color-coded to show the month the lead reached that stage." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "The default state of the Pipeline Analysis page is a graph, with many options to change it." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:30 +msgid "The interactive elements of the :guilabel:`Pipeline Analysis` page manipulate the graph to report different metrics in several views. From left-to-right, top-to-bottom, the elements include:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:33 +msgid ":guilabel:`Actions`: represented by the :guilabel:`⚙️ (gear)` icon, located next to the :guilabel:`Pipeline Analysis` page title. When clicked, a drop-down menu appears with three options, each with their own sub-menu: :guilabel:`Knowledge`, :guilabel:`Dashboard`, :guilabel:`Spreadsheet`. (See :ref:`Save and share reports ` for more information)" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:39 +msgid "The :guilabel:`Knowledge` option is for linking to or inserting the graph in a *Knowledge* app article." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:41 +msgid "The :guilabel:`Dashboard` option is for adding the graph to a dashboard in the *Dashboards* app." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:42 +msgid "The :guilabel:`Spreadsheet` option is for linking the graph in a spreadsheet in the *Documents* app." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:44 +msgid ":guilabel:`Search...` bar: shows the filters and groupings currently being applied to the graph. To add new filters/groups, type them into the search bar, or click the :guilabel:`⬇️ (down arrow)` icon, at the end of the bar, to open a drop-down menu of options. (See :ref:`Search Options ` for more information)" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:49 +msgid "In the upper-right corner, there are view options represented by different icons. (See :ref:`View Options ` for more information)" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:52 +msgid ":guilabel:`Graph` view: displays the data in a bar graph. This is the default view." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:53 +msgid ":guilabel:`Pivot` view: displays the data in a customizable, categorized metrics table." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:54 +msgid ":guilabel:`Cohort` view: displays and organizes the data, based on their :guilabel:`Created on` and :guilabel:`Closed Date` week (default), day, month, or year." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:56 +msgid ":guilabel:`List` view: displays the data in a list." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:58 +msgid "Located on the far-left side of the page, beneath the :guilabel:`Pipeline Analysis` page title, there are more configurable filter and view options." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:61 +msgid ":guilabel:`Measures`: opens a drop-down menu of different measurement options that can be seen in the graph, pivot, or cohort view. The :guilabel:`Measure` drop-down menu is not available in the list view. (See :ref:`Measurement Options ` for more information)" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:64 +msgid ":guilabel:`Insert in Spreadsheet`: opens a pop-up window with options for adding a graph or pivot table to a spreadsheet in the *Documents* app or a dashboard in the *Dashboards* app. This option is not available in the cohort or list view." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:68 +msgid "With the graph view selected, the following options are available:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:70 +msgid ":guilabel:`Bar Chart`: switches the graph to a bar chart." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:71 +msgid ":guilabel:`Line Chart`: switches the graph to a line chart." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:72 +msgid ":guilabel:`Pie Chart`: switches the graph to a pie chart." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:73 +msgid ":guilabel:`Stacked`: when selected, the results of each stage of the graph are stacked on top of each other. When not selected, the results in each stage are shown as individual bars." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:75 +msgid ":guilabel:`Descending`: re-orders the stages in the graph in descending order from left-to-right. Click the icon a second time to deselect it. Depending on the search criteria, this option may not be available." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:78 +msgid ":guilabel:`Ascending`: re-orders the stages in the graph in ascending order from left-to-right. Click the icon a second time to deselect it. Depending on the search criteria, this option may not be available." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:82 +msgid "With the pivot view selected, the following options are available:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:84 +#: ../../content/applications/sales/crm/performance/win_loss.rst:326 +msgid ":guilabel:`Flip Axis`: flips the X and Y axis for the entire table." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:85 +#: ../../content/applications/sales/crm/performance/win_loss.rst:327 +msgid ":guilabel:`Expand All`: when additional groupings are selected using the :guilabel:`➕ (plus sign)` icons, this button opens those groupings under every row." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:87 +#: ../../content/applications/sales/crm/performance/win_loss.rst:329 +msgid ":guilabel:`Download xlsx`: downloads the table as an Excel file." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:92 +msgid "Search options" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:94 +msgid "The :guilabel:`Pipeline Analysis` page can be customized with various filters and grouping options." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:96 +msgid "To add new search criteria, type the desired criteria into the search bar, or click the :guilabel:`⬇️ (down arrow)` icon, next to the search bar, to open a drop-down menu of all options. See the sections below for more information on what each option does." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "Clicking on the down arrow next to the search bar opens a menu of filters for the analysis." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:106 +msgid "Filters" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:108 +msgid "The :guilabel:`Filters` section allows users to add pre-made and custom filters to the search criteria. Multiple filters can be added to a single search." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:111 +msgid ":guilabel:`My Pipeline`: show leads assigned to the current user." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:112 +msgid ":guilabel:`Opportunities`: show leads that have been qualified as opportunities." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:113 +msgid ":guilabel:`Leads`: show leads that have yet to be qualified as opportunities." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:114 +msgid ":guilabel:`Active`: show active leads." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:115 +msgid ":guilabel:`Inactive`: show inactive leads." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:116 +msgid ":guilabel:`Won`: show leads that have been marked **Won**." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:117 +msgid ":guilabel:`Lost`: show leads that have been marked **Lost**." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:118 +msgid ":guilabel:`Created On`: show leads that were created during a specific period of time. By default, this is the past year, but it can be adjusted as needed, or removed entirely." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:120 +msgid ":guilabel:`Expected Closing`: show leads that are expected to close (marked **Won**) during a specific period of time." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:122 +msgid ":guilabel:`Date Closed`: show leads that were closed (marked **Won**) during a specific period of time." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:124 +msgid ":guilabel:`Archived`: show leads that have been archived (marked **Lost**)." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:125 +msgid ":guilabel:`Add Custom Filter`: allows the user to create a custom filter with numerous options. (See :ref:`Add Custom Filters and Groups ` for more information)" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:129 +msgid "Group By" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:131 +msgid "The :guilabel:`Group By` section allows users to add pre-made and custom groupings to the search results. Multiple groupings can be added to split results into more manageable chunks." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:135 +msgid "The order that groupings are added affects how the final results are displayed. Try selecting the same combinations in a different order to see what works best for each use case." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:139 +msgid ":guilabel:`Salesperson`: groups the results by the Salesperson to whom a lead is assigned." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:140 +msgid ":guilabel:`Sales Team`: groups the results by the Sales Team to whom a lead is assigned." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:141 +msgid ":guilabel:`City`: groups the results by the city from which a lead originated." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:142 +msgid ":guilabel:`Country`: groups the results by the country from which a lead originated." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:143 +msgid ":guilabel:`Company`: groups the results by the company to which a lead belongs (if multiple companies are activated in the database)." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:145 +msgid ":guilabel:`Stage`: groups the results by the stages of the sales pipeline." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:146 +msgid ":guilabel:`Campaign`: groups the results by the marketing campaign from which a lead originated." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:148 +msgid ":guilabel:`Medium`: groups the results by the medium (Email, Google Adwords, Website, etc.) from which a lead originated." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:150 +msgid ":guilabel:`Source`: groups the results by the source (Search engine, Lead Recall, Newsletter, etc.) from which a lead originated." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:152 +msgid ":guilabel:`Creation Date`: groups the results by the date a lead was added to the database." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:153 +msgid ":guilabel:`Conversion Date`: groups the results by the date a lead was converted to an opportunity." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:155 +msgid ":guilabel:`Expected Closing`: groups the results by the date a lead is expected to close (marked \"Won\")." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:157 +msgid ":guilabel:`Closed Date`: groups the results by the date a lead was closed(marked \"Won\")." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:158 +msgid ":guilabel:`Lost Reason`: groups the results by the reason selected when a lead was marked \"Lost.\"" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:160 +msgid ":guilabel:`Add Custom Group`: allows the user to create a custom group with numerous options. (See :ref:`Adding Custom Filters and Groups ` for more information)" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:164 +msgid "Comparison" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:166 +msgid "The :guilabel:`Comparison` section allows users to add comparisons to the same search criteria over another period of time." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:169 +msgid "This option is only available if the search includes time-based filters, such as :guilabel:`Created On`, :guilabel:`Expected Closing`, or :guilabel:`Date Closed`. While multiple time-based filters can be added at once, only one comparison can be selected at a time." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:174 +msgid ":guilabel:`Previous Period`: adds a comparison to the same search criteria from the previous period." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:176 +msgid ":guilabel:`Previous Year`: adds a comparison to the same search criteria from the previous year." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:179 +msgid "Favorites" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:181 +msgid "The :guilabel:`Favorites` section allows users to save a search for later, so it does not need to be recreated every time." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:184 +msgid "Multiple searches can be saved, shared with others, or even set as the default for whenever the :guilabel:`Pipeline Analysis` page is opened." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:187 +msgid ":guilabel:`Save current search`: save the current search criteria for later." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:189 +msgid ":guilabel:`Default filter`: when saving a search, check this box to make it the default search filter when the :guilabel:`Pipeline Analysis` page is opened." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:191 +msgid ":guilabel:`Shared`: when saving a search, check this box to make it available to other users." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:197 +msgid "Add custom filters and groups" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:199 +msgid "In addition to the pre-made options in the search bar, the :guilabel:`Pipeline Analysis` page can also utilize custom filters and groups." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:202 +msgid "Custom filters are complex rules that further customize the search results, while custom groups display the information in a more organized fashion." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:205 +msgid "**To add a custom filter:**" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:207 +msgid "On the :guilabel:`Pipeline Analysis` page, click the :guilabel:`down arrow` icon next to the :guilabel:`Search...` bar." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:209 +msgid "In the drop-down menu, click :guilabel:`Add Custom Filter`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:210 +msgid "The :guilabel:`Add Custom Filter` pop-up window appears with a default rule (:guilabel:`Country is in _____`) comprised of three unique fields. These fields can be edited to make a custom rule, and multiple rules can be added to a single custom filter." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:213 +msgid "To edit a rule, start by clicking the first field (:guilabel:`Country`), and select an option from the drop-down menu. The first field determines the primary subject of the rule." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:215 +msgid "Next, click the second field, and select an option from the drop-down menu. The second field determines the relationship of the first and third fields, and is usually an **is** or **is not** statement, but can also be **greater than or less than** statements, and more." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:218 +msgid "Finally, click the third field, and select an option from the drop-down menu. The third field determines the secondary subject of the rule." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:220 +msgid "With all three fields selected, the rule is complete." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:222 +msgid "**To add more rules:** click :guilabel:`New Rule` and repeat steps 4-7, as needed." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:223 +msgid "**To delete a rule:** click the :guilabel:`🗑️ (trash)` icon to the right of the rule." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:224 +msgid "**To duplicate an existing rule:** click the :guilabel:`➕ (plus sign)` icon to the right of the rule." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:226 +msgid "**To create more complex rules:** click the :guilabel:`Add branch` icon to the right of the rule. This adds another modifier below the rule for adding an \"all of\" or \"any of\" statement." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "The add branch feature allows the creation of more complex all or any statements for rules." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:233 +msgid "Once all rules have been added, click :guilabel:`Add` to add the custom filter to the search criteria." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:236 +msgid "**To remove a custom filter:** click the :guilabel:`✖️ (x)` icon beside the filter in the search bar." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:239 +msgid "**To add a custom group:**" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:241 +msgid "On the :guilabel:`Pipeline Analysis` page, click the :guilabel:`down arrow` icon next to the search bar." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:243 +msgid "In the drop-down menu that appears, click :guilabel:`Add Custom Group`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:244 +msgid "Scroll through the options in the drop-down menu, and select one or more groups." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:246 +msgid "**To remove a custom group:** click the :guilabel:`✖️ (x)` icon beside the custom group in the search bar." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:252 +msgid "Measurement options" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:254 +msgid "By default, the :guilabel:`Pipeline Analysis` page measures the total :guilabel:`Count` of leads that match the search criteria, but can be changed to measure other items of interest." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:257 +msgid "To change the selected measurement, click the :guilabel:`Measures` button on the top-left of the page, and select one of the following options from the drop-down menu:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:260 +msgid ":guilabel:`Days to Assign`: measures the number of days it took a lead to be assigned after creation." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:262 +msgid ":guilabel:`Days to Close`: measures the number of days it took a lead to be closed (marked **Won**)." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:264 +msgid ":guilabel:`Days to Convert`: measures the number of days it took a lead to be converted to an opportunity." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:266 +msgid ":guilabel:`Exceeded Closing Days`: measures the number of days by which a lead exceeded its Expected Closing date." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:268 +msgid ":guilabel:`Expected MRR`: measures the Expected Recurring Revenue of a lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:269 +msgid ":guilabel:`Expected Revenue`: measures the Expected Revenue of a lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:270 +msgid ":guilabel:`Prorated MRR`: measures the Prorated Monthly Recurring Revenue of a lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:271 +msgid ":guilabel:`Prorated Recurring Revenues`: measures the Prorated Recurring Revenues of a lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:272 +msgid ":guilabel:`Prorated Revenue`: measures the Prorated Revenue of a lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:273 +msgid ":guilabel:`Recurring Revenues`: measures the Recurring Revenue of a lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:274 +msgid ":guilabel:`Count`: measures the total amount of leads that match the search criteria." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:279 +msgid "View options" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:281 +msgid "After configuring filters, groupings, and measurements, the :guilabel:`Pipeline Analysis` page can display the data in a variety of ways. By default, the page uses the graph view, but can be changed to a pivot view, cohort view, or list view." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:285 +msgid "To change the pipeline to a different view, click one of the four view icons, located in the top-right of the :guilabel:`Pipeline Analysis` page." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:290 +msgid "Graph View" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:292 +msgid "The graph view is the default selection for the :guilabel:`Pipeline Analysis` page. It displays the analysis as either a: bar chart, line chart, or pie chart." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:295 +msgid "This view option is useful for quickly visualizing and comparing simple relationships, like the :guilabel:`Count` of leads in each stage, or the leads assigned to each :guilabel:`Salesperson`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:299 +msgid "By default, the graph measures the :guilabel:`Count` of leads in each group, but this can be changed by clicking the :guilabel:`Measures` button, and :ref:`selecting another option ` from the resulting drop-down menu." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "The Graph View displays the analysis as a Bar Chart, Line Chart, or Pie Chart." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:308 +msgid "When using a bar chart in this view, consider deselecting the :guilabel:`Stacked` option, in order to make the breakdown of results more legible." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:311 +#: ../../content/applications/sales/crm/performance/win_loss.rst:512 +msgid "Pivot View" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:313 +msgid "The pivot view displays the results of the analysis as a table. By default, the table groups the results by the stages of the sales pipeline, and measures :guilabel:`Expected Revenue`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:316 +msgid "The pivot view is useful for analyzing more detailed numbers than the graph view can handle, or for adding the data to a spreadsheet, where custom formulas can be set up, like in an Excel file." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "The Pivot View displays the analysis as a table." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:324 +msgid "The three icons at the top-left of the page perform the following functions:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:332 +msgid "The :guilabel:`Stage` grouping cannot be removed, but the measurement can be changed by clicking the :guilabel:`Measures` button, and selecting another option." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:335 +msgid "Cohort View" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:337 +msgid "The cohort view displays the analysis as periods of time (cohorts) that can be set to days, weeks, months, or years. By default, :guilabel:`Week` is selected." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:340 +msgid "This view option is useful specifically for comparing how long it has taken to close leads." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "The Cohort View displays the analysis as individual weeks of the year." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:346 +msgid "From left-to-right, top-to-bottom, the columns in the chart represent the following:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:348 +msgid ":guilabel:`Created On`: rows in this column represent the weeks of the year, in which records matching the search criteria exist." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:351 +msgid "When set to :guilabel:`Week`, a row with the label :guilabel:`W52 2023` means the results occurred in: Week 52 of the Year 2023." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:353 +msgid ":guilabel:`Measures`: the second column in the chart is the measurement of the results. By default, it is set to :guilabel:`Count`, but can be changed by clicking the :guilabel:`Measures` button, and selecting an option from the drop-down menu." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:356 +msgid ":guilabel:`Closed Date - By Day/Week/Month/Year`: this column looks at what percentage of the measured results were closed in subsequent days/weeks/months/years." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:358 +msgid ":guilabel:`Average`: this row provides the average of all other rows in the column." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:360 +msgid "The cohort view can also be downloaded as an Excel file, by clicking the :guilabel:`Download` icon in the top-left of the page." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:363 +#: ../../content/applications/sales/crm/performance/win_loss.rst:537 +msgid "List View" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:365 +msgid "The list view displays a single list of all leads matching the search criteria. Clicking a lead opens the record for closer review. Additional details such as :guilabel:`Country`, :guilabel:`Medium`, and more can be added to the list, by clicking the :guilabel:`Filters` icon in the top-right of the list." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:370 +msgid "This view option is useful for reviewing many records at once." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "The List View displays a single list of all records matching the search criteria." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:376 +msgid "Clicking the :guilabel:`⚙️ (gear)` icon opens the Actions drop-down menu, with options for the following:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:379 +msgid ":guilabel:`Import records`: opens a page for uploading a spreadsheet of data, as well as a template spreadsheet to easily format that data." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:381 +msgid ":guilabel:`Export All`: downloads the list as an xlsx file for Excel." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:382 +msgid ":guilabel:`Knowledge`: inserts a view of, or link to, the list in an article in the *Knowledge* app." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:384 +msgid ":guilabel:`Dashboard`: adds the list to *My Dashboard* in the *Dashboards* app." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:385 +msgid ":guilabel:`Spreadsheet`: links to, or inserts, the list in a spreadsheet in the *Documents* app." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:389 +msgid "On the list view, clicking :guilabel:`New` closes the list, and opens the *New Quotation* page. Clicking :guilabel:`Generate Leads` opens a pop-up window for lead generation. Neither feature is intended to manipulate the list view." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:396 +msgid "Create reports" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:398 +msgid "After understanding how to :ref:`navigate the pipeline analysis page `, the :guilabel:`Pipeline Analysis` page can be used to create and share different reports. Between the pre-made options and custom filter and groupings, almost any combination is possible." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:402 +msgid "Once created, reports can be :ref:`saved to favorites, shared with other users, and/or added to dashboards and spreadsheets `." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:405 +msgid "A few common reports that can be created using the :guilabel:`Pipeline Analysis` page are detailed below." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:411 +msgid "Win/Loss reports" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:413 +msgid "Win/Loss is a calculation of active or previously active leads in a pipeline that were either marked as **Won** or **Lost** over a specific period of time. By calculating opportunities won over opportunities lost, teams can clarify key performance indicators (KPIs) that are converting leads into sales, such as specific teams or team members, certain marketing mediums or campaigns, and so on." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:419 +msgid "\\begin{equation}\n" +"Win/Loss Ratio = \\frac{Opportunities Won}{Opportunities Lost}\n" +"\\end{equation}\n" +"\n" +"" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:424 +msgid "A win/loss report filters the leads from the past year, whether won or lost, and groups the results by their stage in the pipeline. Creating this report requires a custom filter, and grouping the results by :guilabel:`Stage`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "The search criteria for win/loss reports is Created On, Stage, and Active is in true false." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:432 +msgid "Follow the steps below to create a win/loss report:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:434 +msgid "Navigate to :menuselection:`CRM app --> Reporting --> Pipeline`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:435 +msgid "On the :guilabel:`Pipeline Analysis` page, click the :guilabel:`⬇️ (down arrow)` icon, next to the search bar, to open a drop-down menu of filters and groupings." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "The Search menu containing the filters for a basic win/loss report." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:442 +msgid "In drop-down menu that appears, under the :guilabel:`Group By` heading, click :guilabel:`Stage`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:443 +msgid "Under the :guilabel:`Filters` heading, click :guilabel:`Add Custom Filter` to open another pop-up menu." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:445 +msgid "In the :guilabel:`Add Custom Filter` pop-up menu, click on the first field in the :guilabel:`Match any of the following rules:` section. By default, this field displays :guilabel:`Country`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:448 +msgid "Clicking that first field reveals a sub-menu with numerous options to choose from. From this sub-menu, locate and select the :guilabel:`Active` option. Doing so automatically populates the remaining fields." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:452 +msgid "The first field reads: :guilabel:`Active`. The second field reads: :guilabel:`is`. And lastly, the third field reads: :guilabel:`set`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:455 +msgid "In total, the rule reads: :guilabel:`Active is set`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:456 +msgid "Click :guilabel:`New Rule`, change the first field to :guilabel:`Active`, and the last field to :guilabel:`not set`. In total, the rule reads :guilabel:`Active is not set`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:458 +#: ../../content/applications/sales/crm/performance/win_loss.rst:640 +msgid "Click :guilabel:`Add`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "The Add Custom Filter menu showing two rules: (1) Active is set, and (2) Active is not set." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:464 +msgid "The report now displays the total :guilabel:`Count` of leads, whether \"Won\" or \"Lost,\" grouped by their stage in the CRM pipeline. Hover over a section of the report to see the number of leads in that stage." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:-1 +msgid "A basic win/loss report showing all leads whether won or lost grouped by stage." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:473 +msgid "Customize win/loss reports" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:475 +msgid "After :ref:`creating a win/loss report `, consider using the options below to customize the report for different needs." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:479 +msgid "A sales manager might group wins and losses by salesperson, or sales team, to see who has the best conversion rate. Or, a marketing team might group by sources, or medium, to determine where their advertising has been most successful." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:485 +msgid "Filters and groups" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:487 +msgid "To add more filters and groups, click the :guilabel:`⬇️ (down arrow)` icon, next to the search bar, and select one or more options from the drop-down menu." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:490 +msgid "Some useful options include:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:492 +msgid ":guilabel:`Created on`: adjusting this filter to a different period of time, such as the last 30 days, or the last quarter, can provide more timely results." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:494 +msgid ":guilabel:`Add Custom Filter`: clicking this option, and scrolling through the numerous options in the drop-down menu, opens up additional search criteria, like :guilabel:`Last Stage Update` or :guilabel:`Lost Reason`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:497 +msgid ":guilabel:`Add Custom Group > Active`: Clicking :menuselection:`Add Custom Group --> Active` separates the results into **Won** (:guilabel:`true`) or **Lost** (:guilabel:`false`). This shows at what stage leads are being marked **Won** or **Lost**." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:500 +msgid ":guilabel:`Multiple Groupings`: add multiple :guilabel:`Group By` selections to split results into more relevant and manageable chunks." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:503 +msgid "Adding :guilabel:`Salesperson` or :guilabel:`Sales Team` breaks up the total count of leads in each :guilabel:`Stage`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:505 +msgid "Adding :guilabel:`Medium` or :guilabel:`Source` can reveal what marketing avenues generate more sales." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "The Search menu open and the Won and Lost filters highlighted." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:514 +msgid "By default, pivot view groups win/loss reports by :guilabel:`Stage` and measures :guilabel:`Expected Revenue`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:517 +msgid "To flesh out the table:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:519 +msgid "Click the :guilabel:`⬇️ (down arrow)` next to the search bar." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:520 +msgid "In the pop-up menu, replace the :guilabel:`Stage` grouping with something like :guilabel:`Salesperson` or :guilabel:`Medium`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:522 +msgid "Click the :guilabel:`Measures` button and click :guilabel:`Count` to add the number of leads back into the report." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:525 +msgid "Other useful measures for pivot view include :guilabel:`Days to Assign` and :guilabel:`Days to Close`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "A win/loss report in Pivot View displays the data in table form." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:533 +msgid "In pivot view, the :guilabel:`Insert In Spreadsheet` button may be greyed out due to the report containing :guilabel:`duplicate group bys`. To fix this, replace the :guilabel:`Stage` grouping in the search bar with another option." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:539 +msgid "In list view, a win/loss report displays all leads on a single page." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:541 +msgid "To better organize the list, click the :guilabel:`⬇️ (down arrow)` next to the search bar, and add more relevant groupings or re-organize the existing ones. To re-order the nesting, remove all :guilabel:`Group By` options and re-add them in the desired order." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:545 +msgid "To add more columns to the list:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:547 +msgid "Click the :guilabel:`Filters` icon in the top-right of the page." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:548 +msgid "Select options from the resulting drop-down menu. Some useful filters include:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:550 +msgid "**Campaign**: Shows the marketing campaign that originated each lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:551 +msgid "**Medium**: Shows the marketing medium (Banner, Direct, Email, Google Adwords, Phone, Website, etc.) that originated each lead." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:553 +msgid "**Source**: Shows the source of each lead (Newsletter, Lead Recall, Search Engine, etc.)." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "A win/loss report in List View displays all leads in an easy-to-read list." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:562 +msgid "Save and share reports" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:564 +msgid "After :ref:`creating a report `, the search criteria can be saved, so the report does not need to be created again in the future. Saved searches automatically update their results every time the report is opened." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:568 +msgid "Additionally, reports can be shared with others, or added to spreadsheets/dashboards for greater customization and easier access." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:573 +msgid "Save to Favorites" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:575 +msgid "To save a report for later:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:577 +msgid "On the :guilabel:`Pipeline Analysis` page, click the :guilabel:`⬇️ (down arrow)` icon, next to the search bar." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:579 +msgid "In the drop-down menu that appears, under the :guilabel:`Favorites` heading, click :guilabel:`Save current search`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:581 +msgid "In the next drop-down menu that appears, enter a name for the report." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:583 +msgid "Checking the :guilabel:`Default filter` box sets this report as the default analysis when the :guilabel:`Pipeline Analysis` page is accessed." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:585 +msgid "Checking the :guilabel:`Shared` box makes this report available to other users." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:587 +msgid "Finally, click :guilabel:`Save`. The report is now saved under the :guilabel:`Favorites` heading." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "Under the Favorites heading, click Save current search and save the report for later." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:594 +msgid "Add to a Spreadsheet" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:596 +msgid "Inserting a report into a spreadsheet not only saves a copy of the report, it allows users to add charts and formulas like in an Excel file." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:599 +msgid "To save a report as a spreadsheet:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:601 +msgid "**In Graph or Pivot View**:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:603 +msgid "Click the :guilabel:`Insert in spreadsheet` button." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:604 +msgid "In the pop-up menu that appears, click :guilabel:`Confirm`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:606 +msgid "**In Cohort or List View**:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:608 +msgid "Click the :guilabel:`⚙️ (gear)` icon." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:609 +msgid "In the drop-down menu that appears, hover over :guilabel:`Spreadsheet`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:610 +msgid "In the next drop-down menu, click either :guilabel:`Insert in spreadsheet` or :guilabel:`Link in spreadsheet`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:613 +msgid "Saved reports are viewable in the *Documents* app." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "Pivot View reports especially benefit from being inserted in spreadsheets." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:620 +msgid "After modifying a spreadsheet and adding additional formulas, consider then adding the entire spreadsheet to a dashboard. Using this method, the spreadsheet can be added to a public dashboard instead of only :guilabel:`My Dashboard`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:624 +msgid "Click :menuselection:`File --> Add to dashboard`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:625 +msgid "In the pop-up menu that appears, name the spreadsheet and select a :guilabel:`Dashboard Section` to house the report." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:627 +msgid "Click :guilabel:`Create`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:629 +msgid "Add to a Dashboard" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:631 +msgid "Adding a report to a dashboard saves it for later and makes it easy to view alongside the rest of :guilabel:`My Dashboard`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:634 +msgid "To add a report to :guilabel:`My dashboard`:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:636 +msgid "On the :guilabel:`Pipeline Analysis` page, click the :guilabel:`⚙️ (gear)` icon." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:637 +msgid "In the drop-down menu that appears, hover over :guilabel:`Dashboard`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:638 +msgid "In the :guilabel:`Add to my dashboard` drop-down menu, enter a name for the report (by default, it is named :guilabel:`Pipeline`)." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:642 +msgid "To view a saved report:" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:644 +msgid "Return to the main apps page, and navigate to :menuselection:`Dashboards app --> My Dashboard`." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:0 +msgid "To access the saved report, open the Dashboard app and click My Dashboard." +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:652 +msgid ":doc:`../acquire_leads/convert`" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:653 +msgid ":doc:`../acquire_leads/send_quotes`" +msgstr "" + +#: ../../content/applications/sales/crm/performance/win_loss.rst:654 +msgid ":doc:`../pipeline/lost_opportunities`" msgstr "" #: ../../content/applications/sales/crm/pipeline.rst:5 @@ -1134,26 +2345,30 @@ msgid "Set customers" msgstr "" #: ../../content/applications/sales/point_of_sale.rst:54 -msgid "You can create and set customers from an :ref:`open POS session `. Registering your customer is necessary to :doc:`collect their loyalty points and grant them rewards `, automatically apply the :doc:`attributed pricelist `, or :ref:`generate and print an invoice `." +msgid "Registering your customer is necessary to :doc:`collect their loyalty points and grant them rewards `, automatically apply the :doc:`attributed pricelist `, or :ref:`generate and print an invoice `." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:60 -msgid "To access the list of customers, click :guilabel:`Customer` on the POS interface. Then, select a customer or create a new one by clicking :guilabel:`Create`, completing the form, and saving." +#: ../../content/applications/sales/point_of_sale.rst:59 +msgid "You can create customers from an :ref:`open POS session ` by clicking :menuselection:`Customer --> Create`, and filling in the contact information. You can also create customers from the backend by going to :menuselection:`Point of Sale --> Orders --> Customers` and clicking :guilabel:`New`. Then, fill in the information and save." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:66 +#: ../../content/applications/sales/point_of_sale.rst:64 +msgid "To set a customer during an order, access the list of customers by clicking :guilabel:`Customer` on the POS interface. You can also set a customer at the payment screen by clicking :guilabel:`Customer`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale.rst:71 msgid "Customer notes" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:68 +#: ../../content/applications/sales/point_of_sale.rst:73 msgid "You can add **customer notes** about specific products directly from an open :ref:`POS session `. For instance, to provide cleaning and maintenance tips. They can also be used to track a customer's particular request, such as not wanting the product to be assembled for them." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:72 +#: ../../content/applications/sales/point_of_sale.rst:77 msgid "To do so, select a product and click :guilabel:`Customer Note` on the pad. Doing so opens a pop-up window in which you can add or modify content for the note." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:76 +#: ../../content/applications/sales/point_of_sale.rst:81 msgid "Product notes from an :doc:`imported SO ` are displayed identically in the cart." msgstr "" @@ -1161,7 +2376,7 @@ msgstr "" msgid "Customer note button and notes (SO and POS session) on products in the cart" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:82 +#: ../../content/applications/sales/point_of_sale.rst:87 msgid "Customer notes appear on customers' receipts and invoices similarly to how they appear in the cart, under the related product." msgstr "" @@ -1169,35 +2384,35 @@ msgstr "" msgid "Customer receipt with notes from an SO and from the customer note feature" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:91 +#: ../../content/applications/sales/point_of_sale.rst:96 msgid "Return and refund products" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:93 +#: ../../content/applications/sales/point_of_sale.rst:98 msgid "To return and refund a product," msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:95 +#: ../../content/applications/sales/point_of_sale.rst:100 msgid ":ref:`start a session ` from the **POS dashboard**;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:96 +#: ../../content/applications/sales/point_of_sale.rst:101 msgid "click :guilabel:`Refund` and select the corresponding order;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:97 +#: ../../content/applications/sales/point_of_sale.rst:102 msgid "select the product and the quantity to refund using the keypad;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:98 +#: ../../content/applications/sales/point_of_sale.rst:103 msgid "click :guilabel:`Refund` to go back to the previous screen;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:99 +#: ../../content/applications/sales/point_of_sale.rst:104 msgid "once the order is completed, click :guilabel:`Payment` to proceed to the refund;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:100 +#: ../../content/applications/sales/point_of_sale.rst:105 msgid "click :guilabel:`Validate` and :guilabel:`New Order` to move on to the next customer." msgstr "" @@ -1205,19 +2420,19 @@ msgstr "" msgid "refund view from a POS" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:106 +#: ../../content/applications/sales/point_of_sale.rst:111 msgid "You can filter the **orders list** by :guilabel:`Receipt Number`, :guilabel:`Date` or :guilabel:`Customer` using the search bar." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:108 +#: ../../content/applications/sales/point_of_sale.rst:113 msgid "You can also refund a product by selecting the returned product from an open session, and setting a negative quantity that equals the number of returned products. To do so, click :guilabel:`Qty` and :guilabel:`+/-`, followed by the quantity of returned products." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:115 +#: ../../content/applications/sales/point_of_sale.rst:120 msgid "Manage the cash register" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:117 +#: ../../content/applications/sales/point_of_sale.rst:122 msgid "To add or take out cash from the register, click the **menu icon** in the upper right corner of your screen and :guilabel:`Cash In/Out`." msgstr "" @@ -1226,31 +2441,31 @@ msgid "Dropdown menu to close a POS session, reach the backend, add or take cash "orders" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:124 +#: ../../content/applications/sales/point_of_sale.rst:129 msgid "Doing so opens a pop-up window on which you can select :guilabel:`Cash In` or :guilabel:`Cash Out`, enter the amount and the reason, and click :guilabel:`Confirm`." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:130 +#: ../../content/applications/sales/point_of_sale.rst:135 msgid "Close the POS session" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:132 +#: ../../content/applications/sales/point_of_sale.rst:137 msgid "To close your session, click the **menu icon** in the upper right corner of your screen and :guilabel:`Close Session`." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:135 +#: ../../content/applications/sales/point_of_sale.rst:140 msgid "Doing so opens the :guilabel:`Closing Control` pop-up screen. From this screen, you can retrieve various information:" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:138 +#: ../../content/applications/sales/point_of_sale.rst:143 msgid "the number of orders made and the total amount made during the session;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:139 +#: ../../content/applications/sales/point_of_sale.rst:144 msgid "the expected amounts grouped by payment method." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:141 +#: ../../content/applications/sales/point_of_sale.rst:146 msgid "Before closing this window, count your cash using the calculator icon. Doing so opens a pop-up window that computes the total amount in the cash drawer depending on the coins and bills counted and added manually. Then, click :guilabel:`Confirm` or :guilabel:`Discard` to close the window. The computed amount is set in the :guilabel:`Counted` column, and the :guilabel:`Money Details` are specified in the **Notes** section." msgstr "" @@ -1258,27 +2473,27 @@ msgstr "" msgid "How to close a POS session." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:150 +#: ../../content/applications/sales/point_of_sale.rst:155 msgid "Once you are done controlling the amounts, click :guilabel:`Close Session` to close and go back to the **POS dashboard**." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:154 +#: ../../content/applications/sales/point_of_sale.rst:159 msgid "To reach the backend without closing the session, click :guilabel:`Backend` on the dropdown menu." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:156 +#: ../../content/applications/sales/point_of_sale.rst:161 msgid "To abort, click :guilabel:`Discard` on the pop-up window." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:157 +#: ../../content/applications/sales/point_of_sale.rst:162 msgid "Depending on your setup, you might only be allowed to close a session if the expected cash revenue equals the counted cash. To close it anyway, click :guilabel:`Ok` on the :guilabel:`Payments Difference` screen." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:162 +#: ../../content/applications/sales/point_of_sale.rst:167 msgid "It is strongly advised to close your POS session at the end of each day." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:163 +#: ../../content/applications/sales/point_of_sale.rst:168 msgid "To look at all your previous sessions, go to :menuselection:`Point of Sale --> Orders --> Sessions`." msgstr "" @@ -2815,7 +4030,7 @@ msgstr "" #: ../../content/applications/sales/point_of_sale/pricing/pricelists.rst:3 #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:38 -#: ../../content/applications/sales/subscriptions/products.rst:80 +#: ../../content/applications/sales/subscriptions/products.rst:108 msgid "Pricelists" msgstr "" @@ -3038,62 +4253,50 @@ msgid "Invoices" msgstr "" #: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:42 -msgid "In Point of Sale, you can issue and print invoices upon payment at the cash register or retrieve all the past invoiced orders." +msgid "Point of Sale allows you to issue and print invoices for :ref:`registered customers ` upon payment and retrieve all past invoiced orders." msgstr "" #: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:46 -msgid "Set a customer" +msgid "An invoice created in a POS creates an entry into the corresponding :ref:`accounting journal `, previously :ref:`set up `." msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:48 -msgid "First, you need to open a session and set your customer. Open the **POS interface** by going to :menuselection:`Point of Sale --> New session --> Open session`. Then, click :guilabel:`Customer` to access the list of **customers**." +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:54 +msgid "To define what journals will be used for a specific POS, go to the :ref:`POS' settings ` and scroll down to the accounting section. Then, you can determine the accounting journals used by default for orders and invoices in the :guilabel:`Default Journals` section." msgstr "" #: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:-1 -msgid "customer selection and creation button" +msgid "accounting section in the POS settings" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:55 -msgid "From there, you can either set an existing customer by clicking their name or create a new one by clicking :guilabel:`Create`. Doing so opens a customer creation form to fill in with their information. Click :guilabel:`Save` to validate and set this new customer." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:60 -msgid "You can also **edit** a customer's information by clicking :guilabel:`Details`." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:61 -msgid "If you did not set your customer during the order, you can do so at the payment screen by clicking :guilabel:`Customer`." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:65 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:63 msgid "Invoice a customer" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:67 -msgid "Once an order is done, click :guilabel:`Payment` to move to the **payment screen**. Click :guilabel:`Invoice` underneath the customer's name to enable issuing and printing invoices upon payment." +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:65 +msgid "Upon processing a payment, click :guilabel:`Invoice` underneath the customer's name to issue an invoice for that order." msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:-1 -msgid "button to generate an invoice in POS" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:74 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:68 msgid "Select the payment method and click :guilabel:`Validate`. The **invoice** is automatically issued and ready to be downloaded and/or printed." msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:78 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:72 +msgid "To be able to issue an invoice, a :ref:`customer ` must be selected." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:75 msgid "Retrieve invoices" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:80 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:77 msgid "To retrieve invoices from the **POS dashboard**," msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:82 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:79 msgid "access all orders made through your POS by going to :menuselection:`Point of Sale --> Orders --> Orders`;" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:84 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:81 msgid "to access an order's invoice, open the **order form** by selecting the order, then click :guilabel:`Invoice`." msgstr "" @@ -3101,19 +4304,19 @@ msgstr "" msgid "invoice smart button from an order form" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:91 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:88 msgid "**Invoiced orders** can be identified by the :guilabel:`Invoiced` status in the :guilabel:`Status` column." msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:93 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:90 msgid "You can filter the list of orders to invoiced orders by clicking :guilabel:`Filters` and :guilabel:`Invoiced`." msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:97 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:94 msgid "QR codes to generate invoices" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:99 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:96 msgid "Customers can also request an invoice by scanning the **QR code** printed on their receipt. Upon scanning, they must fill in a form with their billing information and click :guilabel:`Get my invoice`. On the one hand, doing so generates an invoice available for download. On the other hand, the order status goes from :guilabel:`Paid` or :guilabel:`Posted` to :guilabel:`Invoiced` in the Odoo backend." msgstr "" @@ -3121,7 +4324,7 @@ msgstr "" msgid "order status change" msgstr "" -#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:108 +#: ../../content/applications/sales/point_of_sale/receipts_invoices.rst:105 msgid "To use this feature, you have to enable QR codes on receipts by going to :menuselection:`Point of Sale --> Configuration --> Settings`. Then, select the POS in the :guilabel:`Point of Sale` field, scroll down to the :guilabel:`Bills & Receipts` section and enable :guilabel:`Use QR code on ticket`." msgstr "" @@ -3701,11 +4904,11 @@ msgid ":guilabel:`Lot & Serial Number(s)` are :guilabel:`required` on tracked pr msgstr "" #: ../../content/applications/sales/point_of_sale/shop/serial_numbers.rst:59 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers`" msgstr "" #: ../../content/applications/sales/point_of_sale/shop/serial_numbers.rst:60 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/lots`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots`" msgstr "" #: ../../content/applications/sales/rental.rst:3 @@ -3983,7 +5186,7 @@ msgid ":doc:`setup`" msgstr "" #: ../../content/applications/sales/sales/amazon_connector/features.rst:67 -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:115 +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:155 msgid ":doc:`manage`" msgstr "" @@ -4040,7 +5243,7 @@ msgid "Keep in mind that the customer is notified by email about the delivery, a msgstr "" #: ../../content/applications/sales/sales/amazon_connector/manage.rst:54 -msgid ":doc:`../../../inventory_and_mrp/inventory/shipping/setup/third_party_shipper`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper`" msgstr "" #: ../../content/applications/sales/sales/amazon_connector/manage.rst:59 @@ -4124,113 +5327,181 @@ msgid "It is also possible to perform reporting on a per-marketplace basis in a msgstr "" #: ../../content/applications/sales/sales/amazon_connector/manage.rst:147 -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:114 +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:154 msgid ":doc:`features`" msgstr "" #: ../../content/applications/sales/sales/amazon_connector/setup.rst:3 -msgid "Configure Amazon Connector in Odoo" +msgid "Amazon Connector configuration" msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:6 -msgid "Register your Amazon account in Odoo" +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:5 +msgid "Odoo allows users to register an Amazon seller account in the database, but the user **must** have a paid Amazon Seller account prior to completing the configuration." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:10 -msgid "To register your seller account in Odoo, navigate to :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> Amazon Accounts` and click on :guilabel:`CREATE`." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:8 +msgid "Set up a paid Seller account on Amazon by first logging into the Amazon platform, and navigating to :menuselection:`Account \\& Lists --> Start a Selling Account` from the drop-down menu located in the header section." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:13 -msgid "Choose a meaningful name for your account (e.g. `Europe`), and select your :guilabel:`Sign-up Marketplace`. This is the original sign-up marketplace of your seller account (e.g. if you created your account on Amazon Germany, your sign-up marketplace will be `amazon.de`)" +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:12 +msgid "Then on the :guilabel:`Sell with Amazon` page, follow the sign-up process and finally proceed to follow the instructions below to register and link that Amazon Seller account in Odoo." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:17 -msgid "Upon saving, a button to :guilabel:`link with Amazon` appears. Click on it to be redirected to the Amazon login page, or directly to the consent page if you are already logged in. There, confirm that you want Amazon to give Odoo access to your account and related data." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:16 +msgid "`Sell with Amazon `_" msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:21 -msgid "Amazon redirects you to Odoo, with your account registered." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:19 +msgid "Connect Amazon Seller account to Odoo" msgstr "" #: ../../content/applications/sales/sales/amazon_connector/setup.rst:23 -msgid "Once the account is registered, the marketplaces available to this account are synchronized and listed under the :guilabel:`Marketplaces` tab. If you wish, you can remove some items from the list of synchronized marketplaces to disable their synchronization." +msgid "To connect an Amazon Seller account in Odoo, navigate to :menuselection:`Sales app --> Configuration --> Settings --> Connectors section`, activate the :guilabel:`Amazon Sync` feature, and click :guilabel:`Save`." msgstr "" #: ../../content/applications/sales/sales/amazon_connector/setup.rst:27 -msgid "Additionally, you can configure the account to automatically synchronize the available quantity of your product present in your offers. To do so, check the :guilabel:`FBM Stock Synchronization` box. This will automatically send to Amazon the current available quantities of products in Odoo at regular intervals. You'll then need to :ref:`match database products in Amazon ` for Odoo to know which products needs to be send, as well as the Amazon SKU used to recognize them." +msgid "Then, return to :menuselection:`Sales app --> Configuration --> Settings --> Connectors section`, and click on the :guilabel:`Amazon Accounts` link under the :guilabel:`Amazon Sync` setting." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:-1 +msgid "The Amazon Accounts link beneath the Amazon Sync settings in Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/amazon_connector/setup.rst:34 -msgid "Match database products in Amazon" +msgid "Doing so reveals a separate :guilabel:`Amazon Accounts` page. From here, click :guilabel:`New` to create and link a new Amazon account." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:36 -msgid "When an Amazon order is synchronized, up to three sales order items are created in Odoo for each product sold on Amazon: one for the marketplace product, one for the shipping charges (if any) and one for the gift wrapping charges (if any)." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:37 +msgid "On the blank :guilabel:`Amazon Account` form page, start by choosing a name for the account (e.g. `American Marketplace`). Then, in the :guilabel:`Credentials` tab, select the marketplace on which the seller account was initially created from the :guilabel:`Home Marketplace` drop-down menu." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:42 -msgid "The selection of a database product for a sales order item is done by matching its **internal reference** with the **SKU** for marketplace items, the **shipping code** for delivery charges, and the **gift wrapping** code for gift wrapping charges." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:-1 +msgid "A typical Amazon Account form page in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:46 -msgid "For marketplace products, pairings are saved as **Amazon Offers** which are listed under the **Offers** stat button on the account form. Offers are automatically created when the pairing is established and are used for subsequent orders to lookup SKUs. If no offer with a matching SKU is found, :ref:`the internal reference is used instead `." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:45 +msgid "After saving, the field in the :guilabel:`Credentials` tab is replaced by a :guilabel:`Link with Amazon` button." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:-1 +msgid "A typical Amazon Account form page and Link with Amazon button in Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/amazon_connector/setup.rst:52 -msgid "It is possible to force the pairing of a marketplace item with a specific product by changing either the product or the SKU of an offer. The offer can be manually created if it was not automatically done yet. This is useful if you do not use the internal reference as the SKU or if you sell the product under different conditions." +msgid "Clicking that button redirects to either the Amazon login page, or directly to the required consent page, if the user is already logged in to Amazon." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:58 -msgid "When synchronizing the available quantity of products, only :guilabel:`Storable Products` are synchronized." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:55 +msgid "On the login page, log in to the desired Amazon seller account." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:61 -msgid "If no database product with a matching internal reference is found for a given SKU or gift wrapping code, a default database product **Amazon Sale** is used. The same is done with the default product **Amazon Shipping** and the shipping code." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:57 +msgid "On the consent page, confirm that Amazon is allowed to give Odoo access to the account and related data." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:66 -msgid "To modify the default products, activate the :ref:`developer mode ` and navigate to :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> Default Products`." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:60 +msgid "Upon confirmation, Amazon returns the user to Odoo, and the account has been registered." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:71 -msgid "Configure taxes of products" +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:62 +msgid "With the Amazon account successfully registered, the marketplaces available to this specific account are synchronized with Odoo and listed under the :guilabel:`Marketplaces` tab." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:73 -msgid "To allow for tax reporting of Amazon sales with Odoo, the taxes applied to the sales order items are those set on the product or determined by the fiscal position. Make sure to have set the correct taxes on your products in Odoo or to have it done by a fiscal position, to avoid discrepancies in the subtotals between Seller Central and Odoo." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:65 +msgid "If desired, remove items from the list of synchronized marketplaces to disable synchronization." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:79 -msgid "As Amazon does not necessarily apply the same taxes as those configured in Odoo, it may happen that order totals differ by a few cents from that on Seller Central. Those differences can be resolved with a write-off when reconciling the payments in Odoo." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:68 +msgid "Amazon orders in Odoo" msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:86 -msgid "Add a new marketplace" +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:70 +msgid "When an Amazon order is synchronized, up to three line items are created on the sales order in Odoo. Each one represents a product sold on Amazon: one for the product that was sold on Amazon Marketplace, one for the shipping charges (if any), and one for the gift wrapping charges (if any)." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:76 +msgid "The selection of a database product for a sales order item is done by matching its :guilabel:`Internal Reference` (a customizable product reference idenifier in Odoo, like `FURN001`) with the Amazon *SKU* for marketplace items, the Amazon *Shipping Code* for delivery charges, and the Amazon *Gift Wrapping* code for gift wrapping charges." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:81 +msgid "For marketplace products, pairings are saved as *Amazon Offers*, which are listed under the :guilabel:`Offers` smart button on the account form." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:-1 +msgid "The Amazon Offers smart button on the account form in Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/amazon_connector/setup.rst:88 -msgid ":ref:`All marketplaces are supported by the Amazon Connector `, but recently created ones might be missing from your database. To add a new marketplace, proceed as follows:" +msgid "Offers are automatically created when the pairing is established, and they're used for subsequent orders to lookup SKUs. If no offer with a matching SKU is found, :ref:`the internal reference is used instead `." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:92 +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:93 +msgid "It's possible to force the pairing of a marketplace item with a specific product, by changing either the product or the SKU of an offer to ensure they match. The offer can be manually created if it was not automatically done yet." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:97 +msgid "This is useful if the internal reference is not used as the SKU, or if the product sells under different conditions." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:100 +msgid "If no database product with a matching internal reference is found for a given Amazon SKU or gift wrapping code, then a default database product, *Amazon Sale*, is used. The same is done with the default product *Amazon Shipping* if no database product is found for a given Amazon shipping code." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:105 +msgid "To modify default products, activate the :ref:`developer mode `, and navigate to :menuselection:`Sales app --> Configuration --> Settings --> Connectors --> Amazon Sync --> Default Products`." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:110 +msgid "Product tax configuration" +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:112 +msgid "To allow for tax reporting of Amazon sales with Odoo, the taxes applied to the sales order items are those set on the product, or determined by the fiscal position." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:115 +msgid "Make sure to have the correct taxes set on your products in Odoo, or have it done by a fiscal position, to avoid discrepancies in the subtotals between *Amazon Seller Central* and Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:119 +msgid "As Amazon does not necessarily apply the same taxes as those configured in Odoo, it may happen that order totals differ by a few cents between Odoo and *Amazon Seller Central*. Those differences can be resolved with a write-off when reconciling the payments in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:126 +msgid "Add a new marketplace" +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:128 +msgid "All marketplaces are supported by the Amazon Connector. To add a new marketplace, proceed as follows:" +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:131 #: ../../content/applications/sales/sales/ebay_connector/setup.rst:118 msgid "Activate the :ref:`developer mode `." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:93 -msgid "Go to :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> Amazon Marketplaces`." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:132 +msgid "Go to :menuselection:`Sales app --> Configuration --> Settings --> Connectors --> Amazon Sync --> Amazon Marketplaces`." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:95 -msgid "Create a new marketplace record. Enter the :guilabel:`Marketplace ID` and select the :guilabel:`Amazon Region` for your marketplace as described in the `Amazon Documentation for marketplace IDs and regions `_, and the :guilabel:`Seller Central URL` as described in the `Amazon Documentation for seller central URLs `_." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:134 +msgid "Click :guilabel:`New` to create a new marketplace record." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:101 -msgid "Set the name of the record to `Amazon.` to easily retrieve it (e.g.: **Amazon.se**). The :guilabel:`API Identifier`, the :guilabel:`Region` and the :guilabel:`Seller Central URL` fields should respectively hold the *MarketplaceId*, the selected Amazon region and the *Seller Central URL* values from the Amazon Documentation." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:135 +msgid "Enter the Marketplace ID in the :guilabel:`API Idenifier` field, and select the :guilabel:`Amazon Region` for your marketplace as described in the `Amazon Documentation for marketplace IDs and regions `_, and the :guilabel:`Seller Central URL` as described in the `Amazon Documentation for seller central URLs `_." msgstr "" -#: ../../content/applications/sales/sales/amazon_connector/setup.rst:105 -msgid "Once the marketplace is saved, update the Amazon Account configuration by going to :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> Amazon Accounts`. Open the account on which you wish to use the new marketplace, go to the :guilabel:`Marketplaces` tab and click on :guilabel:`Update available marketplaces` (an animation should confirm the success of the operation). Newly added marketplaces are automatically added to the list of synchronized marketplaces. If the new marketplace is not added to the list, it means that it is either incompatible or unavailable for your seller account." +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:140 +msgid "Set the :guilabel:`Name` of the record to `Amazon.` to easily retrieve it (e.g. `Amazon.se`). The :guilabel:`API Identifier`, the :guilabel:`Region` and the :guilabel:`Seller Central URL` fields should respectively hold the *Marketplace ID*, the selected Amazon region, and the *Seller Central URL* values from the Amazon Documentation." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:144 +msgid "Once the marketplace is saved, update the Amazon Account configuration by going to :menuselection:`Sales app --> Configuration --> Settings --> Connectors --> Amazon Sync --> Amazon Accounts`." +msgstr "" + +#: ../../content/applications/sales/sales/amazon_connector/setup.rst:147 +msgid "Select the account on which to use the new marketplace, go to the :guilabel:`Marketplaces` tab, and click on :guilabel:`Update available marketplaces`. An animation should confirm the success of the operation. Newly added marketplaces are automatically added to the list of synchronized marketplaces. If the new marketplace is not added to the list, it means that it is either incompatible or unavailable for the seller account." msgstr "" #: ../../content/applications/sales/sales/ebay_connector.rst:5 @@ -4458,258 +5729,575 @@ msgid "With a down payment, the buyer pays a portion of the total amount owed wh msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:13 -msgid "Initial down payment request" +msgid "Create invoices" msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:15 msgid "When a sales order is confirmed, the option to create an invoice becomes available, via the :guilabel:`Create Invoice` button, located in the upper-left corner of the sales order form. When clicked, a :guilabel:`Create invoices` pop-up appears." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:20 -msgid "Invoices are automatically created in drafts, so they can be reviewed before validation." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 +msgid "Create invoices pop-up form that appears in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:22 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:24 +msgid "Invoices are automatically created as drafts, so they can be reviewed before validation." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:26 msgid "On the :guilabel:`Create invoices` pop-up, there are 3 options to choose from in the :guilabel:`Create Invoice` field:" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:27 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:29 msgid ":guilabel:`Regular invoice`" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:27 -msgid "If :guilabel:`Regular Invoice` is selected the other fields disappear, as they only pertain to down payment configurations." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:29 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:30 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:42 msgid ":guilabel:`Down payment (percentage)`" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:30 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:31 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:43 msgid ":guilabel:`Down payment (fixed amount)`" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:32 -msgid "In terms of a down payment, it can either be a fixed amount or a percentage of the total amount." -msgstr "" - #: ../../content/applications/sales/sales/invoicing/down_payment.rst:34 -msgid "Once the desired down payment option is selected in the :guilabel:`Create Invoice` field, designate the desired amount (either as a percentage or fixed amount) in the :guilabel:`Down Payment Amount` field." +msgid "If :guilabel:`Regular Invoice` is selected, the other fields disappear, as they only pertain to down payment configurations." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:38 -msgid "Then, select the appropriate income account for the invoice in the :guilabel:`Income Account` field, and add a tax amount, if necessary, in the :guilabel:`Customer Taxes` field. These settings will be reused for future down payments." +msgid "Initial down payment request" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:40 +msgid "On the :guilabel:`Create invoices` pop-up form, the down payment options are:" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:45 +msgid "Once the desired down payment option is selected in the :guilabel:`Create Invoice` field on the pop-up form, designate the desired amount, either as a percentage or a fixed amount, in the :guilabel:`Down Payment Amount` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:49 +msgid "Then, select the appropriate income account for the invoice in the :guilabel:`Income Account` field. Next, select a tax amount, if necessary, in the :guilabel:`Customer Taxes` drop-down field." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "How to configure a down payment on Odoo Sales." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:47 -msgid "When a down payment is first requested, a new product called :guilabel:`Down payment` is created. This product is registered as a :guilabel:`Service` product, with an invoicing policy of :guilabel:`Ordered quantities`. This product can be edited and modified at any time." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:52 -msgid "If :guilabel:`Delivered quantities` is chosen as the invoicing policy, an invoice will **not** be able to be created." +msgid "A create invoices pop-up form with down payment fields filled in with information." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:56 -msgid "Request a 50% down payment" +msgid "Once all fields are filled in with the desired information, click the :guilabel:`Create Draft Invoice` button. Upon clicking this button, Odoo reveals the :guilabel:`Customer Invoice Draft`." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:58 -msgid "For the following example, the flow involves a 50% amount down payment on a product with :guilabel:`Ordered quantities` as the invoicing policy." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:62 -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:184 -msgid ":doc:`/applications/sales/sales/invoicing/invoicing_policy`" -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:64 -msgid "When the order is confirmed (via the :guilabel:`Confirm` button), it's time to create/view the invoice, by clicking :guilabel:`Create Invoice`." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:67 -msgid "Then, on the :guilabel:`Create invoices` pop-up window that appears, select :guilabel:`Down payment (percentage)`, and type `50` in the :guilabel:`Down Payment Amount` field. Lastly, click :guilabel:`Create and View Invoice` to create and view the invoice." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:59 +msgid "In the :guilabel:`Invoice Lines` tab of the :guilabel:`Customer Invoice Draft`, the down payment that was just configured in the :guilabel:`Create invoices` pop-up form appears as a :guilabel:`Product`." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "Create invoices pop up window in Odoo Sales." +msgid "Down payment as a product in the invoice lines tab of a customer invoice draft in Odoo." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:75 -msgid "Doing so reveals the draft invoice, which mentions the down payment." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:68 +msgid "When the :guilabel:`Down payment` product in the :guilabel:`Invoice Lines` tab is clicked, Odoo reveals the product form for the down payment." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:71 +msgid "By default, the :guilabel:`Product Type` of down payment products generated for invoices are set as :guilabel:`Service`, with the :guilabel:`Invoicing Policy` set to :guilabel:`Prepaid/Fixed Price`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 +msgid "Down payment product form with service product type and invoicing policy field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:79 +msgid "This product can be edited/modified at any time." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:82 +msgid "If :guilabel:`Based on Delivered Quantity (Manual)` is chosen as the :guilabel:`Invoicing Policy`, an invoice will **not** be able to be created." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:86 +msgid "Example: request 50% down payment" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:89 +msgid "The following example involves a 50% amount down payment on a product (:guilabel:`Cabinet with Doors`) with :guilabel:`Ordered quantities` as the :guilabel:`Invoicing Policy`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:0 +msgid "Cabinet with doors product form showcasing various details and fields." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:97 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:260 +#: ../../content/applications/sales/sales/invoicing/expense.rst:226 +#: ../../content/applications/sales/sales/invoicing/milestone.rst:238 +#: ../../content/applications/sales/sales/invoicing/proforma.rst:71 +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:166 +msgid ":doc:`invoicing_policy`" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:99 +msgid "First, navigate to :menuselection:`Sales app --> New`, and add a :guilabel:`Customer` to the quotation." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:102 +msgid "Then, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab, and select the :guilabel:`Cabinet with Doors` product." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:105 +msgid "When the order is confirmed (via the :guilabel:`Confirm` button), the quotation turns into a sales order. Once this occurs, create and view the invoice by clicking :guilabel:`Create Invoice`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 +msgid "Cabinet with doors sales order that's been confirmed in the Odoo Sales application." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:112 +msgid "Next, on the :guilabel:`Create invoices` pop-up window that appears, select :guilabel:`Down payment (percentage)`, and type `50` in the :guilabel:`Down Payment Amount` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:116 +msgid "The :guilabel:`Income Account` and :guilabel:`Customer Taxes` fields are *not* required fields, and they will *not* appear if they've already been preconfigured in previous down payment requests." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:120 +msgid "For more information, check out the documentation on :ref:`customer taxes modification on down payments ` and :ref:`income account modification on down payments `." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:124 +msgid "Lastly, click :guilabel:`Create Draft Invoice` to create and view the invoice draft." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:126 +msgid "Clicking :guilabel:`Create Draft Invoice` reveals the draft invoice, which includes the down payment as a :guilabel:`Product` in the :guilabel:`Invoice Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:129 +msgid "From there, the invoice can be confirmed and posted by clicking :guilabel:`Confirm`. Confirming the invoice changes the status from :guilabel:`Draft` to :guilabel:`Posted`. It also reveals a new series of buttons at the top of the page." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 msgid "A sample draft invoice with down payment mentioned in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:81 -msgid "From there, the invoice can be confirmed/posted, and the payment can be registered. Return to the sales order, via the breadcrumbs." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:84 -msgid "On the sales order, the option to view what the customer will see is available, via the :guilabel:`Customer Preview` smart button, and the :guilabel:`Invoice` button reveals the drafted invoice. In either case, the down payment is mentioned on both the sales order and draft invoice." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:137 +msgid "From those buttons, the payment can be registered by clicking :guilabel:`Register Payment`." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "How the down payment is mentioned on the sales order in Odoo Sales." +msgid "Showcase of the Register Payment button on a confirmed customer invoice." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:92 -msgid "To confirm and register the first payment of the down payment, click the :guilabel:`Invoices` smart button to return to the invoice. On the :guilabel:`Customer Invoice` page, click :guilabel:`Confirm`, then :guilabel:`Register Payment` to open a :guilabel:`Register Payment` pop-up form." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:143 +msgid "Doing so reveals a :guilabel:`Register Payment` pop-up form, which is auto-populated with the necessary information. Confirm the information provided is correct and make any necessary adjustments. When ready, click the :guilabel:`Create Payment` button." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "How the register payment pop up looks in Odoo Sales." +msgid "Showcase of the Register Payment pop-up window with create payment button." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:101 -msgid "On this form, select the appropriate :guilabel:`Journal` and confirm that the down payment amount is correct in the :guilabel:`Amount` field. Then, make any other modifications to the other fields, if necessary, before clicking :guilabel:`Create Payment`." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:105 -msgid "Odoo returns to the invoice, which now has a green :guilabel:`In Payment` banner visible in the upper-right corner." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:151 +msgid "After clicking :guilabel:`Create Payment`, Odoo reveals the customer invoice, now with a green :guilabel:`In Payment` banner in the upper-right corner." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "How the initial down payment invoice has a green paid banner in Odoo Sales." +msgid "Customer Invoice with a green In Payment banner located in the upper-right corner." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:112 -msgid "Now, when the customer wants to pay the remaining amount of the order, another invoice must be created. To do that, return to the sales order, and click :guilabel:`Create Invoice`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:158 +msgid "Now, when the customer wants to pay the remaining amount of the order, another invoice must be created. To do that, return to the sales order, via the breadcrumb links." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:115 -msgid "On the :guilabel:`Create invoices` pop-up window, there is now an option to :guilabel:`Deduct down payments`, which is selected by default." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:161 +msgid "Back on the sales order, a new :guilabel:`Down Payments` section is present in the :guilabel:`Order Lines` tab, along with the down payment that was just invoiced and posted." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 +msgid "The down payments section in the order lines tab of a sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:168 +msgid "Next, click the :guilabel:`Create Invoice` button." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:170 +msgid "On the :guilabel:`Create invoices` pop-up window that appears, there are two new fields: :guilabel:`Already invoiced` and :guilabel:`Amount to invoice`." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 msgid "The deduct down payment option on the create invoices pop up in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:122 -msgid "If the remaining amount is ready to be paid, the :guilabel:`Regular Invoice` option should be selected, and the :guilabel:`Deduct down payments` option should *stay* selected. Then, click :guilabel:`Create and View Invoice`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:177 +msgid "If the remaining amount is ready to be paid, select the :guilabel:`Regular Invoice` option. Odoo will create an invoice for the exact amount needed to complete the total payment, as indicated in the :guilabel:`Amount to invoice` field." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:126 -msgid "Doing so reveals a separate :guilabel:`Invoices` page, listing all the invoices for that specific sales order. Each invoice line item displays all the necessary information related to each invoice, along with the current :guilabel:`Payment Status`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:181 +msgid "Once ready, click :guilabel:`Create Draft Invoice`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:183 +msgid "Doing so reveals another :guilabel:`Customer Invoice Draft` page, listing *all* the invoices for that specific sales order in the :guilabel:`Invoice Lines` tab. Each invoice line item displays all the necessary information related to each invoice." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:187 +msgid "To complete the flow, click :guilabel:`Confirm`, which changes the status of the invoice from :guilabel:`Draft` to :guilabel:`Posted`. Then, click :guilabel:`Register Payment`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:190 +msgid "Once again, the :guilabel:`Register Payment` appears, with all fields auto-populated with the necessary information, including the remaining amount left to be paid on the order." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "The down payment invoices page in Odoo Sales." +msgid "The second register payment pop-up form in Odoo sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:134 -msgid "To complete the flow, select the invoice with the :guilabel:`Not Paid` status, which opens that invoice. On the invoice page, click :guilabel:`Confirm`, then :guilabel:`Register Payment`, and confirm that the remaining :guilabel:`Amount` is correct. Then, click :guilabel:`Create Payment`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:197 +msgid "After confirming that information, click :guilabel:`Create Payment`. Doing so reveals the final :guilabel:`Customer Invoice` with a green :guilabel:`In Payment` banner in the upper-right corner. Also, both down payments are present in the :guilabel:`Invoice Lines` tab." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:138 -msgid "That pop-up window disappears, and a green :guilabel:`In Payment` banner is now present on the invoice. The line items on the invoice show that the total amount has been paid, including mentions of the down payment, and the flow is complete." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 +msgid "The second down payment invoice with in payment banner in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:142 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:205 +msgid "At this point, the flow is now complete." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:208 msgid "This flow is also possible with the :guilabel:`Fixed amount` down payment option." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:145 -msgid "If a down payment is used with a product that has a :guilabel:`Delivered quantities` invoicing policy, the down payments will **not** be able to be deducted when it comes time to invoice the customer. This is because, due to the invoicing policy, the product(s) would have to be delivered *before* creating the final invoice." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:211 +msgid "If a down payment is used with a product that has a :guilabel:`Delivered quantities` invoicing policy, the down payments will **not** be able to be deducted when it comes time to invoice the customer." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:150 -msgid "If nothing has been delivered, a :guilabel:`Credit Note` is created, which cancels the draft invoice that was created after the down payment. To utilize the :guilabel:`Credit Note` option, the *Inventory* application must be installed, in order to confirm the delivery. Otherwise, the delivered quantity can be entered manually directly on the sales order." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:215 +msgid "This is because, due to the invoicing policy, the product(s) would have to be delivered *before* creating the final invoice." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:156 -msgid "Income account and customer taxes modifications" +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:218 +msgid "If nothing has been delivered, a :guilabel:`Credit Note` is created, which cancels the draft invoice that was created after the down payment." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:158 +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:221 +msgid "To utilize the :guilabel:`Credit Note` option, the *Inventory* application must be installed, in order to confirm the delivery. Otherwise, the delivered quantity can be entered manually directly on the sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:228 +msgid "Customer taxes modification on down payments" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:230 msgid "To adjust the income account and customer taxes attached to a down payment, navigate to the :guilabel:`Products` page (:menuselection:`Sales app --> Products --> Products`), search for the `Down Payment` product in the search bar, and select it to reveal the product detail page." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:162 -msgid "On the :guilabel:`Down Payment` product page, click :guilabel:`Edit`, then scroll down to the :guilabel:`General Information` tab. In this tab, the customer taxes can be modified in the :guilabel:`Customer Taxes` field." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:234 +msgid "On the :guilabel:`Down Payment` product page, in the :guilabel:`General Information` tab, the customer taxes can be modified in the :guilabel:`Customer Taxes` field." msgstr "" #: ../../content/applications/sales/sales/invoicing/down_payment.rst:-1 -msgid "How to modify the income account link to down payments" +msgid "How to modify the income account link to down payments." msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:170 -msgid "To change or adjust the income account attached to the :guilabel:`Down Payment` product page, the *Accounting* app **must** be installed. With the *Accounting* app installed, the :guilabel:`Accounting` tab becomes available on the product page. That tab will **not** be accessible without the *Accounting* app installed." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:244 +msgid "Income account modification on down payments" msgstr "" -#: ../../content/applications/sales/sales/invoicing/down_payment.rst:175 -msgid "In the :guilabel:`Accounting` tab, the income account can be changed in the :guilabel:`Income Account` field, in the :guilabel:`Receivables` section. Once all desired changes are complete, click :guilabel:`Save`." +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:246 +msgid "To change or adjust the income account attached to the :guilabel:`Down Payment` product page, the *Accounting* app **must** be installed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:249 +msgid "With the *Accounting* app installed, the :guilabel:`Accounting` tab becomes available on the product page. That tab will **not** be accessible without the *Accounting* app installed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/down_payment.rst:252 +msgid "In the :guilabel:`Accounting` tab, the income account can be changed in the :guilabel:`Income Account` field, located in the :guilabel:`Receivables` section." msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:3 -msgid "Re-invoice expenses to customers" +msgid "Reinvoice expenses to customers" msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:5 -msgid "It often happens that your employees have to spend their personal money while working on a project for your client. Let's take the example of a consultant paying for a hotel to work on the site of your client. As a company, you would like to be able to invoice that expense to your client." +msgid "While working on a project for a client, employees often have to spend their own money on various expenses related to the project." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:12 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:64 -msgid "Expenses configuration" +#: ../../content/applications/sales/sales/invoicing/expense.rst:8 +msgid "For example, an employee may need to use their own money to pay for a hotel, while they provide an on-site service for a client. As a company, this expense should be reinvoiced to the customer. With Odoo, these kinds of expenses can quickly be reinvoiced to the customer related to the project." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:14 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:66 -msgid "To track & invoice expenses, you will need the expenses app. Go to :menuselection:`Apps --> Expenses` to install it." +#: ../../content/applications/sales/sales/invoicing/expense.rst:13 +msgid "Expenses application" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:15 +msgid "To be able to reinvoice a customer for an expense, the *Expenses* application **must** be installed." msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:17 -msgid "You should also activate the analytic accounts feature to link expenses to the sales order, to do so, go to :menuselection:`Invoicing --> Configuration --> Settings` and activate *Analytic Accounting*." +msgid "To install the *Expenses* application, navigate to :menuselection:`main Odoo dashboard --> Apps`, and click :guilabel:`Install` on the *Expenses* application block. When clicked, Odoo installs the application, refreshes the page, and returns to the main Odoo dashboard." msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:22 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:74 -msgid "Add expenses to your sales order" +msgid "Add expenses to sales orders" msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:24 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:76 -msgid "From the expense app, you or your consultant can create a new one, e.g. the hotel for the first week on the site of your customer." +msgid "To begin, have a sales order confirmed in the *Sales* app to which a reinvoiced expense can be added. Or, create a new sales order from scratch. To do that, navigate to the :menuselection:`Sales app --> New`. Doing so reveals a blank quotation form." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:27 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:79 -msgid "You can then enter a relevant description and select an existing product or create a new one from right there." +#: ../../content/applications/sales/sales/invoicing/expense.rst:28 +msgid "Then, add a :guilabel:`Customer`, and add a product to the :guilabel:`Order Lines` tab, by clicking :guilabel:`Add a product`. Next, select a product from the drop-down menu." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:33 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:85 -msgid "Here, we are creating a *Hotel* product:" +#: ../../content/applications/sales/sales/invoicing/expense.rst:31 +msgid "Lastly, click :guilabel:`Confirm` to confirm the sales order." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:38 -msgid "Under the invoicing tab, select *Delivered quantities* and either *At cost* or *Sales price* as well depending if you want to invoice the cost of your expense or a previously agreed on sales price." +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "This is how a confirmed sales order looks in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:45 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:97 -msgid "To modify or create more products go to :menuselection:`Expenses --> Configuration --> Expense products`." +#: ../../content/applications/sales/sales/invoicing/expense.rst:37 +msgid "With the sales order confirmed, it's time to create an expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:39 +msgid "To do that, navigate to the *Expenses* application, by going to :menuselection:`main Odoo dashboard --> Expenses`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:42 +msgid "Then, from the *Expenses* dashboard, click :guilabel:`New` to reveal a blank expenses form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A blank expenses form in the Odoo Expenses application." msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:48 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:100 -msgid "Back on the expense, add the original sale order in the expense to submit." +msgid "On the expenses form, add a :guilabel:`Description` to easily reference the expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:50 +msgid "Then, in the :guilabel:`Category` field, select one of the following options from the drop-down menu:" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:53 +msgid ":guilabel:`Communication`: any form of communication related to a project/order." msgstr "" #: ../../content/applications/sales/sales/invoicing/expense.rst:54 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:106 -msgid "It can then be submitted to the manager, approved and finally posted." +msgid ":guilabel:`Others`: expense that doesn't fit into any other categories." msgstr "" -#: ../../content/applications/sales/sales/invoicing/expense.rst:65 -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:117 -msgid "It will then be in the sales order and ready to be invoiced." +#: ../../content/applications/sales/sales/invoicing/expense.rst:55 +msgid ":guilabel:`Meals`: any form of meal costs related to a project/order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:56 +msgid ":guilabel:`Gifts`: any form of gift costs related to a project/order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:57 +msgid ":guilabel:`Mileage`: any form of mileage (gas) costs related to project/order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:58 +msgid ":guilabel:`Travel \\& Accommodation`: any travel or accommodation costs related to a project/order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:61 +msgid "New expense categories can be created from an expense form, by clicking the :guilabel:`Category` field drop-down menu, selecting :guilabel:`View All`, and clicking :guilabel:`New` from the :guilabel:`Search:Category` pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:0 +msgid "The Search:Category expenses pop-up window from a blank expenses form in Odoo Expenses." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:69 +msgid "For this sample workflow, which will reinvoice a customer for a brief hotel stay, the :guilabel:`Category` for this example is :guilabel:`[TRANS \\& ACC] Travel \\& Accommodation`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:73 +msgid "The following example requires the *Sales*, *Accounting*, and *Expense* apps to view/modify all the fields mentioned during the workflow." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:76 +msgid "Beneath the :guilabel:`Category` field, enter in the amount to be expensed in the :guilabel:`Total` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:79 +msgid "Next, designate if there are any :guilabel:`Included taxes` in the :guilabel:`Total`. If a preconfigured tax amount is selected from the :guilabel:`Included taxes` field, Odoo auto-calculates the taxed amount, based on the amount entered in the :guilabel:`Total` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:83 +msgid "Then, choose which :guilabel:`Employee` was responsible for the expense, and choose an option in the :guilabel:`Paid By` field: :guilabel:`Employee (to reimburse)` or :guilabel:`Company`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:86 +msgid "In this case, our employee paid for the hotel with their own money, so the :guilabel:`Employee (to reimburse)` option is chosen." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:89 +msgid "On the right-hand side of the expenses form, the option to add a :guilabel:`Bill Reference` is available. Beneath that, the auto-populated :guilabel:`Expense Date` and :guilabel:`Account` fields are available." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:94 +msgid "The :guilabel:`Expense Date` and :guilabel:`Account` field can be modified, if needed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:96 +msgid "Next, in the :guilabel:`Customer to Reinvoice` field, click the blank field to reveal a drop-down menu. From this drop-down menu, select the appropriate sales order to which this expense should be attached. This field **must** be filled, in order to reinvoice a customer for an expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:100 +msgid "Lastly, the option to modify the :guilabel:`Analytic Distribution` and :guilabel:`Company` fields are available. These fields are *not* required to complete a reinvoiced expense to a customer, but are available to modify, if needed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:104 +msgid "Also, at the bottom of the expense form, there is a :guilabel:`Notes...` section, wherein any notes related to this expense can be added, if needed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A filled out expenses form in the Odoo Expenses application." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:111 +msgid "At the top of the expense form, there are buttons to :guilabel:`Attach Receipt`, :guilabel:`Create Report`, and :guilabel:`Split Expense`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:114 +msgid "If there is a physical or digital receipt that should be attached to the expense, click :guilabel:`Attach Receipt`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:117 +msgid "If the cost of this expense needs to be split, click :guilabel:`Split Expense`. This feature can be used for a number of reasons (spitting expense with another employee, to accommodate different tax rates, etc.)." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:121 +msgid "If neither of these options are necessary, click :guilabel:`Create Report` to lock in the expense report that was just configured." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:124 +msgid "Doing so reveals an :guilabel:`Expense Report Summary` for the new expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "An expense report summary in the Odoo Expenses application." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:130 +msgid "Here, once the details related to the expense have been confirmed, click :guilabel:`Submit to Manager`. This sends the expense report to the approving manager, who will review the expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:133 +msgid "The manager in charge of reviewing and approving the expense will inspect the details related to the expense, and if there are no issues, they will click the :guilabel:`Approve` button — which *only* appears on the manager's view of the :guilabel:`Expense Report Summary` that's been submitted to the manager by the employee." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "An expense report summary that a manager will approve with an Approve button." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:142 +msgid "Once approved, the buttons at the top of the :guilabel:`Expense Report Summary` change once again. At this point, the buttons at the top of the :guilabel:`Expense Report Summary` are: :guilabel:`Post Journal Entries`, :guilabel:`Report in Next Payslip`, :guilabel:`Refuse`, and :guilabel:`Reset to Draft`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "An expense report summary with post journal entries button at the top of the form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:151 +msgid "When the manager is satisfied with the :guilabel:`Expense Report Summary`, they'll click :guilabel:`Post Journal Entries`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:154 +msgid "Upon clicking :guilabel:`Post Journal Entries`, that button disappears, and the :guilabel:`Analytic Distribution` column in the :guilabel:`Expense` tab is filled with the sales order that was initially configured to the expense in the :guilabel:`Customer to Reinvoice` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:159 +msgid "Reinvoice expense" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:161 +msgid "With those steps completed, it's time to return to the sales order to complete the reinvoice of the expense to the customer." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:164 +msgid "To do that, navigate to :menuselection:`main Odoo dashboard --> Sales app`, and select the appropriate sales order that should be reinvoiced for the expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:167 +msgid "On the sales form, the newly-configured expense is now in the :guilabel:`Order Lines` tab, with its :guilabel:`Delivered` column filled in, and ready to be invoiced." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A sales order with the configured expense ready to be invoiced in the Order Lines tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:174 +msgid "After confirming the details of the expense, click :guilabel:`Create Invoice` at the top of the sales order. When clicked, a :guilabel:`Create invoices` pop-up window appears." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A create invoices pop-up window that appears when the Create Invoice is clicked." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:181 +msgid "From this pop-up window, leave the :guilabel:`Create Invoice` field on the default :guilabel:`Regular invoice` option, and click :guilabel:`Create Draft Invoice`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:184 +msgid "Doing so reveals a :guilabel:`Customer Invoice Draft` showing *only* the expense in the :guilabel:`Invoice Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A customer invoice draft with the expense in the Invoice Lines tab of the form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:191 +msgid "If all the information related to the expense is correct, click :guilabel:`Confirm` to confirm the invoice. Doing so moves the status of the invoice from :guilabel:`Draft` to :guilabel:`Posted`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:194 +msgid "To send the invoice to the customer, click :guilabel:`Send \\& Print`. Doing so reveals a :guilabel:`Send` pop-up window, with a preconfigured message and PDF invoice in the body of the message. The message can be reviewed and modified, if needed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:198 +msgid "Once ready, click :guilabel:`Send \\& Print` to send the invoice to the customer. When clicked, the pop-up window disappears, and Odoo sends the message/invoice to the customer. Additionally, a PDF of the invoice is automatically downloaded for record-keeping and/or printing purposes." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:202 +msgid "Back on the :guilabel:`Customer Invoice`, click the :guilabel:`Register Payment` button when the customer pays for the invoiced expense." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A customer invoice with the register payment button ready to be clicked." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:209 +msgid "When :guilabel:`Register Payment` is clicked, a :guilabel:`Register Payment` pop-up window appears. In this pop-up window, the necessary fields are auto-populated with the correct information. After reviewing the information, click :guilabel:`Create Payment`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:-1 +msgid "A register payment pop-up window on a customer invoice in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:217 +msgid "Once :guilabel:`Create Payment` is clicked, the pop-up window disappears, and a green :guilabel:`In Payment` banner is in the upper-right corner of the invoice, signifying this invoice is paid for in full. Thus, completing the workflow." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:227 +#: ../../content/applications/sales/sales/invoicing/milestone.rst:236 +msgid ":doc:`time_materials`" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/expense.rst:228 +msgid ":doc:`milestone`" msgstr "" #: ../../content/applications/sales/sales/invoicing/invoicing_policy.rst:3 @@ -4813,31 +6401,275 @@ msgid "Invoice project milestones" msgstr "" #: ../../content/applications/sales/sales/invoicing/milestone.rst:5 -msgid "Milestone invoicing can be used for expensive or large-scale projects, with each milestone representing a clear sequence of work that will incrementally build up to the completion of the contract. This invoicing method is comfortable both for the company which is ensured to get a steady cash flow throughout the project lifetime and for the client who can monitor the project's progress and pay in several installments." +msgid "Invoicing based on project milestones can be used for expensive or large-scale projects. The series of milestones in a project represent a clear sequence of work that will inevitably result in the completion of a project and/or contract." msgstr "" -#: ../../content/applications/sales/sales/invoicing/milestone.rst:13 +#: ../../content/applications/sales/sales/invoicing/milestone.rst:9 +msgid "This method of invoicing ensures the company gets a consistent flow of money throughout the lifetime of the project. Customers can closely monitor every phase of the project's development as it happens, in addition to paying a large bill in several installments, instead of all at once." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:14 msgid "Create milestone products" msgstr "" -#: ../../content/applications/sales/sales/invoicing/milestone.rst:15 -msgid "In Odoo, each milestone of your project is considered as a product. To configure products to work this way, go to any product form." +#: ../../content/applications/sales/sales/invoicing/milestone.rst:16 +msgid "In Odoo, each milestone of a project is considered as an individual product." msgstr "" #: ../../content/applications/sales/sales/invoicing/milestone.rst:18 -msgid "You have to set the product type as *Service* under general information and select *Milestones* in the sales tab." +msgid "To create and/or configure products to work like this, first navigate to :menuselection:`Sales app --> Products --> Products`. Then, click on a product, or create a new one by clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/sales/sales/invoicing/milestone.rst:25 +#: ../../content/applications/sales/sales/invoicing/milestone.rst:22 +msgid "The option to invoice based on milestones is only available for certain product types." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:24 +msgid "On the product form, under the :guilabel:`General Information` tab, the :guilabel:`Product Type` field *must* be set on any of the following options: :guilabel:`Service`, :guilabel:`Event Ticket`, :guilabel:`Event Booth`, or :guilabel:`Course`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The invoicing policy field drop-down menu with options on product form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:32 +msgid "With any of those :guilabel:`Product Type` options selected, choose :guilabel:`Based on Milestones` from the :guilabel:`Invoicing Policy` drop-down menu." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:39 +msgid "Beneath that is the :guilabel:`Create on Order` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:41 +msgid "To ensure workflows are as seamless as possible, it is recommended that an option in the :guilabel:`Create on Order` field is selected." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:45 +msgid "Leaving it on the default :guilabel:`Nothing` option won't negatively affect the desired workflow. However, a project *must* then be created directly from a sales order form with that specific product. Once a project is created *then* milestones and tasks can be created and configured." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:50 +msgid "When the :guilabel:`Create on Order` default option of :guilabel:`Nothing` is clicked, a drop-down menu is revealed with the following options:" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:53 +msgid ":guilabel:`Task`: Odoo creates a task related to this milestone product in the *Projects* app when this specific product is ordered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:55 +msgid ":guilabel:`Project \\& Task`: Odoo creates a project and task related to this milestone product in the *Projects* app when this specific product is ordered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:57 +msgid ":guilabel:`Project`: Odoo creates a project related to this milestone product in the *Projects* app when this specific product is ordered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:60 +msgid "When :guilabel:`Task` is selected, a :guilabel:`Project` field appears. In this field, select to which existing project in the *Projects* app this created task should be connected." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The Project field appears when the Task option is selected in Create on Order field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:67 +msgid "When :guilabel:`Project \\& Task` or :guilabel:`Project` is selected, two new fields appear: :guilabel:`Project Template` and :guilabel:`Workspace Template`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The Project template and workspace template fields that appear on milestone product." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:74 +msgid "The :guilabel:`Project Template` field provides template options to use for the project that will be created when this specific product is ordered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:77 +msgid "The :guilabel:`Workspace Template` field provides template options to use for the workspace (for the *Documents* app, not the *Projects* app) that will be automatically generated for the project when this specific product is ordered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:82 +msgid "For organizational purposes, click the :guilabel:`Sales` tab on the product form, and enter a custom 'Milestone' related descriptor in the :guilabel:`Sales Description` field. This information appears in the :guilabel:`Description` column on the :guilabel:`Order Lines` tab of the sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:87 +msgid "Or, directly edit/modify the :guilabel:`Description` field on the :guilabel:`Order Lines` tab of the sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:90 +msgid "This is *not* a requirement." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:93 msgid "Invoice milestones" msgstr "" -#: ../../content/applications/sales/sales/invoicing/milestone.rst:27 -msgid "From the sales order, you can manually edit the quantity delivered as you complete a milestone." +#: ../../content/applications/sales/sales/invoicing/milestone.rst:96 +msgid "The following flow features a trio of milestone products that have :guilabel:`Service` set as their :guilabel:`Product Type`, and :guilabel:`Task` set on their :guilabel:`Create on Order` field." msgstr "" -#: ../../content/applications/sales/sales/invoicing/milestone.rst:33 -msgid "You can then invoice that first milestone." +#: ../../content/applications/sales/sales/invoicing/milestone.rst:0 +msgid "Product with Service \"Product Type\" and \"Task\" in the Create on Order field on form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:104 +msgid "Those tasks are then attached to a pre-existing :guilabel:`Project`, which, in this case, is titled, :guilabel:`Rebranding Projects`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:107 +msgid "To invoice milestones, create a sales order with the milestone product(s). To do that, go to :menuselection:`Sales app --> New`. Doing so reveals a blank quotation form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:110 +msgid "From this quotation form, add a :guilabel:`Customer`. Then, click :guilabel:`Add a product` in the :guilabel:`Order Lines` tab. Next, add the milestone product(s) to the :guilabel:`Order Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:113 +msgid "Once the corresponding milestone product(s) have been added, click :guilabel:`Confirm` to confirm the order, which turns the quotation into a sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:116 +msgid "When the order is confirmed, new smart buttons appear at the top of the sales order based on what was selected in the :guilabel:`Create on Order` field on the product form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:119 +msgid "From the sales order, click the :guilabel:`Milestones` smart button. Doing so reveals a blank :guilabel:`Milestones` page. Click :guilabel:`New` to add milestones." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "Adding milestones to a sales order with milestone products." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:126 +msgid "Enter a :guilabel:`Name` for the milestone. Next, apply it to the corresponding :guilabel:`Sales Order Item`. Lastly, assign a :guilabel:`Deadline` to the milestone, if desired." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:129 +msgid "Repeat that process for all milestone sales order items." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:131 +msgid "Then, return to the sales order, via the breadcrumbs. From the sales order, click the :guilabel:`Tasks` smart button. Doing so reveals a :guilabel:`Tasks` page with a task for each sales order item with that option designated in the :guilabel:`Create on Order` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "Sample tasks page accessed via the smart button from a sales order with milestone products." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:139 +msgid "To manually assign a configured milestone to a task, click the desired task, which reveals the task form. On the task form, select the appropriate milestone to which this task should be connected, in the :guilabel:`Milestone` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The milestone field on the task form when dealing with milestone products in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:147 +msgid "Repeat this process for all milestone tasks." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:149 +msgid "With those tasks properly configured, employees log in their progress as they work on the task, in addition to adding any notes related to the task." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:152 +msgid "Then, when that task is complete, that means that milestone has been reached. At that point, it is time to invoice that milestone." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:155 +msgid "To invoice a milestone, first return to the sales order — either via the breadcrumb links, or by navigating to :menuselection:`Sales app --> Orders --> Orders` and picking the appropriate sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:159 +msgid "Back on the sales order form, click the :guilabel:`Milestones` smart button, and check the box in the :guilabel:`Reached` column for that particular task." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "What it looks like to mark a milestone as reached via the milestone smart button." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:166 +msgid "Next, return to the sales order — either by clicking :guilabel:`View Sales Order` on the :guilabel:`Milestones` page, or via the breadcrumb links." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:169 +msgid "Back on the sales order, the line item for the milestone that's been reached has its :guilabel:`Delivered` column filled. That's because the milestone has been reached, and therefore delivered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "A milestone product that's been reached marked as delivered on the sales order in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:177 +msgid "Click :guilabel:`Create Invoice` in the upper-left corner. Doing so reveals a :guilabel:`Create invoices` pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The create invoices pop-up window that appears when create invoice button is clicked." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:184 +msgid "On the :guilabel:`Create invoices` pop-up window, leave the :guilabel:`Create Invoice` option on the default :guilabel:`Regular Invoice` selection, and click the :guilabel:`Create Draft Invoice` button." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:188 +msgid "Upon clicking :guilabel:`Create Draft Invoice`, Odoo reveals the :guilabel:`Customer Invoice Draft`, *only* showing that reached milestone in the :guilabel:`Invoice Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "A customer invoice draft showing only the milestone product that's been reached." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:195 +msgid "From this invoice page, click the :guilabel:`Confirm` button to confirm the invoice. Then, when the customer has paid for this milestone, click :guilabel:`Register Payment`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:198 +msgid "When :guilabel:`Register Payment` is clicked, a :guilabel:`Register Payment` pop-up window appears." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The Register Payment pop-up window that appears when Register Payment is clicked." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:204 +msgid "On this pop-up window, confirm the accuracy of the auto-populated fields, then click :guilabel:`Create Payment`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:207 +msgid "When clicked, the pop-up window disappears, and Odoo returns to the invoice for that milestone, which now has a green :guilabel:`In Payment` banner in the upper-right corner. This banner signifies the invoice has been paid." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "An invoice with a milestone product that has been paid with an In Payment banner." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:215 +msgid "Then, return to the sales order, via the breadcrumb links. Back on the sales order, in the :guilabel:`Order Lines` tab, the reached milestone that's been invoiced and paid for, now has its :guilabel:`Invoiced` column filled." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The Invoiced column of a milestone product that's been paid for is filled." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:223 +msgid "There is also a new :guilabel:`Invoices` smart button at the top of the sales order. Clicking that reveals all the invoices that are connected to this sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:-1 +msgid "The invoices smart button that appears at the top of a sales order with milestones." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:230 +msgid "Simply repeat the above process for each milestone as it is worked on, and subsequently, completed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:232 +msgid "Continue that process until the entire project has been completed, each milestone has been invoiced, and the entire order has been paid for in full." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/milestone.rst:237 +msgid ":doc:`proforma`" msgstr "" #: ../../content/applications/sales/sales/invoicing/proforma.rst:3 @@ -4849,26 +6681,26 @@ msgid "A *pro-forma invoice* is an abridged or estimated invoice sent in advance msgstr "" #: ../../content/applications/sales/sales/invoicing/proforma.rst:9 -msgid "Pro-forma invoices are commonly used as preliminary invoices with a quotation. They are also used for customs purposes during importation. They differ from a normal invoice in that they are not a demand (or request) for payment." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/proforma.rst:14 -msgid "Activate the feature" +msgid "Pro-forma invoices are commonly used as preliminary invoices with a quotation. They are also used during importation for customs purposes. They differ from a normal invoice, in that they are *not* a demand (or request) for payment." msgstr "" #: ../../content/applications/sales/sales/invoicing/proforma.rst:16 -msgid "In order to utilize pro-forma invoices, the *Pro-Forma Invoice* feature **must** be activated. To do that, navigate to :menuselection:`Sales app --> Configuration --> Settings`, and in the :guilabel:`Quotations & Orders` section, click the checkbox next to :guilabel:`Pro-Forma Invoice`. Then, click :guilabel:`Save` to save all changes." +msgid "In order to utilize pro-forma invoices, the *Pro-Forma Invoice* feature **must** be activated." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/proforma.rst:18 +msgid "To enable this feature, navigate to :menuselection:`Sales app --> Configuration --> Settings`, and in the :guilabel:`Quotations \\& Orders` section, click the checkbox next to :guilabel:`Pro-Forma Invoice`. Then, click :guilabel:`Save` to save all changes." msgstr "" #: ../../content/applications/sales/sales/invoicing/proforma.rst:-1 msgid "The Pro-Forma Invoice feature setting in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/invoicing/proforma.rst:26 -msgid "Send a pro-forma invoice" +#: ../../content/applications/sales/sales/invoicing/proforma.rst:27 +msgid "Send pro-forma invoice" msgstr "" -#: ../../content/applications/sales/sales/invoicing/proforma.rst:28 +#: ../../content/applications/sales/sales/invoicing/proforma.rst:29 msgid "With the :guilabel:`Pro-Forma Invoice` feature activated, the option to send a pro-forma invoice is now available on any quotation or sales order, via the :guilabel:`Send Pro-Forma Invoice` button." msgstr "" @@ -4876,11 +6708,31 @@ msgstr "" msgid "The Send Pro-Forma Invoice button on a typical sales order in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/proforma.rst:35 -msgid "When the :guilabel:`Send Pro-Forma Invoice` button is clicked, an email pop-up appears. The :guilabel:`Recipients` field is auto-populated with the customer from the sales order or quotation. Then, if needed, modify the :guilabel:`Subject` field and the body of the email. The pro-forma invoice is automatically added as an attachment to the email." +#: ../../content/applications/sales/sales/invoicing/proforma.rst:37 +msgid "Pro-forma invoices can **not** be sent for a sales order or quotation if an invoice for a down payment has already been sent, or for a recurring subscription." msgstr "" #: ../../content/applications/sales/sales/invoicing/proforma.rst:40 +msgid "In either case, the :guilabel:`Send Pro-Froma Invoice` button does **not** appear." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/proforma.rst:42 +msgid "However, pro-forma invoices **can** be sent for services, event registrations, courses, and/or new subscriptions. Pro-forma invoices are not limited to physical, consumable, or storable goods." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/proforma.rst:45 +msgid "When the :guilabel:`Send Pro-Forma Invoice` button is clicked, a pop-up window appears, from which an email can be sent." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/proforma.rst:48 +msgid "In the pop-up window, the :guilabel:`Recipients` field is auto-populated with the customer from the sales order or quotation. The :guilabel:`Subject` field and the body of the email can be modified, if necessary." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/proforma.rst:52 +msgid "The pro-forma invoice is automatically added as an attachment to the email." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/proforma.rst:54 msgid "When ready, click :guilabel:`Send`, and Odoo instantly sends the email, with the attached pro-forma invoice, to the customer." msgstr "" @@ -4888,7 +6740,7 @@ msgstr "" msgid "The email pop-up window that appears with pro-forma invoice attached in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/invoicing/proforma.rst:48 +#: ../../content/applications/sales/sales/invoicing/proforma.rst:62 msgid "To preview what the pro-forma invoice looks like, click on the PDF at the bottom of the email pop-up window *before* clicking :guilabel:`Send`. When clicked, the pro-forma invoice is downloaded instantly. Open that PDF to view (and review) the pro-forma invoice." msgstr "" @@ -4897,87 +6749,392 @@ msgid "Sample pro-forma invoice PDF from Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:3 -msgid "Invoice based on time and materials" +msgid "Invoicing based on time and materials" msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:5 -msgid "Time and Materials is generally used in projects in which it is not possible to accurately estimate the size of the project, or when it is expected that the project requirements would most likely change." +msgid "Invoicing based on time and/or materials is typically used when accurately estimating the size of a project isn't possible, or when the requirements of a project may change." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:9 -msgid "This is opposed to a fixed-price contract in which the owner agrees to pay the contractor a lump sum for the fulfillment of the contract no matter what the contractors pay their employees, sub-contractors, and suppliers." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:8 +msgid "This is different from a fixed-price contract, when a customer agrees to pay a specified total for the fulfillment of the contract---no matter what needs to be paid to the employees, sub-contractors, vendors, suppliers, and so on." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:14 -msgid "For this documentation I will use the example of a consultant, you will need to invoice their time, their various expenses (transport, lodging, ...) and purchases." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:12 +msgid "The Odoo *Sales* app can invoice for time and various other expenses (e.g. transport, lodging), as well as purchases needed to fulfill an order." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:19 -msgid "Invoice time configuration" +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:16 +msgid "App and settings configuration" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:18 +msgid "First, in order to accurately keep track of the progress of a project, the Odoo *Project* and *Accounting* apps **must** be installed." msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:21 -msgid "To keep track of progress in the project, you will need the *Project* app. Go to :menuselection:`Apps --> Project` to install it." +msgid "To install the *Project* app, navigate to :menuselection:`Odoo main dashboard --> Apps`. Then, on the :guilabel:`Apps` page, locate the :guilabel:`Project` app block, and click :guilabel:`Activate`. The page automatically refreshes and returns to the main Odoo dashboard, where the *Project* app is now available to access." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:24 -msgid "In *Project* you will use timesheets, to do so go to :menuselection:`Project --> Configuration --> Settings` and activate the *Timesheets* feature." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:26 +msgid "Repeat the same process to install the *Accounting* application." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:32 -msgid "Invoice your time spent" +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:28 +msgid "After installation, click the :guilabel:`Accounting` app icon from the main Odoo dashboard, and navigate to :menuselection:`Configuration --> Settings`. On the :guilabel:`Settings` page, scroll down to the :guilabel:`Analytics` section, and ensure the box next to :guilabel:`Analytic Accounting` is checked." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:34 -msgid "From a product page set as a service, you will find two options under the invoicing tab, select both *Timesheets on tasks* and *Create a task in a new project*." -msgstr "" - -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:41 -msgid "You could also add the task to an existing project." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "How it looks to activate the Analytic Accounting setting in Odoo Accounting Setting page." msgstr "" +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:37 #: ../../content/applications/sales/sales/invoicing/time_materials.rst:43 -msgid "Once confirming a sales order, you will now see two new buttons, one for the project overview and one for the current task." +msgid "Then, click :guilabel:`Save` to save all changes." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:49 -msgid "You will directly be in the task if you click on it, you can also access it from the *Project* app." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:39 +msgid "Then, navigate to :menuselection:`Odoo main dashboard --> Project app --> Configuration --> Settings`. On the :guilabel:`Settings` page, in the :guilabel:`Time Management` section, ensure the box beside the :guilabel:`Timesheets` feature is checked." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "What the Timesheets feature looks like on the Odoo Project settings page." msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:52 -msgid "Under timesheets, you can assign who works on it. You can or they can add how many hours they worked on the project so far." +msgid "Service product configuration" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:54 +msgid "With the *Timesheets* feature activated in the *Project* app, it is now possible to invoice for time spent on a project, but **only** when the following product configurations have been made." msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:58 -msgid "From the sales order, you can then invoice those hours." +msgid "Invoicing for time spent on a project is **only** possible with products that have *Service* set as the *Product Type* on their product form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:61 +msgid "To configure a service product, first navigate to :menuselection:`Sales app --> Products --> Products`. On the :guilabel:`Products` page, select the desired service product to be configured, or click :guilabel:`New` to create a new product." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:65 +msgid "From the product form, in the :guilabel:`General Information` tab, set the :guilabel:`Product Type` to :guilabel:`Service`. Then, open the drop-down menu in the :guilabel:`Invoicing Policy` field, and select :guilabel:`Based on Timesheets`." msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:69 -msgid "You should also activate the analytic accounts feature to link expenses to the sales order, to do so, go to :menuselection:`Accounting --> Configuration --> Settings` and activate *Analytic Accounting*." +msgid "Next, from the :guilabel:`Create on Order` drop-down menu, select :guilabel:`Project \\& Task`. That setting indicates that, when a sales order is created with this specific service product, a new project and task is created in the *Project* app." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:90 -msgid "under the invoicing tab, select *Delivered quantities* and either *At cost* or *Sales price* as well depending if you want to invoice the cost of your expense or a previously agreed on sales price." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "The correct settings for Invoicing Policy and Create on Order fields for service product." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:120 -msgid "Invoice purchases" +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:78 +msgid "The option :guilabel:`Task` can be chosen instead from the :guilabel:`Create on Order` drop-down menu. If :guilabel:`Task` is chosen, select an existing project that the task will appear in from :guilabel:`Project` field, which only appears if :guilabel:`Task` is chosen in the :guilabel:`Create on Order` field." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:84 +msgid "Add time spent to sales order" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:86 +msgid "After properly configuring a service product with the correct *Invoicing Policy* and *Create on Order* options, it is possible to add time spent to a sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:89 +msgid "To see that in action, navigate to :menuselection:`Sales app --> New` to open a blank quotation form. Then, proceed to add a :guilabel:`Customer`, and in the :guilabel:`Order Lines` tab, click :guilabel:`Add a product`, and select the properly :ref:`configured service product ` from the drop-down menu." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:94 +msgid "Next, click :guilabel:`Confirm` to confirm the order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:96 +msgid "After confirming the sales order, two smart buttons appear at the top of the order form: :guilabel:`Projects` and :guilabel:`Tasks`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "How the Projects and Tasks smart buttons look on a Sales Order in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:103 +msgid "If the :guilabel:`Projects` smart button is clicked, it reveals the specific project related to this sales order. If the :guilabel:`Tasks` smart button is clicked, it reveals the specific project task related to this sales order. Both are also accessible in the *Project* app." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:107 +msgid "In order to add time spent on a sales order, click the :guilabel:`Tasks` smart button." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:109 +msgid "On the task form, select the :guilabel:`Timesheets` tab. From the :guilabel:`Timesheets` tab, employees can be assigned to work on the project, and the time they spend working on the task can be added by the employees or by the person who created the sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:113 +msgid "To add an employee, and the time spent working on the task, click :guilabel:`Add a line` in the :guilabel:`Timesheets` tab. Then, select the appropriate :guilabel:`Date` and :guilabel:`Employee`. There is also the option to add a brief description of the work done during this time in the :guilabel:`Description` column, but it's not required." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:118 +msgid "Lastly, enter the amount of time worked on the task in the :guilabel:`Hours Spent` column, and click away to complete that line in the :guilabel:`Timesheets` tab." msgstr "" #: ../../content/applications/sales/sales/invoicing/time_materials.rst:122 -msgid "The last thing you might need to add to the sale order is purchases made for it." +msgid "The time entered in the :guilabel:`Hours Spent` column is immediately reflected in the :guilabel:`Allocated Time` field (located near the top of the task form) as a percentage, which reflects how much of the total allocated work hours have been done so far." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:125 -msgid "You will need the *Purchase Analytics* feature, to activate it, go to :menuselection:`Invoicing --> Configuration --> Settings` and select *Purchase Analytics*." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:126 +msgid "That same information is found as numerical hours in the :guilabel:`Hours Spent` and :guilabel:`Remaining Hours` fields, located at the bottom of the :guilabel:`Timesheets` tab." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:129 -msgid "While making the purchase order don't forget to add the right analytic account." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:0 +msgid "How the Timesheets tab appears on a task form in Odoo Sales and Odoo Project." msgstr "" -#: ../../content/applications/sales/sales/invoicing/time_materials.rst:135 -msgid "Once the PO is confirmed and received, you can create the vendor bill, this will automatically add it to the SO where you can invoice it." +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:133 +msgid "Repeat this process for however many employees and hours have been worked on the project." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:136 +msgid "Invoice time spent" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:138 +msgid "Once all the necessary employees and time spent have been added to the project task, return to the sales order to invoice the customer for those hours. To do that, either click the :guilabel:`Sales Order` smart button at the top of the task form, or return to the sales order via the breadcrumb links, located in the upper-left of the screen." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:143 +msgid "Back on the sales order form, the time that was added to the task is reflected in the :guilabel:`Order Lines` tab (in the :guilabel:`Delivered` column) and in the new :guilabel:`Recorded Hours` smart button at the top of the sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:147 +msgid "To invoice the customer for time spent on the project, click :guilabel:`Create Invoice`, and select :guilabel:`Regular invoice` from the :guilabel:`Create invoices` pop-up window. Then, click :guilabel:`Create Draft Invoice`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:151 +msgid "Doing so reveals a :guilabel:`Customer Invoice Draft`, clearly showing all the work that's been done in the :guilabel:`Invoice Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:155 +msgid "Pay attention to the :guilabel:`Analytic Distribution` column in the :guilabel:`Customer Invoice`, as that information is necessary to ensure other time/material invoicing tasks are completed properly and accurately." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:0 +msgid "Invoice draft showing time spent on sales order in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:163 +msgid "Click :guilabel:`Confirm` to confirm the invoice and continue with the invoicing process." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:169 +msgid "Expenses configuration" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:171 +msgid "In order to track and invoice expenses related to a sales order, the Odoo *Expenses* app **must** be installed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:174 +msgid "To install the *Expenses* app, navigate to :menuselection:`Odoo main dashboard --> Apps`. Then, on the :guilabel:`Apps` page, locate the :guilabel:`Expenses` app block, and click :guilabel:`Activate`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:178 +msgid "The page automatically refreshes and returns to the main Odoo dashboard, where the :guilabel:`Expenses` app is now available to access." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:184 +msgid "Add expenses to sales order" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:186 +msgid "To add an expense to a sales order, first navigate to the :menuselection:`Expenses` app. Then, from the main *Expenses* dashboard, click :guilabel:`New`, which reveals a blank expense form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:189 +msgid "On the expense form, add a :guilabel:`Description` of the expense (e.g. `Hotel Stay`, `Plane Ticket`). Next, in the :guilabel:`Category` field, select the appropriate option from the drop-down menu (e.g. :guilabel:`Meals`, :guilabel:`Miles`, :guilabel:`Travel \\& Accommodation`)." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:194 +msgid "Expense categories can be added and modified by navigating to :menuselection:`Expenses app --> Configuration --> Expense Categories`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:197 +msgid "Then, enter the total amount of the expense in the :guilabel:`Total` field, as well as any :guilabel:`Included Taxes` that may apply. Next, ensure that the correct :guilabel:`Employee` is selected, and designate who paid for the expense in the :guilabel:`Paid By` field: the :guilabel:`Employee (to reimburse)` or the :guilabel:`Company`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:202 +msgid "Next, in the :guilabel:`Customer to Reinvoice` field, select the appropriate sales order from the drop-down menu. Then, select that same sales order information from the :guilabel:`Analytic Distribution` field, as well." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:207 +msgid "The :guilabel:`Analytic Distribution` field will **only** have the corresponding sales order as an option if the sales order contains a service product that is billed based on *Timesheets*, *Milestones*, or *Delivered Quantities*." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "How to properly fill out an expense form that's attached to a sales order in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:215 +msgid "If there are any receipts that should be uploaded and attached to the expense, click the :guilabel:`Attach Receipt` button, and upload the necessary documents to the expense. This is **not** required, but it may affect whether or not an expense is approved." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:219 +msgid "When all the information has been entered, click :guilabel:`Create Report` to create an expense report detailing all the expense information that was just entered." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "How an Expense Report Summary looks in Odoo Expenses." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:226 +msgid "Then, there's the option to :guilabel:`Submit to Manager` for approval. Once approved, the :guilabel:`Report in Next Payslip` appears." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:229 +msgid "To showcase a complete flow in this example, select :guilabel:`Submit to Manager`. Then, the manager would click :guilabel:`Approve` to approve this expense, and click :guilabel:`Post Journal Entries` to post this expense to the accounting journal." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:234 +msgid "Invoice expenses" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:236 +msgid "To invoice a customer for an :ref:`expense on a sales order `, navigate to the related sales order, either from the :menuselection:`Sales` app or from the expense report in the :menuselection:`Expenses` app. From the expense report, click the :guilabel:`Sales Orders` smart button at the top of the page." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:241 +msgid "If the expense report was linked to the sales order, the newly-configured expense now has its own line in the :guilabel:`Order Lines` tab, and can be invoiced to the customer." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "An expense appearing on Order Lines tab of a Sales Order in Odoo Sales application." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:248 +msgid "To invoice the customer for the expense on the sales order, click :guilabel:`Create Invoice`, select :guilabel:`Regular Invoice` from the :guilabel:`Create invoices` pop-up window, then click :guilabel:`Create Draft Invoice`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:252 +msgid "Doing so reveals a :guilabel:`Customer Invoice Draft` for the expense. Then, the invoicing process can be completed as usual." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "Sample customer invoice for an expense generated from a sales order in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:260 +msgid "Purchase configuration" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:262 +msgid "In order to invoice a customer for purchases made on a sales order, the *Purchase* application **must** be installed." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:265 +msgid "To install the *Purchase* application, navigate to :menuselection:`Odoo main dashboard --> Apps`. Then, on the :guilabel:`Apps` page, locate the :guilabel:`Purchase` app block, and click :guilabel:`Activate`. The page automatically refreshes and returns to the main Odoo dashboard, where the :guilabel:`Purchase` app is now available to access." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:273 +msgid "Add purchase to sales order" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:275 +msgid "To add a purchase to a sales order, a purchase order must first be created. To create a purchase order, navigate to :menuselection:`Purchase app --> New` to reveal a blank purchase order form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:278 +msgid "First, add a :guilabel:`Vendor` to the purchase order. Then, under the :guilabel:`Products` tab, click the :guilabel:`extra column options` drop-down menu, represented by two horizontal lines with dots on them, located to the far-right of the column headers. From that drop-down menu, select :guilabel:`Analytic Distribution`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "How to add analytic distribution column on purchase order form in Odoo Purchase." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:287 +msgid "After adding the :guilabel:`Analytic Distribution` column to the headers on the :guilabel:`Products` tab of the purchase order form, proceed to add the product(s) to the purchase order. To do that, click :guilabel:`Add a product`, and select the desired product from the drop-down menu. Repeat for all the products to add." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:293 +msgid "In order for a purchase to be properly invoiced on a sales order, the product on the purchase order **must** be marked as :guilabel:`Can be Expensed`, have an :guilabel:`Invoicing Policy` set to :guilabel:`Delivered quantities`, and have the :guilabel:`At cost` option selected in the :guilabel:`Re-Invoice Expenses` field on its product form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:0 +msgid "Product settings for a purchase order to be invoiced on a sales order in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:302 +msgid "Then, select the appropriate :guilabel:`Analytic Distribution` associated with the sales order to which this purchase order is related. To do that, click the empty :guilabel:`Analytic Distribution` field to reveal an :guilabel:`Analytic` pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:306 +msgid "Then, from the :guilabel:`Departments` drop-down menu, select the analytic distribution associated with the desired sales order to be invoiced for the purchase." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "How to select the Analytic Distribution department from a purchase order in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:313 +msgid "Once all the information is entered in the :guilabel:`Products` tab of the purchase order, confirm the order by clicking :guilabel:`Confirm Order`. Then, click :guilabel:`Receive Products` when the products have been received. This creates a receipt form." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:318 +msgid "If any serial/lot numbers must be entered before validating the receipt of products, then on the receipt form, click the :guilabel:`details` icon represented by four horizontal lines located to the far-right of the product line." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:322 +msgid "This reveals a :guilabel:`Detailed Operations` tab, in which the necessary :guilabel:`Lot/Serial Number(s)` and :guilabel:`Done` quantity can be added. When ready, click :guilabel:`Confirm` to confirm the data." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:326 +msgid "Then, click :guilabel:`Validate` to validate the purchase order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:328 +msgid "Next, return to the purchase order, via the breadcrumb links at the top of the page, and click :guilabel:`Create Bill` to create a vendor bill that can be invoiced to the customer on the attached sales order." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "Vendor bill draft for a purchase order to be invoiced to a customer in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:337 +msgid "Make sure to enter a :guilabel:`Bill Date` on the :guilabel:`Vendor Bill Draft` before confirming. If a :guilabel:`Bill Date` is *not* entered, an error window appears, requesting that information to be entered before confirmation can occur." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:341 +msgid "Then, click :guilabel:`Confirm` to confirm the vendor bill, which is then automatically added to the sales order, where it can be invoiced directly to the customer attached to it." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:345 +msgid "Invoice purchase" +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:347 +msgid "To invoice a customer for a purchase on a sales order, first :ref:`add the purchase to the sales order `, then navigate to the desired sales order in the :menuselection:`Sales` app." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:351 +msgid "On the sales order that was attached to the purchase order, the purchased product now has its own product line under the :guilabel:`Order Lines` tab, and it is ready to be invoiced." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "Purchase order product on sales order to be invoiced to customer via Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:358 +msgid "To invoice the customer for the purchase, simply click :guilabel:`Create Invoice`, select :guilabel:`Regular Invoice` from the :guilabel:`Create invoices` pop-up window, then click :guilabel:`Create Draft Invoice`." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:362 +msgid "Doing so reveals a :guilabel:`Customer Invoice Draft` with the newly-added purchase order product in the :guilabel:`Invoice Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:-1 +msgid "Customer invoice draft with purchase product attached to sales order in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/invoicing/time_materials.rst:369 +msgid "To complete the invoicing process, click :guilabel:`Confirm` to confirm the invoice, and then click :guilabel:`Register Payment` in the :guilabel:`Register Payment` pop-up form." msgstr "" #: ../../content/applications/sales/sales/products_prices.rst:5 @@ -5450,51 +7607,274 @@ msgid "Manage your pricing" msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:3 -msgid "How to sell in foreign currencies" +msgid "Foreign currencies" msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:5 -msgid "Pricelists can also be used to manage prices in foreign currencies." +msgid "With Odoo, pricelists can be used to manage prices in a number of foreign currencies. Specifically, Odoo has the ability to work with 167 total currencies." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:7 -msgid "Check *Allow multi currencies* in :menuselection:`Invoicing/Accounting --> Settings`. As admin, you need *Adviser* access rights on Invoicing/Accounting apps." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:10 -msgid "Create one pricelist per currency. A new *Currency* field shows up in pricelist setup form." +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:9 +msgid "In order to use multiple currencies in Odoo *Sales*, the *Accounting* application **must** be installed." msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:13 -msgid "To activate a new currency, go to :menuselection:`Accounting --> Configuration --> Currencies`, select it in the list and press *Activate* in the top-right corner. Now it will show up in currencies drop-down lists." +#: ../../content/applications/sales/sales/send_quotations/different_addresses.rst:10 +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:17 +msgid "Settings" msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:17 -msgid "Prices in foreign currencies can be defined in two fashions." +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:15 +msgid "Once the *Accounting* app has been installed, foreign currencies can be added to the database. Navigate to :menuselection:`Accounting app --> Configuration --> Settings`, scroll to the :guilabel:`Currencies` section, and locate the :guilabel:`Main Currency` setting." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:20 -msgid "Automatic conversion from public price" +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:-1 +msgid "How the main currency feature appears on settings page in Odoo Accounting." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:22 -msgid "The public price is in your company's main currency (see :menuselection:`Accounting --> Settings`) and is set in product detail form." +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:23 +msgid "Odoo automatically sets the main currency as the currency of the country the company is based in." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:28 -msgid "The conversion rates can be found in :menuselection:`Accounting --> Configuration --> Currencies`. They can be updated from Yahoo or the European Central Bank at your convenience: manually, daily, weekly, etc. See :menuselection:`Accounting --> Settings`." +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:25 +msgid "To change the main currency of the company, select the drop-down menu in the :guilabel:`Currency` field, select the desired currency, and be sure to :guilabel:`Save` the changes." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:40 -msgid "Set your own prices" +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:29 +msgid "To ensure currency rates are updated automatically, enable the *automatic currency rates* feature on the *Accounting* settings page (:menuselection:`Accounting app --> Configuration --> Settings --> Currencies section`)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:37 +msgid "Click the checkbox beside the :guilabel:`Automatic Currency Rates` feature, choose a designated bank to get the currency rates from in the :guilabel:`Service` field drop-down menu, and select an :guilabel:`Interval` of time for the updates to take place. Then determine when the date of the :guilabel:`Next Run` should be." msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:42 -msgid "This is advised if you don't want your pricing to change along with currency rates." +msgid "To instantly update the currency rates, click the :guilabel:`🔁 (circular arrows)` icon, located to the right of the :guilabel:`Next Run` field." msgstr "" -#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:49 -msgid ":doc:`pricing`" +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:45 +msgid "When all configurations are complete, be sure to :guilabel:`Save` all changes." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:48 +msgid "All payment methods **must** be in the same currency as the sales journal, or the company currency, if the company currency is not set. If it is not the same, a :guilabel:`Validation Error` message appears." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:53 +msgid "View, edit, and add currencies" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:55 +msgid "To view, edit, and add currencies to the database, making them available on pricelists and on the :guilabel:`Main Currency` drop-down menu, click the :guilabel:`Currencies` link, located beneath the :guilabel:`Currency` field on the :menuselection:`Accounting app --> Settings` page." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:59 +msgid "When the :guilabel:`Currencies` link is clicked, a separate :guilabel:`Currencies` page is revealed." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:-1 +msgid "How the main currencies page appears in Odoo Accounting." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:65 +msgid "On this page, Odoo provides a master list of 167 global currencies. Each row shows the corresponding :guilabel:`Currency`, :guilabel:`Symbol`, :guilabel:`Name`, date of the :guilabel:`Last Update`, and :guilabel:`Current Rate` (compared to the default currency of the country in which the company is based)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:70 +msgid "To the far right, there are two columns, which can be toggled on or off:" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:72 +msgid ":guilabel:`Use on eBay`: this currency can be used with the connected eBay account (if applicable)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:74 +msgid ":guilabel:`Active`: this currency is activated, which means it can be added to a pricelist, or used as the main currency of the company, if desired (via :menuselection:`Accounting app --> Configuration --> Settings --> Currencies section`)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:79 +msgid "By default, all the :guilabel:`Active` currency options are at the top of the list." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:82 +msgid "It is recommended that *at least* one pricelist is created per :guilabel:`Active` currency. See :doc:`./pricing` to learn more about pricelist configuration." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:85 +msgid "To toggle options on/off, click the toggle switch in the row for the corresponding column. When *on* the color of the switch is green. When *off*, the color of the switch is grey." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:89 +msgid "Currency detail form" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:91 +msgid "To edit any currency on the :guilabel:`Currencies` page, click the desired currency to reveal the detail form for that specific currency, and proceed to make any necessary changes." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:-1 +msgid "How a currency detail form looks in Odoo Accounting." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:98 +msgid "On the currency detail form, the relevant currency code appears in the :guilabel:`Currency` field. Beneath that, the name for the currency is in the :guilabel:`Name` field." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:101 +msgid "Then, toggle the currency's availability with the :guilabel:`Active` toggle: *on* is indicated with a green switch, and *off* is indicated with a grey switch." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:104 +msgid "On the right of the currency detail form, the appropriate :guilabel:`Currency Unit` (e.g. `Dollars`) and :guilabel:`Currency Subunit` (e.g. `Cents`) can be found." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:107 +msgid "If the currency is meant to be used for eBay purposes, toggle the :guilabel:`Use on eBay` option to the desired activation." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:110 +msgid "Next, under the :guilabel:`Rates` tab, the various conversion rates can be viewed, added, or deleted. Each row shows the :guilabel:`Date` of that specific rate, the :guilabel:`Company` to which it is connected, followed by the :guilabel:`Unit per...` and :guilabel:`...per Unit`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:115 +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:166 +msgid "The *...* in each of the last two columns represents the main currency set for the company. For example, if the main currency is set to `USD`, the columns are titled :guilabel:`Unit per USD` and :guilabel:`USD per Unit`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:119 +msgid "To add a new rate, click :guilabel:`Add a line` in the :guilabel:`Rates` tab, and proceed to fill in the necessary information in the aforementioned columns." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:123 +msgid "Main currency detail form" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:125 +msgid "If the selected currency is the main currency of the company, a blue banner appears at the top of the currency detail form with the message: :guilabel:`This is your company's currency.`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:-1 +msgid "How a main currency detail form looks in Odoo Accounting." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:132 +msgid "All the fields are the same as a typical currency detail form, but there will **not** be a :guilabel:`Rates` tab because all other currency rates are based off the main currency of the company." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:137 +msgid "Create new currency" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:139 +msgid "If a desired currency isn't on the :guilabel:`Currencies` page, click the :guilabel:`New` button to open a blank currency template form." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:143 +msgid "The same :guilabel:`New` button is located in the upper-right corner of any currency detail form." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:-1 +msgid "How a blank currency detail form looks in Odoo Accounting." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:149 +msgid "On the blank currency detail form, proceed to enter the desired currency code in the :guilabel:`Currency` field. Beneath that, enter the name for the currency in the :guilabel:`Name` field." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:153 +msgid "Then, toggle the currency's availability with the :guilabel:`Active` toggle switch." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:155 +msgid "On the right of the currency detail form, enter the appropriate :guilabel:`Currency Unit` (e.g. `Dollars`) and appropriate :guilabel:`Currency Subunit` (e.g. `Cents`)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:158 +msgid "If the currency is meant to be used for eBay purposes, toggle the :guilabel:`Use on eBay` to the desired activation." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:161 +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:171 +msgid "Currency-specific pricelists" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:173 +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:177 +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:180 +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:184 +msgid ":doc:`./pricing` to learn more about pricelist configuration." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:187 +msgid "Auto-conversion from public price" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:189 +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:193 +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:198 +msgid "Set product prices" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:200 +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:203 +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:206 +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 "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:-1 +msgid "How to set product prices based on foreign currency pricelists in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/prices/currencies.rst:214 +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:217 +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:221 +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:224 +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:227 +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:231 +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:236 +msgid ":doc:`./pricing`" msgstr "" #: ../../content/applications/sales/sales/products_prices/prices/pricing.rst:3 @@ -6201,248 +8581,364 @@ msgid "`Create, modify, or close your Google Cloud Billing account Configuration --> Settings --> Product Catalog`, and enable the :guilabel:`Variants` feature. Finally, click :guilabel:`Save` to apply the setting." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:31 +msgid ":doc:`/applications/websites/ecommerce/managing_products/variants`" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 -msgid "Activating product variants." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:37 -msgid "Creating attributes" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:36 +msgid "To use product variants, the *Variants* setting **must** be activated in the Odoo *Sales* application." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:39 -msgid "Attributes need to be created before product variants can be set up. Attributes can be accessed via :menuselection:`Sales --> Configuration --> Products --> Attributes`." +msgid "To do that, go to :menuselection:`Sales app --> Configuration --> Settings`, and locate the :guilabel:`Product Catalog` section at the top of the page." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:43 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:42 +msgid "In that section, check the box to enable the :guilabel:`Variants` feature." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +msgid "Activating product variants on the Settings page of the Odoo Sales application." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:48 +msgid "Then, click :guilabel:`Save` at the top of the :guilabel:`Settings` page." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:51 +msgid "Attributes" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:53 +msgid "Before product variants can be set up, attributes **must** be created. To create, manage, and modify attributes, navigate to :menuselection:`Sales app --> Configuration --> Attributes`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:57 msgid "The order of attributes on the :guilabel:`Attributes` page dictates how they appear on the :guilabel:`Product Configurator`, :guilabel:`Point of Sale` dashboard, and :guilabel:`eCommerce` pages." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:47 -msgid "To create a new attribute, click :guilabel:`Create`. First, choose an attribute name, such as \"Color\" or \"Size.\"" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:61 +msgid "To create a new attribute from the :guilabel:`Attributes` page, click :guilabel:`New`. Doing so reveals a blank attributes form that can be customized and configured in a number of ways." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 -msgid "Attribute creation window." +msgid "A blank attribute creation form in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:54 -msgid "Then, select a :guilabel:`Display Type`, which determines how this product will be shown on the :guilabel:`eCommerce` page, :guilabel:`Point of Sale` dashboard, and :guilabel:`Product Configurator`." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:58 -msgid ":guilabel:`Radio`: options appear in a bullet style list." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:59 -msgid ":guilabel:`Select`: options appear in a dropdown menu." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:60 -msgid ":guilabel:`Color`: options appear as small colored squares, which reflect any HTML color codes set." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 -msgid "Display Types on Product Configurator." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:67 -msgid "The :guilabel:`Variants Creation Mode` informs Odoo when to automatically create a new variant once an attribute is added to a product." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:68 +msgid "First, create an :guilabel:`Attribute Name`, such as `Color` or `Size`." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:70 -msgid ":guilabel:`Instantly`: creates all possible variants as soon as attributes and values are added to a product template." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:72 -msgid ":guilabel:`Dynamically`: creates variants only when corresponding attributes and values are added to a sales order." +msgid "Next, in the optional :guilabel:`Category` field, select a category from a drop-down menu to group similar attributes under the same section for added specificity and organization." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:74 -msgid ":guilabel:`Never`: never automatically creates variants." +msgid "To view the details related to the attribute category selected, click the internal link :guilabel:`➡️ (arrow)` icon to the far-right of the :guilabel:`Category` field. Doing so reveals that attribute category's detail form." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:77 -msgid "Once added to a product, an attribute's :guilabel:`Variants Creation Mode` cannot be edited." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:79 -msgid "Values should be added to an attribute before saving, but more values can be added at any time, if needed. To add a value, click :guilabel:`Add a line`. From there, you can:" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +msgid "A standard attribute category detail page accessible via its internal link arrow icon." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:82 -msgid "Type in the value's name." +msgid "Here, the :guilabel:`Category Name` and :guilabel:`Sequence` is displayed at the top. Followed by :guilabel:`Related Attributes` associated with the category. These attributes can be dragged-and-dropped into a desirable order of priority." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:83 -msgid "Check a box to indicate whether or not the value is custom (i.e. the customer provides unique specifications)." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:86 +msgid "Attributes can be directly added to the category, as well, by clicking :guilabel:`Add a line`." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:85 -msgid "Specifically for colors, add an HTML color code to make it even easier for salespeople and customers to know what they're selecting." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:89 +msgid "To create an attribute category directly from this field, start typing the name of the new category, then select either :guilabel:`Create` or :guilabel:`Create and edit...` from the drop-down menu that appears." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:88 -msgid "A color code can be selected either by dragging the slider around or by entering a specific HTML color code (e.g. #FF0077)." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:93 +msgid "Clicking :guilabel:`Create` creates the category, which can be modified later. Clicking :guilabel:`Create and edit...` creates the category and reveals a :guilabel:`Create Category` pop-up window, in which the new attribute category can be configured and customized." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 -msgid "Selecting a color." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:95 -msgid "Finally, click :guilabel:`Save` to finish creating the attribute." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:98 -msgid "Attributes can also be created directly from the product template by adding a new line and typing the name into the :guilabel:`Variants` tab." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:97 +msgid "Beneath the :guilabel:`Category` field are the :guilabel:`Display Type` options. The :guilabel:`Display Type` determines how this product is shown on the online store, :guilabel:`Point of Sale` dashboard, and :guilabel:`Product Configurator`." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:101 -msgid "After an attribute is added to a product, a new tab appears on the attribute's page called :guilabel:`Related Products`. This tab lists every product in the database that is currently using the attribute." +msgid "The :guilabel:`Display Type` options are:" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:103 +msgid ":guilabel:`Radio`: options appear in a bullet-style list on the product page of the online store." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:104 +msgid ":guilabel:`Pills`: options appear as selectable buttons on the product page of the online store." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:105 +msgid ":guilabel:`Select`: options appear in a drop-down menu on the product page of the online store." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:106 -msgid "Creating product variants" +msgid ":guilabel:`Color`: options appear as small, colored squares, which reflect any HTML color codes set, on the product page of the online store." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:108 -msgid "After creating an attribute, use the attribute to create a product variant by going to :menuselection:`Sales --> Products --> Products`. Then, select an existing product and click :guilabel:`Edit`, or create a new product by clicking :guilabel:`Create`." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +msgid "Display Types on Product Configurator on the online store in Odoo." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:112 -msgid "The :guilabel:`Variants` smart button at the top of the product template indicates the number of currently configured variants on the product." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:113 +msgid "The :guilabel:`Variants Creation Mode` field informs Odoo when to automatically create a new variant once an attribute is added to a product." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:115 -msgid "To add a new variant, click on the :guilabel:`Variants` tab, then click on :guilabel:`Add a line` to add any attributes and values. When all the attributes and values have been added, click :guilabel:`Save`." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:116 +msgid ":guilabel:`Instantly`: creates all possible variants as soon as attributes and values are added to a product template." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:118 +msgid ":guilabel:`Dynamically`: creates variants **only** when corresponding attributes and values are added to a sales order." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:120 -msgid "Similar product variant creation processes are accessible through the Purchase, Inventory, and eCommerce applications." +msgid ":guilabel:`Never (option)`: never automatically creates variants." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:124 -msgid "Managing product exclusions" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:123 +msgid "Once added to a product, an attribute's :guilabel:`Variants Creation Mode` cannot be edited." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:126 -msgid "The following examples are all based on a product template that has two attributes:" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:125 +msgid "Lastly, the :guilabel:`eCommerce Filter Visibility` field determines whether these attribute options are visible to the customer on the front-end, as they shop on the online store." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:128 -msgid "T-Shirt" +msgid ":guilabel:`Visible`: the attribute values are visible to customers on the front-end." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:130 -msgid "Color: Blue, Red, White" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:129 +msgid ":guilabel:`Hidden`: the attribute values are hidden from customers on the front-end." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:133 -msgid "With the above product template, there are 15 different t-shirt variants in three different colors and five different sizes. If the white t-shirts are not available in the XXL size, then that variant can be deactivated." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:132 +msgid "Attribute values" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:134 +msgid "Attribute values should be added to the :guilabel:`Attribute Values` tab. Values can be added to an attribute at any time, if needed." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:137 -msgid "To deactivate a particular product variant, go to :menuselection:`Sales --> Products --> Products` and select the relevant product. Next, click on the :guilabel:`Configure` button next to the relevant attribute value. Then select the relevant value (in this example, the :guilabel:`White Color` attribute), and then click on :guilabel:`Edit`." +msgid "To add a value, click :guilabel:`Add a line` in the :guilabel:`Attribute Values` tab." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:142 -msgid "In the :guilabel:`Exclude for` section, click :guilabel:`Add a line` and select any product(s) and/or specific attribute values that are currently unavailable. Finally, click :guilabel:`Save` to apply the setting, and Odoo will automatically show the product variant as unavailable on the eCommerce page." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:139 +msgid "Then, enter the name of the value in the :guilabel:`Value` column. Next, check the box in the :guilabel:`Is custom value` column, if the value is custom (i.e. the customer gets to provide unique specifications that are specific to this particular value)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:144 +msgid "If the :guilabel:`Display Type` - :guilabel:`Color` option is selected, the option to add an HTML color code will appear to the far-right of the value line, to make it easier for salespeople and customers to know exactly what color option they're choosing." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 -msgid "Excluding attributes." +msgid "Attribute values tab when add a line is clicked, showing the custom columns." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:152 -msgid "Setting a price per variant" -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:154 -msgid "Extra costs can be added to a product's standard price for specific product variants." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:156 -msgid "To do this, open :menuselection:`Sales --> Products --> Products`, and click on the relevant product. Next, click on :guilabel:`Configure Variants` to access the list of product variant values." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:160 -msgid "Then, click on a variant value, and :guilabel:`Edit`. In the :guilabel:`Value Price Extra` field, type in the additional cost for this particular value. This amount is added to the standard price. Finally, click :guilabel:`Save` to apply the extra price to the value." +msgid "To choose a color, click the blank circle in the :guilabel:`Color` column, which reveals an HTML color selector pop-up window." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 -msgid "Value Price Extra setting." +msgid "Selecting a color from the HTML color pop-up window that appears on attribute form." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:159 +msgid "In this pop-up window, select a specific color by dragging the color slider to a particular hue, and clicking on the color portion directly on the color gradient window." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:162 +msgid "Or, choose a specific color by clicking the *dropper* icon, and selecting a desired color that's currently clickable on the screen." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:166 +msgid "Attributes can also be created directly from the product template by adding a new line and typing the name into the :guilabel:`Variants` tab." msgstr "" #: ../../content/applications/sales/sales/products_prices/products/variants.rst:169 +msgid "Once an attribute is added to a product, that product is listed and accessible, via the attribute's :guilabel:`Related Products` smart button. That button lists every product in the database currently using that attribute." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:176 +msgid "Once an attribute is created, use the attribute (and its values) to create a product variant. To do that, go to :menuselection:`Sales app --> Products --> Products`, and select an existing product to view that desired product's form. Or, click :guilabel:`Create` to create a new product, to which a product variant can be added." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:181 +msgid "On the product form, click the :guilabel:`Attributes \\& Variants` tab to view, manage, and modify attributes and values for the product." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +msgid "The attributes and values tab on a typical product form in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:188 +msgid "To add an attribute to a product, and subsequent attribute values, click :guilabel:`Add a line` in the :guilabel:`Attributes \\& Variants` tab. Then, choose the desired attribute from the drop-down menu that appears." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:193 +msgid "Attributes can be created directly from the :guilabel:`Attributes \\& Variants` tab of a product form. To do that, start typing the name of the new attribute in the blank field, and select either :guilabel:`Create` or :guilabel:`Create and edit...` from the mini drop-down menu that appears." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:198 +msgid "Clicking :guilabel:`Create` creates the attribute, which can be customized later. Clicking :guilabel:`Create and edit...` creates the attribute, and a :guilabel:`Create Attribute` pop-up form appears. In the pop-up form, proceed to modify the attribute in a number of ways." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:202 +msgid "Once an attribute is selected in the :guilabel:`Attribute` column, proceed to select the specific attribute values to apply to the product, via the drop-down menu available in the :guilabel:`Values` column." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:207 +msgid "There is no limit to how many values can be added." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:210 +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:214 +msgid "Configure variants" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:216 +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 "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +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:223 +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:227 +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:230 +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 "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +msgid "A Product Variant Values page accessible via the Product Variants Values general page." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:237 +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:240 +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:245 +msgid "Variants smart button" +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:247 +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 "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +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:255 +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 "" + +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:-1 +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:263 msgid "Impact of variants" msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:171 -msgid ":guilabel:`Barcode`: barcodes are associated with each variant instead of the product template. Each individual variant can have its own unique barcode/SKU." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:265 +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:174 -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. For example, a red shirt's cost 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." +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:268 +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:180 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:270 +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:274 +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:278 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:184 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:281 msgid ":guilabel:`Picture`: each product variant can have its own specific picture." msgstr "" -#: ../../content/applications/sales/sales/products_prices/products/variants.rst:187 +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:284 msgid "Changes to the product template automatically apply to every variant of that product." msgstr "" +#: ../../content/applications/sales/sales/products_prices/products/variants.rst:287 +msgid ":doc:`import`" +msgstr "" + #: ../../content/applications/sales/sales/products_prices/returns.rst:3 -msgid "Process returns and refunds" +msgid "Returns and refunds" msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:5 -msgid "The :guilabel:`Sales` app provides two different ways to process returns based on whether an invoice has been sent or not." +msgid "The Odoo *Sales* app provides two different ways to process returns. The method used depends on whether or not an invoice has been sent." msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:9 @@ -6450,67 +8946,131 @@ msgid "Before invoicing" msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:11 -msgid "Returns are completed using *Reverse Transfers* when a customer decides to return a product before an invoice has been sent or validated." +msgid "Returns are completed using *Reverse Transfers* when a customer decides to return a product **before** an invoice has been sent or validated." msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:15 -msgid "In order to use Reverse Transfers, the :guilabel:`Inventory` app must also be installed." +msgid "In order to use *Reverse Transfers*, the *Inventory* app **must** be installed." msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:17 -msgid "To start a return, open the :guilabel:`Sales` app, navigate to the customer's sales order, and click on the :guilabel:`Delivery` smart button to open the associated delivery order." +msgid "To start a return before invoicing, navigate to the :menuselection:`Sales` app, select the desired sales order, and click on the :guilabel:`Delivery` smart button to open the associated delivery order." msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:20 -msgid "On the validated delivery order, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window. By default, the :guilabel:`Quantity` matches the validated quantities from the delivery order. Update the quantities if necessary. Click on the trash icon next to a line item to remove it from the return." +#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 +msgid "A typical sales order with a highlighted delivery smart button in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:25 +msgid "On the validated delivery order, click :guilabel:`Return`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 +msgid "A validated delivery order with a highlighted Return button in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:31 +msgid "This opens a :guilabel:`Reverse Transfer` pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:33 +msgid "By default, the :guilabel:`Quantity` matches the validated quantities from the delivery order. Update the quantities, if necessary. Click on the :guilabel:`🗑️ (trash)` icon next to a line item to remove it from the return." msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:-1 msgid "The \"Reverse Transfer\" pop-up window, to make a return before invoicing the customer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:29 -msgid "Next, click :guilabel:`Return` to confirm the return. This generates a new warehouse operation for the incoming returned product(s). Upon receiving the return, the warehouse team validates the warehouse operation. Then, on the original sales order, the :guilabel:`Delivered` quantity will reflect the difference between the initial validated quantities and the returned quantities." +#: ../../content/applications/sales/sales/products_prices/returns.rst:41 +msgid "Next, click :guilabel:`Return` to confirm the return. This generates a new warehouse operation for the incoming returned product(s)." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 +msgid "Warehouse operation after a return has been confirmed in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:48 +msgid "Upon receiving the return, the warehouse team validates the warehouse operation by clicking :guilabel:`Validate`. Then, on the original sales order, the :guilabel:`Delivered` quantity updates to reflect the difference between the initial validated quantities and the returned quantities." msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:-1 msgid "The updated \"Delivered\" quantity on the sales order after the reverse transfer." msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:38 -msgid "When an invoice is created, the customer receives an invoice only for the products they are keeping." +#: ../../content/applications/sales/sales/products_prices/returns.rst:56 +msgid "When an invoice is created, the customer receives an invoice **only** for the products they are keeping, if any." msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:42 +#: ../../content/applications/sales/sales/products_prices/returns.rst:60 msgid "After invoicing" msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:44 -msgid "Sometimes, customers return an item after they receive and/or pay for their invoice. In these cases, a return using only *Reverse Transfers* is insufficient since validated or sent invoices cannot be changed. However, *Reverse Transfers* can be used in conjunction with *Credit Notes* to complete the customer's return." +#: ../../content/applications/sales/sales/products_prices/returns.rst:62 +msgid "Sometimes, customers return an item after they receive and/or pay for their invoice. In these cases, a return using only *Reverse Transfers* is insufficient since validated, or sent, invoices cannot be changed." msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:49 -msgid "To start a return, navigate to the relevant sales order. If there is a payment registered on the sales order, then the payment details will appear in the Chatter, and the invoice (accessible through the :guilabel:`Invoices` smart button) will have a green banner across it." +#: ../../content/applications/sales/sales/products_prices/returns.rst:66 +msgid "However, *Reverse Transfers* can be used in conjunction with *Credit Notes* to complete the customer's return." msgstr "" -#: ../../content/applications/sales/sales/products_prices/returns.rst:53 -msgid "From the sales order, click on the :guilabel:`Delivery` smart button to view the validated delivery order. Then, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window. Next, edit the :guilabel:`Product` or :guilabel:`Quantity` as needed for the return, and then click :guilabel:`Return`. This generates a new warehouse operation for the incoming returned product(s), which is validated by the warehouse team once the return is received. Then, on the sales order, the :guilabel:`Delivered` quantity will reflect the difference between the initial validated quantities and the returned quantities." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/returns.rst:61 -msgid "To process a refund, navigate to the relevant invoice (from the sales order, click on the :guilabel:`Invoices` smart button). Click :guilabel:`Add Credit Note` from the validated invoice." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 -msgid "The \"Credit Note\" pop-up window, to issue a credit to the customer after invoicing." -msgstr "" - -#: ../../content/applications/sales/sales/products_prices/returns.rst:68 -msgid "A :guilabel:`Reason` for the credit and a :guilabel:`Specific Journal` to use to process the credit can be specified. If a :guilabel:`Specific Reversal Date` is selected, then a :guilabel:`Refund Date` must also be selected." +#: ../../content/applications/sales/sales/products_prices/returns.rst:69 +msgid "To start a return after invoicing, navigate to the relevant sales order in the :menuselection:`Sales` app." msgstr "" #: ../../content/applications/sales/sales/products_prices/returns.rst:72 -msgid "After the information is filled in, click :guilabel:`Reverse`. Then, :guilabel:`Edit` the draft as needed, and finally, click :guilabel:`Confirm` to confirm the credit note." +msgid "If there is a payment registered on the sales order, the payment details appear in the chatter, and the invoice (accessible through the :guilabel:`Invoices` smart button) has a green :guilabel:`In Payment` banner." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 +msgid "Sample of a green in payment banner in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:80 +msgid "From the sales order, click on the :guilabel:`Delivery` smart button to view the validated delivery order. Then, click :guilabel:`Return` to open the :guilabel:`Reverse Transfer` pop-up window." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:83 +msgid "Next, edit the :guilabel:`Product` and/or :guilabel:`Quantity`, as needed for the return. Then, click :guilabel:`Return`. This generates a new warehouse operation for the incoming returned product(s), which is validated by the warehouse team once the return is received by clicking :guilabel:`Validate`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:88 +msgid "Then, on the sales order, the :guilabel:`Delivered` quantity updates to reflect the difference between the initial validated quantities and the returned quantities." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:91 +msgid "To process a refund, navigate to the relevant invoice (from the sales order, click on the :guilabel:`Invoices` smart button). Then, click the :guilabel:`Credit Note` button at the top of the validated invoice." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 +msgid "A typical customer invoice with a Credit Note button highlighted in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:99 +msgid "Doing so reveals a :guilabel:`Credit Note` pop-up form." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:-1 +msgid "Typical credit note pop-up form that appears in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:105 +msgid "Start by entering a :guilabel:`Reason displayed on Credit Note` and a specific :guilabel:`Journal` to process the credit. Then, select a specific :guilabel:`Reversal Date`." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:108 +msgid "After the information is filled in, click :guilabel:`Reverse` or :guilabel:`Reverse and Create Invoice`. Then, edit the draft, if needed." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:111 +msgid "Lastly, click :guilabel:`Confirm` to confirm the credit note." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:113 +msgid "When complete, a blue banner reading: :guilabel:`You have outstanding credits for this customer. You can allocate them to mark this invoice as paid.` appears at the top of the page." +msgstr "" + +#: ../../content/applications/sales/sales/products_prices/returns.rst:117 +msgid ":doc:`../../../finance/accounting/customer_invoices/credit_notes`" msgstr "" #: ../../content/applications/sales/sales/send_quotations.rst:5 @@ -6578,9 +9138,7 @@ msgid "Then, whenever that specific quotation template is used in a quote, an ex msgstr "" #: ../../content/applications/sales/sales/send_quotations/deadline.rst:56 -#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:52 -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:90 -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:223 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:227 msgid ":doc:`/applications/sales/sales/send_quotations/quote_template`" msgstr "" @@ -6592,10 +9150,6 @@ msgstr "" msgid "People and businesses often use separate addresses for billing (invoicing) and shipping (delivery) purposes. With the Odoo *Sales* app, contacts can have different specified addresses for delivery and invoicing." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/different_addresses.rst:10 -msgid "Settings" -msgstr "" - #: ../../content/applications/sales/sales/send_quotations/different_addresses.rst:12 msgid "To properly utilize multiple addresses in Odoo, go to :menuselection:`Sales app --> Configuration --> Settings` and scroll down to the :guilabel:`Quotations & Orders` heading. Then, check the box next to :guilabel:`Customer Addresses`, and click :guilabel:`Save`." msgstr "" @@ -6689,63 +9243,111 @@ msgid "If any changes are made on a form in Odoo, include *Contacts* forms, reme msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:3 -msgid "Get paid to confirm an order" +msgid "Online payment order confirmation" msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:5 -msgid "In general, online payments are considered as a fast and secure alternative to traditional payment methods. It is generally cheaper, easier and faster than other payment methods. It is particularly useful and efficient for international transactions. With Odoo Sales, you can use online payments to get automatic orders confirmation. Online payments are made instantly, so it's very convenient and saves lots of time in a basic sales process." +msgid "The Odoo *Sales* application provides customers with the ability to confirm orders, via an online payment, directly on a sales order. Once the sales order is electronically paid for by the customer, the salesperson attached to the sales order is instantly notified that the order is confirmed." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:10 +msgid "Activate online payments" msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:12 -msgid "Enable online payment" +msgid "In order to have customers confirm orders with an online payment, the *Online Payment* setting **must** be activated." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:14 -msgid "Go to :menuselection:`Sales --> Configuration --> Settings` and activate the **Online Payment** feature." +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:15 +msgid "To activate the *Online Payment* feature, go to :menuselection:`Sales app --> Configuration --> Settings`, scroll to the :guilabel:`Quotations \\& Orders` heading, check the box next to the :guilabel:`Online Payment` feature, and click :guilabel:`Save`." msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 -msgid "How to enable online payment on Odoo Sales?" +msgid "The online payment setting in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:22 -msgid "There, you will have direct access to the **Payment Providers** page. It will allow you to select and configure your providers of choice. Before creating or modifying a payment provider, be sure to check out our documentation about how to be paid with payment providers such as :doc:`/applications/finance/payment_providers/paypal`, :doc:`/applications/finance/payment_providers/authorize`, and others in the :doc:`/applications/finance/payment_providers` documentation." +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:23 +msgid "Beneath the :guilabel:`Online Payment` option on the *Sales* :guilabel:`Settings` page, there's a :guilabel:`Default Quotation Validity` field. In this field, there's the option to add a specific number of days for quotations to remain valid by default." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:30 -msgid "If you are familiar with this documentation: :doc:`quote_template`; you can activate or not the **Online Payment** feature for each template you use, under their confirmation tab." +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:27 +msgid "To enable this feature on a standard quotation, click the checkbox for the :guilabel:`Payment` feature option, located in the :guilabel:`Online confirmation` field, on the :guilabel:`Other Info` tab." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 +msgid "The online payment setting on a standard quotation in Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:35 -msgid "Register a payment" -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:37 -msgid "After opening quotations from their received email, your customers will have different possibilities to make their online payments. For example:" +msgid "To enable this feature on a quotation template, click the checkbox for the :guilabel:`Payment` feature option, located in the :guilabel:`Online confirmation` field of the quotation template form." msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 -msgid "How to register a payment on Odoo Sales?" +msgid "The online payment setting on quotation template forms in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:46 -msgid "By clicking on the **Customer Preview** button, you will be able to see what your customers will have to choose when it comes to payment." +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:43 +msgid "Payment providers" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:50 +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:45 +msgid "After activating the :guilabel:`Online Payment` feature, a link to configure :guilabel:`Payment Providers` appears beneath it." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:48 +msgid "Clicking that link reveals a separate :guilabel:`Payment Providers` page, in which a large variety of payment providers can be enabled, customized, and published." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 +msgid "Payment providers page in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:56 +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:91 +msgid ":doc:`../../../finance/payment_providers`" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:59 +msgid "Register a payment" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:61 +msgid "After opening quotations in their customer portal, customers can click :guilabel:`Accept \\& Pay` to confirm their order with an online payment." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 +msgid "The accept and pay button on an online quotation in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:68 +msgid "After clicking :guilabel:`Accept \\& Pay`, customers are presented with :guilabel:`Validate Order` pop-up window containing different options for them to make online payments, in the :guilabel:`Pay with` section." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 +msgid "How to register a payment on a validate order pop-up window in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:77 +msgid "Odoo will **only** offer payment options on the :guilabel:`Validate Order` pop-up window that have been published and configured on the :guilabel:`Payment Providers` page." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:80 +msgid "Once the customer selects their desired method of payment, they will click the :guilabel:`Pay` button on the pop-up window to confirm the order. Odoo instantly notifies the assigned salesperson upon order confirmation with an online payment." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:-1 +msgid "Sample of notification that appears in the chatter when an online payment is made." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:89 +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:77 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:99 msgid ":doc:`quote_template`" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:51 -msgid ":doc:`/applications/finance/payment_providers`" -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:52 -msgid ":doc:`/applications/finance/payment_providers/paypal`" -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:53 -msgid ":doc:`/applications/finance/payment_providers/authorize`" +#: ../../content/applications/sales/sales/send_quotations/get_paid_to_validate.rst:90 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:272 +msgid ":doc:`get_signature_to_validate`" msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:3 @@ -6753,7 +9355,7 @@ msgid "Online signatures for order confirmations" msgstr "" #: ../../content/applications/sales/sales/send_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 automatically 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/send_quotations/get_signature_to_validate.rst:11 @@ -6761,43 +9363,80 @@ msgid "Activate online signatures" msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:13 -msgid "To activate the *online signature* feature, go to :menuselection:`Sales app --> Configuration --> Settings`, scroll to the :guilabel:`Quotations & Orders` heading, and activate the :guilabel:`Online Signature` feature by checking the box beside it. Then, click the :guilabel:`Save` button in the top-left corner." +msgid "In order to have customers confirm orders with an online signature, the *Online Signature* feature **must** be activated." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:16 +msgid "To activate the *Online Signature* feature, go to :menuselection:`Sales app --> Configuration --> Settings`, scroll to the :guilabel:`Quotations \\& Orders` heading, and activate the :guilabel:`Online Signature` feature by checking the box beside it." msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:-1 -msgid "How to enable online signature in Odoo Sales settings." +msgid "The Online Signature feature option in the Settings of the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:23 -msgid "On quotation templates, the :guilabel:`Online Signature` feature is located under the :guilabel:`Confirmation` tab." +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:24 +msgid "Then, click the :guilabel:`Save` button in the top-left corner." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:27 +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 "" #: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:0 -msgid "How to enable online signature on a quotation template." +msgid "The Online confirmation signature option found on every quotation template in Odoo." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:30 -msgid "On standard quotations, the :guilabel:`Online Signature` feature is located under the :guilabel:`Other Info` tab." +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:34 +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 "" #: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:0 -msgid "How to enable online signature on standard quotations." +msgid "The online signature feature option in the Other Info tab of a quotation form in Odoo." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:38 +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:42 msgid "Order confirmations with online signatures" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:40 -msgid "When quotations are sent to clients, there's an option for them to :guilabel:`Sign & Pay` directly on the quotation in the online customer portal. When clicked, clients have the option to draw a signature, fill in the field with an automated signature, or load a file from their computer." +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:44 +msgid "When clients access quotations online through their customer portal, there's a :guilabel:`Sign \\& Pay` button directly on the quotation." msgstr "" #: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:-1 -msgid "How to confirm an order with a signature on Odoo Sales." +msgid "The Sign and Pay button present on online quotations in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:48 -msgid "Once signed, the various payment method options become available. 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/send_quotations/get_signature_to_validate.rst:51 +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 "" + +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:-1 +msgid "The Validate Order pop-up window for online signatures in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:58 +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/send_quotations/get_signature_to_validate.rst:61 +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/send_quotations/get_signature_to_validate.rst:66 +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/send_quotations/get_signature_to_validate.rst:70 +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/send_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)." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/get_signature_to_validate.rst:78 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:273 +msgid ":doc:`get_paid_to_validate`" msgstr "" #: ../../content/applications/sales/sales/send_quotations/optional_products.rst:3 @@ -6809,6 +9448,7 @@ msgid "The use of optional products is a marketing strategy that involves the cr msgstr "" #: ../../content/applications/sales/sales/send_quotations/optional_products.rst:9 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:157 msgid "For instance, if a customer wants to buy a car, they have the choice to order massaging seats, as well, or ignore the offer and simply buy the car. Presenting the choice to purchase optional products enhances the customer experience." msgstr "" @@ -6824,144 +9464,202 @@ msgstr "" msgid "How to add optional products to your quotations on Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:24 -msgid "Click the :guilabel:`Customer Preview` button to reveal a preview of the quotation customers would receive via email, along with the optional products they have a chance of adding to their order." +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:23 +msgid "To add an optional product(s) to a quotation, click :guilabel:`Add a product` in the :guilabel:`Optional Products` tab of a quotation. Doing so reveals a blank field in the :guilabel:`Product` column." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:0 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:27 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:178 +msgid "When clicked, a drop-down menu with products from the database appear. Select the desired product from the drop-down menu to add it as an optional product to the quotation template." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:31 +msgid "If the desired product isn't readily visible, type the name of the desired product in the field, and the option appears in the drop-down menu. Then, select that desired product to add it to the quotation." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:36 +msgid "When a product is added, the default :guilabel:`Quantity` is `1`, but that can be edited at any time." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:39 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:181 +msgid "To delete any line item from the :guilabel:`Optional Products` tab, click the :guilabel:`🗑️ (trash can)` icon." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:42 +msgid "Click the :guilabel:`Preview` button, located in the upper-left corner of the quotation, to reveal a preview of the quotation customers would receive, via email, along with the optional products they can potentially add to their order, located in the :guilabel:`Options` section." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:-1 msgid "Preview your quotations on Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:32 -msgid "In practice, customers are able to add different optional products to an order by clicking the :guilabel:`🛒 (shopping cart)` icon, located to the right of the optional product line. If a customer selects all the optional products suggested, these additional items are automatically filled in on the quotation that is managed by the salesperson." +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:50 +msgid "Customers are able to add different optional products to an order by clicking the :guilabel:`🛒 (shopping cart)` icon, located to the right of the optional product line." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:-1 -msgid "How to select optional products on Odoo Sales." +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:53 +msgid "If a customer selects optional products, these are automatically added to the quotation managed by the salesperson." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:41 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:56 msgid "When the customer adds an optional product(s) to an order, the salesperson is instantly notified about the change, along with any other change the customer makes to an order. This allows salespeople to stay up-to-date with everything related to an order in the backend of the *Sales* application." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:-1 -msgid "How to follow each movement made by your customers on Odoo Sales." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:51 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:62 msgid "Optional products on quotation templates" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:54 -msgid "Be sure to review the documentation on how to :doc:`/applications/sales/sales/send_quotations/quote_template` to better understand how quotation templates work before reading the following information." +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:65 +msgid "Be sure to review the :doc:`quote_template` documentation to better understand how quotation templates work before reading the following information." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:58 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:68 msgid "For quotation templates, just like a typical quotation form, there is also an :guilabel:`Optional Products` tab, wherein related products or services can be added to a quotation template." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:61 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:71 msgid "To add optional products to a quotation template, navigate to :menuselection:`Sales app --> Configuration --> Quotation Templates`. Then, either select an existing quotation template to edit, or create a new one by clicking :guilabel:`New`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:65 -msgid "On the quotation form, click :guilabel:`Edit`, then click the :guilabel:`Optional Products` tab. Under the :guilabel:`Optional Products` tab, click :guilabel:`Add a line`, and select the desired product to add as an optional product to the quotation template." +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:75 +msgid "On the quotation template form, click the :guilabel:`Optional Products` tab. Under the :guilabel:`Optional Products` tab, click :guilabel:`Add a line`, and select the desired product to add as an optional product to the quotation template." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:70 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:83 +msgid "The products added in the :guilabel:`Optional Products` tab are present in the quotation, by default, whenever that particular quotation template is used. These products can be removed, and additional products can be added, before the quotation is sent to a customer." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:88 msgid "It's best to offer optional products that would encourage a customer to add additional items to their order, or entice them to purchase a more expensive version of their initially selected product." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:74 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:92 msgid "For example, if a customer purchases a wooden chair, some optional products could be: a warranty on that chair and/or a wooden chair with leather seats." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:77 -msgid "When the desired optional product(s) have been added, click :guilabel:`Save` to save all changes." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:80 +#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:96 msgid "There is no limit to how many optional products can be added to a quotation template." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:82 -msgid "The products added in the :guilabel:`Optional Products` tab are present in the quotation, by default, whenever that particular quotation template is used." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/optional_products.rst:-1 -msgid "How to add optional products to your quotation templates on Odoo Sales." -msgstr "" - #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:3 -msgid "Use product variants on quotations and sales orders" +msgid "Product variants on quotations and sales orders" msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:5 -msgid "Product variants can be added to quotations and sales orders using the Product Configurator, Variant Grid Entry, or both." +msgid "Before getting into detail about how to use product variants on quotations and sales orders, it's recommended to learn about :doc:`../products_prices/products/variants` in Odoo." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:11 -msgid "To enable product variants on quotations and sales orders, go to :menuselection:`Sales --> Configuration --> Settings --> Product Catalog` and activate one or both of the :guilabel:`Product Configurator` and :guilabel:`Variant Grid Entry` settings. Finally, click :guilabel:`Save` to apply the settings." +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:8 +msgid "Once familiarized with the basics surrounding product variants, the following covers how product variants can be added to quotations and sales orders using the *product configurator* or *order grid entry*." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:13 +msgid "It should be noted that the setting is titled, *Variant Grid Entry* on the *Sales* app settings page, and titled, *Order Grid Entry* on product forms. So, be sure to keep that in mind." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:19 +msgid "When working with product variants, Odoo uses the product configurator, by default. To add the variant grid entry option, that feature **must** be enabled in the Odoo *Sales* application. The variant grid entry option provides a pop-up window on the quotation/sales order to simplify the variant selection process." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:24 +msgid "To enable that setting, go to :menuselection:`Sales app --> Configuration --> Settings`, and scroll to the :guilabel:`Product Catalog` section. Then, check the box next to the :guilabel:`Variant Grid Entry` option, and click :guilabel:`Save`." msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 -msgid "Activating entry type settings." +msgid "The variant grid entry setting in the Odoo Sales application." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:20 -msgid "After saving the settings, configure the product form. Head over to :menuselection:`Sales --> Products --> Products` and select any product (or click :guilabel:`Create` to create a new one). On the product form, click :guilabel:`Edit`, and then click on the :guilabel:`Variants` tab. Under :guilabel:`Sales Variant Selection`, choose either :guilabel:`Product Configurator` or :guilabel:`Order Grid Entry`. This selection determines which method is used to add the product to quotations or sales orders. Finally, click :guilabel:`Save` to apply the setting." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 -msgid "Sales variant selection." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:32 -msgid "The product must have at least two variants (one attribute with two values) created in order for the :guilabel:`Sales Variant Selection` option to appear. Click :guilabel:`Add a line` under :guilabel:`Attribute` to add attributes and values to this product and create product variants." +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:33 +msgid "Of course, the :guilabel:`Variants` feature **must** also be activated, in order to use product variants on quotations and sales orders." msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:37 -msgid "Use the Product Configurator" +msgid "Product configuration" msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:39 -msgid "The :guilabel:`Product Configurator` appears on a quotation or sales order when products are added that have both variants configured and the :guilabel:`Product Configurator` option selected." +msgid "Once the :guilabel:`Variant Grid Entry` setting is enabled, both options (*Product Configurator* and *Order Grid Entry*) become available on every product form." msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:42 -msgid "The :guilabel:`Product Configurator` lets salespeople choose exactly which product variant to add to the quotation or sales order using a format similar to online shopping. Color options display any HTML color codes set up in the :guilabel:`Color` attribute. Features with an additional cost will display the additional cost next to their name. Once the desired product variant attributes are selected, click :guilabel:`Add` to add the product variant to the quotation or sales order." +msgid "To configure a product form to use either a product configurator or variant grid entry, start by navigating to :menuselection:`Sales app --> Products --> Products` to view all the products in the database." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:46 +msgid "Then, select the desired product to configure, or click :guilabel:`New`, to create a new product from scratch. Once on the product form, click into the :guilabel:`Attributes \\& Variants` tab, where product variants can be viewed, modified, and added." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:50 +msgid "At the bottom of the :guilabel:`Attributes \\& Variants` tab, there is a :guilabel:`Sales Variant Selection` section with two options: :guilabel:`Product Configurator` and :guilabel:`Order Grid Entry`." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:55 +msgid "It should be noted that these options **only** appear if at least two values of an attribute have been added to the record." msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 -msgid "Product Configurator and Price Extras." +msgid "Sales variant selection options on the attributes and variants tab on product form." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:52 -msgid "By default, the product variant attributes are displayed on the quotation or sales order in the :guilabel:`Description` column, but the :guilabel:`Product Variant` column can be added through the additional options menu (3 vertical dots icon)." +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:62 +msgid "These options determine which method is used when adding product variants to quotations or sales orders." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:57 -msgid "Use Variant Grid Entries" +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:65 +msgid "The :guilabel:`Product Configurator` provides a pop-up window that neatly displays all the available product variants for that particular product when it's added to a quotation. However, only one variant can be selected/added at a time." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:59 -msgid ":guilabel:`Variant Grid Entries` appear on a quotation or sales order when products are added that have both variants configured and the :guilabel:`Order Grid Entry` option selected. Grid entry can streamline the process of creating large, varied quotations by letting salespeople enter exact quantities of each product variant all at once." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:64 -msgid ":guilabel:`Variant Grid Entry` displays a grid of every variant available for the selected product. Choose the exact quantities of each product variant for a quotation or sales order by typing in the number or using the arrows. :guilabel:`Not Available` is displayed when a particular variant has been deactivated in the database. Once all the product variants and their quantities have been set, click :guilabel:`Confirm` to add them to the quotation or sales order." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 -msgid "Variant Grid Entry pop-up." +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:69 +msgid "The :guilabel:`Order Grid Entry` provides the same information as the :guilabel:`Product Configurator` in a table layout, allowing the user to select larger numbers of unique product variants, and add them to a quotation/sales order, in a single view." msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:74 -msgid "Each product variant appears as an individual line item on the quotation or sales order, because each of these items has its own stock." +msgid "Product configurator" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:76 +msgid "The product configurator feature appears as a :guilabel:`Configure` pop-up window, as soon as a product with (at least two) variants is added to a quotation or sales order, but **only** if the :guilabel:`Product Configurator` option is selected on its product form." msgstr "" #: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 -msgid "Line items for grid variants." +msgid "The product configurator pop-up window that appears on a quotation or sales order." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:85 +msgid "This :guilabel:`Configure` pop-up window also appears if the :guilabel:`Order Grid Entry` setting is **not** activated, as it is the default option Odoo uses when dealing with product variants on quotations and/or sales orders." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:89 +msgid "The :guilabel:`Product Configurator` option lets salespeople choose exactly which product variant to add to the quotation or sales order using a format similar to online shopping." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:93 +msgid "Order grid entry" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:95 +msgid "The order grid entry feature appears as a :guilabel:`Choose Product Variants` pop-up window, as soon as a product with (at least two) variants is added to a quotation or sales order, but **only** if the :guilabel:`Order Grid Entry` option is selected on its product form." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 +msgid "The choose product variants pop-up window that appears on a quotation in Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:103 +msgid "The :guilabel:`Choose Product Variants` pop-up window features all the variant options for that particular product. From this pop-up window, the salesperson can designate how many of each variant they'd like to add to the quotation/sales order at once." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:107 +msgid "When all the desired quantities and variants have been selected, the salesperson simply clicks :guilabel:`Confirm`, and those orders are instantly added to the quotation/sales order in the :guilabel:`Order Lines` tab." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:-1 +msgid "Populated order lines tab after order grid entry has been chosen to select products." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/orders_and_variants.rst:116 +msgid ":doc:`../products_prices/products/variants`" msgstr "" #: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:3 @@ -6984,11 +9682,15 @@ msgstr "" msgid "`Odoo Quick Tips - Create a PDF quote [video] `_" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:22 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:20 +msgid "It is recommended to edit PDF forms with Adobe software. The form fields on the header and footer PDF templates are necessary to get dynamic values with Odoo." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:26 msgid "In order to add custom PDF files for quotes, the :guilabel:`PDF Quote builder` feature *must* be configured." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:25 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:29 msgid "To do that, navigate to :menuselection:`Sales app --> Configuration --> Settings`. Then, on the :guilabel:`Settings` page, scroll to the :guilabel:`Quotations & Orders` section, and locate the :guilabel:`PDF Quote builder` feature." msgstr "" @@ -6996,131 +9698,131 @@ msgstr "" msgid "The PDF Quote Builder feature located on the Settings page of the Sales application." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:33 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:37 msgid "Here, custom :guilabel:`Header pages` and :guilabel:`Footer pages` can be uploaded. To upload either, click the :guilabel:`Upload your file` button, or the :guilabel:`✏️ (pencil)` icon to the right of the desired field, and proceed to locate, select, and upload the desired PDF file." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:38 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:42 msgid "Headers and footers can also be added directly in a quotation template, so it's possible to have different variations per template." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:41 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:45 msgid "Clicking the :guilabel:`🗑️ (trash)` icon deletes the current PDF file and replaces the blank field with an :guilabel:`Upload your file` button." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:44 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:48 msgid "Once the desired PDF file(s) are uploaded in the appropriate fields in the :guilabel:`PDF Quote builder` section of the *Sales* :guilabel:`Settings` page, be sure to click :guilabel:`Save`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:47 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:51 msgid "The files uploaded here will be the default PDF used for all quotes." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:50 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:54 msgid "Values set in the PDF Quote Builder settings are company-specific." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:53 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:57 msgid "Dynamic text in PDFs" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:55 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:59 msgid "While creating custom PDFs for quotes, use *dynamic text* for Odoo to auto-fill the PDF content with information related to the quote from the Odoo database, like names, prices, etc." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:58 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:62 msgid "Dynamic text values are form components (text inputs) that can be added in a PDF file, and Odoo automatically fills those values in with information related to the quote." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:62 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:66 msgid "Dynamic text values" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:64 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:68 msgid "Below are common dynamic text values used in custom PDFs, and what they represent:" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:66 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:70 msgid ":guilabel:`name`: Sales Order Reference" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:67 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:71 msgid ":guilabel:`partner_id__name`: Customer Name" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:68 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:72 msgid ":guilabel:`user_id__name`: Salesperson Name" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:69 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:73 msgid ":guilabel:`amount_untaxed`: Untaxed Amount" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:70 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:74 msgid ":guilabel:`amount_total`: Total Amount" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:71 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:75 msgid ":guilabel:`delivery_date`: Delivery Date" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:72 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:76 msgid ":guilabel:`validity_date`: Expiration Date" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:73 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:77 msgid ":guilabel:`client_order_ref`: Customer Reference" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:76 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:80 msgid "Double underscore notation for :guilabel:`partner_id__name` and :guilabel:`user_id__name` values are used in place of the typically used `.` symbol because the library currently does not support the `.` symbol." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:80 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:84 msgid "Product-specific dynamic text values are as follows:" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:82 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:86 msgid ":guilabel:`description`: Product Description" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:83 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:87 msgid ":guilabel:`quantity`: Quantity" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:84 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:88 msgid ":guilabel:`uom`: Unit of Measure (UoM)" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:85 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:89 msgid ":guilabel:`price_unit`: Price Unit" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:86 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:90 msgid ":guilabel:`discount`: Discount" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:87 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:91 msgid ":guilabel:`product_sale_price`: Product List Price" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:88 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:92 msgid ":guilabel:`taxes`: Taxes name joined by a comma (`,`)" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:89 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:93 msgid ":guilabel:`tax_excl_price`: Tax Excluded Price" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:90 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:94 msgid ":guilabel:`tax_incl_price`: Tax Included Price" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:93 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:97 msgid "When a PDF is built, it's best practice to use common dynamic text values (:guilabel:`name` and :guilabel:`partner_id_name`). When uploaded into the database, Odoo auto-populates those fields with the information from their respective fields." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:97 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:101 msgid "In this case, Odoo would auto-populate the Sales Order Reference in the :guilabel:`name` dynamic text field, and the Customer Name in the :guilabel:`partner_id_name` field." msgstr "" @@ -7128,39 +9830,39 @@ msgstr "" msgid "PDF quote being built using common dynamic placeholders." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:104 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:108 msgid "Once the PDF file(s) are complete, save them to the computer's hard drive, and proceed to upload them to Odoo via :menuselection:`Sales app --> Configuration --> Settings --> PDF Quote builder`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:107 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:111 msgid "Upload the created PDF in the :guilabel:`Header pages` or :guilabel:`Footer pages` field." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:109 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:113 msgid "Once the upload(s) are complete, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:112 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:116 msgid "Add PDF to product" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:114 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:118 msgid "In Odoo *Sales*, it's also possible to add a custom PDF to a product form. When a PDF is added to a product, and that product is used in a quotation, that PDF is also inserted in the final PDF." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:117 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:121 msgid "To add a custom PDF to a product, start by navigating to :menuselection:`Sales app --> Products --> Products`, and select the desired product to which a custom PDF should be added." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:121 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:125 msgid "A document could also be added to a product variant, instead of a product. If there are documents on a product *and* on its variant, **only** the documents in the variant are shown." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:124 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:128 msgid "To add a custom document to a product variant, navigate to :menuselection:`Sales app --> Products --> Product Variants`. Select the desired variant, click the :guilabel:`Documents` smart button, and proceed to upload the custom document(s) to the specific product variant." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:128 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:132 msgid "On the product page, click the :guilabel:`Documents` smart button at the top of the page." msgstr "" @@ -7168,15 +9870,15 @@ msgstr "" msgid "The Documents smart button on a product form in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:134 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:138 msgid "Doing so reveals a separate :guilabel:`Documents` page for that product, wherein files related to that product can be uploaded. From this page, either click :guilabel:`New` or :guilabel:`Upload`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:137 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:141 msgid "Clicking :guilabel:`Upload` instantly provides the opportunity to upload the desired document. Then, the document can be further configured on the document card, or by clicking the three dots icon in the top right corner of the document card, and then clicking :guilabel:`Edit`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:141 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:145 msgid "Clicking :guilabel:`New` reveals a blank documents form, in which the desired PDF can be uploaded via the :guilabel:`Upload your file` button on the form, located in the :guilabel:`File Content` field." msgstr "" @@ -7184,15 +9886,15 @@ msgstr "" msgid "A standard document form with various fields for a specific product in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:149 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:153 msgid "Various information and configurations related to the uploaded document can be modified here." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:151 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:155 msgid "The first field on the documents form is for the :guilabel:`Name` of the document, and it is grayed-out (not clickable) until a document is uploaded. Once a PDF has been uploaded, the :guilabel:`Name` field is auto-populated with the name of the PDF, and it can then be edited." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:155 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:159 msgid "Prior to uploading a document, there's the option to designate whether the document is a :guilabel:`File` or :guilabel:`URL` from the :guilabel:`Type` drop-down field menu." msgstr "" @@ -7200,27 +9902,27 @@ msgstr "" msgid "A standard document form with an uploaded pdf in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:163 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:167 msgid "If a PDF is uploaded, the :guilabel:`Type` field is auto-populated to :guilabel:`File`, and it cannot be modified." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:166 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:170 msgid "Then, in the :guilabel:`Sales` section, in the :guilabel:`Visible at` field, click the drop-down menu, and select either: :guilabel:`Quotation`, :guilabel:`Confirmed order`, or :guilabel:`Inside quote`." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:170 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:174 msgid ":guilabel:`Quotation`: the document is sent to (and accessible by) customers at any time." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:172 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:176 msgid ":guilabel:`Confirmed order`: the document is sent to customers upon the confirmation of an order. This is best for user manuals and other supplemental documents." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:175 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:179 msgid ":guilabel:`Inside quote`: the document is included in the PDF of the quotation, between the header pages and the :guilabel:`Pricing` section of the quote." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:179 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:183 msgid "When the :guilabel:`Inside quote` option for the :guilabel:`Visible at` field is chosen, and the custom PDF file, `Sample Builder.pdf` is uploaded, the PDF is visible on the quotation the in the *customer portal* under the :guilabel:`Documents` field." msgstr "" @@ -7228,15 +9930,15 @@ msgstr "" msgid "Sample of an uploaded pdf with the inside quote option chosen in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:187 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:191 msgid "Lastly, in the :guilabel:`E-Commerce` section, decide whether or not to :guilabel:`Show on product page` on the front-end (in the online store)." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:191 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:195 msgid "When the :guilabel:`Show on product page` option is enabled, a link to the uploaded document, `Sample Builder.pdf`, appears on the product's page, located on the frontend in the online store." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:194 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:198 msgid "It appears beneath a :guilabel:`Documents` heading, with a link showcasing the name of the uploaded document." msgstr "" @@ -7244,15 +9946,15 @@ msgstr "" msgid "Showing a link to an uploaded document on a product page using Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:202 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:206 msgid "PDF quote" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:204 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:208 msgid "Once a quote with a pre-configured PDF has been confirmed, Odoo provides the option to print the confirmed quote to check for errors, or to keep for records." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:207 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:211 msgid "To print the PDF quote, navigate to the confirmed quote, and click the :guilabel:`⚙️ (gear)` icon to reveal a drop-down menu. From this drop-down menu, select :guilabel:`Print`, then select :guilabel:`PDF Quote`." msgstr "" @@ -7260,11 +9962,11 @@ msgstr "" msgid "Print pdf quote option on drop-down menu located on confirmed sales order in Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:215 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:219 msgid "Doing so instantly downloads the PDF quote. When opened, the PDF quote, along with the configured product PDF that was set to be visible inside the quote, can be viewed and printed." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:219 +#: ../../content/applications/sales/sales/send_quotations/pdf_quote_builder.rst:223 msgid "Download these :download:`PDF quote builder examples ` for added reference." msgstr "" @@ -7273,14 +9975,18 @@ msgid "Quotation templates" msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:5 -msgid "In Odoo *Sales*, salespeople have the ability to create reusable quotation templates for common product or service offerings that the business offers. By using these templates, quotations can be tailored and sent to customers at a much faster pace, without having to create new quotations from scratch every time a sales negotiation occurs." +msgid "In Odoo *Sales*, salespeople have the ability to create reusable quotation templates for common products or services that the business offers." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:15 -msgid "Begin by activating the setting in :menuselection:`Sales app --> Configuration --> Settings`, and scroll to the :guilabel:`Quotations & Orders` heading." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:8 +msgid "By using these templates, quotations can be tailored and sent to customers at a much faster pace, without having to create new quotations from scratch every time a sales negotiation occurs." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:18 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:16 +msgid "Begin by activating the setting in :menuselection:`Sales app --> Configuration --> Settings`, and scroll to the :guilabel:`Quotations \\& Orders` heading." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:19 msgid "In that section, check the box beside the :guilabel:`Quotation Templates` option. Doing so reveals a new :guilabel:`Default Template` field, in which a default quotation template can be chosen from a drop-down menu." msgstr "" @@ -7288,28 +9994,32 @@ msgstr "" msgid "How to enable quotation templates on Odoo Sales." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:26 -msgid "Also, upon activating the :guilabel:`Quotation Template` feature, an internal :guilabel:`➡️ Quotation Templates` link appears beneath the :guilabel:`Default Template` field. Clicking that link reveals the :guilabel:`Quotation Templates` page, from which templates can be created, viewed, and edited." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:27 +msgid "Also, upon activating the :guilabel:`Quotation Template` feature, an internal :guilabel:`➡️ Quotation Templates` link appears beneath the :guilabel:`Default Template` field." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:32 -msgid "Consider activating the :guilabel:`PDF Quote Builder` option in the :guilabel:`Settings`, as well, which is located in the right column beside the :guilabel:`Quotation Templates` option. This feature enables the creation of beautiful quotations using various PDF." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:30 +msgid "Clicking that link reveals the :guilabel:`Quotation Templates` page, from which templates can be created, viewed, and edited." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:33 +msgid "Before leaving the :guilabel:`Settings` page, don't forget to click the :guilabel:`Save` button to save all changes made during the session." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:37 -msgid "Before leaving the :guilabel:`Settings` page, don't forget to click the :guilabel:`Save` button to activate the feature(s) and save all changes made during the session." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:41 msgid "Create quotation templates" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:43 +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:39 msgid "Click the :guilabel:`Quotation Templates` link on the :guilabel:`Settings` page, or navigate to :menuselection:`Sales app --> Configuration --> Quotation Templates`. Both options reveal the :guilabel:`Quotation Templates` page, where quotation templates can be created, viewed, and edited." msgstr "" +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Quotation templates page in the Odoo Sales application." +msgstr "" + #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:47 -msgid "To create a new quotation template, click the :guilabel:`Create` button, located in the upper-left corner. Doing so reveals a blank quotation template form that can be customized in a number of ways." +msgid "To create a new quotation template, click the :guilabel:`New` button, located in the upper-left corner. Doing so reveals a blank quotation template form that can be customized in a number of ways." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 @@ -7317,63 +10027,235 @@ msgid "Create a new quotation template on Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:54 -msgid "Start by entering a name for the template in the :guilabel:`Quotation Template` field. Then, in the :guilabel:`Quotation expires after` field, designate how many days the quotation template will remain valid for, or leave the field on the default `0` to keep the template valid indefinitely." +msgid "Start by entering a name for the template in the :guilabel:`Quotation Template` field." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:58 -msgid "In the :guilabel:`Company` field, designate to which company this quotation template applies, if working in a multi-company environment." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:56 +msgid "Then, in the :guilabel:`Quotation expires after` field, designate how many days the quotation template will remain valid for, or leave the field on the default `0` to keep the template valid indefinitely." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:61 -msgid "Beneath those fields are three tabs: :guilabel:`Lines`, :guilabel:`Optional Products`, :guilabel:`Confirmation`." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:60 +msgid "If the :guilabel:`Online Signature` and/or :guilabel:`Online Payment` features are activated in the :guilabel:`Settings` (:menuselection:`Sales app --> Configuration --> Settings`), those options are available in the :guilabel:`Online confirmation` field." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:64 -msgid "In the :guilabel:`Lines` tab, products can be added to the quotation template by clicking :guilabel:`Add a product`, organized by clicking `Add a section` (and dragging/dropping section headers accordingly), and further explained with discretionary information (such as warranty details, terms, etc.) by clicking :guilabel:`Add a note`." +msgid "In the :guilabel:`Online confirmation` field, check the box beside :guilabel:`Signature` to request an online signature from the customer to confirm an order. Check the box beside :guilabel:`Payment` to request an online payment from the customer to confirm an order." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:69 -msgid "In the :guilabel:`Optional Products` tab, :guilabel:`Add a line` for each compatible cross-selling product related to the original items in the :guilabel:`Lines` tab, if applicable. The products added here ideally compliment the original offering as added value for the prospective buyer." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:68 +msgid "Both options can be enabled simultaneously, in which case the customer must provide **both** a signature **and** a payment to confirm an order." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:73 -msgid "Lastly, in the :guilabel:`Confirmation` tab, enable options, as needed, to require an :guilabel:`Online Signature` and/or an :guilabel:`Online Payment`, which each allow buyers to confirm orders automatically using the web portal view after the required action is taken." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:71 +msgid "Next, in the :guilabel:`Confirmation Mail` field, click the blank field to reveal a drop-down menu. From the drop-down menu, select a pre-configured email template to be sent to customers upon confirmation of an order." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:77 -msgid "There's also an option to add a :guilabel:`Confirmation Mail` to the quotation template, as well - meaning whenever this template is used, and an order is confirmed, an email is sent to the customer informing them that their order has been confirmed." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:76 +msgid "To create a new email template directly from the :guilabel:`Confirmation Mail` field, start typing the name of the new email template in the field, and select either: :guilabel:`Create` or :guilabel:`Create and edit...` from the drop-down menu that appears." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:80 +msgid "Selecting :guilabel:`Create` creates the email template, which can be edited later. Selecting :guilabel:`Create and edit...` creates the email template, and a :guilabel:`Create Confirmation Mail` pop-up window appears, in which the email template can be customized and configured right away." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 -msgid "Allow customers to sign electronically or to pay online on Odoo Sales." -msgstr "" - -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:87 -msgid "Use quotation templates" +msgid "Create confirmation mail pop-up window from the quotation template form in Odoo Sales." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:89 -msgid "When creating a quotation (:menuselection:`Sales app --> Create`), choose a preconfigured template in the :guilabel:`Quotation Template` field drop-down menu." +msgid "When all modifications are complete, click :guilabel:`Save \\& Close` to save the email template and return to the quotation form." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 -msgid "Select a specific template on Odoo Sales." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:92 +msgid "If working in a multi-company environment, use the :guilabel:`Company` field to designate to which company this quotation template applies." msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:96 -msgid "To view what the customer will see, click the :guilabel:`Customer Preview` smart button to see how the quotation template will look on the front-end of the website." +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:95 +msgid "In the :guilabel:`Recurrence` field, choose from a variety of pre-configured amounts of time (e.g. :guilabel:`Monthly`, :guilabel:`Quarterly`) to designate how often this quotation template should occur." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:100 -msgid "Go to :menuselection:`Sales --> Configuration --> Settings` to select a :guilabel:`Default Template`." +msgid "The :guilabel:`Recurrence` field **only** applies to subscription plans. For more information, check out the documentation on :doc:`../../subscriptions/plans`." msgstr "" #: ../../content/applications/sales/sales/send_quotations/quote_template.rst:104 -msgid ":doc:`/applications/sales/sales/send_quotations/get_signature_to_validate`" +msgid "Lines tab" msgstr "" -#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:105 -msgid ":doc:`/applications/sales/sales/send_quotations/get_paid_to_validate`" +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:106 +msgid "In the :guilabel:`Lines` tab, products can be added to the quotation template by clicking :guilabel:`Add a product`, organized by clicking :guilabel:`Add a section` (and dragging/dropping section headers), and further explained with discretionary information (such as warranty details, terms, etc.) by clicking :guilabel:`Add a note`." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Populated lines tab on a quotation template form in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:115 +msgid "To add a product to a quotation template, click :guilabel:`Add a product` in the :guilabel:`Lines` tab of a quotation template form. Doing so reveals a blank field in the :guilabel:`Product` column." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:118 +msgid "When clicked, a drop-down menu with existing products in the database appear. Select the desired product from the drop-down menu to add it to the quotation template." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:122 +msgid "If the desired product isn't readily visible, type the name of the desired product in the :guilabel:`Product` field, and the option appears in the drop-down menu. Products can also be found by clicking :guilabel:`Search More...` from the drop-down menu." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:127 +msgid "When a product is added to a quotation template, the default :guilabel:`Quantity` is `1`, but that can be edited at any time." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:130 +msgid "Then, drag-and-drop the product to the desired position, via the :guilabel:`six squares` icon, located to the left of each line item." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:133 +msgid "To add a *section*, which serves as a header to organize the lines of a sales order, click :guilabel:`Add a section` in the :guilabel:`Lines` tab. When clicked, a blank field appears, in which the desired name of the section can be typed. When the name has been entered, click away to secure the section name." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:138 +msgid "Then, drag-and-drop the section name to the desired position, via the :guilabel:`six squares` icon, located to the left of each line item." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:141 +msgid "To add a note, which would appear as a piece of text for the customer on the quotation, click :guilabel:`Add a note` in the :guilabel:`Lines` tab. When clicked, a blank field appears, in which the desired note can be typed. When the note has been entered, click away to secure the note." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:145 +msgid "Then, drag-and-drop the note to the desired position, via the :guilabel:`six squares` icon." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:147 +msgid "To delete any line item from the :guilabel:`Lines` tab (product, section, and/or note), click the :guilabel:`🗑️ (trash can)` icon on the far-right side of the line." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:151 +msgid "Optional Products tab" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:153 +msgid "The use of *optional products* is a marketing strategy that involves the cross-selling of products along with a core product. The aim is to offer useful and related products to customers, which may result in an increased sale." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:161 +msgid "Optional products appear as a section on the bottom of sales orders and eCommerce pages. Customers can immediately add them to their online sales orders themselves, if desired." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Optional products appearing on a typical sales order with Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:168 +msgid "In the :guilabel:`Optional Products` tab, :guilabel:`Add a line` for each cross-selling product related to the original items in the :guilabel:`Lines` tab, if applicable. The products added here ideally complement the original offering as added value for the prospective buyer." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Populated optional products tab on a quotation template in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:176 +msgid "Clicking :guilabel:`Add a line` reveals a blank field in the :guilabel:`Product` column." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:185 +msgid "Optional products are **not** required to create a quotation template." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:188 +msgid "Terms \\& Conditions tab" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:190 +msgid "The :guilabel:`Terms \\& Conditions` tab provides the opportunity to add terms and conditions to the quotation template. To add terms and conditions, simply type (or copy/paste) the desired terms and conditions in this tab." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Terms and conditions tab in a quotation template form in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:199 +msgid ":doc:`../../../finance/accounting/customer_invoices/terms_conditions`" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:202 +msgid "Terms and conditions are **not** required to create a quotation template." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:205 +msgid "Design quotation templates" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:207 +msgid "In the upper-left corner of the quotation template form, there's a :guilabel:`Design Template` button." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Design template button in the upper-left corner of quotation template form." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:214 +msgid "When clicked, Odoo reveals a preview of the quotation template, through the Odoo *Website* application, as it will appear on the front-end of the website to the customer." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:218 +msgid "This feature is **only** available if the *Website* application is installed." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:220 +msgid "Odoo uses numerous blue placeholder blocks to signify where certain elements appear, and what they contain (e.g. :guilabel:`Template Header`, :guilabel:`Product`)." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:223 +msgid "To edit the content, appearance, and overall design of the quotation template via the *Website* application, click the :guilabel:`Edit` button in the upper-right corner." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Design template edit button in the upper-right corner of quotation template design." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:230 +msgid "When :guilabel:`Edit` is clicked, Odoo reveals a sidebar filled with a variety of design elements and feature-rich building blocks. These building blocks can be dragged-and-dropped anywhere on the quotation template design." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Design quotation template building blocks sidebar in Odoo Website." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:238 +msgid "After a block has been dropped in the desired position, it can be customized and configured to fit any unique need, look, or style." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:242 +msgid "Quotation template design uses the same methodology and functionality with design building blocks as a typical web page design with Odoo *Website*. Be sure to check out the :doc:`../../../websites/website` documentation to learn more." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:246 +msgid "When all blocks and customizations are complete, click the :guilabel:`Save` button to put those configurations into place." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:249 +msgid "There is also a blue banner at the top of the quotation template design with a link to quickly return :guilabel:`Back to edit mode`. When clicked, Odoo returns to the quotation template form in the back-end of the *Sales* application." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:254 +msgid "Use quotation templates" +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:256 +msgid "When creating a quotation (:menuselection:`Sales app --> New`), choose a pre-configured template in the :guilabel:`Quotation Template` field." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Quotation templates field on a standard quotation form in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:263 +msgid "To view what the customer will see, click the :guilabel:`Preview` button at the top of the page to see how the quotation template appears on the front-end of the website through Odoo's customer portal." +msgstr "" + +#: ../../content/applications/sales/sales/send_quotations/quote_template.rst:-1 +msgid "Customer preview of a quotation template in Odoo Sales." msgstr "" #: ../../content/applications/sales/subscriptions.rst:5 @@ -7850,7 +10732,7 @@ msgid "Subscription products" msgstr "" #: ../../content/applications/sales/subscriptions/products.rst:5 -msgid "By integrating closely with the Odoo *Sales* app, the *Subscriptions* app enables users to sell subscription products alongside regular sales products. While regular products are sold on a one-time basis, subscription products are sold on a renewing basis, generating recurring revenue." +msgid "By closely integrating with the Odoo *Sales* app, the *Subscriptions* app enables users to sell subscription products alongside regular sales products. While regular products are sold on a one-time basis, subscription products are sold on a renewing basis, generating recurring revenue." msgstr "" #: ../../content/applications/sales/subscriptions/products.rst:9 @@ -7862,86 +10744,150 @@ msgid "Configure recurrence periods" msgstr "" #: ../../content/applications/sales/subscriptions/products.rst:14 -msgid "To get started with subscriptions, first make sure that the *recurrence periods* are configured as needed." +msgid "To get started with subscriptions, the *recurrence periods* must be properly configured, as needed." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:17 +#: ../../content/applications/sales/subscriptions/products.rst:16 msgid "Recurrence periods are the time periods in which subscriptions renew. They designate how often the customer pays for (and receives) subscription products." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:20 -msgid "To configure recurrence periods, go to :menuselection:`Subscriptions --> Configuration --> Recurrence Periods`." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:23 -msgid "The *Subscriptions* app comes with some basic recurrence periods already configured: Daily, Monthly, Quarterly, Weekly, Yearly, 3 Years, and 5 Years. These can be edited as needed, and any number of new recurrence periods can be added." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:27 -msgid "To create a new recurrence period, click :guilabel:`New` on the recurrence periods dashboard. Then, type in the :guilabel:`Name` and :guilabel:`Duration` of the recurrence period, and select the :guilabel:`Unit` that defines the duration." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:32 -msgid "To create a recurrence period for a subscription that will renew every two weeks, set the :guilabel:`Duration` to `2` and the :guilabel:`Unit` to `Weeks`." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:0 -msgid "A recurrence period of 2 weeks." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:40 -msgid "Configure the product form" -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:42 -msgid "To create a new subscription product, navigate to the :menuselection:`Subscriptions` app. Then go to :menuselection:`Subscriptions --> Products`, and click :guilabel:`New` to create a new product. Enter a :guilabel:`Product Name`." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:46 -msgid "The :guilabel:`Product Type` for the new product is automatically set to :guilabel:`Service`. Subscription products can be set to other types as well; however, they currently *cannot* be set to :guilabel:`Storable Product`." -msgstr "" - -#: ../../content/applications/sales/subscriptions/products.rst:50 -msgid "The new product automatically has the :guilabel:`Recurring` checkbox activated. This enables Odoo to recognize it as a subscription product. Be sure to leave the :guilabel:`Recurring` and :guilabel:`Can be Sold` options enabled." +#: ../../content/applications/sales/subscriptions/products.rst:19 +msgid "To configure recurrence periods, go to :menuselection:`Subscriptions app --> Configuration --> Recurrence periods`." msgstr "" #: ../../content/applications/sales/subscriptions/products.rst:-1 -msgid "The \"Recurring\" checkbox on the product form." +msgid "The recurrence periods page in Odoo Subscriptions application." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:59 -msgid "Time-based pricing" +#: ../../content/applications/sales/subscriptions/products.rst:26 +msgid "The *Subscriptions* app comes with some basic recurrence periods already configured:" msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:61 -msgid "Next, configure the :guilabel:`Time-based pricing` tab on the product form." +#: ../../content/applications/sales/subscriptions/products.rst:28 +msgid ":guilabel:`Monthly`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:29 +msgid ":guilabel:`Quarterly`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:30 +msgid ":guilabel:`Weekly`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:31 +msgid ":guilabel:`2 Weeks`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:32 +msgid ":guilabel:`Yearly`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:33 +msgid ":guilabel:`3 Years`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:34 +msgid ":guilabel:`5 Years`" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:36 +msgid "New recurrence periods can be added and/or edited at any time." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:38 +msgid "To create a new recurrence period, click :guilabel:`New` on the :guilabel:`Recurrence Periods` page. Doing so reveals a blank recurrence period form." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:-1 +msgid "A recurrence period form in Odoo Subscriptions application." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:45 +msgid "Then, type in the :guilabel:`Name` and :guilabel:`Duration` of the recurrence period, and select the :guilabel:`Unit` that defines the duration." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:49 +msgid "The unit :guilabel:`Days` *cannot* be used as a recurrence period on subscriptions. The daily recurrence is meant for rentals, and **cannot** be added on recurring subscription sales orders." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:52 +msgid "This limitation is there to avoid sales orders that would generate daily invoices." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:55 +msgid "Product form configuration" +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:57 +msgid "To create a new subscription product, navigate to :menuselection:`Subscriptions app --> Products --> Products`, and click :guilabel:`New`." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:60 +msgid "Doing so reveals a blank product form, which can be configured and customized in a number of ways." msgstr "" #: ../../content/applications/sales/subscriptions/products.rst:63 -msgid "Click :guilabel:`Add a price` to begin defining recurring prices. In the :guilabel:`Period` column, select a recurrence period. In the :guilabel:`Price` column, enter the price for that recurrence period." +msgid "By default, the :guilabel:`Recurring` option is already enabled, prompting Odoo to recognize it as a subscription product. Be sure to leave the :guilabel:`Recurring` and :guilabel:`Can be Sold` options enabled." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:68 -msgid ":guilabel:`Daily` and :guilabel:`Hourly` periods cannot be used on recurring products." +#: ../../content/applications/sales/subscriptions/products.rst:67 +msgid "The :guilabel:`Product Type` field is set to :guilabel:`Service` by default, as well. However, subscription products *can* be set to other types, if needed." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:70 -msgid "Add as many lines as needed to the :guilabel:`Time-based pricing` table." +#: ../../content/applications/sales/subscriptions/products.rst:-1 +msgid "A basic subscription product form in Odoo Subscriptions application." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:73 -msgid "An existing product can be made into a subscription product simply by marking it as :guilabel:`Recurring` and configuring :guilabel:`Time-based pricing` on the product form." +#: ../../content/applications/sales/subscriptions/products.rst:75 +msgid "Time-based pricing" msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:76 -msgid "A subscription product can still be sold as a regular product by adding it to a quotation and *not* selecting a :guilabel:`Recurrence` on the quotation." +#: ../../content/applications/sales/subscriptions/products.rst:77 +msgid "Once the desired fields in the :guilabel:`General Information` tab have been entered, click the :guilabel:`Time-based pricing` tab on the product form." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:82 -msgid "Use :doc:`pricelists ` with subscription products to give special pricing to customers included in pricelists. This can be configured either in the :guilabel:`Time-based pricing` tab of the product form, or on the pricelist form in the *Sales* app." +#: ../../content/applications/sales/subscriptions/products.rst:-1 +msgid "The time-based pricing tab on a subscription product form in Odoo Subscriptions." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:87 +#: ../../content/applications/sales/subscriptions/products.rst:84 +msgid "From here, click :guilabel:`Add a price` to begin defining recurring prices." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:86 +msgid "In the :guilabel:`Period` column, select a desired recurrence period. In the :guilabel:`Pricelist` column, select a pricelist, if needed. Then, in the :guilabel:`Price` column, enter the price for that recurrence period." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:91 +msgid ":guilabel:`Daily` and :guilabel:`Hourly` periods **cannot** be used on recurring products." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:0 +msgid "The validation error pop-up window that appears in Odoo Subscriptions." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:98 +msgid "There is *no limit* to how many lines can be added to the :guilabel:`Time-based pricing` table." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:101 +msgid "An existing product can be made into a subscription product, simply by marking it as :guilabel:`Recurring`, and configuring :guilabel:`Time-based pricing` on the product form." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:104 +msgid "A subscription product can still be sold as a regular product, by adding it to a quotation and *not* selecting a :guilabel:`Recurrence` on the quotation." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:110 +msgid ":doc:`Pricelists <../sales/products_prices/prices/pricing>` can be used with subscription products to give special pricing to customers included in pricelists." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:113 +msgid "This can be configured either in the :guilabel:`Time-based pricing` tab of the product form, or on the pricelist form in the *Sales* application." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:116 msgid "To create recurring price rules for specific pricelists in the :guilabel:`Time-based pricing` tab of the product form, select a pricelist in the :guilabel:`Pricelist` column." msgstr "" @@ -7949,22 +10895,42 @@ msgstr "" msgid "Pricelists in the \"Time-based pricing\" tab of the product form." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:94 +#: ../../content/applications/sales/subscriptions/products.rst:123 msgid "When pricelists are added to the :guilabel:`Time-based pricing` tab, the pricelist form in the *Sales* app is automatically updated." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:97 -msgid "Time-based pricing rules can also be configured directly on the pricelist form. To do this, go to :menuselection:`Sales --> Products --> Pricelists` and select a pricelist (or click :guilabel:`New` to create a new pricelist). In the :guilabel:`Time-based rules` tab, click :guilabel:`Add a line`." +#: ../../content/applications/sales/subscriptions/products.rst:126 +msgid "Time-based pricing rules can also be configured directly on the pricelist form." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:101 -msgid "Then, select a subscription product in the :guilabel:`Products` column, and select a recurrence period in the :guilabel:`Period` column. Enter a :guilabel:`Price` for that particular product and period. Add as many lines as needed." +#: ../../content/applications/sales/subscriptions/products.rst:128 +msgid "To do this, go to :menuselection:`Sales app --> Products --> Pricelists`, and select a pricelist (or click :guilabel:`New` to create a new pricelist)." msgstr "" -#: ../../content/applications/sales/subscriptions/products.rst:105 +#: ../../content/applications/sales/subscriptions/products.rst:132 +msgid "Pricelists are also accessible through the Odoo *Subscriptions* app by following the same menu steps." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:135 +msgid "Then, on the pricelist form, under the :guilabel:`Time-based rules` tab, click :guilabel:`Add a line`." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:-1 +msgid "The time-based rules tab on a pricelist form in Odoo Sales." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:142 +msgid "Then, select a subscription product in the :guilabel:`Products` column, and select a recurrence period in the :guilabel:`Period` column. Lastly, enter a :guilabel:`Price` for that particular product and period. Add as many lines as needed." +msgstr "" + +#: ../../content/applications/sales/subscriptions/products.rst:146 msgid "When :guilabel:`Time-based rules` are added to the pricelist form, the :guilabel:`Time-based pricing` tab of the product form is automatically updated." msgstr "" +#: ../../content/applications/sales/subscriptions/products.rst:150 +msgid ":doc:`ecommerce`" +msgstr "" + #: ../../content/applications/sales/subscriptions/renewals.rst:3 msgid "Renew a subscription" msgstr "" diff --git a/locale/sources/services.pot b/locale/sources/services.pot index 189eb2a1c..e97bd5ebf 100644 --- a/locale/sources/services.pot +++ b/locale/sources/services.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2023-11-30 14:44+0000\n" +"POT-Creation-Date: 2023-12-21 13:43+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -51,7 +51,7 @@ msgid "Configuration" msgstr "" #: ../../content/applications/services/field_service/default_warehouse.rst:18 -msgid "To set up a user default warehouse, the :doc:`storage locations <../../inventory_and_mrp/inventory/management/warehouses/warehouses_locations>` feature needs to be activated in the **Inventory** app. It is also necessary to have more than one warehouse in your database." +msgid "To set up a user default warehouse, the :doc:`storage locations ` feature needs to be activated in the **Inventory** app. It is also necessary to have more than one warehouse in your database." msgstr "" #: ../../content/applications/services/field_service/default_warehouse.rst:23 @@ -59,7 +59,7 @@ msgid "You can either set it up :ref:`for your profile \n" "Language-Team: LANGUAGE \n" @@ -406,7 +406,7 @@ msgid "Own shipping methods" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:17 -msgid "You can create your own custom shipping methods and define rules to compute shipping costs. To do so, go to :menuselection:`Website --> Configuration --> Shipping Methods`, and either select an **existing** shipping method, or :guilabel:`Create` one. When creating a shipping method, you can choose between :doc:`Fixed Price `, :doc:`Based on Rules `, and :guilabel:`Pickup in store`." +msgid "You can create your own custom shipping methods and define rules to compute shipping costs. To do so, go to :menuselection:`Website --> Configuration --> Shipping Methods`, and either select an **existing** shipping method, or :guilabel:`Create` one. When creating a shipping method, you can choose between :doc:`Fixed Price `, :doc:`Based on Rules `, and :guilabel:`Pickup in store`." msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:26 @@ -418,21 +418,21 @@ msgid ":guilabel:`Pickup in store` must first be **enabled** in the settings (:m msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:34 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:35 #: ../../content/applications/websites/ecommerce/ecommerce_management/order_handling.rst:83 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/operation/invoicing`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:36 #: ../../content/applications/websites/ecommerce/ecommerce_management/order_handling.rst:85 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/operation/multipack`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/multipack`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:37 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/operation/cancel`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/cancel`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:42 @@ -444,20 +444,20 @@ msgid "Another solution is to use one of the integrations with an existing shipp msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:49 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/third_party_shipper`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:50 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/ups_credentials`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:51 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/dhl_credentials`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:52 #: ../../content/applications/websites/ecommerce/ecommerce_management/order_handling.rst:84 -msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping/operation/labels`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels`" msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:55 @@ -1246,7 +1246,7 @@ msgid "Price per unit" msgstr "" #: ../../content/applications/websites/ecommerce/managing_products/price_management.rst:55 -msgid "It is possible to display a :doc:`price per unit ` 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`." +msgid "It is possible to display a :doc:`price per unit ` 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`." msgstr "" #: ../../content/applications/websites/ecommerce/managing_products/price_management.rst:-1 @@ -1266,7 +1266,7 @@ msgid "Pay attention that having the price per unit may be **mandatory** in some msgstr "" #: ../../content/applications/websites/ecommerce/managing_products/price_management.rst:77 -msgid ":doc:`/applications/inventory_and_mrp/inventory/management/products/uom`" +msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom`" msgstr "" #: ../../content/applications/websites/ecommerce/managing_products/price_management.rst:82 @@ -4530,63 +4530,43 @@ msgid "Add a language selector menu." msgstr "" #: ../../content/applications/websites/website/configuration/unsplash.rst:3 -msgid "Unsplash (free images)" +msgid "Unsplash" msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:6 -msgid "Generate an Unsplash access key" +#: ../../content/applications/websites/website/configuration/unsplash.rst:5 +msgid "**Unsplash** is a recognized stock photography library integrated with Odoo." msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:9 -msgid "**As an Odoo Online user**, you are ready to use Unsplash. You won't need to follow this guide to set up Unsplash information since you will use our own Odoo Unsplash key in a transparent way." +#: ../../content/applications/websites/website/configuration/unsplash.rst:7 +msgid "If your database is hosted on **Odoo Online**, you can access Unsplash pictures without configuration." msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:13 -msgid "Generate an Unsplash access key for non-Odoo Online users" +#: ../../content/applications/websites/website/configuration/unsplash.rst:10 +msgid "If your database is hosted on **Odoo.sh or on-premise**, proceed as follows:" +msgstr "" + +#: ../../content/applications/websites/website/configuration/unsplash.rst:12 +msgid "To **generate an Unsplash access key**, create or sign in to an `Unsplash account `_." msgstr "" #: ../../content/applications/websites/website/configuration/unsplash.rst:15 -msgid "Create an account on `Unsplash.com `_." +msgid "Access your `applications dashboard `_, click :guilabel:`New Application`, select all checkboxes, and click :guilabel:`Accept terms`." msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:17 -msgid "Go to your `applications dashboard `_ and click on **New Application**." +#: ../../content/applications/websites/website/configuration/unsplash.rst:18 +msgid "In the pop-up window, enter your :guilabel:`Application Name`, starting with the prefix `Odoo:` (e.g., `Odoo: connection`), so Unsplash recognizes it as an Odoo instance. Then, add a :guilabel:`Description` and click :guilabel:`Create application`." msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:23 -msgid "Accept the conditions and click on **Accept terms**." +#: ../../content/applications/websites/website/configuration/unsplash.rst:22 +msgid "On the application details page, scroll down to the :guilabel:`Keys` section and copy the :guilabel:`Access Key` and :guilabel:`Application ID`." msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:28 -msgid "You will be prompted to insert an **Application name** and a **Description**. Please prefix your application name by \"**Odoo:** \" so that Unsplash can recognize it as an Odoo instance. Once done, click on **Create application**." +#: ../../content/applications/websites/website/configuration/unsplash.rst:25 +msgid "In Odoo, go to :menuselection:`General Settings` and enable the :guilabel:`Unsplash Image Library` feature. Then, enter the Unsplash :guilabel:`Access Key` and :guilabel:`Application ID`." msgstr "" -#: ../../content/applications/websites/website/configuration/unsplash.rst:35 -msgid "You should be redirected to your application details page. Scroll down a bit to find your **access key**." -msgstr "" - -#: ../../content/applications/websites/website/configuration/unsplash.rst:42 -msgid "**As a non-Odoo Online user**, you won't be able to register for a production Unsplash key and will be limited to your test key that has a restriction of 50 Unsplash requests per hour." -msgstr "" - -#: ../../content/applications/websites/website/configuration/unsplash.rst:46 -msgid "Generate an Unsplash application ID" -msgstr "" - -#: ../../content/applications/websites/website/configuration/unsplash.rst:49 -msgid "You should first create and set up your Unsplash application." -msgstr "" - -#: ../../content/applications/websites/website/configuration/unsplash.rst:51 -msgid "Go to your `applications dashboard `_ and click on your newly created Unsplash application under **Your applications**." -msgstr "" - -#: ../../content/applications/websites/website/configuration/unsplash.rst:57 -msgid "You will be redirected to your application details page. The **application ID** will be visible in your browser's URL. The URL should be something like ``https://unsplash.com/oauth/applications/``" -msgstr "" - -#: ../../content/applications/websites/website/configuration/unsplash.rst:65 -msgid "**As a non-Odoo Online user**, you won't be able to register for a production Unsplash key and will be limited to your test key that has a 50 Unsplash requests per hour restriction." +#: ../../content/applications/websites/website/configuration/unsplash.rst:29 +msgid "As a non-Odoo Online user, you are limited to a test key with a maximum of 50 Unsplash requests per hour." msgstr "" #: ../../content/applications/websites/website/mail_groups.rst:3 @@ -4745,10 +4725,6 @@ msgstr "" msgid "You can also access the mail group's moderation rules by going to :menuselection:`Website --> Configuration --> Mailing Lists`, selecting the group, then clicking the :guilabel:`Moderations` smart button." msgstr "" -#: ../../content/applications/websites/website/pages.rst:1 -msgid "git:show-content:" -msgstr "" - #: ../../content/applications/websites/website/pages.rst:5 msgid "Pages" msgstr ""