diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index 5c4c3c86d..9c45f5e1f 100644 --- a/locale/sources/administration.pot +++ b/locale/sources/administration.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -412,7 +412,7 @@ msgid "Needed RAM = #worker * ( (light_worker_ratio * light_worker_ram_estimatio msgstr "" #: ../../content/administration/install/deploy.rst:225 -#: ../../content/administration/install/deploy.rst:412 +#: ../../content/administration/install/deploy.rst:413 msgid "LiveChat" msgstr "" @@ -484,340 +484,340 @@ msgstr "" msgid "in ``/etc/nginx/sites-enabled/odoo.conf`` set:" msgstr "" -#: ../../content/administration/install/deploy.rst:361 +#: ../../content/administration/install/deploy.rst:362 msgid "HTTPS Hardening" msgstr "" -#: ../../content/administration/install/deploy.rst:363 +#: ../../content/administration/install/deploy.rst:364 msgid "Add the `Strict-Transport-Security` header to all requests, in order to prevent browsers from ever sending a plain HTTP request to this domain. You will need to maintain a working HTTPS service with a valid certificate on this domain at all times, otherwise your users will see security alerts or be entirely unable to access it." msgstr "" -#: ../../content/administration/install/deploy.rst:369 +#: ../../content/administration/install/deploy.rst:370 msgid "Force HTTPS connections during a year for every visitor in NGINX with the line:" msgstr "" -#: ../../content/administration/install/deploy.rst:375 +#: ../../content/administration/install/deploy.rst:376 msgid "Additional configuration can be defined for the `session_id` cookie. The `Secure` flag can be added to ensure it is never transmitted over HTTP and `SameSite=Lax` to prevent authenticated `CSRF`_." msgstr "" -#: ../../content/administration/install/deploy.rst:386 +#: ../../content/administration/install/deploy.rst:387 msgid "Odoo as a WSGI Application" msgstr "" -#: ../../content/administration/install/deploy.rst:388 +#: ../../content/administration/install/deploy.rst:389 msgid "It is also possible to mount Odoo as a standard WSGI_ application. Odoo provides the base for a WSGI launcher script as ``odoo-wsgi.example.py``. That script should be customized (possibly after copying it from the setup directory) to correctly set the configuration directly in :mod:`odoo.tools.config` rather than through the command-line or a configuration file." msgstr "" -#: ../../content/administration/install/deploy.rst:394 +#: ../../content/administration/install/deploy.rst:395 msgid "However the WSGI server will only expose the main HTTP endpoint for the web client, website and webservice API. Because Odoo does not control the creation of workers anymore it can not setup cron or livechat workers" msgstr "" -#: ../../content/administration/install/deploy.rst:399 +#: ../../content/administration/install/deploy.rst:400 msgid "Cron Workers" msgstr "" -#: ../../content/administration/install/deploy.rst:401 +#: ../../content/administration/install/deploy.rst:402 msgid "Starting one of the built-in Odoo servers next to the WSGI server is required to process cron jobs. That server must be configured to only process crons and not HTTP requests using the :option:`--no-http ` cli option or the ``http_enable = False`` configuration file setting." msgstr "" -#: ../../content/administration/install/deploy.rst:406 +#: ../../content/administration/install/deploy.rst:407 msgid "On Linux-like systems, using the multi-processing server over the multi-threading one is recommended to benefit from better hardware usage and increased stability, i.e., using the :option:`--workers=-1 ` and :option:`--max-cron-threads=n ` cli options." msgstr "" -#: ../../content/administration/install/deploy.rst:414 +#: ../../content/administration/install/deploy.rst:415 msgid "Using a gevent-compatible WSGI server is required for the correct operation of the live chat feature. That server should be able to handle many simultaneous long-lived connections but doesn't need a lot of processing power. All requests whose path starts with ``/websocket/`` should be directed to that server. A regular (thread/process-based) WSGI server should be used for all other requests." msgstr "" -#: ../../content/administration/install/deploy.rst:420 +#: ../../content/administration/install/deploy.rst:421 msgid "The Odoo cron server can also be used to serve the live chat requests. Just drop the :option:`--no-http ` cli option from the cron server and make sure requests whose path starts with ``/websocket/`` are directed to this server, either on the :option:`--http-port ` (multi-threading server) or on the :option:`--gevent-port ` (multi-processing server)." msgstr "" -#: ../../content/administration/install/deploy.rst:429 +#: ../../content/administration/install/deploy.rst:430 msgid "Serving static files and attachments" msgstr "" -#: ../../content/administration/install/deploy.rst:431 +#: ../../content/administration/install/deploy.rst:432 msgid "For development convenience, Odoo directly serves all static files and attachments in its modules. This may not be ideal when it comes to performances, and static files should generally be served by a static HTTP server." msgstr "" -#: ../../content/administration/install/deploy.rst:436 +#: ../../content/administration/install/deploy.rst:437 msgid "Serving static files" msgstr "" -#: ../../content/administration/install/deploy.rst:438 +#: ../../content/administration/install/deploy.rst:439 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:442 +#: ../../content/administration/install/deploy.rst:443 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:447 +#: ../../content/administration/install/deploy.rst:448 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:474 +#: ../../content/administration/install/deploy.rst:475 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:481 +#: ../../content/administration/install/deploy.rst:482 msgid "Debian package" msgstr "" -#: ../../content/administration/install/deploy.rst:483 +#: ../../content/administration/install/deploy.rst:484 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:487 -#: ../../content/administration/install/deploy.rst:501 +#: ../../content/administration/install/deploy.rst:488 +#: ../../content/administration/install/deploy.rst:502 msgid "The ``root`` and ``try_files`` should be:" msgstr "" -#: ../../content/administration/install/deploy.rst:494 +#: ../../content/administration/install/deploy.rst:495 msgid "Git sources" msgstr "" -#: ../../content/administration/install/deploy.rst:496 +#: ../../content/administration/install/deploy.rst:497 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 +#: ../../content/administration/install/deploy.rst:510 msgid "Serving attachments" msgstr "" -#: ../../content/administration/install/deploy.rst:511 +#: ../../content/administration/install/deploy.rst:512 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 +#: ../../content/administration/install/deploy.rst:517 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:526 +#: ../../content/administration/install/deploy.rst:527 msgid "The X-Sendfile extension for apache (and compatible web servers) does not require any supplementary configuration." msgstr "" -#: ../../content/administration/install/deploy.rst:528 +#: ../../content/administration/install/deploy.rst:529 msgid "The X-Accel extension for NGINX **does** require the following additionnal configuration:" msgstr "" -#: ../../content/administration/install/deploy.rst:537 +#: ../../content/administration/install/deploy.rst:538 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:546 +#: ../../content/administration/install/deploy.rst:547 msgid "Security" msgstr "" -#: ../../content/administration/install/deploy.rst:548 +#: ../../content/administration/install/deploy.rst:549 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:552 +#: ../../content/administration/install/deploy.rst:553 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:558 +#: ../../content/administration/install/deploy.rst:559 msgid "When deploying an internet-facing server, please be sure to consider the following security-related topics:" msgstr "" -#: ../../content/administration/install/deploy.rst:561 +#: ../../content/administration/install/deploy.rst:562 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:564 +#: ../../content/administration/install/deploy.rst:565 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:569 +#: ../../content/administration/install/deploy.rst:570 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:573 +#: ../../content/administration/install/deploy.rst:574 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:580 +#: ../../content/administration/install/deploy.rst:581 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:586 +#: ../../content/administration/install/deploy.rst:587 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:591 +#: ../../content/administration/install/deploy.rst:592 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:595 +#: ../../content/administration/install/deploy.rst:596 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:598 +#: ../../content/administration/install/deploy.rst:599 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:605 +#: ../../content/administration/install/deploy.rst:606 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:611 +#: ../../content/administration/install/deploy.rst:612 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:615 +#: ../../content/administration/install/deploy.rst:616 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:619 +#: ../../content/administration/install/deploy.rst:620 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:623 +#: ../../content/administration/install/deploy.rst:624 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:634 +#: ../../content/administration/install/deploy.rst:635 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:645 +#: ../../content/administration/install/deploy.rst:646 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:648 +#: ../../content/administration/install/deploy.rst:649 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:651 +#: ../../content/administration/install/deploy.rst:652 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:659 +#: ../../content/administration/install/deploy.rst:660 msgid "Blocking Brute Force Attacks" msgstr "" -#: ../../content/administration/install/deploy.rst:661 +#: ../../content/administration/install/deploy.rst:662 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:665 +#: ../../content/administration/install/deploy.rst:666 msgid "The log entries will have the following form." msgstr "" -#: ../../content/administration/install/deploy.rst:667 +#: ../../content/administration/install/deploy.rst:668 msgid "Failed login::" msgstr "" -#: ../../content/administration/install/deploy.rst:671 +#: ../../content/administration/install/deploy.rst:672 msgid "Successful login::" msgstr "" -#: ../../content/administration/install/deploy.rst:676 +#: ../../content/administration/install/deploy.rst:677 msgid "These logs can be easily analyzed by an intrusion prevention system such as `fail2ban`." msgstr "" -#: ../../content/administration/install/deploy.rst:678 +#: ../../content/administration/install/deploy.rst:679 msgid "For example, the following fail2ban filter definition should match a failed login::" msgstr "" -#: ../../content/administration/install/deploy.rst:685 +#: ../../content/administration/install/deploy.rst:686 msgid "This could be used with a jail definition to block the attacking IP on HTTP(S)." msgstr "" -#: ../../content/administration/install/deploy.rst:687 +#: ../../content/administration/install/deploy.rst:688 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:701 +#: ../../content/administration/install/deploy.rst:702 msgid "Database Manager Security" msgstr "" -#: ../../content/administration/install/deploy.rst:703 +#: ../../content/administration/install/deploy.rst:704 msgid ":ref:`setup/deploy/odoo` mentioned ``admin_passwd`` in passing." msgstr "" -#: ../../content/administration/install/deploy.rst:705 +#: ../../content/administration/install/deploy.rst:706 msgid "This setting is used on all database management screens (to create, delete, dump or restore databases)." msgstr "" -#: ../../content/administration/install/deploy.rst:708 +#: ../../content/administration/install/deploy.rst:709 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:714 +#: ../../content/administration/install/deploy.rst:715 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:720 +#: ../../content/administration/install/deploy.rst:721 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:723 +#: ../../content/administration/install/deploy.rst:724 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:728 +#: ../../content/administration/install/deploy.rst:729 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:732 +#: ../../content/administration/install/deploy.rst:733 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:736 +#: ../../content/administration/install/deploy.rst:737 msgid "It should be stored securely, and should be generated randomly e.g." msgstr "" -#: ../../content/administration/install/deploy.rst:742 +#: ../../content/administration/install/deploy.rst:743 msgid "which will generate a 32 characters pseudorandom printable string." msgstr "" -#: ../../content/administration/install/deploy.rst:745 +#: ../../content/administration/install/deploy.rst:746 msgid "Supported Browsers" msgstr "" -#: ../../content/administration/install/deploy.rst:747 +#: ../../content/administration/install/deploy.rst:748 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:750 +#: ../../content/administration/install/deploy.rst:751 msgid "Here are the supported browsers:" msgstr "" -#: ../../content/administration/install/deploy.rst:752 +#: ../../content/administration/install/deploy.rst:753 msgid "Google Chrome" msgstr "" -#: ../../content/administration/install/deploy.rst:753 +#: ../../content/administration/install/deploy.rst:754 msgid "Mozilla Firefox" msgstr "" -#: ../../content/administration/install/deploy.rst:754 +#: ../../content/administration/install/deploy.rst:755 msgid "Microsoft Edge" msgstr "" -#: ../../content/administration/install/deploy.rst:755 +#: ../../content/administration/install/deploy.rst:756 msgid "Apple Safari" msgstr "" -#: ../../content/administration/install/deploy.rst:757 +#: ../../content/administration/install/deploy.rst:758 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:762 +#: ../../content/administration/install/deploy.rst:763 msgid "Since Odoo 13.0, ES6 is supported. Therefore, IE support is dropped." msgstr "" -#: ../../content/administration/install/deploy.rst:765 +#: ../../content/administration/install/deploy.rst:766 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:768 +#: ../../content/administration/install/deploy.rst:769 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:772 +#: ../../content/administration/install/deploy.rst:773 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 "" @@ -991,8 +991,8 @@ msgid "To quickly try out Odoo, shared `demo `_ instances msgstr "" #: ../../content/administration/install/online.rst:14 -#: ../../content/administration/maintain/domain_names.rst:166 -#: ../../content/administration/maintain/domain_names.rst:236 +#: ../../content/administration/maintain/domain_names.rst:157 +#: ../../content/administration/maintain/domain_names.rst:211 #: ../../content/administration/maintain/supported_versions.rst:29 #: ../../content/administration/upgrade.rst:90 #: ../../content/administration/upgrade.rst:307 @@ -1028,7 +1028,7 @@ msgid "Official **Community** and **Enterprise** packages can be downloaded from msgstr "" #: ../../content/administration/install/packages.rst:19 -msgid "It is required to be logged in as a paying customer or partner to download the Enterprise packages." +msgid "It is required to be logged in as a paying on-premise customer or partner to download the Enterprise packages." msgstr "" #: ../../content/administration/install/packages.rst:25 @@ -1577,7 +1577,7 @@ msgid "The :guilabel:`API permissions` should be set next. Odoo will need specif msgstr "" #: ../../content/administration/maintain/azure_oauth.rst:55 -msgid "In the search bar, search for the following :guilabel:`Deregulated permissions` and click :guilabel:`Add permissions` for each one:" +msgid "In the search bar, search for the following :guilabel:`Delegated permissions` and click :guilabel:`Add permissions` for each one:" msgstr "" #: ../../content/administration/maintain/azure_oauth.rst:58 @@ -1886,203 +1886,191 @@ msgid "Domain names" msgstr "" #: ../../content/administration/maintain/domain_names.rst:5 -msgid "A **domain name** works as an address for your website. It makes the Internet much more accessible as it allows users to type a meaningful web address, such as ``www.odoo.com``, rather than its server's IP address with a series of numbers." +msgid "Domain names are text-based addresses identifying online locations, such as websites. They provide a more memorable and recognizable way for people to navigate the internet than numerical IP addresses." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:9 -msgid "You can use a custom domain name to access your Odoo database and websites:" +#: ../../content/administration/maintain/domain_names.rst:8 +msgid "**Odoo Online** and **Odoo.sh** databases use a **subdomain** of the `odoo.com` **domain** by default (e.g., `mycompany.odoo.com`)." msgstr "" #: ../../content/administration/maintain/domain_names.rst:11 -msgid "By :ref:`registering a free domain name with Odoo ` (for Odoo Online databases)" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:13 -msgid "By :ref:`configuring a custom domain that you already own `." +msgid "However, you can use a custom domain name instead by :ref:`registering a free domain name ` (only available for Odoo Online databases) or by :ref:`configuring a domain name you already own `." msgstr "" #: ../../content/administration/maintain/domain_names.rst:16 -msgid "Odoo Online and Odoo.sh databases, including their websites, use by default a subdomain of ``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``)." +msgid "`Odoo Tutorials: Register a free domain name [video] `_" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:20 -msgid "Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as ``www.example.com`` rather than the default ``example.odoo.com``." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:25 -msgid "`Odoo Tutorials: Register a Free Domain Name `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:27 -msgid "`Odoo Quick Tips: Get a free domain name! `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:32 -msgid "About domain names" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:34 -msgid "Having a **good domain name** is as important to your branding as the name of your business or organization as it is the first thing your visitors will notice. We recommend you keep them *simple, short, easy to remember and spell*." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:38 -msgid "A **subdomain** is a domain that is a part of another domain. It often refers to the additional part that comes before the main domain name. Traditionally, most websites use the ``www.`` subdomain, but any string of letters can be used as well. You can use subdomains to direct your visitors to other websites than your main website or to specific pages (e.g., ``experience.odoo.com`` points to a specific page.)" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:44 -msgid "All domain names are referenced in the **Domain Name System**, or **DNS**, which works as a giant directory for the Internet. There are many DNS servers, so any modification to the DNS can take up to 72 hours to propagate worldwide on all servers." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:51 -msgid "Indexing of domain names by search engines" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:53 -msgid "Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze the web`) to index all websites and their related domain names. These crawlers discover new URLs thanks to links on known web pages. As a result, search engines should index domain names automatically after a while, as long as their URLs are mentioned elsewhere on the Internet." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:58 -msgid "Improving the appearance and positioning of web pages on search engines is a practice named \"Search Engine Optimization\" (SEO)." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:62 -msgid "Adding relevant content, optimizing metadata, and building high-quality backlinks can all help improve a website's search engine visibility." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:65 -msgid "Some search engines provide tools for web admins, such as `Google Search Console `_ and `Bing Webmaster Tools `_, to help you analyze and improve your page ranking. To use these services, you must prove that you are the owner of your domain name. One way to verify the ownership of your domain name is by adding a DNS record. You can do this for :ref:`domain names registered with Odoo ` and for domain names managed by other providers." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:74 -msgid ":doc:`/applications/websites/website/pages/seo`" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:75 -msgid "`Google Search Console Help - Verify your site ownership `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:76 -msgid "`Bing Webmaster Tools - Add and Verify site `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:81 +#: ../../content/administration/maintain/domain_names.rst:22 msgid "Register a free domain name with Odoo" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:83 -msgid "You can register a domain name for your Odoo Online database directly from Odoo Website or your database manager." +#: ../../content/administration/maintain/domain_names.rst:24 +msgid "To register a one-year free domain name for your Odoo Online database, sign in to your account and go to the `database manager `_. Click the gear icon (:guilabel:`⚙️`) next to the database name and select :guilabel:`Domain Names`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:87 -msgid "Your domain name is **free for one year** if you register it with Odoo!" +#: ../../content/administration/maintain/domain_names.rst:-1 +msgid "Accessing a database's domain names configuration" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:88 -msgid "The domain name is registered with `Gandi `_, the domain name registrar." +#: ../../content/administration/maintain/domain_names.rst:31 +msgid "Search for the desired domain name and check its availability." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:90 -msgid "You are the owner of the domain name and can use it for other purposes." +#: ../../content/administration/maintain/domain_names.rst:-1 +msgid "Searching for an available domain name" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:91 -msgid "Odoo manages payment and technical support for you." +#: ../../content/administration/maintain/domain_names.rst:37 +msgid "Ensure the Website app is installed if the domain name registration option does not appear." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:92 -msgid "This offer doesn't include any mailbox. However, you can :ref:`configure your MX records ` to use your own email server or solution such as Google Workspace." +#: ../../content/administration/maintain/domain_names.rst:39 +msgid "Select the desired domain name, fill in the :guilabel:`Domain Owner` form, and click :guilabel:`Register`. The chosen domain name is directly linked to the database, but you still need to :ref:`map your domain name to your Odoo website `." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:-1 +msgid "Filling in the domain owner information" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:47 +msgid "A verification email from `noreply@domainnameverification.net` will be sent to the email address provided in the :guilabel:`Domain Owner` form. It is essential to verify your email address to keep the domain active and receive the renewal quote before expiration." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:51 +msgid "The domain name registration is free for the first year. After this period, Odoo will continue to manage the domain in partnership with **Gandi.net**, the domain name registrar, and you will be charged `Gandi.net's renewal rate `_. Odoo sends a renewal quotation every year to the email address mentioned in the :guilabel:`Domain Owner` form several weeks before the expiration date of the domain. The domain is renewed automatically when the quotation is confirmed." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:59 +msgid "The offer is only available for **Odoo Online** databases." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:60 +msgid "The offer is limited to **one** domain name per client." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:61 +msgid "The offer is limited to the registration of a **new** domain name." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:62 +msgid "The offer is available to *One App Free* plans. Ensure that your website contains enough original content for Odoo to verify that your request is legitimate and respects `Odoo's Acceptable Use Policy `_. Given the high number of requests, it can take Odoo several days to review them." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:70 +msgid "DNS records" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:72 +msgid "To manage your free domain name :abbr:`DNS (domain name system)` records, open the `database manager `_, click the gear icon (:guilabel:`⚙️`) next to the database name, select :guilabel:`Domain Names`, and click :guilabel:`DNS`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:76 +msgid ":guilabel:`A`: the A record holds the IP address of the domain. It is automatically created and **cannot** be edited or deleted." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:78 +msgid ":guilabel:`CNAME`: CNAME records forward one domain or subdomain to another domain. One is automatically created to map the `www.` subdomain to the database. If the database is renamed, the CNAME record **must** also be renamed." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:81 +msgid ":guilabel:`MX`: MX records instruct servers on where to deliver emails." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:82 +msgid ":guilabel:`TXT`: TXT records can be used for different purposes (e.g., to verify domain name ownership)." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:85 +msgid "Any modification to the DNS records can take up to **72 hours** to propagate worldwide on all servers." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:89 +msgid "`Submit a support ticket `_ if you need assistance to manage your domain name." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:93 +msgid "Mailbox" msgstr "" #: ../../content/administration/maintain/domain_names.rst:95 -msgid "To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager `_, click on the :guilabel:`settings` button next to your database, then on :guilabel:`Domain names`." +msgid "The one-year free domain name offer does **not** include a mailbox. There are two options to link your domain name with a mailbox." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:-1 -msgid "Clicking on Domain Names from an Odoo website" +#: ../../content/administration/maintain/domain_names.rst:99 +msgid "Use a subdomain" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:103 -msgid "Search for the domain name of your choice to check its availability, then select the one you want to register for your website." +#: ../../content/administration/maintain/domain_names.rst:101 +msgid "You can create a subdomain (e.g., `subdomain.yourdomain.com`) to use as an alias domain for the database. It allows users to create records in the database from emails received on their `email@subdomain.yourdomain.com` alias." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:-1 -msgid "The search of the domain name example.com shows which associated domains are available." +#: ../../content/administration/maintain/domain_names.rst:105 +msgid "To do so, open the `database manager `_, click the gear icon (:guilabel:`⚙️`) next to the database name, and go to :menuselection:`Domain Names --> DNS --> Add DNS record --> CNAME`. Next, enter the desired subdomain in the :guilabel:`Name` field (e.g., `subdomain`), the original database domain with a period at the end (e.g., `mycompany.odoo.com.`) in the :guilabel:`Content` field, and click :guilabel:`Add record`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:110 -msgid "Next, fill in the form with your information to become the domain name owner." +#: ../../content/administration/maintain/domain_names.rst:111 +msgid "Then, add the alias domain as your *own domain* by clicking :guilabel:`Use my own domain`, entering the alias domain (e.g., `subdomain.yourdomain.com`), clicking :guilabel:`Verify`, and then :guilabel:`I confirm, it's done`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:112 -msgid "Your domain name is directly linked to your database, but you still have to :ref:`map your domain name with your website `." +#: ../../content/administration/maintain/domain_names.rst:115 +msgid "Finally, go to your database and open the :guilabel:`Settings`. Enable :guilabel:`Custom Email Servers` field, enter the :guilabel:`Alias Domain` (e.g., `subdomain.yourdomain.com`) and click :guilabel:`Save`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:116 -msgid "Free domain names are also available for free Odoo Online databases (if you installed one app only, for example). In this case, Odoo reviews your request and your website to avoid abuse. This process can take several days due to the success of the offer." +#: ../../content/administration/maintain/domain_names.rst:120 +msgid "Use an external email provider" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:119 -msgid "This is not available for Odoo.sh databases yet." +#: ../../content/administration/maintain/domain_names.rst:122 +msgid "To use an external email provider, you should configure an MX record. To do so, open the `database manager `_, click the gear icon (:guilabel:`⚙️`) next to the database name, click :menuselection:`Domain Names --> DNS --> Add DNS record --> MX`. The values you should enter for the :guilabel:`Name`, :guilabel:`Content`, and :guilabel:`Priority` fields depend on the external email provider." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:124 -msgid "Manage your domain name registered with Odoo" +#: ../../content/administration/maintain/domain_names.rst:129 +msgid "`Google Workspace: MX record values `_" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:126 -msgid "To manage the DNS records of your domain name registered with Odoo or to visualize the contacts associated with it, open your `database manager `_, click on the :guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on :guilabel:`Contacts` or :guilabel:`DNS`." +#: ../../content/administration/maintain/domain_names.rst:130 +msgid "`Outlook and Exchange Online: Add an MX record for email `_" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:-1 -msgid "Management of the domain names linked to an Odoo database" +#: ../../content/administration/maintain/domain_names.rst:135 +msgid "Configure an existing domain name" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:136 -msgid "Please `submit a support ticket `_ if you need further assistance to manage your domain name." +#: ../../content/administration/maintain/domain_names.rst:137 +msgid "If you already have a domain name, you can use it for your Odoo website." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:142 -msgid "Configure your existing domain name" +#: ../../content/administration/maintain/domain_names.rst:140 +msgid "It is strongly recommended to follow **in order** these three steps to avoid any :ref:`SSL certificate validation ` issues:" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:143 +msgid ":ref:`Add a CNAME record `" msgstr "" #: ../../content/administration/maintain/domain_names.rst:144 -msgid "If you already own a domain name, you can use it to point to your website." +msgid ":ref:`Map your domain name to your Odoo database `" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:146 -msgid "To avoid any issue with the :ref:`SSL certificate validation `, we highly recommend that you proceed with the following actions in this order:" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:149 -msgid ":ref:`Add a CNAME record ` on your domain name's DNS zone." +#: ../../content/administration/maintain/domain_names.rst:145 +msgid ":ref:`Map your domain name to your Odoo website `" msgstr "" #: ../../content/administration/maintain/domain_names.rst:150 -msgid ":ref:`Map your domain name with your Odoo database `." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:151 -msgid ":ref:`Map your domain name with your Odoo website `." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:156 msgid "Add a CNAME record" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:158 -msgid "A **CNAME record** is a type of DNS record that points to the domain of another website rather than directly to an IP address." +#: ../../content/administration/maintain/domain_names.rst:152 +msgid "Creating a CNAME record to forward your domain name to the address of your Odoo database is required." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:161 -msgid "You need a CNAME record that points to your Odoo database. The requirements are detailed in your database manager." +#: ../../content/administration/maintain/domain_names.rst:159 +msgid "The CNAME record's target address should be your database's address as defined at its creation (e.g., `mycompany.odoo.com`)." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:168 -msgid "The target address is the current address of your database, as defined at its creation (e.g., ``example.odoo.com``)" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:171 -#: ../../content/administration/maintain/domain_names.rst:250 +#: ../../content/administration/maintain/domain_names.rst:162 +#: ../../content/administration/maintain/domain_names.rst:221 #: ../../content/administration/maintain/supported_versions.rst:30 #: ../../content/administration/odoo_sh.rst:5 #: ../../content/administration/upgrade.rst:120 @@ -2090,245 +2078,164 @@ msgstr "" msgid "Odoo.sh" msgstr "" +#: ../../content/administration/maintain/domain_names.rst:164 +msgid "The CNAME record's target address can be the project's main address, which can be found on Odoo.sh by going to :menuselection:`Settings --> Project Name`, or a specific branch (production, staging or development) by going to :menuselection:`Branches --> select the branch --> Settings --> Custom domains`, and clicking :guilabel:`How to set up my domain?`. A message indicates which address your CNAME record should target." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:170 +msgid "The specific instructions depend on your DNS hosting service." +msgstr "" + #: ../../content/administration/maintain/domain_names.rst:173 -msgid "Your project's main address is defined in :menuselection:`Settings --> Project Name`." +msgid "`GoDaddy: Add a CNAME record `_" +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:174 +msgid "`Namecheap: How to create a CNAME record for your domain `_" msgstr "" #: ../../content/administration/maintain/domain_names.rst:175 -msgid "If you want to target a specific branch (production, staging or development), go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, and click on :guilabel:`How to set up my domain?`. A message indicates which address your CNAME record should target." +msgid "`OVHcloud: Add a new DNS record `_" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:180 -#: ../../content/administration/maintain/domain_names.rst:222 -msgid "Open your domain name's manager dashboard." +#: ../../content/administration/maintain/domain_names.rst:176 +msgid "`Cloudflare: Manage DNS records `_" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:181 -msgid "Open the **DNS zone** management page for the domain name you want to configure." +#: ../../content/administration/maintain/domain_names.rst:179 +msgid "Creating a CNAME record to map the `www` subdomain (`www.yourdomain.com`) as some visitors are used to typing `www.` before entering a domain name." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:182 -msgid "Create a **CNAME record** pointing to the address of your database." +#: ../../content/administration/maintain/domain_names.rst:183 +msgid "You own the domain name `yourdomain.com`, and your Odoo Online database's address is `mycompany.odoo.com`. You want to access your Odoo database primarily with the domain `www.yourdomain.com` but also with the naked domain :dfn:`(a domain name without any subdomains or prefixes)` `yourdomain.com`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:184 -msgid "While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``), you can of course use any domain name of your choice, with any subdomain (e.g., ``anything.example.com``)." +#: ../../content/administration/maintain/domain_names.rst:188 +msgid "To do so, create a CNAME record for the `www` subdomain, with `mycompany.odoo.com` as the target. Next, create a redirect (301 permanent or visible redirect) to redirect visitors from `yourdomain.com` to `wwww.yourdomain.com`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:189 -msgid "You own the domain name ``example.com``, and you have an Odoo Online database at the address ``example.odoo.com``. You want to access your Odoo database primarily with the domain ``www.example.com`` but also with the :ref:`naked domain ` ``example.com``." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:194 -msgid "To do so, you create a CNAME record for the ``www`` subdomain, with ``example.odoo.com`` as the target. The DNS zone manager generates the following rule and adds it to your DNS zone: ``www IN CNAME example.odoo.com.``" +#: ../../content/administration/maintain/domain_names.rst:195 +msgid "Map a domain name to an Odoo database" msgstr "" #: ../../content/administration/maintain/domain_names.rst:198 -msgid "You also create a redirection from ``example.com`` to ``wwww.example.com``." +msgid "Ensure you have :ref:`added a CNAME record ` to your domain name's DNS **before** mapping your domain name to your Odoo database." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:200 -msgid "Your new DNS records are propagated to all DNS servers." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:203 -msgid "Here are some specific guidelines to create a CNAME record:" +#: ../../content/administration/maintain/domain_names.rst:201 +msgid "Failing to do so may prevent the validation of the :ref:`SSL certificate ` and could result in a *certificate name mismatch* error. Web browsers often display this as a warning, such as *\"Your connection is not private\"*." msgstr "" #: ../../content/administration/maintain/domain_names.rst:205 -msgid "`GoDaddy `_" +msgid "If you encounter this error after mapping the domain name to your database, wait up to five days, as the validation may still happen. If not, you can `submit a support ticket `_, including screenshots of your CNAME records." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:206 -msgid "`Namecheap `_" +#: ../../content/administration/maintain/domain_names.rst:213 +msgid "Open the `database manager `_, click the gear icon (:guilabel:`⚙️`) next to the database name, and go to :menuselection:`Domain Names --> Use my own domain`. Then, enter the domain name (e.g., `yourdomain.com`), click :guilabel:`Verify` and :guilabel:`I confirm, it's done`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:207 -msgid "`OVH `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:208 -msgid "`CloudFlare `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:209 -msgid "`Google Domains `_" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:214 -msgid "Naked domain" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:216 -msgid "A **naked domain** is a domain name that doesn't have any subdomain at the beginning of the address (e.g., ``odoo.com`` instead of ``www.odoo.com``)." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:219 -msgid "You may want your naked domain to redirect to your website as some visitors may not type the full domain name to access your website." +#: ../../content/administration/maintain/domain_names.rst:0 +msgid "Mapping a domain name to an Odoo Online database" msgstr "" #: ../../content/administration/maintain/domain_names.rst:223 -msgid "Create a **redirection** from the naked domain (``example.com``) to your main domain name (``www.example.com``)." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:227 -msgid "Depending on your domain name registrar, this redirection may be already pre-configured." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:232 -msgid "Map your domain name with your Odoo database" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:238 -msgid "Open your `database manager `_, click on the :guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on :guilabel:`Use my own domain` at the bottom of the right column." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:242 -msgid "Type the domain name you want to add to this database, then click on :guilabel:`Verify` to check if the CNAME record is correctly configured. Once done, click on :guilabel:`I confirm, it's done`." +msgid "On Odoo.sh, go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type the domain name to add, then click :guilabel:`Add domain`." msgstr "" #: ../../content/administration/maintain/domain_names.rst:0 -msgid "Verification of the CNAME records of a domain name before mapping it with a database" +msgid "Mapping a domain name to an Odoo.sh branch" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:252 -msgid "Go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type the domain name you want to add to this database, then click on :guilabel:`Add domain`." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:0 -msgid "Mapping a domain name with an Odoo.sh branch" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:260 +#: ../../content/administration/maintain/domain_names.rst:230 msgid ":ref:`Odoo.sh branches: settings tab `" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:263 -msgid "Make sure to :ref:`add a CNAME record ` to your domain name's DNS **before** mapping your domain name with your Odoo database." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:266 -msgid "Failing to do so may impede the validation of the :ref:`SSL certificate ` and would result in a *certificate name mismatch* error. This is often displayed by web browsers as a warning such as *\"Your connection is not private\"*." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:270 -msgid "If this is the case and you have added the domain name to your database's settings less than five days ago, wait 24 hours as the validation may still happen. Otherwise, please `submit a support ticket `_ including screenshots of your CNAME records." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:277 +#: ../../content/administration/maintain/domain_names.rst:235 msgid "SSL encryption (HTTPS protocol)" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:279 -msgid "**SSL encryption** is an encryption-based Internet security protocol. It allows your visitors to navigate your website through a secure connection, which appears as an ``https://`` protocol at the beginning of your web address, rather than a non-secure ``http://`` protocol." +#: ../../content/administration/maintain/domain_names.rst:237 +msgid "**SSL encryption** allows visitors to navigate a website through a secure connection, which appears as the *https://* protocol at the beginning of a web address rather than the non-secure *http://* protocol." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:283 -msgid "Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager `, using integration with `Let's Encrypt Certificate Authority and ACME protocol `_." +#: ../../content/administration/maintain/domain_names.rst:241 +msgid "Odoo generates a separate SSL certificate for each domain :ref:`mapped to a database ` using `Let's Encrypt's certificate authority and ACME protocol `_." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:288 -msgid "The certificate generation may take up to 24h." +#: ../../content/administration/maintain/domain_names.rst:246 +msgid "Certificate generation may take up to 24 hours." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:289 -msgid "Several attempts to validate your certificate are made during the five days following the moment you add your domain name in your database's settings." +#: ../../content/administration/maintain/domain_names.rst:247 +msgid "Several attempts to validate your certificate are made for five days after you map your domain name to your database." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:291 -msgid "If you already use another service, you can keep using it or simply change for Odoo." +#: ../../content/administration/maintain/domain_names.rst:249 +msgid "If you use another service, you can keep using it or change to Odoo's." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:296 +#: ../../content/administration/maintain/domain_names.rst:252 +msgid "No SSL certificate is generated for naked domains :dfn:`(domain names without any subdomains or prefixes)`." +msgstr "" + +#: ../../content/administration/maintain/domain_names.rst:258 msgid "Web base URL of a database" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:299 -msgid "If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name with your website `." +#: ../../content/administration/maintain/domain_names.rst:261 +msgid "If the Website app is installed on your database, skip this section and continue from the :ref:`Map a domain name to a website ` section." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:302 -msgid "The **web base URL** of a database, or **root URL** affects your main website address and all the links sent to your customers (e.g., quotations, portal links, etc.)." +#: ../../content/administration/maintain/domain_names.rst:264 +msgid "The *web base URL* or root URL of a database affects your main website address and all the links sent to your customers (e.g., quotations, portal links, etc.)." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:305 -msgid "To configure it, access your Odoo database with your custom address, then log in as an administrator of your database (any user in the *Settings* group) from the login screen." +#: ../../content/administration/maintain/domain_names.rst:267 +msgid "To make your custom domain name the *web base URL* of your database, access your database using your custom domain name and log in as an administrator :dfn:`(a user part of the Settings access right group under Administration)`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:309 -msgid "Connecting to your database with the original Odoo subdomain address (e.g., ``example.odoo.com`` also updates the web base URL of your database. See below to prevent these automatic updates." +#: ../../content/administration/maintain/domain_names.rst:272 +msgid "If you access your database with the original Odoo address (e.g., `mycompany.odoo.com`), the *web base URL* of your database will be updated accordingly. To prevent the automatic update of the *web base URL* when an administrator logs in to the database, activate the :ref:`developer mode `, go to :menuselection:`Settings --> Technical --> System Parameters --> New`, and enter `web.base.url.freeze` as the :guilabel:`Key` and `True` as the :guilabel:`Value`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:312 -msgid "Alternatively, you can do it manually. To do so, activate the :ref:`developer mode `, then go to :menuselection:`Settings --> Technical --> System Parameters`." +#: ../../content/administration/maintain/domain_names.rst:279 +msgid "You can also set the web base URL manually. To do so, activate the :ref:`developer mode `, go to :menuselection:`Settings --> Technical --> System Parameters`, and search for the `web.base.url` key (create it if necessary) and enter the full address of your website as the value (e.g., `https://www.yourdomain.com`). The URL must include the protocol `https://` (or `http://`) and *not* end with a slash (`/`)." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:315 -msgid "Find the key called ``web.base.url`` (or create it if it does not exist) and enter the full address of your website as value, such as ``https://www.example.com``." +#: ../../content/administration/maintain/domain_names.rst:288 +msgid "Map a domain name to an Odoo website" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:319 -msgid "The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash (``/``)." +#: ../../content/administration/maintain/domain_names.rst:290 +msgid "Mapping your domain name to your website is different than mapping it to your database:" msgstr "" -#: ../../content/administration/maintain/domain_names.rst:322 -msgid "To prevent the automatic update of the web base URL when an administrator logs in the database, you can create the following System Parameter:" +#: ../../content/administration/maintain/domain_names.rst:292 +msgid "It defines your domain name as the main one for your website, helping search engines to index your website correctly." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:325 -msgid "key: ``web.base.url.freeze``" +#: ../../content/administration/maintain/domain_names.rst:294 +msgid "It defines your domain name as the base URL for your database, including portal links sent by email to your customers." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:326 -msgid "value: ``True``" +#: ../../content/administration/maintain/domain_names.rst:296 +msgid "If you have multiple websites, it maps your domain name to the appropriate website." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:331 -msgid "Map your domain name with your website" +#: ../../content/administration/maintain/domain_names.rst:298 +msgid "Go to :menuselection:`Website --> Configuration --> Settings`. If you have multiple websites, select the one you want to configure. In the :guilabel:`Domain` field, enter the address of your website (e.g., `https://www.yourdomain.com`) and :guilabel:`Save`." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:333 -msgid "Mapping your domain name to your website isn't the same as mapping it with your database:" +#: ../../content/administration/maintain/domain_names.rst:303 +msgid "Mapping your domain name to your Odoo website prevents Google Search from indexing your original database address (e.g., `mycompany.odoo.com`)." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:335 -msgid "It defines your domain name as the main one for your website, helping search engines to index your website properly." +#: ../../content/administration/maintain/domain_names.rst:306 +msgid "If both addresses are already indexed, it may take some time before the indexation of the second address is removed from Google Search. You can use the `Google Search Console `_ to fix the issue." msgstr "" -#: ../../content/administration/maintain/domain_names.rst:337 -msgid "It defines your domain name as the base URL for your database, including the portal links sent by email to your customers." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:339 -msgid "If you have multiple websites, it maps your domain name with the appropriate website." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:341 -msgid "Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple websites, select the one you want to configure." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:344 -msgid "In the :guilabel:`Domain` field, fill in the web address of your website (e.g., ``https://www.example.com``) and click on :guilabel:`Save`." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:-1 -msgid "Configuring https://www.example.com as the Domain of the website" -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:352 -msgid "Mapping your domain name with your Odoo website prevents Google from indexing both your custom domain name ``www.example.com`` and your original odoo database address ``example.odoo.com``." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:355 -msgid "If both addresses are already indexed, it may take some time before Google removes the indexation of the second address. You may also try using the `Google Search Console `_ to fix this." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:360 -msgid "If you have multiple websites and companies on your database, make sure that you select the right :guilabel:`Company` in the website settings, next to the :guilabel:`Domain` settings. Doing so indicates Odoo which URL to use as the :ref:`base URL ` according to the company in use." -msgstr "" - -#: ../../content/administration/maintain/domain_names.rst:366 -msgid ":doc:`/applications/general/email_communication/email_servers`" +#: ../../content/administration/maintain/domain_names.rst:311 +msgid "If you have multiple websites and companies on your database, make sure to select the right :guilabel:`Company` under :menuselection:`Website --> Configuration --> Settings`. Doing so indicates Odoo which URL to use as the :ref:`base URL ` according to the company in use." msgstr "" #: ../../content/administration/maintain/enterprise.rst:6 @@ -3050,6 +2957,70 @@ msgstr "" msgid "Once the setup is complete, the Odoo database is ready to use the Mailjet email server for mass mailing or transactional emails!" msgstr "" +#: ../../content/administration/maintain/neutralized_database.rst:3 +msgid "Neutralized database" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:5 +msgid "A neutralized database is a non-production database on which several parameters are deactivated. This enables one to carry out tests without the risk of launching specific automated processes that could impact production data (e.g., sending emails to customers). Live access is removed and turned into a testing environment." +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:11 +msgid "**Any testing database created is a neutralized database:**" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:13 +msgid "testing backup databases" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:14 +msgid "duplicate databases" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:15 +msgid "for Odoo.sh: staging and development databases" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:18 +msgid "A database can also be neutralized when upgrading, as it is vital to do some tests before switching to a new version." +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:22 +msgid "Deactivated features" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:24 +msgid "Here is a non-exhaustive list of the deactivated parameters:" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:26 +msgid "all planned actions (e.g., automatic invoicing of subscriptions, mass mailing, etc.)" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:27 +msgid "outgoing emails" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:28 +msgid "bank synchronization" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:29 +msgid "payment providers" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:30 +msgid "delivery methods" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:31 +msgid ":abbr:`IAP (In-App Purchase)` tokens" +msgstr "" + +#: ../../content/administration/maintain/neutralized_database.rst:34 +msgid "**A red banner at the top of the screen is displayed on the neutralized database so that it can be seen immediately.**" +msgstr "" + #: ../../content/administration/maintain/odoo_online.rst:3 msgid "Odoo Online database management" msgstr "" @@ -3159,7 +3130,7 @@ msgid "Use a custom :doc:`domain name ` to access the database via msgstr "" #: ../../content/administration/maintain/odoo_online.rst:75 -msgid "You can :ref:`register a domain name for free `." +msgid "You can :ref:`register a domain name for free `." msgstr "" #: ../../content/administration/maintain/odoo_online.rst:80 @@ -3456,19 +3427,20 @@ msgid "End of support" msgstr "" #: ../../content/administration/maintain/supported_versions.rst:34 -msgid "**Odoo 17.0**" +msgid "Odoo saas~17.1" msgstr "" #: ../../content/administration/maintain/supported_versions.rst:35 -#: ../../content/administration/maintain/supported_versions.rst:36 -#: ../../content/administration/maintain/supported_versions.rst:37 #: ../../content/administration/maintain/supported_versions.rst:41 -#: ../../content/administration/maintain/supported_versions.rst:65 -#: ../../content/administration/maintain/supported_versions.rst:66 -#: ../../content/administration/maintain/supported_versions.rst:67 -#: ../../content/administration/maintain/supported_versions.rst:83 -#: ../../content/administration/maintain/supported_versions.rst:84 -#: ../../content/administration/maintain/supported_versions.rst:85 +#: ../../content/administration/maintain/supported_versions.rst:42 +#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:47 +#: ../../content/administration/maintain/supported_versions.rst:71 +#: ../../content/administration/maintain/supported_versions.rst:72 +#: ../../content/administration/maintain/supported_versions.rst:73 +#: ../../content/administration/maintain/supported_versions.rst:89 +#: ../../content/administration/maintain/supported_versions.rst:90 +#: ../../content/administration/maintain/supported_versions.rst:91 #: ../../content/administration/odoo_sh/getting_started/settings.rst:58 #: ../../content/administration/odoo_sh/getting_started/settings.rst:59 #: ../../content/administration/odoo_sh/getting_started/settings.rst:62 @@ -3499,173 +3471,183 @@ msgstr "" msgid "|green|" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:38 -#: ../../content/administration/maintain/supported_versions.rst:93 -msgid "November 2023" -msgstr "" - -#: ../../content/administration/maintain/supported_versions.rst:39 -msgid "November 2026 (planned)" -msgstr "" - -#: ../../content/administration/maintain/supported_versions.rst:40 -msgid "Odoo saas~16.4" -msgstr "" - -#: ../../content/administration/maintain/supported_versions.rst:42 -#: ../../content/administration/maintain/supported_versions.rst:43 +#: ../../content/administration/maintain/supported_versions.rst:36 +#: ../../content/administration/maintain/supported_versions.rst:37 #: ../../content/administration/maintain/supported_versions.rst:48 #: ../../content/administration/maintain/supported_versions.rst:49 #: ../../content/administration/maintain/supported_versions.rst:54 #: ../../content/administration/maintain/supported_versions.rst:55 #: ../../content/administration/maintain/supported_versions.rst:60 #: ../../content/administration/maintain/supported_versions.rst:61 -#: ../../content/administration/maintain/supported_versions.rst:72 -#: ../../content/administration/maintain/supported_versions.rst:73 +#: ../../content/administration/maintain/supported_versions.rst:66 +#: ../../content/administration/maintain/supported_versions.rst:67 #: ../../content/administration/maintain/supported_versions.rst:78 #: ../../content/administration/maintain/supported_versions.rst:79 +#: ../../content/administration/maintain/supported_versions.rst:84 +#: ../../content/administration/maintain/supported_versions.rst:85 msgid "N/A" msgstr "" +#: ../../content/administration/maintain/supported_versions.rst:38 +msgid "January 2024" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:40 +msgid "**Odoo 17.0**" +msgstr "" + #: ../../content/administration/maintain/supported_versions.rst:44 -msgid "August 2023" +#: ../../content/administration/maintain/supported_versions.rst:99 +msgid "November 2023" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:45 +msgid "October 2026 (planned)" msgstr "" #: ../../content/administration/maintain/supported_versions.rst:46 +msgid "Odoo saas~16.4" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:50 +msgid "August 2023" +msgstr "" + +#: ../../content/administration/maintain/supported_versions.rst:52 msgid "Odoo saas~16.3" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:47 #: ../../content/administration/maintain/supported_versions.rst:53 #: ../../content/administration/maintain/supported_versions.rst:59 -#: ../../content/administration/maintain/supported_versions.rst:71 +#: ../../content/administration/maintain/supported_versions.rst:65 #: ../../content/administration/maintain/supported_versions.rst:77 -#: ../../content/administration/maintain/supported_versions.rst:89 -#: ../../content/administration/maintain/supported_versions.rst:90 -#: ../../content/administration/maintain/supported_versions.rst:91 +#: ../../content/administration/maintain/supported_versions.rst:83 #: ../../content/administration/maintain/supported_versions.rst:95 #: ../../content/administration/maintain/supported_versions.rst:96 #: ../../content/administration/maintain/supported_versions.rst:97 #: ../../content/administration/maintain/supported_versions.rst:101 #: ../../content/administration/maintain/supported_versions.rst:102 #: ../../content/administration/maintain/supported_versions.rst:103 +#: ../../content/administration/maintain/supported_versions.rst:107 +#: ../../content/administration/maintain/supported_versions.rst:108 +#: ../../content/administration/maintain/supported_versions.rst:109 msgid "|red|" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:50 +#: ../../content/administration/maintain/supported_versions.rst:56 msgid "June 2023" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:52 +#: ../../content/administration/maintain/supported_versions.rst:58 msgid "Odoo saas~16.2" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:56 +#: ../../content/administration/maintain/supported_versions.rst:62 msgid "March 2023" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:58 +#: ../../content/administration/maintain/supported_versions.rst:64 msgid "Odoo saas~16.1" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:62 +#: ../../content/administration/maintain/supported_versions.rst:68 msgid "February 2023" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:64 +#: ../../content/administration/maintain/supported_versions.rst:70 msgid "**Odoo 16.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:68 -#: ../../content/administration/maintain/supported_versions.rst:99 +#: ../../content/administration/maintain/supported_versions.rst:74 +#: ../../content/administration/maintain/supported_versions.rst:105 msgid "October 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:69 +#: ../../content/administration/maintain/supported_versions.rst:75 msgid "November 2025 (planned)" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:70 +#: ../../content/administration/maintain/supported_versions.rst:76 msgid "Odoo saas~15.2" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:74 +#: ../../content/administration/maintain/supported_versions.rst:80 msgid "March 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:75 +#: ../../content/administration/maintain/supported_versions.rst:81 msgid "January 2023" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:76 +#: ../../content/administration/maintain/supported_versions.rst:82 msgid "Odoo saas~15.1" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:80 +#: ../../content/administration/maintain/supported_versions.rst:86 msgid "February 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:81 +#: ../../content/administration/maintain/supported_versions.rst:87 msgid "July 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:82 +#: ../../content/administration/maintain/supported_versions.rst:88 msgid "**Odoo 15.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:86 +#: ../../content/administration/maintain/supported_versions.rst:92 msgid "October 2021" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:87 +#: ../../content/administration/maintain/supported_versions.rst:93 msgid "November 2024 (planned)" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:88 +#: ../../content/administration/maintain/supported_versions.rst:94 msgid "**Odoo 14.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:92 +#: ../../content/administration/maintain/supported_versions.rst:98 msgid "October 2020" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:94 +#: ../../content/administration/maintain/supported_versions.rst:100 msgid "**Odoo 13.0**" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:98 +#: ../../content/administration/maintain/supported_versions.rst:104 msgid "October 2019" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:100 +#: ../../content/administration/maintain/supported_versions.rst:106 msgid "Older versions" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:104 +#: ../../content/administration/maintain/supported_versions.rst:110 msgid "Before 2019" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:105 +#: ../../content/administration/maintain/supported_versions.rst:111 msgid "Before 2022" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:107 +#: ../../content/administration/maintain/supported_versions.rst:113 msgid "Legend" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:109 +#: ../../content/administration/maintain/supported_versions.rst:115 msgid "|green| Supported version" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:111 +#: ../../content/administration/maintain/supported_versions.rst:117 msgid "|red| End-of-support" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:113 +#: ../../content/administration/maintain/supported_versions.rst:119 msgid "N/A Never released for this platform" msgstr "" -#: ../../content/administration/maintain/supported_versions.rst:116 +#: ../../content/administration/maintain/supported_versions.rst:122 msgid "Even though we don't support older versions, you can always `upgrade from any version `_." msgstr "" diff --git a/locale/sources/developer.pot b/locale/sources/developer.pot index d7386bc15..204cb54eb 100644 --- a/locale/sources/developer.pot +++ b/locale/sources/developer.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -133,7 +133,6 @@ msgid "Recommended **xmlid** for the record is `chart_template`. If you need man msgstr "" #: ../../content/developer/howtos/accounting_localization.rst:85 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.chart_template_id:1 msgid "Chart of Accounts" msgstr "" @@ -226,337 +225,6 @@ msgstr "" msgid "`addons/l10n_il/data/account.group.template.csv `_" msgstr "" -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -#: ../../content/developer/howtos/website_themes/building_blocks.rst:444 -#: ../../content/developer/howtos/website_themes/building_blocks.rst:469 -#: ../../content/developer/howtos/website_themes/building_blocks.rst:500 -#: ../../content/developer/howtos/website_themes/layout.rst:71 -#: ../../content/developer/reference/backend/data/res.country.state.csv:1 -msgid "id" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "code_prefix_start" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "code_prefix_end" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -#: ../../content/developer/howtos/website_themes/building_blocks.rst:446 -#: ../../content/developer/howtos/website_themes/building_blocks.rst:471 -#: ../../content/developer/howtos/website_themes/building_blocks.rst:502 -#: ../../content/developer/howtos/website_themes/layout.rst:75 -#: ../../content/developer/howtos/website_themes/navigation.rst:58 -#: ../../content/developer/howtos/website_themes/pages.rst:139 -#: ../../content/developer/howtos/website_themes/pages.rst:203 -#: ../../content/developer/howtos/website_themes/shapes.rst:134 -#: ../../content/developer/howtos/website_themes/theming.rst:121 -#: ../../content/developer/tutorials/define_module_data.rst:176 -#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:189 -#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:262 -#: ../../content/developer/tutorials/getting_started/08_relations.rst:73 -#: ../../content/developer/tutorials/getting_started/08_relations.rst:180 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.active:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.color:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.name:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.tax_negate:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.availability_condition:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.chart_template_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.column_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.country_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.default_opening_date_filter:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_account_type:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_analytic:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_date_range:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_fiscal_position:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_growth_comparison:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_hierarchy:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_journals:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_multi_company:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_partner:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_period_comparison:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_show_draft:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_unfold_all:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_unreconciled:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.line_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.load_more_limit:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.name:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.only_tax_exigible:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.root_report_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.search_bar:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.action_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.children_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.expression_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.foldable:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.hide_if_zero:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.hierarchy_level:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.name:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.parent_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.print_on_new_page:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.report_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.account_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.code:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.nocreate:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.note:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.reconcile:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tag_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tax_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_credit_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_debit_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_suspense_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.bank_account_code_prefix:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.cash_account_code_prefix:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.code_digits:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_expense_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_income_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_pos_receivable_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.expense_currency_exchange_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.income_currency_exchange_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.parent_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_payable_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_receivable_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_advance_tax_payment_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_cash_basis_base_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_input_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_output_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_valuation_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_payable_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_receivable_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.transfer_account_code_prefix:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.use_anglo_saxon:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.visible:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.account_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.auto_apply:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_group_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.note:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.sequence:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.state_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.tax_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.vat_required:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.zip_from:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.zip_to:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.code_prefix_end:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.code_prefix_start:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.parent_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.factor_percent:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.invoice_tax_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.refund_tax_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.tag_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.use_in_tax_closing:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.active:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.analytic:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.cash_basis_transition_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.children_tax_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.description:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.include_base_amount:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.invoice_repartition_line_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.is_base_affected:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.price_include:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.refund_repartition_line_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.sequence:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_group_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_scope:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:0 -#: ../../../odoo/addons/l10n_multilang/models/account.py:docstring of odoo.addons.l10n_multilang.models.account.AccountChartTemplate.spoken_languages:0 -#: ../../content/developer/reference/backend/data/res.country.state.csv:1 -msgid "name" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "chart_template_id/id" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_100100" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "100100" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "100499" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Fixed Assets" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "l10n_il.il_chart_template" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_101110" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "101110" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "101400" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Current Assets" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_101401" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "101401" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "101799" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Bank And Cash" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_111000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "111000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "111999" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Current Liabilities" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_112000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "112000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "112210" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Non-current Liabilities" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_200000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "200000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "200199" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Sales Income" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_200200" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "200200" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "200300" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Other Income" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_201000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "201000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "201299" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Cost of Goods" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_202000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "202000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "220900" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Expenses" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "il_group_300000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "300000" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "399999" -msgstr "" - -#: ../../../odoo/addons/l10n_il/data/account.group.template.csv:1 -msgid "Capital And Shares" -msgstr "" - #: ../../content/developer/howtos/accounting_localization.rst:188 #: ../../content/developer/reference/standard_modules/account/account_tax.rst:5 msgid "Taxes" @@ -819,150 +487,6 @@ msgstr "" msgid "The field `company_id` must not be defined with `check_company=True`." msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:1 -msgid "Check the companies of the values of the given field names." -msgstr "" - -#: ../../content/developer/reference/backend/mixins.rst:0 -#: ../../content/developer/reference/frontend/framework_overview.rst:0 -#: ../../content/developer/reference/frontend/qweb.rst:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:0 -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.invalidate_all:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:0 -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Binary:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Char:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.context_today:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_string:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_datetime:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_string:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2oneReference:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Monetary:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Text:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.end_of:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.start_of:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.browse:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.copy:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered_domain:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_model:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_recordset:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_model:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_recordset:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.modified:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search_count:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sorted:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_company:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_env:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.PeriodicCollector:0 -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:0 -msgid "Parameters" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:3 -msgid "names of relational fields to check" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.companies:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.company:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.ensure_one:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.unlink:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form.save:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.edit:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.new:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.remove:0 -msgid "Raises" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:4 -msgid "if the `company_id` of the value of any field is not in `[False, self.company_id]` (or `self` if :class:`~odoo.addons.base.models.res_company`)." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:8 -msgid "For :class:`~odoo.addons.base.models.res_users` relational fields, verifies record company is in `company_ids` fields." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._check_company:11 -msgid "User with main company A, having access to company A and B, could be assigned or linked to records in company B." -msgstr "" - #: ../../content/developer/howtos/company.rst:132 msgid "The `check_company` feature performs a strict check! It means that if a record has no `company_id` (i.e., the field is not required), it cannot be linked to a record whose `company_id` is set." msgstr "" @@ -980,7 +504,7 @@ msgid "When the field `company_id` is made required on a model, a good practice msgstr "" #: ../../content/developer/howtos/company.rst:168 -#: ../../content/developer/howtos/upgrade_custom_db.rst:132 +#: ../../content/developer/howtos/upgrade_custom_db.rst:129 #: ../../content/developer/howtos/website_themes/setup.rst:75 #: ../../content/developer/howtos/website_themes/theming.rst:496 #: ../../content/developer/reference/backend/views.rst:6 @@ -1039,7 +563,6 @@ msgstr "" #: ../../content/developer/tutorials/web.rst:134 #: ../../content/developer/tutorials/web.rst:1872 #: ../../content/developer/tutorials/website.rst:495 -#: ../../../odoo/odoo/api.py:docstring of odoo.api:3 msgid "Todo" msgstr "" @@ -1635,7 +1158,7 @@ msgstr "" #: ../../content/developer/howtos/scss_tips.rst:85 #: ../../content/developer/howtos/scss_tips.rst:86 -#: ../../content/developer/howtos/upgrade_custom_db.rst:114 +#: ../../content/developer/howtos/upgrade_custom_db.rst:111 #: ../../content/developer/howtos/website_themes/shapes.rst:139 msgid "..." msgstr "" @@ -1972,280 +1495,330 @@ msgstr "" msgid ":ref:`Upgrade the production database `." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:40 +#: ../../content/developer/howtos/upgrade_custom_db.rst:39 msgid "Step 1: Stop the developments" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:42 +#: ../../content/developer/howtos/upgrade_custom_db.rst:41 msgid "Starting an upgrade requires commitment and development resources. If developments keep being made at the same time, those features will need to be re-upgraded and tested every time you change them. This is why we recommend a complete freeze of the codebase when starting the upgrade process. Needless to say, bug fixing is exempt from this recommendation." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:47 +#: ../../content/developer/howtos/upgrade_custom_db.rst:46 msgid "Once you have stopped development, it is a good practice to assess the developments made and compare them with the features introduced between your current version and the version you are targeting. Challenge the developments as much as possible and find functional workarounds. Removing redundancy between your developments and the standard version of Odoo will lead to an eased upgrade process and reduce technical debt." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:54 +#: ../../content/developer/howtos/upgrade_custom_db.rst:53 msgid "You can find information on the changes between versions in the `Release Notes `_." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:61 +#: ../../content/developer/howtos/upgrade_custom_db.rst:59 msgid "Step 2: Request an upgraded database" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:63 +#: ../../content/developer/howtos/upgrade_custom_db.rst:61 msgid "Once the developments have stopped for the custom modules and the implemented features have been challenged to remove redundancy and unnecessary code, the next step is to request an upgraded test database. To do so, follow the steps mentioned in :ref:`upgrade/request-test-database`, depending on the hosting type of your database." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:68 +#: ../../content/developer/howtos/upgrade_custom_db.rst:66 msgid "The purpose of this stage is not to start working with the custom modules in the upgraded database, but to make sure the standard upgrade process works seamlessly, and the test database is delivered properly. If that's not the case, and the upgrade request fails, request the assistance of Odoo via the `support page `_ by selecting the option related to testing the upgrade." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:78 +#: ../../content/developer/howtos/upgrade_custom_db.rst:75 msgid "Step 3: Empty database" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:80 +#: ../../content/developer/howtos/upgrade_custom_db.rst:77 msgid "Before working on an upgraded test database, we recommend to make the custom developments work on an empty database in the targeted version of your upgrade. This ensures that the customization is compatible with the new version of Odoo, allows to analyze how it behaves and interacts with the new features, and guarantees that they will not cause any issues when upgrading the database." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:85 -msgid "Making the custom modules work in an empty database also helps avoid changes and wrong configurations that might be present in the production database (like studio customization, customized website pages, email templates or translations). They are not intrinsically related to the custom modules and that can raise unwanted issues in this stage of the upgraded process." +#: ../../content/developer/howtos/upgrade_custom_db.rst:82 +msgid "Making the custom modules work in an empty database also helps avoid changes and wrong configurations that might be present in the production database (like studio customization, customized website pages, email templates or translations). They are not intrinsically related to the custom modules and that can raise unwanted issues in this stage of the upgrade process." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:90 +#: ../../content/developer/howtos/upgrade_custom_db.rst:87 msgid "To make custom modules work on an empty database we advise to follow these steps:" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:92 +#: ../../content/developer/howtos/upgrade_custom_db.rst:89 msgid ":ref:`upgrade_custom/empty_database/modules_installable`" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:93 +#: ../../content/developer/howtos/upgrade_custom_db.rst:90 msgid ":ref:`upgrade_custom/empty_database/test_fixes`" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:94 +#: ../../content/developer/howtos/upgrade_custom_db.rst:91 msgid ":ref:`upgrade_custom/empty_database/clean_code`" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:95 +#: ../../content/developer/howtos/upgrade_custom_db.rst:92 msgid ":ref:`Make standard tests run successfully `" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:100 +#: ../../content/developer/howtos/upgrade_custom_db.rst:97 msgid "Make custom modules installable" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:102 +#: ../../content/developer/howtos/upgrade_custom_db.rst:99 msgid "The first step is to make the custom modules installable in the new Odoo version. This means, starting by ensuring there are no tracebacks or warnings during their installation. For this, install the custom modules, one by one, in an empty database of the new Odoo version and fix the tracebacks and warnings that arise from that." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:107 +#: ../../content/developer/howtos/upgrade_custom_db.rst:104 msgid "This process will help detect issues during the installation of the modules. For example:" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:109 +#: ../../content/developer/howtos/upgrade_custom_db.rst:106 msgid "Invalid module dependencies." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:110 +#: ../../content/developer/howtos/upgrade_custom_db.rst:107 msgid "Syntax change: assets declaration, OWL updates, attrs." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:111 +#: ../../content/developer/howtos/upgrade_custom_db.rst:108 msgid "References to standard fields, models, views not existing anymore or renamed." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:112 +#: ../../content/developer/howtos/upgrade_custom_db.rst:109 msgid "Xpath that moved or were removed from views." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:113 +#: ../../content/developer/howtos/upgrade_custom_db.rst:110 msgid "Methods renamed or removed." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:119 +#: ../../content/developer/howtos/upgrade_custom_db.rst:116 msgid "Test and fixes" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:121 +#: ../../content/developer/howtos/upgrade_custom_db.rst:118 msgid "Once there are no more tracebacks when installing the modules, the next step is to test them. Even if the custom modules are installable on an empty database, this does not guarantee there are no errors during their execution. Because of this, we encourage to test thoroughly all the customization to make sure everything is working as expected." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:126 +#: ../../content/developer/howtos/upgrade_custom_db.rst:123 msgid "This process will help detect further issues that are not identified during the module installation and can only be detected in runtime. For example, deprecated calls to standard python or OWL functions, non-existing references to standard fields, etc." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:130 +#: ../../content/developer/howtos/upgrade_custom_db.rst:127 msgid "We recommend to test all the customization, especially the following elements:" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:133 +#: ../../content/developer/howtos/upgrade_custom_db.rst:130 msgid "Email templates" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:134 +#: ../../content/developer/howtos/upgrade_custom_db.rst:131 msgid "Reports" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:135 +#: ../../content/developer/howtos/upgrade_custom_db.rst:132 msgid "Server actions and automated actions" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:136 +#: ../../content/developer/howtos/upgrade_custom_db.rst:133 msgid "Changes in the standard workflows" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:137 +#: ../../content/developer/howtos/upgrade_custom_db.rst:134 #: ../../content/developer/tutorials/backend.rst:715 msgid "Computed fields" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:139 +#: ../../content/developer/howtos/upgrade_custom_db.rst:136 msgid "We also encourage to write automated tests to save time during the testing iterations, increase the test coverage, and ensure that the changes and fixes introduced do not break the existing flows. If there are tests already implemented in the customization, make sure they are upgraded to the new Odoo version and run successfully, fixing issues that might be present." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:147 +#: ../../content/developer/howtos/upgrade_custom_db.rst:144 msgid "Clean the code" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:149 +#: ../../content/developer/howtos/upgrade_custom_db.rst:146 msgid "At this stage of the upgrade process, we also suggest to clean the code as much as possible. This includes:" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:152 +#: ../../content/developer/howtos/upgrade_custom_db.rst:149 msgid "Remove redundant and unnecessary code." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:153 +#: ../../content/developer/howtos/upgrade_custom_db.rst:150 msgid "Remove features that are now part of Odoo standard, as described in :ref:`upgrade_custom/stop_developments`." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:155 +#: ../../content/developer/howtos/upgrade_custom_db.rst:152 msgid "Clean commented code if it is not needed anymore." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:156 +#: ../../content/developer/howtos/upgrade_custom_db.rst:153 msgid "Refactor the code (functions, fields, views, reports, etc.) if needed." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:161 +#: ../../content/developer/howtos/upgrade_custom_db.rst:158 msgid "Standard tests" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:163 +#: ../../content/developer/howtos/upgrade_custom_db.rst:160 msgid "Once the previous steps are completed, we advise to make sure all standard tests associated to the dependencies of the custom module pass. Standard tests ensure the validation of the code logic and prevent data corruption. They will help you identify bugs or unwanted behavior before you work on your database." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:168 +#: ../../content/developer/howtos/upgrade_custom_db.rst:165 msgid "In case there are standard test failing, we suggest to analyze the reason for their failure:" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:170 +#: ../../content/developer/howtos/upgrade_custom_db.rst:167 msgid "The customization changes the standard workflow: Adapt the standard test to your workflow." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:171 +#: ../../content/developer/howtos/upgrade_custom_db.rst:168 msgid "The customization did not take into account a special flow: Adapt your customization to ensure it works for all the standard workflows." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:178 +#: ../../content/developer/howtos/upgrade_custom_db.rst:175 msgid "Step 4: Upgraded database" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:180 +#: ../../content/developer/howtos/upgrade_custom_db.rst:177 msgid "Once the custom modules are installable and working properly in an empty database, it is time to make them work on an :ref:`upgraded database `." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:183 +#: ../../content/developer/howtos/upgrade_custom_db.rst:180 msgid "To make sure the custom code is working flawlessly in the new version, follow these steps:" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:185 +#: ../../content/developer/howtos/upgrade_custom_db.rst:182 msgid ":ref:`upgrade_custom/upgraded_database/migrate_data`" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:186 +#: ../../content/developer/howtos/upgrade_custom_db.rst:183 msgid ":ref:`upgrade_custom/upgraded_database/test_custom`" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:191 +#: ../../content/developer/howtos/upgrade_custom_db.rst:188 msgid "Migrate the data" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:193 -msgid "During the upgrade of the custom modules, you might have to use migration scripts to reflect changes from the source code to their corresponding data." +#: ../../content/developer/howtos/upgrade_custom_db.rst:190 +msgid "During the upgrade of the custom modules, you might have to use :doc:`upgrade scripts <../reference/upgrade_scripts>` to reflect changes from the source code to their corresponding data. Together with the upgrade scripts, you can also make use of the :doc:`../reference/upgrade_utils` and its helper functions." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:196 -msgid "Any technical data that was renamed during the upgrade of the custom code (models, fields, external identifiers) should be renamed using migration scripts to avoid data loss during the module upgrade." +#: ../../content/developer/howtos/upgrade_custom_db.rst:195 +msgid "Any technical data that was renamed during the upgrade of the custom code (models, fields, external identifiers) should be renamed using upgrade scripts to avoid data loss during the module upgrade. See also: :meth:`rename_field`, :meth:`rename_model`, :meth:`rename_xmlid`." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:199 +#: ../../content/developer/howtos/upgrade_custom_db.rst:198 msgid "Data from standard models removed from the source code of the newer Odoo version and from the database during the standard upgrade process might need to be recovered from the old model table if it is still present." msgstr "" #: ../../content/developer/howtos/upgrade_custom_db.rst:203 -msgid "Migration scripts can also be used to:" +msgid "Custom fields for model ``sale.subscription`` are not automatically migrated from Odoo 15 to Odoo 16 (when the model was merged into ``sale.order``). In this case, a SQL query can be executed on an upgrade script to move the data from one table to the other. Take into account that all columns/fields must already exist, so consider doing this in a ``post-`` script (See :ref:`upgrade-scripts/phases`)." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:205 +#: ../../content/developer/howtos/upgrade_custom_db.rst:223 +msgid "Check the documentation for more information on :doc:`../reference/upgrade_scripts`." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:225 +msgid "Upgrade scripts can also be used to:" +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:227 msgid "Ease the processing time of an upgrade. For example, to store the value of computed stored fields on models with an excessive number of records by using SQL queries." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:207 -msgid "Recompute fields in case the computation of their value has changed." +#: ../../content/developer/howtos/upgrade_custom_db.rst:229 +msgid "Recompute fields in case the computation of their value has changed. See also :meth:`recompute_fields`." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:208 -msgid "Uninstall unwanted custom modules." +#: ../../content/developer/howtos/upgrade_custom_db.rst:231 +msgid "Uninstall unwanted custom modules. See also :meth:`remove_module`." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:209 +#: ../../content/developer/howtos/upgrade_custom_db.rst:232 msgid "Correct faulty data or wrong configurations." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:214 -msgid "Test the custom modules" -msgstr "" - -#: ../../content/developer/howtos/upgrade_custom_db.rst:216 -msgid "To make sure the custom modules work properly with your data in the upgraded database, they need to be tested as well. This helps ensure both the standard and the custom data stored in the database are consistent and that nothing was lost during the upgrade process." -msgstr "" - -#: ../../content/developer/howtos/upgrade_custom_db.rst:220 -msgid "Things to pay attention to:" -msgstr "" - -#: ../../content/developer/howtos/upgrade_custom_db.rst:222 -msgid "Views not working: During the upgrade, if a view causes issues because of its content, it gets disabled. You can find the information on disabled views on the :ref:`Upgrade report `. This view needs to be activated again. To achieve this, we recommend the use of migration scripts." -msgstr "" - -#: ../../content/developer/howtos/upgrade_custom_db.rst:226 -msgid ":doc:`Module data <../tutorials/define_module_data>` not updated: Custom records that have the ``noupdate`` flag are not updated when upgrading the module in the new database. For the custom data that needs to be updated due to changes in the new version, we recommend to use migration scripts to do so." -msgstr "" - #: ../../content/developer/howtos/upgrade_custom_db.rst:235 -msgid "Step 5: Testing and rehearsal" +msgid "Running and testing upgrade scripts" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:237 -msgid "When the custom modules are working properly in the upgraded database, it is crucial to do another round of testing to assess the database usability and detect any issues that might have gone unnoticed in previous tests. For further information about testing the upgraded database, check :ref:`upgrade/test_your_db`." +#: ../../content/developer/howtos/upgrade_custom_db.rst:239 +msgid "Odoo Online" msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:242 -msgid "As mentioned in :ref:`upgrade/upgrade-prod`, both standard upgrade scripts and your database are constantly evolving. Therefore it is highly recommended to frequently request new upgraded test databases and ensure that the upgrade process is still successful." +#: ../../content/developer/howtos/upgrade_custom_db.rst:241 +msgid "As the instalation of custom modules containing Python files is not allowed on Odoo Online databases, it is not possible to run upgrade scripts on this platform." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:244 +#: ../../content/developer/howtos/website_themes/going_live.rst:34 +#: ../../content/developer/howtos/website_themes/setup.rst:121 +msgid "Odoo.sh" msgstr "" #: ../../content/developer/howtos/upgrade_custom_db.rst:246 -msgid "In addition to that, make a full rehearsal of the upgrade process the day before upgrading the production database to avoid undesired behavior during the upgrade and to detect any issue that might have occurred with the migrated data." +msgid "As explained on the `Odoo.sh` tab of :ref:`upgrade/request-test-database`, Odoo.sh is integrated with the upgrade platform." msgstr "" -#: ../../content/developer/howtos/upgrade_custom_db.rst:254 -msgid "Step 6: Production upgrade" +#: ../../content/developer/howtos/upgrade_custom_db.rst:249 +msgid "Once the upgrade of a staging branch is on \"Update on commit\" mode, each time a commit is pushed on the branch, the upgraded backup is restored and all the custom modules are updated. This update includes the execution of the upgrade scripts." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:253 +msgid "When upgrading the production database, the execution of the upgrade scripts is also part of the update of the custom modules done by the platform when the upgraded database is restored." msgstr "" #: ../../content/developer/howtos/upgrade_custom_db.rst:256 +msgid "On-premise" +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:258 +msgid "Once you receive the upgraded dump of the database from the `Upgrade platform `_, deploy the database and update all the custom modules by invoking the command :doc:`odoo-bin ` in the shell. To update the custom modules, use the option: `-u , --update `." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:265 +msgid "As mentioned in the :doc:`CLI documentation `, the command used to call the CLI depends on how you installed Odoo." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:271 +msgid "Test the custom modules" +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:273 +msgid "To make sure the custom modules work properly with your data in the upgraded database, they need to be tested as well. This helps ensure both the standard and the custom data stored in the database are consistent and that nothing was lost during the upgrade process." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:277 +msgid "Things to pay attention to:" +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:279 +msgid "Views not working: During the upgrade, if a view causes issues because of its content, it gets disabled. You can find the information on disabled views on the :ref:`Upgrade report `. This view needs to be activated again (or removed if not useful anymore). To achieve this, we recommend the use of upgrade scripts." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:283 +msgid ":doc:`Module data <../tutorials/define_module_data>` not updated: Custom records that have the ``noupdate`` flag are not updated when upgrading the module in the new database. For the custom data that needs to be updated due to changes in the new version, we recommend to use upgrade scripts to do so. See also: :meth:`update_record_from_xml`." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:291 +msgid "Step 5: Testing and rehearsal" +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:293 +msgid "When the custom modules are working properly in the upgraded database, it is crucial to do another round of testing to assess the database usability and detect any issues that might have gone unnoticed in previous tests. For further information about testing the upgraded database, check :ref:`upgrade/test_your_db`." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:298 +msgid "As mentioned in :ref:`upgrade/upgrade-prod`, both standard upgrade scripts and your database are constantly evolving. Therefore it is highly recommended to frequently request new upgraded test databases and ensure that the upgrade process is still successful." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:302 +msgid "In addition to that, make a full rehearsal of the upgrade process the day before upgrading the production database to avoid undesired behavior during the upgrade and to detect any issue that might have occurred with the migrated data." +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:309 +msgid "Step 6: Production upgrade" +msgstr "" + +#: ../../content/developer/howtos/upgrade_custom_db.rst:311 msgid "Once you are confident about upgrading your production database, follow the process described on :ref:`upgrade/upgrade-prod`, depending on the hosting type of your database." msgstr "" @@ -2620,7 +2193,6 @@ msgid "Avoid adding a `section` tag inside another `section` tag: this will trig msgstr "" #: ../../content/developer/howtos/website_themes/building_blocks.rst:105 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.column_ids:1 msgid "Columns" msgstr "" @@ -2920,10 +2492,36 @@ msgstr "" msgid "Blog posts" msgstr "" +#: ../../content/developer/howtos/website_themes/building_blocks.rst:444 +#: ../../content/developer/howtos/website_themes/building_blocks.rst:469 +#: ../../content/developer/howtos/website_themes/building_blocks.rst:500 +#: ../../content/developer/howtos/website_themes/layout.rst:71 +#: ../../content/developer/reference/backend/data/res.country.state.csv:1 +msgid "id" +msgstr "" + #: ../../content/developer/howtos/website_themes/building_blocks.rst:445 msgid "The ID of the template. Has to start with `dynamic_filter_template_blog_post_`" msgstr "" +#: ../../content/developer/howtos/website_themes/building_blocks.rst:446 +#: ../../content/developer/howtos/website_themes/building_blocks.rst:471 +#: ../../content/developer/howtos/website_themes/building_blocks.rst:502 +#: ../../content/developer/howtos/website_themes/layout.rst:75 +#: ../../content/developer/howtos/website_themes/navigation.rst:58 +#: ../../content/developer/howtos/website_themes/pages.rst:139 +#: ../../content/developer/howtos/website_themes/pages.rst:203 +#: ../../content/developer/howtos/website_themes/shapes.rst:134 +#: ../../content/developer/howtos/website_themes/theming.rst:121 +#: ../../content/developer/tutorials/define_module_data.rst:176 +#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:189 +#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:262 +#: ../../content/developer/tutorials/getting_started/08_relations.rst:73 +#: ../../content/developer/tutorials/getting_started/08_relations.rst:180 +#: ../../content/developer/reference/backend/data/res.country.state.csv:1 +msgid "name" +msgstr "" + #: ../../content/developer/howtos/website_themes/building_blocks.rst:447 #: ../../content/developer/howtos/website_themes/building_blocks.rst:472 #: ../../content/developer/howtos/website_themes/building_blocks.rst:503 @@ -3129,11 +2727,6 @@ msgstr "" msgid "`Odoo eLearning: Register a Free Domain Name `_" msgstr "" -#: ../../content/developer/howtos/website_themes/going_live.rst:34 -#: ../../content/developer/howtos/website_themes/setup.rst:121 -msgid "Odoo.sh" -msgstr "" - #: ../../content/developer/howtos/website_themes/going_live.rst:36 msgid "Go to :guilabel:`Apps` and click on :guilabel:`Update Apps List` in the menu. Search for your module in the list and install it." msgstr "" @@ -3289,7 +2882,6 @@ msgid "*XML IDs* of inheriting views should use the same *ID* as the original re msgstr "" #: ../../content/developer/howtos/website_themes/layout.rst:103 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.expression_ids:1 msgid "Expressions" msgstr "" @@ -3982,7 +3574,6 @@ msgstr "" #: ../../content/developer/howtos/website_themes/pages.rst:147 #: ../../content/developer/reference/backend/orm.rst:0 -#: ../../docstring of odoo.models.BaseModel._inherit:0 msgid "type" msgstr "" @@ -4172,6 +3763,7 @@ msgstr "" #: ../../content/developer/howtos/website_themes/setup.rst:31 #: ../../content/developer/reference/backend/orm.rst:20 +#: ../../content/developer/reference/upgrade_utils.rst:113 msgid "Models" msgstr "" @@ -4187,6 +3779,7 @@ msgstr "" #: ../../content/developer/reference/backend/orm.rst:114 #: ../../content/developer/reference/backend/orm.rst:852 #: ../../content/developer/reference/backend/views.rst:36 +#: ../../content/developer/reference/upgrade_utils.rst:69 msgid "Fields" msgstr "" @@ -5678,34 +5271,6 @@ msgstr "" msgid "Server Actions (``ir.actions.server``)" msgstr "" -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:1 -msgid "Server actions model. Server action work on a base model and offer various type of actions that can be executed automatically, for example using base action rules, of manually, by adding the action in the 'More' contextual menu." -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:6 -msgid "Since Odoo 8.0 a button 'Create Menu Action' button is available on the action form view. It creates an entry in the More menu of the base model. This allows to create server actions and run them in mass mode easily through the interface." -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:11 -msgid "The available actions are :" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:13 -msgid "'Execute Python Code': a block of python code that will be executed" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:14 -msgid "'Create a new Record': create a new record with new values" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:15 -msgid "'Write on a Record': update the values of a record" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_actions.py:docstring of odoo.addons.base.models.ir_actions.IrActionsServer:16 -msgid "'Execute several actions': define an action that triggers several other server actions" -msgstr "" - #: ../../content/developer/reference/backend/actions.rst:216 msgid "Allow triggering complex server code from any valid action location. Only two fields are relevant to clients:" msgstr "" @@ -6748,54 +6313,6 @@ msgstr "" msgid "Routing" msgstr "" -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:1 -msgid "Decorate a controller method in order to route incoming requests matching the given URL and options to the decorated method." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:5 -msgid "It is mandatory to re-decorate any method that is overridden in controller extensions but the arguments can be omitted. See :class:`~odoo.http.Controller` for more details." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:9 -msgid "The paths that the decorated method is serving. Incoming HTTP request paths matching this route will be routed to this decorated method. See `werkzeug routing documentation `_ for the format of route expressions." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:14 -msgid "The type of request, either ``'json'`` or ``'http'``. It describes where to find the request parameters and how to serialize the response." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:17 -msgid "The authentication method, one of the following: * ``'user'``: The user must be authenticated and the current request will be executed using the rights of the user. * ``'public'``: The user may or may not be authenticated. If he isn't, the current request will be executed using the shared Public user. * ``'none'``: The method is always active, even if there is no database. Mainly used by the framework and authentication modules. The request code will not have any facilities to access the current user." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:17 -msgid "The authentication method, one of the following:" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:19 -msgid "``'user'``: The user must be authenticated and the current request will be executed using the rights of the user." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:21 -msgid "``'public'``: The user may or may not be authenticated. If he isn't, the current request will be executed using the shared Public user." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:24 -msgid "``'none'``: The method is always active, even if there is no database. Mainly used by the framework and authentication modules. The request code will not have any facilities to access the current user." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:28 -msgid "A list of http methods (verbs) this route applies to. If not specified, all methods are allowed." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:30 -msgid "The Access-Control-Allow-Origin cors directive value." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.route:31 -msgid "Whether CSRF protection should be enabled for the route. Enabled by default for ``'http'``-type requests, disabled by default for ``'json'``-type requests." -msgstr "" - #: ../../content/developer/reference/backend/http.rst:64 #: ../../content/developer/reference/extract_api.rst:74 #: ../../content/developer/reference/extract_api.rst:220 @@ -6806,475 +6323,12 @@ msgstr "" msgid "The request object is automatically set on :data:`odoo.http.request` at the start of the request." msgstr "" -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request:1 -msgid "Wrapper around the incoming HTTP request with deserialized request parameters, session utilities and request dispatching logic." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:1 -msgid "Update the environment of the current request." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:3 -msgid "optional user/user id to change the current user" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:5 -msgid "optional context dictionary to change the current context" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_env:6 -msgid "optional boolean to change the superuser mode" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.update_context:1 -msgid "Override the environment context of the current request with the values of ``overrides``. To replace the entire context, please use :meth:`~update_env` instead." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:1 -msgid "Get the remote address geolocalisation." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:3 -msgid "When geolocalization is successful, the return value is a dictionary whose format is:" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:8 -msgid "{'city': str, 'country_code': str, 'country_name': str," -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:7 -msgid "'latitude': float, 'longitude': float, 'region': str, 'time_zone': str}" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.geoip:10 -msgid "When geolocalization fails, an empty dict is returned." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:1 -msgid "Generates and returns a CSRF token for the current session" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:3 -msgid "the CSRF token should only be valid for the specified duration (in second), by default 48h, ``None`` for the token to be valid as long as the current user's session is." -msgstr "" - -#: ../../content/developer/reference/backend/mixins.rst:0 -#: ../../content/developer/reference/frontend/assets.rst:0 -#: ../../content/developer/reference/frontend/framework_overview.rst:0 -#: ../../content/developer/reference/frontend/hooks.rst:0 -#: ../../content/developer/reference/frontend/javascript_reference.rst:0 -#: ../../content/developer/reference/frontend/mobile.rst:0 -#: ../../content/developer/reference/frontend/qweb.rst:0 -#: ../../content/developer/reference/frontend/registries.rst:0 -#: ../../content/developer/reference/frontend/services.rst:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._handle_archiving:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_capture_request:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_void_request:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:0 -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.companies:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.company:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.user:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_string:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_datetime:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_string:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.end_of:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.start_of:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.default_lang:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.get_http_params:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.browse:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.copy:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 -msgid "Returns" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:7 -msgid "ASCII token string" -msgstr "" - -#: ../../content/developer/reference/backend/mixins.rst:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:0 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:0 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:0 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:0 -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.companies:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.company:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.lang:0 -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.user:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.context_today:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_string:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_datetime:0 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_string:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.csrf_token:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.default_lang:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.get_http_params:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:0 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:0 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.Model._populate_dependencies:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:0 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:0 -msgid "Return type" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:1 -msgid "Is the given csrf token valid ?" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:3 -msgid "The token to validate." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.validate_csrf:4 -msgid "``True`` when valid, ``False`` when not." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.default_lang:1 -msgid "Returns default user language according to request specification" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.default_lang:3 -msgid "Preferred language if specified or 'en_US'" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.get_http_params:1 -msgid "Extract key=value pairs from the query string and the forms present in the body (both application/x-www-form-urlencoded and multipart/form-data)." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.get_http_params:5 -msgid "The merged key-value pairs." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:1 -msgid "Helper for non-HTML responses, or HTML responses with custom response headers or cookies." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:4 -msgid "While handlers can just return the HTML markup of a page they want to send as a string if non-HTML data is returned they need to create a complete response object, or the returned data will not be correctly interpreted by the clients." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:9 -msgid "response body" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:5 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:10 -msgid "http status code" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:6 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:11 -msgid "HTTP headers to set on the response" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:7 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:13 -msgid "cookies to set on the client" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:14 -msgid "a response object." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:8 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_response:15 -msgid ":class:`~odoo.http.Response`" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:1 -msgid "Helper for JSON responses, it json-serializes ``data`` and sets the Content-Type header accordingly if none is provided." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.make_json_response:4 -msgid "the data that will be json-serialized into the response body" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.not_found:1 -msgid "Shortcut for a `HTTP 404 `_ (Not Found) response" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:1 -msgid "Lazy render of a QWeb template." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:3 -msgid "The actual rendering of the given template will occur at then end of the dispatching. Meanwhile, the template and/or qcontext can be altered or even replaced by a static response." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:7 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:6 -msgid "template to render" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:8 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:7 -msgid "Rendering context to use" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:9 -msgid "whether the template rendering should be deferred until the last possible moment" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Request.render:11 -msgid "forwarded to werkzeug's Response object" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.is_compatible_with:1 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.is_compatible_with:1 -msgid "Determine if the current request is compatible with this dispatcher." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:1 -msgid "`JSON-RPC 2 `_ over HTTP." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:3 -msgid "Our implementation differs from the specification on two points:" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:5 -msgid "The ``method`` member of the JSON-RPC request payload is ignored as the HTTP path is already used to route the request to the controller." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:8 -msgid "We only support parameter structures by-name, i.e. the ``params`` member of the JSON-RPC request payload MUST be a JSON Object and not a JSON Array." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:12 -msgid "In addition, it is possible to pass a context that replaces the session context via a special ``context`` argument that is removed prior to calling the endpoint." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:16 -msgid "Successful request::" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.dispatch:22 -msgid "Request producing a error::" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:1 -msgid "Handle any exception that occurred while dispatching a request to a `type='json'` route. Also handle exceptions that occurred when no route matched the request path, that no fallback page could be delivered and that the request ``Content-Type`` was json." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:7 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:6 -msgid "the exception that occurred." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:8 -#: ../../../odoo/odoo/http.py:docstring of odoo.http.JsonRPCDispatcher.handle_error:7 -msgid "a WSGI application" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.dispatch:1 -msgid "Perform http-related actions such as deserializing the request body and query-string and checking cors/csrf while dispatching a request to a ``type='http'`` route." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.dispatch:5 -msgid "See :meth:`~odoo.http.Response.load` method for the compatible endpoint return types." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.HttpDispatcher.handle_error:1 -msgid "Handle any exception that occurred while dispatching a request to a `type='http'` route. Also handle exceptions that occurred when no route matched the request path, when no fallback page could be delivered and that the request ``Content-Type`` was not json." -msgstr "" - #: ../../content/developer/reference/backend/http.rst:81 #: ../../content/developer/reference/extract_api.rst:162 #: ../../content/developer/reference/extract_api.rst:254 msgid "Response" msgstr "" -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:1 -msgid "Outgoing HTTP response with body, status, headers and qweb support. In addition to the :class:`werkzeug.wrappers.Response` parameters, this class's constructor can take the following additional parameters for QWeb Lazy Rendering." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:8 -msgid "User id to use for the ir.ui.view render call, ``None`` to use the request's user (the default)" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:11 -msgid "these attributes are available as parameters on the Response object and can be altered at any time before rendering" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response:14 -msgid "Also exposes all the attributes and methods of :class:`werkzeug.wrappers.Response`." -msgstr "" - -#: ../../docstring of odoo.http.Response.default_mimetype:1 -msgid "the default mimetype if none is provided." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:1 -msgid "Convert the return value of an endpoint into a Response." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:3 -msgid "The endpoint return value to load the Response from." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:6 -msgid "The endpoint function name wherefrom the result emanated, used for logging." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:8 -msgid "The created :class:`~odoo.http.Response`." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.load:10 -msgid "When ``result`` type is none of the above- mentioned type." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.render:1 -msgid "Renders the Response's template, returns the result." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.flatten:1 -msgid "Forces the rendering of the response's template, sets the result as response body and unsets :attr:`.template`" -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:1 -msgid "Sets a cookie." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:3 -msgid "A warning is raised if the size of the cookie header exceeds :attr:`max_cookie_size`, but the header will still be set." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:6 -msgid "the key (name) of the cookie to be set." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:7 -msgid "the value of the cookie." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:8 -msgid "should be a number of seconds, or `None` (default) if the cookie should last only as long as the client's browser session." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:11 -msgid "should be a `datetime` object or UNIX timestamp." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:12 -msgid "limits the cookie to a given path, per default it will span the whole domain." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:14 -msgid "if you want to set a cross-domain cookie. For example, ``domain=\".example.com\"`` will set a cookie that is readable by the domain ``www.example.com``, ``foo.example.com`` etc. Otherwise, a cookie will only be readable by the domain that set it." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:19 -msgid "If ``True``, the cookie will only be available via HTTPS." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:21 -msgid "Disallow JavaScript access to the cookie." -msgstr "" - -#: ../../../odoo/odoo/http.py:docstring of odoo.http.Response.set_cookie:22 -msgid "Limit the scope of the cookie to only be attached to requests that are \"same-site\"." -msgstr "" - #: ../../content/developer/reference/backend/mixins.rst:6 msgid "Mixins and Useful Classes" msgstr "" @@ -7323,6 +6377,14 @@ msgstr "" msgid "Post a new message in an existing thread, returning the new mail.message ID." msgstr "" +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/qweb.rst:0 +#: ../../content/developer/reference/upgrade_scripts.rst:0 +#: ../../content/developer/reference/upgrade_utils.rst:0 +msgid "Parameters" +msgstr "" + #: ../../content/developer/reference/backend/mixins.rst:84 msgid "body of the message, usually raw HTML that will be sanitized" msgstr "" @@ -7343,10 +6405,28 @@ msgstr "" msgid "extra keyword arguments will be used as default column values for the new mail.message record" msgstr "" +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/frontend/assets.rst:0 +#: ../../content/developer/reference/frontend/framework_overview.rst:0 +#: ../../content/developer/reference/frontend/hooks.rst:0 +#: ../../content/developer/reference/frontend/javascript_reference.rst:0 +#: ../../content/developer/reference/frontend/mobile.rst:0 +#: ../../content/developer/reference/frontend/qweb.rst:0 +#: ../../content/developer/reference/frontend/registries.rst:0 +#: ../../content/developer/reference/frontend/services.rst:0 +#: ../../content/developer/reference/upgrade_utils.rst:0 +msgid "Returns" +msgstr "" + #: ../../content/developer/reference/backend/mixins.rst:93 msgid "ID of newly created mail.message" msgstr "" +#: ../../content/developer/reference/backend/mixins.rst:0 +#: ../../content/developer/reference/upgrade_utils.rst:0 +msgid "Return type" +msgstr "" + #: ../../content/developer/reference/backend/mixins.rst:98 msgid "Helper method to send a mail / post a message using a view_id to render using the ir.qweb engine. This method is stand alone, because there is nothing in template and composer that allows to handle views in batch. This method will probably disappear when templates handle ir ui views." msgstr "" @@ -7416,10 +6496,6 @@ msgstr "" #: ../../content/developer/reference/backend/mixins.rst:192 #: ../../content/developer/tutorials/define_module_data.rst:186 #: ../../content/developer/tutorials/define_module_data.rst:187 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.active:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.visible:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.active:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.is_base_affected:1 msgid "True" msgstr "" @@ -8493,66 +7569,6 @@ msgstr "" msgid "ORM API" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models:15 -msgid "Object Relational Mapping module:" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:2 -msgid "Hierarchical structure" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:3 -msgid "Constraints consistency and validation" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:4 -msgid "Object metadata depends on its status" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:5 -msgid "Optimised processing by complex query (multiple actions at once)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:6 -msgid "Default field values" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:7 -msgid "Permissions optimisation" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:8 -msgid "Persistent object: DB postgresql" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:9 -msgid "Data conversion" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:10 -msgid "Multi-level caching system" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:11 -msgid "Two different inheritance mechanisms" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:15 -msgid "Rich set of field types:" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:13 -msgid "classical (varchar, integer, boolean, ...)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:14 -msgid "relational (one2many, many2one, many2many)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models:15 -msgid "functional" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:22 msgid "Model fields are defined as attributes on the model itself::" msgstr "" @@ -8577,155 +7593,6 @@ msgstr "" msgid "or as a function called to compute the default value, which should return that value::" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:1 -msgid "Base class for Odoo models." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:3 -msgid "Odoo models are created by inheriting one of the following:" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:5 -msgid ":class:`Model` for regular database-persisted models" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:7 -msgid ":class:`TransientModel` for temporary data, stored in the database but automatically vacuumed every so often" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:10 -msgid ":class:`AbstractModel` for abstract super classes meant to be shared by multiple inheriting models" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:13 -msgid "The system automatically instantiates every model once per database. Those instances represent the available models on each database, and depend on which modules are installed on that database. The actual class of each instance is built from the Python classes that create and inherit from the corresponding model." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:19 -msgid "Every model instance is a \"recordset\", i.e., an ordered collection of records of the model. Recordsets are returned by methods like :meth:`~.browse`, :meth:`~.search`, or field accesses. Records have no explicit representation: a record is represented as a recordset of one record." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel:25 -msgid "To create a class that should not be instantiated, the :attr:`~odoo.models.BaseModel._register` attribute may be set to False." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._auto:1 -#: ../../docstring of odoo.models.Model._auto:1 -msgid "Whether a database table should be created. If set to ``False``, override :meth:`~odoo.models.BaseModel.init` to create the database table." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._auto:5 -#: ../../docstring of odoo.models.Model._auto:5 -msgid "Automatically defaults to `True` for :class:`Model` and :class:`TransientModel`, `False` for :class:`AbstractModel`." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._auto:8 -#: ../../docstring of odoo.models.Model._auto:8 -msgid "To create a model without any table, inherit from :class:`~odoo.models.AbstractModel`." -msgstr "" - -#: ../../content/developer/reference/backend/orm.rst:60 -msgid "Whether the ORM should automatically generate and update the :ref:`reference/fields/automatic/log_access`." -msgstr "" - -#: ../../content/developer/reference/backend/orm.rst:63 -msgid "Defaults to whatever value was set for :attr:`~._auto`." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._table:1 -msgid "SQL table name used by model if :attr:`_auto`" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._sql_constraints:1 -msgid "SQL constraints [(name, sql_def, message)]" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._register:1 -msgid "registry visibility" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._abstract:1 -#: ../../docstring of odoo.models.Model._abstract:1 -msgid "Whether the model is *abstract*." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._abstract:3 -#: ../../docstring of odoo.models.Model._abstract:3 -msgid ":class:`AbstractModel`" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._transient:1 -msgid "Whether the model is *transient*." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._transient:3 -msgid ":class:`TransientModel`" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._name:1 -msgid "the model name (in dot-notation, module namespace)" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._description:1 -msgid "the model's informal name" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherit:1 -msgid "Python-inherited models:" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherit:3 -msgid "str or list(str)" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherit:7 -msgid "If :attr:`._name` is set, name(s) of parent models to inherit from" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherit:8 -msgid "If :attr:`._name` is unset, name of a single model to extend in-place" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherits:1 -msgid "dictionary {'parent_model': 'm2o_field'} mapping the _name of the parent business objects to the names of the corresponding foreign key fields to use::" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherits:9 -msgid "implements composition-based inheritance: the new model exposes all the fields of the inherited models but stores none of them: the values themselves remain stored on the linked record." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._inherits:15 -msgid "if multiple fields with the same name are defined in the :attr:`~odoo.models.Model._inherits`-ed models, the inherited field will correspond to the last one (in the inherits list order)." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._rec_name:1 -msgid "field to use for labeling records, default: ``name``" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._order:1 -msgid "default order field for searching results" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._check_company_auto:1 -msgid "On write and create, call ``_check_company`` to ensure companies consistency on the relational fields having ``check_company=True`` as attribute." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._parent_name:1 -msgid "the many2one field used as parent field" -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._parent_store:1 -msgid "set to True to compute parent_path field." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._parent_store:3 -msgid "Alongside a :attr:`~.parent_path` field, sets up an indexed storage of the tree structure of records, to enable faster hierarchical queries on the records of the current model using the ``child_of`` and ``parent_of`` domain operators." -msgstr "" - -#: ../../docstring of odoo.models.BaseModel._fold_name:1 -msgid "field to determine folded groups in kanban views" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:89 msgid "AbstractModel" msgstr "" @@ -8738,528 +7605,18 @@ msgstr "" msgid "Model" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.Model:1 -msgid "Main super-class for regular database-persisted Odoo models." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.Model:3 -msgid "Odoo models are created by inheriting from this class::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.Model:8 -msgid "The system will later instantiate the class once per database (on which the class' module is installed)." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:102 msgid "TransientModel" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel:1 -msgid "Model super-class for transient records, meant to be temporarily persistent, and regularly vacuum-cleaned." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel:4 -msgid "A TransientModel has a simplified access rights management, all users can create new records, and may only access the records they created. The superuser has unrestricted access to all TransientModel records." -msgstr "" - -#: ../../docstring of odoo.models.TransientModel._transient_max_count:1 -msgid "maximum number of transient records, unlimited if ``0``" -msgstr "" - -#: ../../docstring of odoo.models.TransientModel._transient_max_hours:1 -msgid "maximum idle lifetime (in hours), unlimited if ``0``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:1 -msgid "Clean the transient records." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:3 -msgid "This unlinks old records from the transient model tables whenever the :attr:`_transient_max_count` or :attr:`_transient_max_hours` conditions (if any) are reached." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:7 -msgid "Actual cleaning will happen only once every 5 minutes. This means this method can be called frequently (e.g. whenever a new record is created)." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:10 -msgid "Example with both max_hours and max_count active:" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:12 -msgid "Suppose max_hours = 0.2 (aka 12 minutes), max_count = 20, there are 55 rows in the table, 10 created/changed in the last 5 minutes, an additional 12 created/changed between 5 and 10 minutes ago, the rest created/changed more than 12 minutes ago." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:17 -msgid "age based vacuum will leave the 22 rows created/changed in the last 12 minutes" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:19 -msgid "count based vacuum will wipe out another 12 rows. Not just 2, otherwise each addition would immediately cause the maximum to be reached again." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.TransientModel._transient_vacuum:22 -msgid "the 10 rows that have been created/changed the last 5 minutes will NOT be deleted" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:1 -msgid "The field descriptor contains the field definition, and manages accesses and assignments of the corresponding field on records. The following attributes may be provided when instantiating a field:" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:5 -msgid "the label of the field seen by users; if not set, the ORM takes the field name in the class (capitalized)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:8 -msgid "the tooltip of the field seen by users" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:10 -msgid "whether the field is invisible (boolean, by default ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:12 -msgid "whether the field is readonly (default: ``False``) This only has an impact on the UI. Any field assignation in code will work (if the field is a stored field or an inversable one)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:12 -msgid "whether the field is readonly (default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:14 -msgid "This only has an impact on the UI. Any field assignation in code will work (if the field is a stored field or an inversable one)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:17 -msgid "whether the value of the field is required (default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:19 -msgid "whether the field is indexed in database, and the kind of index. Note: this has no effect on non-stored and virtual fields. The possible values are: * ``\"btree\"`` or ``True``: standard index, good for many2one * ``\"btree_not_null\"``: BTREE index without NULL values (useful when most values are NULL, or when NULL is never searched for) * ``\"trigram\"``: Generalized Inverted Index (GIN) with trigrams (good for full-text search) * ``None`` or ``False``: no index (default)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:19 -msgid "whether the field is indexed in database, and the kind of index. Note: this has no effect on non-stored and virtual fields. The possible values are:" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:23 -msgid "``\"btree\"`` or ``True``: standard index, good for many2one" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:24 -msgid "``\"btree_not_null\"``: BTREE index without NULL values (useful when most" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:25 -msgid "values are NULL, or when NULL is never searched for)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:26 -msgid "``\"trigram\"``: Generalized Inverted Index (GIN) with trigrams (good for full-text search)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:27 -msgid "``None`` or ``False``: no index (default)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:29 -msgid "the default value for the field; this is either a static value, or a function taking a recordset and returning a value; use ``default=None`` to discard default values for the field" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:34 -msgid "a dictionary mapping state values to lists of UI attribute-value pairs; possible attributes are: ``readonly``, ``required``, ``invisible``. .. warning:: Any state-based condition requires the ``state`` field value to be available on the client-side UI. This is typically done by including it in the relevant views, possibly made invisible if not relevant for the end-user." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:34 -msgid "a dictionary mapping state values to lists of UI attribute-value pairs; possible attributes are: ``readonly``, ``required``, ``invisible``." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:37 -msgid "Any state-based condition requires the ``state`` field value to be available on the client-side UI. This is typically done by including it in the relevant views, possibly made invisible if not relevant for the end-user." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:42 -msgid "comma-separated list of group xml ids (string); this restricts the field access to the users of the given groups only" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:45 -msgid "whether the field value is dependent of the current company; The value isn't stored on the model table. It is registered as `ir.property`. When the value of the company_dependent field is needed, an `ir.property` is searched, linked to the current company (and current record if one property exists). If the value is changed on the record, it either modifies the existing property for the current record (if one exists), or creates a new one for the current company and res_id. If the value is changed on the company side, it will impact all records on which the value hasn't been changed." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:45 -msgid "whether the field value is dependent of the current company;" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:47 -msgid "The value isn't stored on the model table. It is registered as `ir.property`. When the value of the company_dependent field is needed, an `ir.property` is searched, linked to the current company (and current record if one property exists)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:52 -msgid "If the value is changed on the record, it either modifies the existing property for the current record (if one exists), or creates a new one for the current company and res_id." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:56 -msgid "If the value is changed on the company side, it will impact all records on which the value hasn't been changed." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:59 -msgid "whether the field value should be copied when the record is duplicated (default: ``True`` for normal fields, ``False`` for ``one2many`` and computed fields, including property fields and related fields)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:64 -msgid "whether the field is stored in database (default:``True``, ``False`` for computed fields)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:67 -msgid "aggregate function used by :meth:`~odoo.models.Model.read_group` when grouping on this field. Supported aggregate functions are: * ``array_agg`` : values, including nulls, concatenated into an array * ``count`` : number of rows * ``count_distinct`` : number of distinct rows * ``bool_and`` : true if all values are true, otherwise false * ``bool_or`` : true if at least one value is true, otherwise false * ``max`` : maximum value of all values * ``min`` : minimum value of all values * ``avg`` : the average (arithmetic mean) of all values * ``sum`` : sum of all values" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:67 -msgid "aggregate function used by :meth:`~odoo.models.Model.read_group` when grouping on this field." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:70 -msgid "Supported aggregate functions are:" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:72 -msgid "``array_agg`` : values, including nulls, concatenated into an array" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:73 -msgid "``count`` : number of rows" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:74 -msgid "``count_distinct`` : number of distinct rows" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:75 -msgid "``bool_and`` : true if all values are true, otherwise false" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:76 -msgid "``bool_or`` : true if at least one value is true, otherwise false" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:77 -msgid "``max`` : maximum value of all values" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:78 -msgid "``min`` : minimum value of all values" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:79 -msgid "``avg`` : the average (arithmetic mean) of all values" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:80 -msgid "``sum`` : sum of all values" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:82 -msgid "function used to expand read_group results when grouping on the current field. .. code-block:: python @api.model def _read_group_selection_field(self, values, domain, order): return ['choice1', 'choice2', ...] # available selection choices. @api.model def _read_group_many2one_field(self, records, domain, order): return records + self.search([custom_domain])" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:82 -msgid "function used to expand read_group results when grouping on the current field." -msgstr "" - -#: ../../content/developer/reference/backend/orm.rst:237 -#: ../../content/developer/tutorials/getting_started/09_compute_onchange.rst:18 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:96 -msgid "Computed Fields" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:97 -msgid "name of a method that computes the field .. seealso:: :ref:`Advanced Fields/Compute fields `" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:97 -msgid "name of a method that computes the field" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:99 -msgid ":ref:`Advanced Fields/Compute fields `" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:101 -msgid "whether the field should be computed before record insertion in database. Should be used to specify manually some fields as precompute=True when the field can be computed before record insertion. (e.g. avoid statistics fields based on search/read_group), many2one linking to the previous record, ... (default: `False`) .. warning:: Precomputation only happens when no explicit value and no default value is provided to create(). This means that a default value disables the precomputation, even if the field is specified as precompute=True. Precomputing a field can be counterproductive if the records of the given model are not created in batch. Consider the situation were many records are created one by one. If the field is not precomputed, it will normally be computed in batch at the flush(), and the prefetching mechanism will help making the computation efficient. On the other hand, if the field is precomputed, the computation will be made one by one, and will therefore not be able to take advantage of the prefetching mechanism. Following the remark above, precomputed fields can be interesting on the lines of a one2many, which are usually created in batch by the ORM itself, provided that they are created by writing on the record that contains them." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:101 -msgid "whether the field should be computed before record insertion in database. Should be used to specify manually some fields as precompute=True when the field can be computed before record insertion. (e.g. avoid statistics fields based on search/read_group), many2one linking to the previous record, ... (default: `False`)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:109 -msgid "Precomputation only happens when no explicit value and no default value is provided to create(). This means that a default value disables the precomputation, even if the field is specified as precompute=True." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:114 -msgid "Precomputing a field can be counterproductive if the records of the given model are not created in batch. Consider the situation were many records are created one by one. If the field is not precomputed, it will normally be computed in batch at the flush(), and the prefetching mechanism will help making the computation efficient. On the other hand, if the field is precomputed, the computation will be made one by one, and will therefore not be able to take advantage of the prefetching mechanism." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:123 -msgid "Following the remark above, precomputed fields can be interesting on the lines of a one2many, which are usually created in batch by the ORM itself, provided that they are created by writing on the record that contains them." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:128 -msgid "whether the field should be recomputed as superuser to bypass access rights (by default ``True`` for stored fields, ``False`` for non stored fields)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:132 -msgid "whether the field has recursive dependencies (the field ``X`` has a dependency like ``parent_id.X``); declaring a field recursive must be explicit to guarantee that recomputation is correct" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:136 -msgid "name of a method that inverses the field (optional)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:138 -msgid "name of a method that implement search on the field (optional)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:140 -msgid "sequence of field names" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:142 -msgid "whether the field must be exported by default in an import-compatible export .. seealso:: :ref:`Advanced fields/Related fields `" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:142 -msgid "whether the field must be exported by default in an import-compatible export" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Field:144 -msgid ":ref:`Advanced fields/Related fields `" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:123 msgid "Basic Fields" msgstr "" -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Boolean:1 -msgid "Encapsulates a :class:`bool`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Char:1 -msgid "Basic string field, can be length-limited, usually displayed as a single-line string in clients." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Char:4 -msgid "the maximum size of values stored for that field" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Char:6 -msgid "states whether the value is trimmed or not (by default, ``True``). Note that the trim operation is applied only by the web client." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Char:9 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Text:4 -msgid "enable the translation of the field's values; use ``translate=True`` to translate field values as a whole; ``translate`` may also be a callable such that ``translate(callback, value)`` translates ``value`` by using ``callback(term)`` to retrieve the translation of terms." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:1 -msgid "Encapsulates a :class:`float`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:3 -msgid "The precision digits are given by the (optional) ``digits`` attribute." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:5 -msgid "a pair (total, decimal) or a string referencing a :class:`~odoo.addons.base.models.decimal_precision.DecimalPrecision` record name." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:9 -msgid "When a float is a quantity associated with an unit of measure, it is important to use the right tool to compare or round values with the correct precision." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:12 -msgid "The Float class provides some static methods for this purpose:" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:14 -msgid ":func:`~odoo.fields.Float.round()` to round a float with the given precision. :func:`~odoo.fields.Float.is_zero()` to check if a float equals zero at the given precision. :func:`~odoo.fields.Float.compare()` to compare two floats at the given precision." -msgstr "" - -#: ../../content/developer/reference/frontend/services.rst:309 -#: ../../content/developer/reference/frontend/services.rst:393 -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessDenied:7 -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessError:3 -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.CacheMiss:3 -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.MissingError:3 -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.ValidationError:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:18 -msgid "Example" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:20 -msgid "To round a quantity with the precision of the unit of measure::" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:24 -msgid "To check if the quantity is zero with the precision of the unit of measure::" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:28 -msgid "To compare two quantities::" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:32 -msgid "The compare helper uses the __cmp__ semantics for historic purposes, therefore the proper, idiomatic way to use this helper is like so:" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Float:35 -msgid "if result == 0, the first and second floats are equal if result < 0, the first float is lower than the second if result > 0, the first float is greater than the second" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Integer:1 -msgid "Encapsulates an :class:`int`." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:136 msgid "Advanced Fields" msgstr "" -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Binary:1 -msgid "Encapsulates a binary content (e.g. a file)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Binary:3 -msgid "whether the field should be stored as `ir_attachment` or in a column of the model's table (default: ``True``)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:1 -msgid "Encapsulates an html code content." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:3 -msgid "whether value must be sanitized (default: ``True``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:4 -msgid "whether the sanitation can be bypassed by the users part of the `base.group_sanitize_override` group (default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:6 -msgid "whether to sanitize tags (only a white list of attributes is accepted, default: ``True``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:8 -msgid "whether to sanitize attributes (only a white list of attributes is accepted, default: ``True``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:10 -msgid "whether to sanitize style attributes (default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:11 -msgid "whether to strip style attributes (removed and therefore not sanitized, default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Html:13 -msgid "whether to strip classes attributes (default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:1 -msgid "Encapsulates an image, extending :class:`Binary`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:3 -msgid "If image size is greater than the ``max_width``/``max_height`` limit of pixels, the image will be resized to the limit by keeping aspect ratio." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:6 -msgid "the maximum width of the image (default: ``0``, no limit)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:7 -msgid "the maximum height of the image (default: ``0``, no limit)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:8 -msgid "whether the image resolution should be verified to ensure it doesn't go over the maximum image resolution (default: ``True``). See :class:`odoo.tools.image.ImageProcess` for maximum image resolution (default: ``50e6``)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Image:14 -msgid "If no ``max_width``/``max_height`` is specified (or is set to 0) and ``verify_resolution`` is False, the field content won't be verified at all and a :class:`Binary` field should be used." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Monetary:1 -msgid "Encapsulates a :class:`float` expressed in a given :class:`res_currency`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Monetary:4 -msgid "The decimal precision and currency symbol are taken from the ``currency_field`` attribute." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Monetary:6 -msgid "name of the :class:`Many2one` field holding the :class:`res_currency ` this monetary field is expressed in (default: `'currency_id'`)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:1 -msgid "Encapsulates an exclusive choice between different values." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:3 -msgid "specifies the possible values for this field. It is given as either a list of pairs ``(value, label)``, or a model method, or a method name." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:8 -msgid "provides an extension of the selection in the case of an overridden field. It is a list of pairs ``(value, label)`` or singletons ``(value,)``, where singleton values must appear in the overridden selection. The new values are inserted in an order that is consistent with the overridden selection and this list:: selection = [('a', 'A'), ('b', 'B')] selection_add = [('c', 'C'), ('b',)] > result = [('a', 'A'), ('c', 'C'), ('b', 'B')]" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:8 -msgid "provides an extension of the selection in the case of an overridden field. It is a list of pairs ``(value, label)`` or singletons ``(value,)``, where singleton values must appear in the overridden selection. The new values are inserted in an order that is consistent with the overridden selection and this list::" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:19 -msgid "provides a fallback mechanism for any overridden field with a selection_add. It is a dict that maps every option from the selection_add to a fallback action. This fallback action will be applied to all records whose selection_add option maps to it. The actions can be any of the following: - 'set null' -- the default, all records with this option will have their selection value set to False. - 'cascade' -- all records with this option will be deleted along with the option itself. - 'set default' -- all records with this option will be set to the default of the field definition - 'set VALUE' -- all records with this option will be set to the given value - -- a callable whose first and only argument will be the set of records containing the specified Selection option, for custom processing" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:19 -msgid "provides a fallback mechanism for any overridden field with a selection_add. It is a dict that maps every option from the selection_add to a fallback action." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:23 -msgid "This fallback action will be applied to all records whose selection_add option maps to it." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:37 -msgid "The actions can be any of the following:" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:27 -msgid "'set null' -- the default, all records with this option will have their selection value set to False." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:29 -msgid "'cascade' -- all records with this option will be deleted along with the option itself." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:31 -msgid "'set default' -- all records with this option will be set to the default of the field definition" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:33 -msgid "'set VALUE' -- all records with this option will be set to the given value" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:35 -msgid " -- a callable whose first and only argument will be the set of records containing the specified Selection option, for custom processing" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Selection:39 -msgid "The attribute ``selection`` is mandatory except in the case of ``related`` or extended fields." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Text:1 -msgid "Very similar to :class:`Char` but used for longer contents, does not have a size and usually displayed as a multiline text box." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:153 msgid "Date(time) Fields" msgstr "" @@ -9336,363 +7693,17 @@ msgstr "" msgid "Datetime fields are stored as `timestamp without timezone` columns in the database and are stored in the UTC timezone. This is by design, as it makes the Odoo database independent from the timezone of the hosting server system. Timezone conversion is managed entirely by the client side." msgstr "" -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date:1 -msgid "Encapsulates a python :class:`date ` object." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:1 -msgid "Return the sum of ``value`` and a :class:`relativedelta`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.end_of:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.start_of:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:3 -msgid "initial date or datetime." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:4 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:4 -msgid "positional args to pass directly to :class:`relativedelta`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:5 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:5 -msgid "keyword args to pass directly to :class:`relativedelta`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.add:6 -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:6 -msgid "the resulting date/datetime." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.context_today:1 -msgid "Return the current date as seen in the client's timezone in a format fit for date fields." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.context_today:4 -msgid "This method may be used to compute default values." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.context_today:6 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:8 -msgid "recordset from which the timezone will be obtained." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.context_today:7 -msgid "optional datetime value to use instead of the current date and time (must be a datetime, regular dates can't be converted between timezones)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.end_of:1 -msgid "Get end of a time period from a date or a datetime." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.end_of:4 -msgid "Type of period in string, can be year, quarter, month, week, day or hour." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.end_of:5 -msgid "A date/datetime object corresponding to the start of the specified period." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.start_of:1 -msgid "Get start of a time period from a date or a datetime." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.start_of:4 -msgid "type of period in string, can be year, quarter, month, week, day or hour." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.start_of:5 -msgid "a date/datetime object corresponding to the start of the specified period." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.tools.date_utils.subtract:1 -msgid "Return the difference between ``value`` and a :class:`relativedelta`." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:1 -msgid "Attempt to convert ``value`` to a :class:`date` object." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:5 -msgid "If a datetime object is given as value, it will be converted to a date object and all datetime-specific information will be lost (HMS, TZ, ...)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:9 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_string:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_datetime:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_string:3 -msgid "value to convert." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_date:11 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_datetime:5 -msgid "an object representing ``value``." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_string:1 -msgid "Convert a :class:`date` or :class:`datetime` object to a string." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.to_string:4 -msgid "a string representing ``value`` in the server's date format, if ``value`` is of type :class:`datetime`, the hours, minute, seconds, tzinfo will be truncated." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.today:1 -msgid "Return the current day in the format expected by the ORM." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Date.today:3 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.now:3 -msgid "This function may be used to compute default values." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime:1 -msgid "Encapsulates a python :class:`datetime ` object." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:1 -msgid "Return the given timestamp converted to the client's timezone." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:3 -msgid "This method is *not* meant for use as a default initializer, because datetime fields are automatically converted upon display on client side. For default values, :meth:`now` should be used instead." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:9 -msgid "naive datetime value (expressed in UTC) to be converted to the client timezone." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.context_timestamp:11 -msgid "timestamp converted to timezone-aware datetime in context timezone." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.now:1 -msgid "Return the current day and time in the format expected by the ORM." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_datetime:1 -msgid "Convert an ORM ``value`` into a :class:`datetime` value." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_string:1 -msgid "Convert a :class:`datetime` or :class:`date` object to a string." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.to_string:5 -msgid "a string representing ``value`` in the server's datetime format, if ``value`` is of type :class:`date`, the time portion will be midnight (00:00:00)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Datetime.today:1 -msgid "Return the current day, at midnight (00:00:00)." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:214 msgid "Relational Fields" msgstr "" -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:1 -msgid "The value of such a field is a recordset of size 0 (no record) or 1 (a single record)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:4 -msgid "name of the target model ``Mandatory`` except for related or extended fields." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:29 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:7 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:10 -msgid "an optional domain to set on candidate values on the client side (domain or string)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:32 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:10 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:13 -msgid "an optional context to use on the client side when handling that field" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:13 -msgid "what to do when the referred record is deleted; possible values are: ``'set null'``, ``'restrict'``, ``'cascade'``" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:16 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:16 -msgid "whether JOINs are generated upon search through that field (default: ``False``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:19 -msgid "set it to ``True`` to make fields of the target model accessible from the current model (corresponds to ``_inherits``)" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:35 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2one:22 -msgid "Mark the field to be verified in :meth:`~odoo.models.Model._check_company`. Add a default company domain depending on the field attributes." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:1 -msgid "One2many field; the value of such a field is the recordset of all the records in ``comodel_name`` such that the field ``inverse_name`` is equal to the current record." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:5 -msgid "name of the target model" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:7 -msgid "name of the inverse ``Many2one`` field in ``comodel_name``" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.One2many:19 -msgid "The attributes ``comodel_name`` and ``inverse_name`` are mandatory except in the case of related fields or field extensions." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:1 -msgid "Many2many field; the value of such a field is the recordset." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:3 -msgid "name of the target model (string) mandatory except in the case of related or extended fields" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:6 -msgid "optional name of the table that stores the relation in the database" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:9 -msgid "optional name of the column referring to \"these\" records in the table ``relation``" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:12 -msgid "optional name of the column referring to \"those\" records in the table ``relation``" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:15 -msgid "The attributes ``relation``, ``column1`` and ``column2`` are optional. If not given, names are automatically generated from model names, provided ``model_name`` and ``comodel_name`` are different!" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:19 -msgid "Note that having several fields with implicit relation parameters on a given model with the same comodel is not accepted by the ORM, since those field would use the same table. The ORM prevents two many2many fields to use the same relation parameters, except if" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:24 -msgid "both fields use the same model, comodel, and relation parameters are explicit; or" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2many:27 -msgid "at least one field belongs to a model with ``_auto = False``." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command:1 -msgid ":class:`~odoo.fields.One2many` and :class:`~odoo.fields.Many2many` fields expect a special command to manipulate the relation they implement." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command:4 -msgid "Internally, each command is a 3-elements tuple where the first element is a mandatory integer that identifies the command, the second element is either the related record id to apply the command on (commands update, delete, unlink and link) either 0 (commands create, clear and set), the third element is either the ``values`` to write on the record (commands create and update) either the new ``ids`` list of related records (command set), either 0 (commands delete, unlink, link, and clear)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command:12 -msgid "Via Python, we encourage developers craft new commands via the various functions of this namespace. We also encourage developers to use the command identifier constant names when comparing the 1st element of existing commands." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command:17 -msgid "Via RPC, it is impossible nor to use the functions nor the command constant names. It is required to instead write the literal 3-elements tuple where the first element is the integer identifier of the command." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.create:1 -msgid "Create new records in the comodel using ``values``, link the created records to ``self``." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.create:4 -msgid "In case of a :class:`~odoo.fields.Many2many` relation, one unique new record is created in the comodel such that all records in `self` are linked to the new record." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.create:8 -msgid "In case of a :class:`~odoo.fields.One2many` relation, one new record is created in the comodel for every record in ``self`` such that every record in ``self`` is linked to exactly one of the new records." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.create:12 -msgid "Return the command triple :samp:`(CREATE, 0, {values})`" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.update:1 -msgid "Write ``values`` on the related record." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.update:3 -msgid "Return the command triple :samp:`(UPDATE, {id}, {values})`" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.delete:1 -msgid "Remove the related record from the database and remove its relation with ``self``." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.delete:4 -msgid "In case of a :class:`~odoo.fields.Many2many` relation, removing the record from the database may be prevented if it is still linked to other records." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.delete:8 -msgid "Return the command triple :samp:`(DELETE, {id}, 0)`" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.unlink:1 -msgid "Remove the relation between ``self`` and the related record." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.unlink:3 -msgid "In case of a :class:`~odoo.fields.One2many` relation, the given record is deleted from the database if the inverse field is set as ``ondelete='cascade'``. Otherwise, the value of the inverse field is set to False and the record is kept." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.unlink:8 -msgid "Return the command triple :samp:`(UNLINK, {id}, 0)`" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.link:1 -msgid "Add a relation between ``self`` and the related record." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.link:3 -msgid "Return the command triple :samp:`(LINK, {id}, 0)`" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.clear:1 -msgid "Remove all records from the relation with ``self``. It behaves like executing the `unlink` command on every record." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.clear:4 -msgid "Return the command triple :samp:`(CLEAR, 0, 0)`" -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.set:1 -msgid "Replace the current relations of ``self`` by the given ones. It behaves like executing the ``unlink`` command on every removed relation then executing the ``link`` command on every new relation." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Command.set:5 -msgid "Return the command triple :samp:`(SET, 0, {ids})`" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:228 msgid "Pseudo-relational fields" msgstr "" -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2oneReference:1 -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Reference:1 -msgid "Pseudo-relational field (no FK in database)." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Reference:3 -msgid "The field value is stored as a :class:`string ` following the pattern ``\"res_model,res_id\"`` in database." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2oneReference:3 -msgid "The field value is stored as an :class:`integer ` id in database." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2oneReference:5 -msgid "Contrary to :class:`Reference` fields, the model has to be specified in a :class:`Char` field, whose name has to be specified in the `model_field` attribute for the current :class:`Many2oneReference` field." -msgstr "" - -#: ../../../odoo/odoo/fields.py:docstring of odoo.fields.Many2oneReference:9 -msgid "name of the :class:`Char` where the model name is stored." +#: ../../content/developer/reference/backend/orm.rst:237 +#: ../../content/developer/tutorials/getting_started/09_compute_onchange.rst:18 +msgid "Computed Fields" msgstr "" #: ../../content/developer/reference/backend/orm.rst:239 @@ -9864,18 +7875,6 @@ msgstr "" msgid "Special methods:" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.toggle_active:1 -msgid "Inverses the value of :attr:`active` on the records in ``self``." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.action_archive:1 -msgid "Sets :attr:`active` to ``False`` on a recordset, by calling :meth:`toggle_active` on its currently active records." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.action_unarchive:1 -msgid "Sets :attr:`active` to ``True`` on a recordset, by calling :meth:`toggle_active` on its currently inactive records." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:480 msgid "lifecycle stages of the object, used by the ``states`` attribute on :class:`fields `." msgstr "" @@ -9976,182 +7975,6 @@ msgstr "" msgid "Method decorators" msgstr "" -#: ../../../odoo/odoo/api.py:docstring of odoo.api:1 -msgid "The Odoo API module defines Odoo Environments and method decorators." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api:3 -msgid "Document this module" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.autovacuum:1 -msgid "Decorate a method so that it is called by the daily vacuum cron job (model ``ir.autovacuum``). This is typically used for garbage-collection-like tasks that do not deserve a specific cron job." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:1 -msgid "Decorate a constraint checker." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:3 -msgid "Each argument must be a field name used in the check::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:11 -msgid "Invoked on the records on which one of the named fields has been modified." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:13 -msgid "Should raise :exc:`~odoo.exceptions.ValidationError` if the validation failed." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:18 -msgid "``@constrains`` only supports simple field names, dotted names (fields of relational fields e.g. ``partner_id.customer``) are not supported and will be ignored." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:22 -msgid "``@constrains`` will be triggered only if the declared fields in the decorated method are included in the ``create`` or ``write`` call. It implies that fields not present in a view will not trigger a call during a record creation. A override of ``create`` is necessary to make sure a constraint will always be triggered (e.g. to test the absence of value)." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.constrains:29 -msgid "One may also pass a single function as argument. In that case, the field names are given by calling the function with a model instance." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends:1 -msgid "Return a decorator that specifies the field dependencies of a \"compute\" method (for new-style function fields). Each argument must be a string that consists in a dot-separated sequence of field names::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends:15 -msgid "One may also pass a single function as argument. In that case, the dependencies are given by calling the function with the field's model." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends_context:1 -msgid "Return a decorator that specifies the context dependencies of a non-stored \"compute\" method. Each argument is a key in the context's dictionary::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends_context:16 -msgid "All dependencies must be hashable. The following keys have special support:" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends_context:19 -msgid "`company` (value in context or current company id)," -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends_context:20 -msgid "`uid` (current user id and superuser flag)," -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.depends_context:21 -msgid "`active_test` (value in env.context or value in field.context)." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.model:1 -msgid "Decorate a record-style method where ``self`` is a recordset, but its contents is not relevant, only the model is. Such a method::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.model_create_multi:1 -msgid "Decorate a method that takes a list of dictionaries and creates multiple records. The method may be called with either a single dict or a list of dicts::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:1 -msgid "Return a decorator to decorate an onchange method for given fields." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:3 -msgid "In the form views where the field appears, the method will be called when one of the given fields is modified. The method is invoked on a pseudo-record that contains the values present in the form. Field assignments on that record are automatically sent back to the client." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:8 -msgid "Each argument must be a field name::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:20 -msgid "If the type is set to notification, the warning will be displayed in a notification. Otherwise it will be displayed in a dialog as default." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:25 -msgid "``@onchange`` only supports simple field names, dotted names (fields of relational fields e.g. ``partner_id.tz``) are not supported and will be ignored" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:31 -msgid "Since ``@onchange`` returns a recordset of pseudo-records, calling any one of the CRUD methods (:meth:`create`, :meth:`read`, :meth:`write`, :meth:`unlink`) on the aforementioned recordset is undefined behaviour, as they potentially do not exist in the database yet." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:37 -msgid "Instead, simply set the record's field like shown in the example above or call the :meth:`update` method." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.onchange:42 -msgid "It is not possible for a ``one2many`` or ``many2many`` field to modify itself via onchange. This is a webclient limitation - see `#2693 `_." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:1 -msgid "Mark a method to be executed during :meth:`~odoo.models.BaseModel.unlink`." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:3 -msgid "The goal of this decorator is to allow client-side errors when unlinking records if, from a business point of view, it does not make sense to delete such records. For instance, a user should not be able to delete a validated sales order." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:8 -msgid "While this could be implemented by simply overriding the method ``unlink`` on the model, it has the drawback of not being compatible with module uninstallation. When uninstalling the module, the override could raise user errors, but we shouldn't care because the module is being uninstalled, and thus **all** records related to the module should be removed anyway." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:14 -msgid "This means that by overriding ``unlink``, there is a big chance that some tables/records may remain as leftover data from the uninstalled module. This leaves the database in an inconsistent state. Moreover, there is a risk of conflicts if the module is ever reinstalled on that database." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:19 -msgid "Methods decorated with ``@ondelete`` should raise an error following some conditions, and by convention, the method should be named either ``_unlink_if_`` or ``_unlink_except_``." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:36 -msgid "Whether the decorated method should be called if the module that implements said method is being uninstalled. Should almost always be ``False``, so that module uninstallation does not trigger those errors." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:42 -msgid "The parameter ``at_uninstall`` should only be set to ``True`` if the check you are implementing also applies when uninstalling the module." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:45 -msgid "For instance, it doesn't matter if when uninstalling ``sale``, validated sales orders are being deleted because all data pertaining to ``sale`` should be deleted anyway, in that case ``at_uninstall`` should be set to ``False``." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.ondelete:50 -msgid "However, it makes sense to prevent the removal of the default language if no other languages are installed, since deleting the default language will break a lot of basic behavior. In this case, ``at_uninstall`` should be set to ``True``." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:1 -msgid "Return a decorator for methods that return instances of ``model``." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:3 -msgid "a model name, or ``'self'`` for the current model" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:5 -msgid "a function ``downgrade(self, value, *args, **kwargs)`` to convert the record-style ``value`` to a traditional-style output" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:8 -msgid "a function ``upgrade(self, value, *args, **kwargs)`` to convert the traditional-style ``value`` to a record-style output" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:11 -msgid "The arguments ``self``, ``*args`` and ``**kwargs`` are the ones passed to the method in the record-style." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:14 -msgid "The decorator adapts the method output to the api style: ``id``, ``ids`` or ``False`` for the traditional style, and recordset for the record style::" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:28 -msgid "Note that the decorated method must satisfy that convention." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.returns:30 -msgid "Those decorators are automatically *inherited*: a method that overrides a decorated existing method will be decorated with the same ``@returns(model)``." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:633 msgid "With sphinx 2.0 : autodecorator" msgstr "" @@ -10169,30 +7992,6 @@ msgstr "" msgid "Environment" msgstr "" -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:1 -msgid "The environment stores various contextual data used by the ORM:" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:3 -msgid ":attr:`cr`: the current database cursor (for database queries);" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:4 -msgid ":attr:`uid`: the current user id (for access rights checks);" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:5 -msgid ":attr:`context`: the current context dictionary (arbitrary metadata);" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:6 -msgid ":attr:`su`: whether in superuser mode." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment:8 -msgid "It provides access to the registry by implementing a mapping from model names to models. It also holds a cache for records, and a data structure to manage recomputations." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:665 msgid "When creating a recordset from an other recordset, the environment is inherited. The environment can be used to get an empty recordset in an other model, and query that model:" msgstr "" @@ -10201,154 +8000,14 @@ msgstr "" msgid "Some lazy properties are available to access the environment (contextual) data:" msgstr "" -#: ../../docstring of odoo.api.Environment.lang:1 -msgid "Return the current language code." -msgstr "" - -#: ../../docstring of odoo.api.Environment.user:1 -msgid "Return the current user (as an instance)." -msgstr "" - -#: ../../docstring of odoo.api.Environment.user:3 -msgid "current user - sudoed" -msgstr "" - -#: ../../docstring of odoo.api.Environment.user:4 -msgid ":class:`res.users record<~odoo.addons.base.models.res_users.Users>`" -msgstr "" - -#: ../../docstring of odoo.api.Environment.company:1 -msgid "Return the current company (as an instance)." -msgstr "" - -#: ../../docstring of odoo.api.Environment.company:3 -msgid "If not specified in the context (`allowed_company_ids`), fallback on current user main company." -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:6 -#: ../../docstring of odoo.api.Environment.company:6 -msgid "invalid or unauthorized `allowed_company_ids` context key content." -msgstr "" - -#: ../../docstring of odoo.api.Environment.company:7 -msgid "current company (default=`self.user.company_id`), with the current environment" -msgstr "" - -#: ../../docstring of odoo.api.Environment.company:8 -msgid ":class:`res.company record<~odoo.addons.base.models.res_company.Company>`" -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:12 -#: ../../docstring of odoo.api.Environment.company:12 -msgid "No sanity checks applied in sudo mode ! When in sudo mode, a user can access any company, even if not in his allowed companies." -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:16 -#: ../../docstring of odoo.api.Environment.company:16 -msgid "This allows to trigger inter-company modifications, even if the current user doesn't have access to the targeted company." -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:1 -msgid "Return a recordset of the enabled companies by the user." -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:3 -msgid "If not specified in the context(`allowed_company_ids`), fallback on current user companies." -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:7 -msgid "current companies (default=`self.user.company_ids`), with the current environment" -msgstr "" - -#: ../../docstring of odoo.api.Environment.companies:8 -msgid ":class:`res.company recordset<~odoo.addons.base.models.res_company.Company>`" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:684 msgid "Useful environment methods" msgstr "" -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:1 -msgid "Return the record corresponding to the given ``xml_id``." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:3 -msgid "record xml_id, under the format ````" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:4 -msgid "whether the method should raise if record is not found" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:5 -msgid "Found record or None" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.ref:6 -msgid "if record wasn't found and ``raise_if_not_found`` is True" -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.is_superuser:1 -msgid "Return whether the environment is in superuser mode." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.is_admin:1 -msgid "Return whether the current user has group \"Access Rights\", or is in superuser mode." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.is_system:1 -msgid "Return whether the current user has group \"Settings\", or is in superuser mode." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:692 msgid "Altering the environment" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_context:1 -msgid "Returns a new version of this recordset attached to an extended context." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_context:4 -msgid "The extended context is either the provided ``context`` in which ``overrides`` are merged or the *current* context in which ``overrides`` are merged e.g.::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_user:1 -msgid "Return a new version of this recordset attached to the given user, in non-superuser mode, unless `user` is the superuser (by convention, the superuser is always in superuser mode.)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_company:1 -msgid "Return a new version of this recordset with a modified context, such that::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_company:6 -msgid "main company of the new environment." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_company:11 -msgid "When using an unauthorized company for current user, accessing the company(ies) on the environment may trigger an AccessError if not done in a sudoed environment." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_env:1 -msgid "Return a new version of this recordset attached to the provided environment." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sudo:18 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.with_env:7 -msgid "The returned recordset has the same prefetch object as ``self``." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sudo:1 -msgid "Returns a new version of this recordset with superuser mode enabled or disabled, depending on `flag`. The superuser mode does not change the current user, and simply bypasses access rights checks." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sudo:7 -msgid "Using ``sudo`` could cause data access to cross the boundaries of record rules, possibly mixing records that are meant to be isolated (e.g. records from different companies in multi-company environments)." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sudo:12 -msgid "It may lead to un-intuitive results in methods which select one record among many - for example getting the default company, or selecting a Bill of Materials." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:709 msgid "SQL Execution" msgstr "" @@ -10369,23 +8028,6 @@ msgstr "" msgid "Before every SQL query, one has to flush the data needed for that query. There are three levels for flushing, each with its own API. One can flush either everything, all the records of a model, or some specific records. Because delaying updates improves performance in general, we recommend to be *specific* when flushing." msgstr "" -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.flush_all:1 -msgid "Flush all pending computations and updates to the database." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_model:1 -msgid "Process the pending computations and database updates on ``self``'s model. When the parameter is given, the method guarantees that at least the given fields are flushed to the database. More fields can be flushed, though." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_model:6 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_recordset:6 -msgid "optional iterable of field names to flush" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.flush_recordset:1 -msgid "Process the pending computations and database updates on the records ``self``. When the parameter is given, the method guarantees that at least the given fields on records ``self`` are flushed to the database. More fields and records can be flushed, though." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:752 msgid "Because models use the same cursor and the :class:`~odoo.api.Environment` holds various caches, these caches must be invalidated when *altering* the database in raw SQL, or further uses of models may become incoherent. It is necessary to clear caches when using ``CREATE``, ``UPDATE`` or ``DELETE`` in SQL, but not ``SELECT`` (which simply reads the database)." msgstr "" @@ -10394,29 +8036,6 @@ msgstr "" msgid "Just like flushing, one can invalidate either the whole cache, the cache of all the records of a model, or the cache of specific records. One can even invalidate specific fields on some records or all records of a model. As the cache improves performance in general, we recommend to be *specific* when invalidating." msgstr "" -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.invalidate_all:1 -msgid "Invalidate the cache of all records." -msgstr "" - -#: ../../../odoo/odoo/api.py:docstring of odoo.api.Environment.invalidate_all:3 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_model:6 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_recordset:6 -msgid "whether pending updates should be flushed before invalidation. It is ``True`` by default, which ensures cache consistency. Do not use this parameter unless you know what you are doing." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_model:1 -msgid "Invalidate the cache of all records of ``self``'s model, when the cached values no longer correspond to the database values. If the parameter is given, only the given fields are invalidated from cache." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_model:5 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_recordset:5 -msgid "optional iterable of field names to invalidate" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.invalidate_recordset:1 -msgid "Invalidate the cache of the records in ``self``, when the cached values no longer correspond to the database values. If the parameter is given, only the given fields on ``self`` are invalidated from cache." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:782 msgid "The methods above keep the caches and the database consistent with each other. However, if computed field dependencies have been modified in the database, one has to inform the models for the computed fields to be recomputed. The only thing the framework needs to know is *what* fields have changed on *which* records." msgstr "" @@ -10425,22 +8044,6 @@ msgstr "" msgid "One has to figure out which records have been modified. There are many ways to do this, possibly involving extra SQL queries. In the example above, we take advantage of the ``RETURNING`` clause of PostgreSQL to retrieve the information without an extra query. After making the cache consistent by invalidation, invoke the method ``modified`` on the modified records with the fields that have been updated." msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.modified:1 -msgid "Notify that fields will be or have been modified on ``self``. This invalidates the cache where necessary, and prepares the recomputation of dependent stored fields." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.modified:5 -msgid "iterable of field names modified on records ``self``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.modified:6 -msgid "whether called in the context of record creation" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.modified:7 -msgid "whether called before modifying records ``self``" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:817 msgid "Common ORM methods" msgstr "" @@ -10453,328 +8056,10 @@ msgstr "" msgid "api.model_create_multi information" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:1 -msgid "Creates new records for the model." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:3 -msgid "The new records are initialized using the values from the list of dicts ``vals_list``, and if necessary those from :meth:`~.default_get`." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:6 -msgid "values for the model's fields, as a list of dictionaries:: [{'field_name': field_value, ...}, ...] For backward compatibility, ``vals_list`` may be a dictionary. It is treated as a singleton list ``[vals]``, and a single record is returned. see :meth:`~.write` for details" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:7 -msgid "values for the model's fields, as a list of dictionaries::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:11 -msgid "For backward compatibility, ``vals_list`` may be a dictionary. It is treated as a singleton list ``[vals]``, and a single record is returned." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:15 -msgid "see :meth:`~.write` for details" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:17 -msgid "the created records" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:18 -msgid "if the current user is not allowed to create records of the specified model" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:19 -msgid "if user tries to enter invalid value for a selection field" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:20 -msgid "if a field name specified in the create values does not exist." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.create:21 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:6 -msgid "if a loop would be created in a hierarchy of objects a result of the operation (such as setting an object as its own parent)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.copy:1 -msgid "Duplicate record ``self`` updating it with default values" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.copy:3 -msgid "dictionary of field values to override in the original values of the copied record, e.g: ``{'field_name': overridden_value, ...}``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.copy:5 -msgid "new record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:1 -msgid "Return default values for the fields in ``fields_list``. Default values are determined by the context, user defaults, and the model itself." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:5 -msgid "names of field whose default is requested" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:6 -msgid "a dictionary mapping field names to their corresponding default values, if they have a default value." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.default_get:12 -msgid "Unrequested defaults won't be considered, there is no need to return a value for fields whose names are not in `fields_list`." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:1 -msgid "Create a new record by calling :meth:`~.create` with only one value provided: the display name of the new record." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:4 -msgid "The new record will be initialized with any default values applicable to this model, or provided through the context. The usual behavior of :meth:`~.create` applies." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:8 -msgid "display name of the record to create" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_create:10 -msgid "the :meth:`~.name_get` pair value of the created record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:1 -msgid "Updates all records in ``self`` with the provided values." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:3 -msgid "fields to update and the value to set on them" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:4 -msgid "if user is not allowed to modify the specified records/fields" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:5 -msgid "if invalid values are specified for selection fields" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:8 -msgid "For numeric fields (:class:`~odoo.fields.Integer`, :class:`~odoo.fields.Float`) the value should be of the corresponding type" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:11 -msgid "For :class:`~odoo.fields.Boolean`, the value should be a :class:`python:bool`" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:13 -msgid "For :class:`~odoo.fields.Selection`, the value should match the selection values (generally :class:`python:str`, sometimes :class:`python:int`)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:16 -msgid "For :class:`~odoo.fields.Many2one`, the value should be the database identifier of the record to set" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:18 -msgid "The expected value of a :class:`~odoo.fields.One2many` or :class:`~odoo.fields.Many2many` relational field is a list of :class:`~odoo.fields.Command` that manipulate the relation the implement. There are a total of 7 commands: :meth:`~odoo.fields.Command.create`, :meth:`~odoo.fields.Command.update`, :meth:`~odoo.fields.Command.delete`, :meth:`~odoo.fields.Command.unlink`, :meth:`~odoo.fields.Command.link`, :meth:`~odoo.fields.Command.clear`, and :meth:`~odoo.fields.Command.set`." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:29 -msgid "For :class:`~odoo.fields.Date` and `~odoo.fields.Datetime`, the value should be either a date(time), or a string." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:34 -msgid "If a string is provided for Date(time) fields, it must be UTC-only and formatted according to :const:`odoo.tools.misc.DEFAULT_SERVER_DATE_FORMAT` and :const:`odoo.tools.misc.DEFAULT_SERVER_DATETIME_FORMAT`" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.write:39 -msgid "Other non-relational fields use a string for value" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:837 msgid "Search/Read" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.browse:1 -msgid "Returns a recordset for the ids provided as parameter in the current environment." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.browse:9 -msgid "id(s)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.browse:11 -msgid "recordset" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:1 -msgid "Searches for records based on the ``domain`` :ref:`search domain `." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:3 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:4 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search_count:4 -msgid ":ref:`A search domain `. Use an empty list to match all records." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:6 -msgid "number of results to ignore (default: none)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:7 -msgid "maximum number of records to return (default: all)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:8 -msgid "sort string" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:9 -msgid "if True, only counts and returns the number of matching records (default: False)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:10 -msgid "at most ``limit`` records matching the search criteria" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:10 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:35 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search:11 -msgid "if user is not allowed to access requested information" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search_count:1 -msgid "Returns the number of records in the current model matching :ref:`the provided domain `." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.search_count:6 -msgid "maximum number of record to count (upperbound) (default: all)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:1 -msgid "Search for records that have a display name matching the given ``name`` pattern when compared with the given ``operator``, while also matching the optional search domain (``args``)." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:5 -msgid "This is used for example to provide suggestions based on a partial value for a relational field. Should usually behave as the reverse of :meth:`~.name_get`, but that is ont guaranteed." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:9 -msgid "This method is equivalent to calling :meth:`~.search` with a search domain based on ``display_name`` and then :meth:`~.name_get` on the result of the search." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:13 -msgid "the name pattern to match" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:14 -msgid "optional search domain (see :meth:`~.search` for syntax), specifying further restrictions" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:16 -msgid "domain operator for matching ``name``, such as ``'like'`` or ``'='``." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:18 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:18 -msgid "optional max number of records to return" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_search:20 -msgid "list of pairs ``(id, text_repr)`` for all matching records." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:1 -msgid "Reads the requested fields for the records in ``self``, low-level/RPC method." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:4 -msgid "field names to return (default is all fields)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:5 -msgid "loading mode, currently the only option is to set to ``None`` to avoid loading the ``name_get`` of m2o fields" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:7 -msgid "a list of dictionaries mapping field names to their values, with one dictionary per record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read:11 -msgid "if a requested field does not exist" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:1 -msgid "Get the list of records in list view grouped by the given ``groupby`` fields." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:5 -msgid "list of fields present in the list view specified on the object. Each element is either 'field' (field name, using the default aggregation), or 'field:agg' (aggregate field with aggregation function 'agg'), or 'name:agg(field)' (aggregate field with 'agg' and return it as 'name'). The possible aggregation functions are the ones provided by `PostgreSQL `_ and 'count_distinct', with the expected meaning." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:12 -msgid "list of groupby descriptions by which the records will be grouped. A groupby description is either a field (then it will be grouped by that field) or a string 'field:granularity'. Right now, the only supported granularities are 'day', 'week', 'month', 'quarter' or 'year', and they only make sense for date/datetime fields." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:17 -msgid "optional number of records to skip" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:19 -msgid "optional ``order by`` specification, for overriding the natural sort ordering of the groups, see also :py:meth:`~osv.osv.osv.search` (supported only for many2one fields currently)" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:23 -msgid "if true, the results are only grouped by the first groupby and the remaining groupbys are put in the __context key. If false, all the groupbys are done in one call." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:26 -msgid "list of dictionaries(one dictionary for each record) containing: * the values of fields grouped by the fields in ``groupby`` argument * __domain: list of tuples specifying the search criteria * __context: dictionary with argument like ``groupby`` * __range: (date/datetime only) dictionary with field_name:granularity as keys mapping to a dictionary with keys: \"from\" (inclusive) and \"to\" (exclusive) mapping to a string representation of the temporal bounds of the group" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:26 -msgid "list of dictionaries(one dictionary for each record) containing:" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:28 -msgid "the values of fields grouped by the fields in ``groupby`` argument" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:29 -msgid "__domain: list of tuples specifying the search criteria" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:30 -msgid "__context: dictionary with argument like ``groupby``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:32 -msgid "__range: (date/datetime only) dictionary with field_name:granularity as keys" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.read_group:32 -msgid "mapping to a dictionary with keys: \"from\" (inclusive) and \"to\" (exclusive) mapping to a string representation of the temporal bounds of the group" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:1 -msgid "Return the definition of each field." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:3 -msgid "The returned value is a dictionary (indexed by field name) of dictionaries. The _inherits'd fields are included. The string, help, and selection (if present) attributes are translated." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:7 -msgid "fields to document, all if empty or not provided" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:8 -msgid "attributes to return for each field, all if empty or not provided" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.fields_get:9 -msgid "dictionary mapping field names to a dictionary mapping attributes to values." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:859 msgid "Search domains" msgstr "" @@ -10989,31 +8274,16 @@ msgstr "" msgid "Unlink" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.unlink:1 -msgid "Deletes the records in ``self``." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.unlink:3 -msgid "if the user is not allowed to delete all the given records" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.unlink:4 -msgid "if the record is default property for other records" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:967 msgid "Record(set) information" msgstr "" -#: ../../docstring of odoo.models.Model.ids:1 -msgid "Return the list of actual record ids corresponding to ``self``." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:973 msgid "Returns the environment of the given recordset." msgstr "" #: ../../content/developer/reference/backend/orm.rst:975 +#: ../../content/developer/reference/upgrade_utils.rst:192 msgid ":class:`~odoo.api.Environment`" msgstr "" @@ -11021,82 +8291,6 @@ msgstr "" msgid "Environment documentation" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.exists:1 -msgid "Returns the subset of records in ``self`` that exist. It can be used as a test on records::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.exists:7 -msgid "By convention, new records are returned as existing." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.ensure_one:1 -msgid "Verify that the current recordset holds a single record." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.ensure_one:3 -msgid "``len(self) != 1``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:1 -msgid "Returns a textual representation for the records in ``self``, with one item output per input record, in the same order." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:6 -msgid "Although :meth:`~.name_get` can use context data for richer contextual formatting, as it is the default implementation for :attr:`~.display_name` it is important that it resets to the \"default\" behaviour if the context keys are empty / missing." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.name_get:11 -msgid "list of pairs ``(id, text_repr)`` for each record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:1 -msgid "Return some metadata about the given records." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:3 -msgid "list of ownership dictionaries for each requested record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:4 -msgid "list of dictionaries with the following keys: * id: object id * create_uid: user who created the record * create_date: date when the record was created * write_uid: last user who changed the record * write_date: date of the last change to the record * xmlid: XML ID to use to refer to this record (if there is one), in format ``module.name`` * xmlids: list of dict with xmlid in format ``module.name``, and noupdate as boolean * noupdate: A boolean telling if the record will be updated or not" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:4 -msgid "list of dictionaries with the following keys:" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:6 -msgid "id: object id" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:7 -msgid "create_uid: user who created the record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:8 -msgid "create_date: date when the record was created" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:9 -msgid "write_uid: last user who changed the record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:10 -msgid "write_date: date of the last change to the record" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:11 -msgid "xmlid: XML ID to use to refer to this record (if there is one), in format ``module.name``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:12 -msgid "xmlids: list of dict with xmlid in format ``module.name``, and noupdate as boolean" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.get_metadata:13 -msgid "noupdate: A boolean telling if the record will be updated or not" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:990 #: ../../content/developer/reference/frontend/assets.rst:102 msgid "Operations" @@ -11143,44 +8337,11 @@ msgstr "" msgid "Filter" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:1 -msgid "Return the records in ``self`` satisfying ``func``." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:3 -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:5 -msgid "a function or a dot-separated sequence of field names" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered:5 -msgid "recordset of records satisfying func, may be empty." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered_domain:1 -msgid "Return the records in ``self`` satisfying the domain and keeping the same order." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.filtered_domain:3 -msgid ":ref:`A search domain `." -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:1028 #: ../../content/developer/reference/backend/views.rst:1798 msgid "Map" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:1 -msgid "Apply ``func`` on all records in ``self``, and return the result as a list or a recordset (if ``func`` return recordsets). In the latter case, the order of the returned recordset is arbitrary." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:7 -msgid "self if func is falsy, result of func applied to all ``self`` records." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.mapped:15 -msgid "The provided function can be a string to get field values:" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:1034 msgid "Since V13, multi-relational field access is supported and works like a mapped call:" msgstr "" @@ -11189,18 +8350,6 @@ msgstr "" msgid "Sort" msgstr "" -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sorted:1 -msgid "Return the recordset ``self`` ordered by ``key``." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sorted:3 -msgid "either a function of one argument that returns a comparison key for each record, or a field name, or ``None``, in which case records are ordered according the default model's order" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel.sorted:7 -msgid "if ``True``, return the result in reverse order" -msgstr "" - #: ../../content/developer/reference/backend/orm.rst:1050 msgid "Inheritance and extension" msgstr "" @@ -11312,90 +8461,6 @@ msgstr "" msgid "Error management" msgstr "" -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions:1 -msgid "The Odoo Exceptions module defines a few core exception types." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions:3 -msgid "Those types are understood by the RPC layer. Any other exception type bubbling until the RPC layer will be treated as a 'Server error'." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions:8 -msgid "If you consider introducing new exceptions, check out the :mod:`odoo.addons.test_exceptions` module." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessDenied:1 -msgid "Login/password error." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessDenied:5 -msgid "No traceback." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessDenied:9 -msgid "When you try to log with a wrong password." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessError:1 -msgid "Access rights error." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.AccessError:5 -msgid "When you try to read a record that you are not allowed to." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.CacheMiss:1 -msgid "Missing value(s) in cache." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.CacheMiss:5 -msgid "When you try to read a value in a flushed cache." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.MissingError:1 -msgid "Missing record(s)." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.MissingError:5 -msgid "When you try to write on a deleted record." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:1 -msgid "Warning with a possibility to redirect the user instead of simply displaying the warning message." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:4 -msgid "exception message and frontend modal content" -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:5 -msgid "id of the action where to perform the redirection" -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:6 -msgid "text to put on the button that will trigger the redirection." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.RedirectWarning:8 -msgid "parameter passed to action_id. Can be used to limit a view to active_ids for example." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.UserError:1 -msgid "Generic error managed by the client." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.UserError:3 -msgid "Typically when the user tries to do something that has no sense given the current state of a record. Semantically comparable to the generic 400 HTTP status codes." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.ValidationError:1 -msgid "Violation of python constraints." -msgstr "" - -#: ../../../odoo/odoo/exceptions.py:docstring of odoo.exceptions.ValidationError:5 -msgid "When you try to create a new user with a login which already exist in the db." -msgstr "" - #: ../../content/developer/reference/backend/orm/changelog.rst:5 msgid "Changelog" msgstr "" @@ -11544,34 +8609,6 @@ msgstr "" msgid "The profiler is called outside of the `assertQueryCount` in order to catch queries made when exiting the context manager (e.g., flush)." msgstr "" -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler:1 -msgid "Context manager to use to start the recording of some execution. Will save sql and async stack trace by default." -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:1 -msgid "database name to use to save results. Will try to define database automatically by default. Use value ``None`` to not save results in a database." -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:4 -msgid "list of string and Collector object Ex: ['sql', PeriodicCollector(interval=0.2)]. Use `None` for default collectors" -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:5 -msgid "session description to use to reproup multiple profile. use make_session(name) for default format." -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:6 -msgid "description of the current profiler Suggestion: (route name/test method/loading module, ...)" -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:7 -msgid "flag to disable gc durring profiling (usefull to avoid gc while profiling, especially during sql execution)" -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.Profiler.__init__:8 -msgid "parameters usable by collectors (like frame interval)" -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:106 msgid "When the profiler is enabled, all executions of a test method are profiled and saved into an `ir.profile` record. Such records are grouped into a single profiling session. This is especially useful when using the :code:`@warmup` and :code:`@users` decorators." msgstr "" @@ -11658,11 +8695,6 @@ msgstr "" #: ../../content/developer/reference/frontend/services.rst:850 #: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:186 #: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:187 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.name:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.name:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.name:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.name:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.name:1 msgid "Name" msgstr "" @@ -11759,10 +8791,6 @@ msgstr "" msgid "It is especially useful to debug query counts, or to add information to the :ref:`Periodic collector ` in the combined speedscope view." msgstr "" -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.SQLCollector:1 -msgid "Saves all executed queries in the current thread with the call stack." -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:225 msgid "Periodic collector" msgstr "" @@ -11779,14 +8807,6 @@ msgstr "" msgid "It is one of the best way to analyse performance as it should have a very low impact on the execution time thanks to its separate thread." msgstr "" -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.PeriodicCollector:1 -msgid "Record execution frames asynchronously at most every `interval` seconds." -msgstr "" - -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.PeriodicCollector:3 -msgid "time to wait in seconds between two samples." -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:244 msgid "QWeb collector" msgstr "" @@ -11799,10 +8819,6 @@ msgstr "" msgid "It is mainly useful for optimizing views." msgstr "" -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.QwebCollector:1 -msgid "Record qweb execution with directive trace." -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:258 msgid "Sync collector" msgstr "" @@ -11815,10 +8831,6 @@ msgstr "" msgid "It can be useful to debug and understand complex flows, and follow their execution in the code. It is however not recommended for performance analysis because the overhead is high." msgstr "" -#: ../../../odoo/odoo/tools/profiler.py:docstring of odoo.tools.profiler.SyncCollector:1 -msgid "Record complete execution synchronously. Note that --limit-memory-hard may need to be increased when launching Odoo." -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:271 msgid "Performance pitfalls" msgstr "" @@ -11859,62 +8871,6 @@ msgstr "" msgid "To populate a given model, the following methods and attributes can be defined." msgstr "" -#: ../../docstring of odoo.models.Model._populate_sizes:1 -msgid "Return a dict mapping symbolic sizes (``'small'``, ``'medium'``, ``'large'``) to integers, giving the minimal number of records that :meth:`_populate` should create." -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:4 -msgid "The default population sizes are:" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:6 -msgid "``small`` : 10" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:7 -msgid "``medium`` : 100" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_sizes:8 -msgid "``large`` : 1000" -msgstr "" - -#: ../../docstring of odoo.models.Model._populate_dependencies:1 -msgid "Return the list of models which have to be populated before the current one." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:1 -msgid "Create records to populate this model." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate:3 -msgid "symbolic size for the number of records: ``'small'``, ``'medium'`` or ``'large'``" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:1 -msgid "Generates a factory for the different fields of the model." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:3 -msgid "``factory`` is a generator of values (dict of field values)." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:5 -msgid "Factory skeleton::" -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:12 -msgid "See :mod:`odoo.tools.populate` for population tools and applications." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:14 -msgid "list of pairs(field_name, factory) where `factory` is a generator function." -msgstr "" - -#: ../../../odoo/odoo/models.py:docstring of odoo.models.BaseModel._populate_factories:19 -msgid "It is the responsibility of the generator to handle the field_name correctly. The generator could generate values for multiple fields together. In this case, the field_name should be more a \"field_group\" (should be begin by a \"_\"), covering the different fields updated by the generator (e.g. \"_address\" for a generator updating multiple address fields)." -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:314 msgid "You have to define at least :meth:`~odoo.models.Model._populate` or :meth:`~odoo.models.Model._populate_factories` on the model to enable database population." msgstr "" @@ -11927,81 +8883,6 @@ msgstr "" msgid "Multiple population tools are available to easily create the needed data generators." msgstr "" -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:1 -msgid "Return a factory for an iterator of values dicts that combines all ``vals`` for the field with the other field values in input." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:4 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:5 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:4 -msgid "list in which a value will be chosen, depending on `weights`" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:5 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:6 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:5 -msgid "list of probabilistic weights" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:6 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:6 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:6 -msgid "optional initialization of the random number generator" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:8 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:7 -msgid "(val, counter, values) --> formatted_value" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:8 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:9 -msgid "if defined, factory used when vals has been consumed." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.cartesian:9 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:4 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:10 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:7 -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:9 -msgid "function of the form (iterator, field_name, model_name) -> values" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:1 -msgid "Return a factory for an iterator of values dicts that computes the field value as ``function(values, counter, random)``, where ``values`` is the other field values, ``counter`` is an integer, and ``random`` is a pseudo-random number generator." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.compute:5 -msgid "(values, counter, random) --> field_values" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.constant:1 -msgid "Return a factory for an iterator of values dicts that sets the field to the given value in each input dict." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.iterate:1 -msgid "Return a factory for an iterator of values dicts that picks a value among ``vals`` for each input. Once all ``vals`` have been used once, resume as ``then`` or as a ``randomize`` generator." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:1 -msgid "Return a factory for an iterator of values dicts that sets the field to a random integer between a and b included in each input dict." -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:4 -msgid "minimal random value" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randint:5 -msgid "maximal random value" -msgstr "" - -#: ../../../odoo/odoo/tools/populate.py:docstring of odoo.tools.populate.randomize:1 -msgid "Return a factory for an iterator of values dicts with pseudo-randomly chosen values (among ``vals``) for a field." -msgstr "" - #: ../../content/developer/reference/backend/performance.rst:370 msgid "Good practices" msgstr "" @@ -12867,85 +9748,6 @@ msgstr "" msgid "The test runner will simply run any test case, as described in the official `unittest documentation`_, but Odoo provides a number of utilities and helpers related to testing Odoo content (modules, mainly):" msgstr "" -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.TransactionCase:1 -msgid "Test class in which all test methods are run in a single transaction, but each test method is run in a sub-transaction managed by a savepoint. The transaction's cursor is always closed without committing." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.TransactionCase:5 -msgid "The data setup common to all methods should be done in the class method `setUpClass`, so that it is done once for all test methods. This is useful for test cases containing fast tests but with significant database setup common to all cases (complex in-db test data)." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.TransactionCase:10 -msgid "After being run, each test method cleans up the record cache and the registry cache. However, there is no cleanup of the registry models and fields. If a test modifies the registry (custom models and/or fields), it should prepare the necessary cleanup (`self.registry.reset_changes()`)." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:1 -msgid "Returns a record object for the provided :term:`external identifier`" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:4 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:4 -msgid "fully-qualified :term:`external identifier`, in the form :samp:`{module}.{identifier}`" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:0 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:0 -msgid "raise" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:6 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:6 -msgid "ValueError if not found" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.browse_ref:7 -msgid ":class:`~odoo.models.BaseModel`" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:1 -msgid "Returns database ID for the provided :term:`external identifier`, shortcut for ``_xmlid_lookup``" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.BaseCase.ref:7 -msgid "registered id" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.SingleTransactionCase:1 -msgid "TestCase in which all test methods are run in the same transaction, the transaction is started with the first test method and rolled back at the end of the last." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.HttpCase:1 -msgid "Transactional HTTP TestCase with url_open and Chrome headless helpers." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.HttpCase.browser_js:1 -msgid "Test js code running in the browser - optionnally log as 'login' - load page given by url_path - wait for ready object to be available - eval(code) inside the page - open another chrome window to watch code execution if watch is True" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.HttpCase.browser_js:8 -msgid "To signal success test do: console.log('test successful') To signal test failure raise an exception or call console.error with a message. Test will stop when a failure occurs if error_checker is not defined or returns True for this message" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.tagged:1 -msgid "A decorator to tag BaseCase objects." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.tagged:3 -msgid "Tags are stored in a set that can be accessed from a 'test_tags' attribute." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.tagged:5 -msgid "A tag prefixed by '-' will remove the tag e.g. to remove the 'standard' tag." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.tagged:7 -msgid "By default, all Test classes from odoo.tests.common have a test_tags attribute that defaults to 'standard' and 'at_install'." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.tagged:10 -msgid "When using class inheritance, the tags ARE inherited." -msgstr "" - #: ../../content/developer/reference/backend/testing.rst:63 msgid "By default, tests are run once right after the corresponding module has been installed. Test cases can also be configured to run after all modules have been installed, and not run right after the module installation::" msgstr "" @@ -12958,117 +9760,6 @@ msgstr "" msgid "Test methods must start with ``test_``" msgstr "" -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:1 -msgid "Server-side form view implementation (partial)" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:3 -msgid "Implements much of the \"form view\" manipulation flow, such that server-side tests can more properly reflect the behaviour which would be observed when manipulating the interface:" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:7 -msgid "call default_get and the relevant onchanges on \"creation\"" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:8 -msgid "call the relevant onchanges on setting fields" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:9 -msgid "properly handle defaults & onchanges around x2many fields" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:11 -msgid "Saving the form returns the created record if in creation mode." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:13 -msgid "Regular fields can just be assigned directly to the form, for :class:`~odoo.fields.Many2one` fields assign a singleton recordset::" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:21 -msgid "When editing a record, using the form as a context manager to automatically save it at the end of the scope::" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:28 -msgid "For :class:`~odoo.fields.Many2many` fields, the field itself is a :class:`~odoo.tests.common.M2MProxy` and can be altered by adding or removing records::" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:36 -msgid "Finally :class:`~odoo.fields.One2many` are reified as :class:`~odoo.tests.common.O2MProxy`." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:39 -msgid "Because the :class:`~odoo.fields.One2many` only exists through its parent, it is manipulated more directly by creating \"sub-forms\" with the :meth:`~odoo.tests.common.O2MProxy.new` and :meth:`~odoo.tests.common.O2MProxy.edit` methods. These would normally be used as context managers since they get saved in the parent record::" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:60 -msgid "empty or singleton recordset. An empty recordset will put the view in \"creation\" mode and trigger calls to default_get and on-load onchanges, a singleton will put it in \"edit\" mode and only load the view's data." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form:65 -msgid "the id, xmlid or actual view object to use for onchanges and view constraints. If none is provided, simply loads the default view for the model." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form.save:1 -msgid "Saves the form, returns the created record if applicable" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form.save:3 -msgid "does not save ``readonly`` fields" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form.save:4 -msgid "does not save unmodified fields (during edition) — any assignment or onchange return marks the field as modified, even if set to its current value" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.Form.save:8 -msgid "if the form has any unfilled required field" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.M2MProxy:1 -msgid "Behaves as a :class:`~collection.Sequence` of recordsets, can be indexed or sliced to get actual underlying recordsets." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.M2MProxy.add:1 -msgid "Adds ``record`` to the field, the record must already exist." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.M2MProxy.add:3 -msgid "The addition will only be finalized when the parent record is saved." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.M2MProxy.clear:1 -msgid "Removes all existing records in the m2m" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.M2MProxy.remove:1 -msgid "Removes a record at a certain index or with a provided id from the field." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.edit:1 -msgid "Returns a :class:`Form` to edit the pre-existing :class:`~odoo.fields.One2many` record." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.edit:4 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.new:4 -msgid "The form is created from the list view if editable, or the field's form view otherwise." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.edit:7 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.new:7 -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.remove:3 -msgid "if the field is not editable" -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.new:1 -msgid "Returns a :class:`Form` for a new :class:`~odoo.fields.One2many` record, properly initialised." -msgstr "" - -#: ../../../odoo/odoo/tests/common.py:docstring of odoo.tests.common.O2MProxy.remove:1 -msgid "Removes the record at ``index`` from the parent form." -msgstr "" - #: ../../content/developer/reference/backend/testing.rst:104 msgid "Running tests" msgstr "" @@ -14189,95 +10880,11 @@ msgstr "" msgid "Model Commons" msgstr "" -#: ../../docstring of odoo.addons.base.models.ir_ui_view.Model._date_name:1 -msgid "field to use for default calendar view" -msgstr "" - #: ../../content/developer/reference/backend/views.rst:350 #: ../../content/developer/reference/frontend/mobile.rst:61 msgid "Methods" msgstr "" -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:1 -msgid "Returns the fields_views of given views, along with the fields of the current model, and optionally its filters for the given action." -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:4 -msgid "list of [view_id, view_type]" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:5 -msgid "a dict optional boolean flags, set to enable: ``toolbar`` includes contextual actions when loading fields_views ``load_filters`` returns the model's filters ``action_id`` id of the action to get the filters, otherwise loads the global filters or the model" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:5 -msgid "a dict optional boolean flags, set to enable:" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:7 -msgid "``toolbar``" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:8 -msgid "includes contextual actions when loading fields_views" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:9 -msgid "``load_filters``" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:10 -msgid "returns the model's filters" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:13 -msgid "``action_id``" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:12 -msgid "id of the action to get the filters, otherwise loads the global filters or the model" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_views:15 -msgid "dictionary with fields_views, fields and optionally filters" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:1 -msgid "Get the detailed composition of the requested view like model, view architecture" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:3 -msgid "id of the view or None" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:4 -msgid "type of the view to return if view_id is None ('form', 'tree', ...)" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:5 -msgid "boolean options to return additional features: - bool mobile: true if the web client is currently using the responsive mobile view (to use kanban views instead of list views for x2many fields)" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:8 -msgid "composition of the requested view (including inherited views and extensions)" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:10 -msgid "* if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace' * if some tag other than 'position' is found in parent view" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:12 -msgid "if the inherited view has unknown position to work with other than 'before', 'after', 'inside', 'replace'" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:13 -msgid "if some tag other than 'position' is found in parent view" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_ui_view.py:docstring of odoo.addons.base.models.ir_ui_view.Model.get_view:15 -msgid "if there is view type other than form, tree, calendar, search etc... defined on the structure" -msgstr "" - #: ../../content/developer/reference/backend/views.rst:358 msgid "View types" msgstr "" @@ -19167,7 +15774,6 @@ msgid "There are three different asset types: code (`js` files), style (`css` or msgstr "" #: ../../content/developer/reference/frontend/assets.rst:27 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.code:1 msgid "Code" msgstr "" @@ -19422,7 +16028,6 @@ msgstr "" #: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:215 #: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:262 #: ../../content/developer/tutorials/getting_started/13_inheritance.rst:155 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.account_type:1 msgid "Type" msgstr "" @@ -19463,18 +16068,6 @@ msgstr "" msgid "This is done by creating `ir.asset` records. Those will be processed as if they were found in a module manifest, and they give the same expressive power as their manifest counterparts." msgstr "" -#: ../../../odoo/odoo/addons/base/models/ir_asset.py:docstring of odoo.addons.base.models.ir_asset.IrAsset:1 -msgid "This model contributes to two things:" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_asset.py:docstring of odoo.addons.base.models.ir_asset.IrAsset:3 -msgid "1. It provides a function returning a list of all file paths declared in a given list of addons (see _get_addon_paths);" -msgstr "" - -#: ../../../odoo/odoo/addons/base/models/ir_asset.py:docstring of odoo.addons.base.models.ir_asset.IrAsset:6 -msgid "2. It allows to create 'ir.asset' records to add additional directives to certain bundles." -msgstr "" - #: ../../content/developer/reference/frontend/assets.rst:332 #: ../../content/developer/reference/frontend/odoo_editor.rst:149 #: ../../content/developer/reference/frontend/odoo_editor.rst:175 @@ -25831,6 +22424,11 @@ msgstr "" msgid "This function must create a component and return it. This component is mounted inside the effect component container." msgstr "" +#: ../../content/developer/reference/frontend/services.rst:309 +#: ../../content/developer/reference/frontend/services.rst:393 +msgid "Example" +msgstr "" + #: ../../content/developer/reference/frontend/services.rst:311 msgid "Let's say we want to add an effect that add a sepia look at the page." msgstr "" @@ -26450,1012 +23048,37 @@ msgid "Accounting" msgstr "" #: ../../content/developer/reference/standard_modules/account/account_account.rst:5 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.account_id:1 msgid "Account" msgstr "" -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate:1 -msgid "Original definition from `account`" -msgstr "" - -#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:262 -#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:263 -#: ../../content/developer/tutorials/getting_started/08_relations.rst:73 -#: ../../content/developer/tutorials/getting_started/08_relations.rst:180 -#: ../../content/developer/tutorials/getting_started/08_relations.rst:245 -#: ../../content/developer/tutorials/getting_started/08_relations.rst:246 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.name:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.name:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.hierarchy_level:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.name:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.report_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.code:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.bank_account_code_prefix:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.cash_account_code_prefix:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.code_digits:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.transfer_account_code_prefix:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.factor_percent:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.name:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.sequence:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:0 -msgid "required" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:1 -msgid "Account Currency" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.chart_template_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.column_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.country_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.line_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.root_report_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.action_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.children_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.expression_ids:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.parent_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.report_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tag_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tax_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_credit_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_debit_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_suspense_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_expense_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_income_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_pos_receivable_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.expense_currency_exchange_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.income_currency_exchange_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.parent_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_payable_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_receivable_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_advance_tax_payment_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_cash_basis_base_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_input_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_output_categ_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_valuation_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_payable_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_receivable_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.account_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_group_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.state_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.tax_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.parent_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.invoice_tax_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.refund_tax_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.tag_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.cash_basis_transition_account_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.chart_template_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.children_tax_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.invoice_repartition_line_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.refund_repartition_line_ids:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_group_id:0 -msgid "comodel" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:1 -msgid ":ref:`res.currency `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.country_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:0 -msgid "possible_values" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:1 -msgid "`odoo/addons/base/data/res_currency_data.xml `__" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.currency_id:1 -msgid "Forces all moves for this account to have this secondary currency." -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.availability_condition:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.default_opening_date_filter:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_hierarchy:0 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_multi_company:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.account_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_scope:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:0 -msgid "selection" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.account_type:1 -msgid "``asset_receivable``: Receivable ``asset_cash``: Bank and Cash ``asset_current``: Current Assets ``asset_non_current``: Non-current Assets ``asset_prepayments``: Prepayments ``asset_fixed``: Fixed Assets ``liability_payable``: Payable ``liability_credit_card``: Credit Card ``liability_current``: Current Liabilities ``liability_non_current``: Non-current Liabilities ``equity``: Equity ``equity_unaffected``: Current Year Earnings ``income``: Income ``income_other``: Other Income ``expense``: Expenses ``expense_depreciation``: Depreciation ``expense_direct_cost``: Cost of Revenue ``off_balance``: Off-Balance Sheet" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.account_type:1 -msgid "These types are defined according to your country. The type contains more information about the account and its specificities." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.reconcile:1 -msgid "Allow Invoices & payments Matching" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.active:0 -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.nocreate:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.reconcile:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.code_digits:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.use_anglo_saxon:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.visible:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.factor_percent:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.active:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.include_base_amount:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.is_base_affected:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.price_include:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.sequence:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:0 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:0 -msgid "default" -msgstr "" - -#: ../../content/developer/tutorials/define_module_data.rst:186 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.nocreate:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.reconcile:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.use_anglo_saxon:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.include_base_amount:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.price_include:1 -msgid "False" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.reconcile:1 -msgid "Check this option if you want the user to reconcile entries in this account." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.note:1 -msgid "Note" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tax_ids:1 -msgid "Default Taxes" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tax_ids:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.invoice_tax_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.refund_tax_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.children_tax_ids:1 -msgid ":ref:`account.tax.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.nocreate:1 -msgid "Optional Create" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.nocreate:1 -msgid "If checked, the new chart of accounts will not contain this by default." -msgstr "" - -#: ../../content/developer/reference/standard_modules/account/account_chart_template.rst:5 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.chart_template_id:1 -msgid "Chart Template" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.parent_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.chart_template_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.chart_template_id:1 -msgid ":ref:`account.chart.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.chart_template_id:1 -msgid "This optional field allow you to link an account template to a specific chart template that may differ from the one its root parent belongs to. This allow you to define chart templates that extend another and complete it with few new accounts (You don't need to define the whole structure that is common to both several times)." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tag_ids:1 -msgid "Account tag" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tag_ids:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.tag_ids:1 -msgid ":ref:`account.account.tag `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountAccountTemplate.tag_ids:1 -msgid "Optional tags you may want to assign for custom reporting" -msgstr "" - #: ../../content/developer/reference/standard_modules/account/account_account_tag.rst:5 msgid "Account Tag" msgstr "" -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.name:1 -msgid "Tag Name" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:1 -msgid "Applicability" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:1 -msgid "``accounts``: Accounts ``taxes``: Taxes ``products``: Products" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.applicability:1 -msgid "accounts" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.color:1 -msgid "Color Index" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.active:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.active:1 -msgid "Active" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.active:1 -msgid "Set active to false to hide the Account Tag without removing it." -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.tax_negate:1 -msgid "Negate Tax Balance" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.tax_negate:1 -msgid "Check this box to negate the absolute value of the balance of the lines associated with this tag in tax report computation." -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.country_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:1 -msgid "Country" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.country_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:1 -msgid ":ref:`res.country `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.country_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:1 -msgid "`odoo/addons/base/data/res_country_data.xml `__" -msgstr "" - -#: ../../../odoo/addons/account/models/account_account_tag.py:docstring of odoo.addons.account.models.account_account_tag.AccountAccountTag.country_id:1 -msgid "Country for which this tag is available, when applied on taxes." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.parent_id:1 -msgid "Parent Chart Template" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.code_digits:1 -msgid "# of Digits" -msgstr "" - -#: ../../content/developer/tutorials/define_module_data.rst:183 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.code_digits:1 -msgid "6" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.code_digits:1 -msgid "No. of Digits to use for account code" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.visible:1 -msgid "Can be Visible?" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.visible:1 -msgid "Set this to False if you don't want this template to be used actively in the wizard that generate Chart of Accounts from templates, this is useful when you want to generate accounts of this template only when loading its child template." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.currency_id:1 -msgid "Currency" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.country_id:1 -msgid "The country this chart of accounts belongs to. None if it's generic." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.use_anglo_saxon:1 -msgid "Use Anglo-Saxon accounting" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.bank_account_code_prefix:1 -msgid "Prefix of the bank accounts" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.cash_account_code_prefix:1 -msgid "Prefix of the main cash accounts" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.transfer_account_code_prefix:1 -msgid "Prefix of the main transfer accounts" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_ids:1 -msgid "Associated Account Templates" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_ids:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_credit_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_debit_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_suspense_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_expense_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_income_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_pos_receivable_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.expense_currency_exchange_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.income_currency_exchange_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_categ_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_categ_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_payable_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_receivable_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_advance_tax_payment_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_cash_basis_base_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_input_categ_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_output_categ_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_valuation_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_payable_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_receivable_account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.account_id:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.cash_basis_transition_account_id:1 -msgid ":ref:`account.account.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.income_currency_exchange_account_id:1 -msgid "Gain Exchange Rate Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.expense_currency_exchange_account_id:1 -msgid "Loss Exchange Rate Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_suspense_account_id:1 -msgid "Journal Suspense Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_debit_account_id:1 -msgid "Journal Outstanding Receipts Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.account_journal_payment_credit_account_id:1 -msgid "Journal Outstanding Payments Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_income_account_id:1 -msgid "Cash Difference Income Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_cash_difference_expense_account_id:1 -msgid "Cash Difference Expense Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.default_pos_receivable_account_id:1 -msgid "PoS receivable account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_receivable_id:1 -msgid "Receivable Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_payable_id:1 -msgid "Payable Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_categ_id:1 -msgid "Category of Expense Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_categ_id:1 -msgid "Category of Income Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_expense_id:1 -msgid "Expense Account on Product Template" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_account_income_id:1 -msgid "Income Account on Product Template" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_input_categ_id:1 -msgid "Input Account for Stock Valuation" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_account_output_categ_id:1 -msgid "Output Account for Stock Valuation" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_stock_valuation_account_id:1 -msgid "Account Template for Stock Valuation" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_payable_account_id:1 -msgid "Tax current account (payable)" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_tax_receivable_account_id:1 -msgid "Tax current account (receivable)" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_advance_tax_payment_account_id:1 -msgid "Advance tax payment account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_cash_basis_base_account_id:1 -msgid "Base Tax Received Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountChartTemplate.property_cash_basis_base_account_id:1 -msgid "Account that will be set on lines created in cash basis journal entry and used to keep track of the tax base amount." -msgstr "" - -#: ../../../odoo/addons/l10n_multilang/models/account.py:docstring of odoo.addons.l10n_multilang.models.account.AccountChartTemplate:1 -msgid "Additional fields with `l10n_multilang`" -msgstr "" - -#: ../../content/developer/reference/standard_modules/account/account_chart_template.rst:47 -msgid "Multi language support for Chart of Accounts, Taxes, Tax Codes, Journals, Accounting Templates, Analytic Chart of Accounts and Analytic Journals." -msgstr "" - -#: ../../../odoo/addons/l10n_multilang/models/account.py:docstring of odoo.addons.l10n_multilang.models.account.AccountChartTemplate.spoken_languages:1 -msgid "Spoken Languages" +#: ../../content/developer/reference/standard_modules/account/account_chart_template.rst:5 +msgid "Chart Template" msgstr "" #: ../../content/developer/reference/standard_modules/account/account_fiscal_position.rst:5 msgid "Fiscal Position" msgstr "" -#: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:217 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.sequence:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.sequence:1 -msgid "Sequence" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.name:1 -msgid "Fiscal Position Template" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.account_ids:1 -msgid "Account Mapping" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.account_ids:1 -msgid ":ref:`account.fiscal.position.account.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.tax_ids:1 -msgid "Tax Mapping" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.tax_ids:1 -msgid ":ref:`account.fiscal.position.tax.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.note:1 -msgid "Notes" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.auto_apply:1 -msgid "Detect Automatically" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.auto_apply:1 -msgid "Apply automatically this fiscal position." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.vat_required:1 -msgid "VAT required" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.vat_required:1 -msgid "Apply only if partner has a VAT number." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_id:1 -msgid "Apply only if delivery country matches." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_group_id:1 -msgid "Country Group" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_group_id:1 -msgid ":ref:`res.country.group `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.country_group_id:1 -msgid "Apply only if delivery country matches the group." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.state_ids:1 -msgid "Federal States" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.state_ids:1 -msgid ":ref:`res.country.state `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.zip_from:1 -msgid "Zip Range From" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountFiscalPositionTemplate.zip_to:1 -msgid "Zip Range To" -msgstr "" - #: ../../content/developer/reference/standard_modules/account/account_group.rst:5 msgid "Account Group" msgstr "" -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.parent_id:1 -msgid "Parent" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.parent_id:1 -msgid ":ref:`account.group.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.code_prefix_start:1 -msgid "Code Prefix Start" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountGroupTemplate.code_prefix_end:1 -msgid "Code Prefix End" -msgstr "" - #: ../../content/developer/reference/standard_modules/account/account_report.rst:3 msgid "Report" msgstr "" -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.line_ids:1 -msgid "Lines" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.line_ids:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.children_ids:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.parent_id:1 -msgid ":ref:`account.report.line `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.column_ids:1 -msgid ":ref:`account.report.column `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.root_report_id:1 -msgid "Root Report" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.root_report_id:1 -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.report_id:1 -msgid ":ref:`account.report `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.root_report_id:1 -msgid "The report this report is a variant of." -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.only_tax_exigible:1 -msgid "Only Tax Exigible Lines" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.availability_condition:1 -msgid "Availability" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.availability_condition:1 -msgid "``country``: Country Matches ``coa``: Chart of Accounts Matches ``always``: Always" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.load_more_limit:1 -msgid "Load More Limit" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.search_bar:1 -msgid "Search Bar" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.default_opening_date_filter:1 -msgid "Default Opening" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.default_opening_date_filter:1 -msgid "``this_year``: This Year ``this_quarter``: This Quarter ``this_month``: This Month ``today``: Today ``last_month``: Last Month ``last_quarter``: Last Quarter ``last_year``: Last Year" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_multi_company:1 -msgid "Multi-Company" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_multi_company:1 -msgid "``disabled``: Disabled ``selector``: Use Company Selector ``tax_units``: Use Tax Units" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_date_range:1 -msgid "Date Range" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_show_draft:1 -msgid "Draft Entries" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_unreconciled:1 -msgid "Unreconciled Entries" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_unfold_all:1 -msgid "Unfold All" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_period_comparison:1 -msgid "Period Comparison" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_growth_comparison:1 -msgid "Growth Comparison" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_journals:1 -msgid "Journals" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_analytic:1 -msgid "Analytic Filter" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_hierarchy:1 -msgid "Account Groups" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_hierarchy:1 -msgid "``by_default``: Enabled by Default ``optional``: Optional ``never``: Never" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_account_type:1 -msgid "Account Types" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_partner:1 -msgid "Partners" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReport.filter_fiscal_position:1 -msgid "Filter Multivat" -msgstr "" - #: ../../content/developer/reference/standard_modules/account/account_report_line.rst:3 msgid "Report Line" msgstr "" -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.expression_ids:1 -msgid ":ref:`account.report.expression `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.report_id:1 -msgid "Parent Report" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.hierarchy_level:1 -msgid "Level" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.parent_id:1 -msgid "Parent Line" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.children_ids:1 -msgid "Child Lines" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.foldable:1 -msgid "Foldable" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.foldable:1 -msgid "By default, we always unfold the lines that can be. If this is checked, the line won't be unfolded by default, and a folding button will be displayed." -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.print_on_new_page:1 -msgid "Print On New Page" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.print_on_new_page:1 -msgid "When checked this line and everything after it will be printed on a new page." -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.action_id:1 -msgid "Action" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.action_id:1 -msgid ":ref:`ir.actions.actions `" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.action_id:1 -msgid "Setting this field will turn the line into a link, executing the action when clicked." -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.hide_if_zero:1 -msgid "Hide if Zero" -msgstr "" - -#: ../../../odoo/addons/account/models/account_report.py:docstring of odoo.addons.account.models.account_report.AccountReportLine.hide_if_zero:1 -msgid "This line and its children will be hidden when all of their columns are 0." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.name:1 -msgid "Tax Name" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:1 -msgid "Tax Type" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:1 -msgid "``sale``: Sales ``purchase``: Purchases ``none``: None" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:1 -msgid "sale" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.type_tax_use:1 -msgid "Determines where the tax is selectable. Note : 'None' means a tax can't be used by itself, however it can still be used in a group." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_scope:1 -msgid "Tax Scope" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_scope:1 -msgid "``service``: Service ``consu``: Consumable" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_scope:1 -msgid "Restrict the use of taxes to a type of product." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:1 -msgid "Tax Computation" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:1 -msgid "``group``: Group of Taxes ``fixed``: Fixed ``percent``: Percentage of Price ``division``: Percentage of Price Tax Included" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount_type:1 -msgid "percent" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.active:1 -msgid "Set active to false to hide the tax without removing it." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.children_tax_ids:1 -msgid "Children Taxes" -msgstr "" - -#: ../../content/developer/tutorials/define_module_data.rst:183 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.sequence:1 -msgid "1" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.sequence:1 -msgid "The sequence field is used to define order in which the tax lines are applied." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount:1 -msgid "Amount" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.amount:1 -msgid "0" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.description:1 -msgid "Display on Invoices" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.price_include:1 -msgid "Included in Price" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.price_include:1 -msgid "Check this if the price you use on the product and invoices includes this tax." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.include_base_amount:1 -msgid "Affect Subsequent Taxes" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.include_base_amount:1 -msgid "If set, taxes with a higher sequence than this one will be affected by it, provided they accept it." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.is_base_affected:1 -msgid "Base Affected by Previous Taxes" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.is_base_affected:1 -msgid "If set, taxes with a lower sequence might affect this one, provided they try to do it." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.analytic:1 -msgid "Analytic Cost" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.analytic:1 -msgid "If set, the amount computed by this tax will be assigned to the same analytic account as the invoice line (if any)" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.invoice_repartition_line_ids:1 -msgid "Repartition for Invoices" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.invoice_repartition_line_ids:1 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.refund_repartition_line_ids:1 -msgid ":ref:`account.tax.repartition.line.template `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.invoice_repartition_line_ids:1 -msgid "Repartition when the tax is used on an invoice" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.refund_repartition_line_ids:1 -msgid "Repartition for Refund Invoices" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.refund_repartition_line_ids:1 -msgid "Repartition when the tax is used on a refund" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_group_id:1 -msgid "Tax Group" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_group_id:1 -msgid ":ref:`account.tax.group `" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:1 -msgid "Tax Due" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:1 -msgid "``on_invoice``: Based on Invoice ``on_payment``: Based on Payment" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:1 -msgid "on_invoice" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.tax_exigibility:1 -msgid "Based on Invoice: the tax is due as soon as the invoice is validated. Based on Payment: the tax is due as soon as the payment of the invoice is received." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.cash_basis_transition_account_id:1 -msgid "Cash Basis Transition Account" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxTemplate.cash_basis_transition_account_id:1 -msgid "Account used to transition the tax amount for cash basis taxes. It will contain the tax amount as long as the original invoice has not been reconciled ; at reconciliation, this amount cancelled on this account and put on the regular tax account." -msgstr "" - #: ../../content/developer/reference/standard_modules/account/account_tax_repartition.rst:5 msgid "Tax Repartitions" msgstr "" -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.factor_percent:1 -msgid "%" -msgstr "" - -#: ../../content/developer/tutorials/define_module_data.rst:184 -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.factor_percent:1 -msgid "100" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.factor_percent:1 -msgid "Factor to apply on the account move lines generated from this distribution line, in percents" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:1 -msgid "Based On" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:1 -msgid "``base``: Base ``tax``: of tax" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:1 -msgid "tax" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.repartition_type:1 -msgid "Base on which the factor will be applied." -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.account_id:1 -msgid "Account on which to post the tax amount" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.invoice_tax_id:1 -msgid "Invoice Tax" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.invoice_tax_id:1 -msgid "The tax set to apply this distribution on invoices. Mutually exclusive with refund_tax_id" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.refund_tax_id:1 -msgid "Refund Tax" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.refund_tax_id:1 -msgid "The tax set to apply this distribution on refund invoices. Mutually exclusive with invoice_tax_id" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.tag_ids:1 -msgid "Financial Tags" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.tag_ids:1 -msgid "Additional tags that will be assigned by this repartition line for use in domains" -msgstr "" - -#: ../../../odoo/addons/account/models/chart_template.py:docstring of odoo.addons.account.models.chart_template.AccountTaxRepartitionLineTemplate.use_in_tax_closing:1 -msgid "Tax Closing Entry" -msgstr "" - #: ../../content/developer/reference/standard_modules/payment.rst:5 msgid "Payment" msgstr "" @@ -27464,694 +23087,521 @@ msgstr "" msgid "Payment Provider" msgstr "" -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:1 -msgid "Compute the feature support fields based on the provider." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:3 -msgid "Feature support fields are used to specify which additional features are supported by a given provider. These fields are as follows:" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:6 -msgid "`support_express_checkout`: Whether the \"express checkout\" feature is supported. `False` by default." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:8 -msgid "`support_fees`: Whether the \"extra fees\" feature is supported. `False` by default." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:9 -msgid "`support_manual_capture`: Whether the \"manual capture\" feature is supported. `False` by default." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:11 -msgid "`support_refund`: Which type of the \"refunds\" feature is supported: `None`, `'full_only'`, or `'partial'`. `None` by default." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:13 -msgid "`support_tokenization`: Whether the \"tokenization feature\" is supported. `False` by default." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:16 -msgid "For a provider to specify that it supports additional features, it must override this method and set the related feature support fields to the desired value on the appropriate `payment.provider` records." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_feature_support_fields:20 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:21 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._handle_archiving:6 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:12 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_capture_request:8 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:11 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_void_request:8 -msgid "None" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:1 -msgid "Compute the transaction fees." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:3 -msgid "The computation is based on the fields `fees_dom_fixed`, `fees_dom_var`, `fees_int_fixed` and `fees_int_var`, and is performed with the formula :code:`fees = (amount * variable / 100.0 + fixed) / (1 - variable / 100.0)` where the values of `fixed` and `variable` are taken from either the domestic (`dom`) or international (`int`) fields, depending on whether the country matches the company's country." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:9 -msgid "For a provider to base the computation on different variables, or to use a different formula, it must override this method and return the resulting fees." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:12 -msgid "The amount to pay for the transaction." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:13 -msgid "The currency of the transaction, as a `res.currency` record." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:14 -msgid "The customer country, as a `res.country` record." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_fees:15 -msgid "The computed fees." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:1 -msgid "Compute the view configuration fields based on the provider." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:3 -msgid "View configuration fields are used to hide specific elements (notebook pages, fields, etc.) from the form view of payment providers. These fields are set to `True` by default and are as follows:" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:7 -msgid "`show_credentials_page`: Whether the \"Credentials\" notebook page should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:8 -msgid "`show_allow_tokenization`: Whether the `allow_tokenization` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:9 -msgid "`show_allow_express_checkout`: Whether the `allow_express_checkout` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:10 -msgid "`show_payment_icon_ids`: Whether the `payment_icon_ids` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:11 -msgid "`show_pre_msg`: Whether the `pre_msg` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:12 -msgid "`show_pending_msg`: Whether the `pending_msg` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:13 -msgid "`show_auth_msg`: Whether the `auth_msg` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:14 -msgid "`show_done_msg`: Whether the `done_msg` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:15 -msgid "`show_cancel_msg`: Whether the `cancel_msg` field should be shown." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._compute_view_configuration_fields:17 -msgid "For a provider to hide specific elements of the form view, it must override this method and set the related view configuration fields to `False` on the appropriate `payment.provider` records." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:1 -msgid "Select and return the providers matching the criteria." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:3 -msgid "The criteria are that providers must not be disabled, be in the company that is provided, and support the country of the partner if it exists. The criteria can be further refined by providing the keyword arguments." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:7 -msgid "The company to which providers must belong, as a `res.company` id." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:8 -msgid "The partner making the payment, as a `res.partner` id." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:9 -msgid "The amount to pay. `0` for validation transactions." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:10 -msgid "The payment currency, if known beforehand, as a `res.currency` id." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:11 -msgid "Whether only providers allowing tokenization can be matched." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:12 -msgid "Whether the payment is made through express checkout." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:13 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:8 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:7 -msgid "Whether the operation is a validation." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:14 -msgid "Optional data. This parameter is not used here." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:15 -msgid "The compatible providers." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_compatible_providers:16 -msgid "recordset of `payment.provider`" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:1 -msgid "Return the view of the template used to render the redirect form." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:3 -msgid "For a provider to return a different view depending on whether the operation is a validation, it must override this method and return the appropriate view." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:6 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:6 -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:7 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:11 -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:13 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:21 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:9 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_capture_request:6 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:9 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:6 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_void_request:6 -msgid "Note: `self.ensure_one()`" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:9 -msgid "The view of the redirect form template." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_redirect_form_view:10 -msgid "record of `ir.ui.view`" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:1 -msgid "Return the amount to use for validation operations." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:3 -msgid "For a provider to support tokenization, it must override this method and return the validation amount. If it is `0`, it is not necessary to create the override." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_amount:8 -msgid "The validation amount." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:1 -msgid "Return the currency to use for validation operations." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:3 -msgid "For a provider to support tokenization, it must override this method and return the validation currency. If the validation amount is `0`, it is not necessary to create the override." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:9 -msgid "The validation currency." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_validation_currency:10 -msgid "recordset of `res.currency`" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:1 -msgid "Return whether tokenizing the transaction is required given its context." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:3 -msgid "For a module to make the tokenization required based on the transaction context, it must override this method and return whether it is required." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:6 -msgid "The transaction context. This parameter is not used here." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._is_tokenization_required:7 -msgid "Whether tokenizing the transaction is required." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:1 -msgid "Return whether the inline payment form should be instantiated." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:3 -msgid "For a provider to handle both direct payments and payments with redirection, it must override this method and return whether the inline payment form should be instantiated (i.e. if the payment should be direct) based on the operation (online payment or validation)." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._should_build_inline_form:8 -msgid "Whether the inline form should be instantiated." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:1 -msgid "Return the values to update a provider with when its module is uninstalled." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:3 -msgid "For a module to specify additional removal values, it must override this method and complete the generic values with its specific values." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_provider.py:docstring of odoo.addons.payment.models.payment_provider.PaymentProvider._get_removal_values:6 -msgid "The removal values to update the removed provider with." -msgstr "" - #: ../../content/developer/reference/standard_modules/payment/payment_token.rst:5 msgid "Payment Token" msgstr "" -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:1 -msgid "Build a token name of the desired maximum length with the format `•••• 1234`." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:3 -msgid "The payment details are padded on the left with up to four padding characters. The padding is only added if there is enough room for it. If not, it is either reduced or not added at all. If there is not enough room for the payment details either, they are trimmed from the left." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:8 -msgid "For a module to customize the display name of a token, it must override this method and return the customized display name." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:13 -msgid "The arguments passed by QWeb when calling this method." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:14 -msgid "The desired maximum length of the token name. The default is `34` to fit the largest IBANs." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:16 -msgid "Whether the token should be padded." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:17 -msgid "Optional data used in overrides of this method." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._build_display_name:18 -msgid "The padded token name." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:1 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:1 -msgid "Complete the values of the `create` method with provider-specific values." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:3 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:3 -msgid "For a provider to add its own create values, it must overwrite this method and return a dict of values. Provider-specific values take precedence over those of the dict of generic create values." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:7 -msgid "The code of the provider managing the token." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:8 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:8 -msgid "The original create values." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._get_specific_create_values:9 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:9 -msgid "The dict of provider-specific create values." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._handle_archiving:1 -msgid "Handle the archiving of tokens." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken._handle_archiving:3 -msgid "For a module to perform additional operations when a token is archived, it must override this method." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:1 -msgid "Return a list of information about records linked to the current token." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:3 -msgid "For a module to implement payments and link documents to a token, it must override this method and add information about linked document records to the returned list." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:6 -msgid "The information must be structured as a dict with the following keys:" -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:8 -msgid "`description`: The description of the record's model (e.g. \"Subscription\")." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:9 -msgid "`id`: The id of the record." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:10 -msgid "`name`: The name of the record." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:11 -msgid "`url`: The url to access the record." -msgstr "" - -#: ../../../odoo/addons/payment/models/payment_token.py:docstring of odoo.addons.payment.models.payment_token.PaymentToken.get_linked_records_info:15 -msgid "The list of information about the linked document records." -msgstr "" - #: ../../content/developer/reference/standard_modules/payment/payment_transaction.rst:5 msgid "Payment Transaction" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:1 -msgid "Compute a unique reference for the transaction." +#: ../../content/developer/reference/upgrade_scripts.rst:3 +msgid "Upgrade scripts" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:3 -msgid "The reference corresponds to the prefix if no other transaction with that prefix already exists. Otherwise, it follows the pattern `{computed_prefix}{separator}{sequence_number}` where:" +#: ../../content/developer/reference/upgrade_scripts.rst:5 +msgid "An upgrade script is a Python file containing a function called :meth:`migrate`, which the upgrade process invokes during the update of a module." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:7 -msgid "`{computed_prefix}` is:" +#: ../../content/developer/reference/upgrade_scripts.rst:10 +msgid "current database cursor" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:9 -msgid "The provided custom prefix, if any." +#: ../../content/developer/reference/upgrade_scripts.rst:12 +msgid "installed version of the module" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:10 -msgid "The computation result of :meth:`_compute_reference_prefix` if the custom prefix is not filled, but the kwargs are." +#: ../../content/developer/reference/upgrade_scripts.rst:14 +msgid "Typically, this function executes one or multiple SQL queries and can also access Odoo's ORM, as well as the :doc:`./upgrade_utils`." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:12 -msgid "`'tx-{datetime}'` if neither the custom prefix nor the kwargs are filled." +#: ../../content/developer/reference/upgrade_scripts.rst:18 +msgid "Writing upgrade scripts" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:14 -msgid "`{separator}` is the string that separates the prefix from the sequence number." +#: ../../content/developer/reference/upgrade_scripts.rst:20 +msgid "Upgrade scripts follow a specific tree structure with a naming convention which determines when they are executed." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:15 -msgid "`{sequence_number}` is the next integer in the sequence of references sharing the same prefix. The sequence starts with `1` if there is only one matching reference." +#: ../../content/developer/reference/upgrade_scripts.rst:23 +msgid "The structure of an upgrade script path is :file:`$module/migrations/$version/{pre,post,end}-*.py`, where `$module` is the module for which the script will run, `$version` is the full version of the module (including Odoo's major version and the module's minor version) and `{pre|post|end}-*.py` is the file that needs to be executed. The file's name will determine the :ref:`phase ` and order in which it is executed for that module and version." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:20 -msgid "Given the custom prefix `'example'` which has no match with an existing reference, the full reference will be `'example'`." +#: ../../content/developer/reference/upgrade_scripts.rst:30 +msgid "Upgrade scripts are only executed when the module is being updated. Therefore, the module's minor version set in the `$version` directory needs to be higher than the module's installed version and equal or lower to the updated version of the module." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:22 -msgid "Given the custom prefix `'example'` which matches the existing reference `'example'`, and the custom separator `'-'`, the full reference will be `'example-1'`." +#: ../../content/developer/reference/upgrade_scripts.rst:36 +msgid "Directory structure of an upgrade script for a custom module named `awesome_partner` upgraded to version `2.0` on Odoo 17." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:24 -msgid "Given the kwargs `{'invoice_ids': [1, 2]}`, the custom separator `'-'` and no custom prefix, the full reference will be `'INV1-INV2'` (or similar) if no existing reference has the same prefix, or `'INV1-INV2-n'` if `n` existing references have the same prefix." +#: ../../content/developer/reference/upgrade_scripts.rst:46 +msgid "Two upgrade scripts examples with the content of the :file:`pre-exclamation.py`, file adding \"!\" at the end of partners' names:" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:29 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:6 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:6 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:3 -msgid "The code of the provider handling the transaction." +#: ../../content/developer/reference/upgrade_scripts.rst:77 +msgid "Note that in the second example, the script takes advantage of the :doc:`./upgrade_utils` to access the ORM. Check the documentation to find out more about this library." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:30 -msgid "The custom prefix used to compute the full reference." +#: ../../content/developer/reference/upgrade_scripts.rst:83 +msgid "Phases of upgrade scripts" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:31 -msgid "The custom separator used to separate the prefix from the suffix." +#: ../../content/developer/reference/upgrade_scripts.rst:85 +msgid "The upgrade process consists of three phases for each version of each module:" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:32 -msgid "Optional values passed to :meth:`_compute_reference_prefix` if no custom prefix is provided." +#: ../../content/developer/reference/upgrade_scripts.rst:87 +msgid "The pre-phase, before the module is loaded." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference:34 -msgid "The unique reference for the transaction." +#: ../../content/developer/reference/upgrade_scripts.rst:88 +msgid "The post-phase, after the module and its dependencies are loaded and updated." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:1 -msgid "Compute the reference prefix from the transaction values." +#: ../../content/developer/reference/upgrade_scripts.rst:89 +msgid "The end-phase, after all modules have been loaded and updated for that version." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:3 -msgid "Note: This method should be called in sudo mode to give access to the documents (invoices, sales orders) referenced in the transaction values." +#: ../../content/developer/reference/upgrade_scripts.rst:91 +msgid "Upgrade scripts are grouped according to the first part of their filenames into the corresponding phase. Within each phase, the files are executed according to their lexical order." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:7 -msgid "The custom separator used to separate parts of the computed reference prefix." +#: ../../content/developer/reference/upgrade_scripts.rst:94 +msgid "Execution order of example scripts for one module in one version" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:9 -msgid "The transaction values used to compute the reference prefix." +#: ../../content/developer/reference/upgrade_scripts.rst:96 +msgid ":file:`pre-10-do_something.py`" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._compute_reference_prefix:10 -msgid "The computed reference prefix." +#: ../../content/developer/reference/upgrade_scripts.rst:97 +msgid ":file:`pre-20-something_else.py`" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:1 -msgid "Return a dict of values used to display the status of the transaction." +#: ../../content/developer/reference/upgrade_scripts.rst:98 +msgid ":file:`post-do_something.py`" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:3 -msgid "For a provider to handle transaction status display, it must override this method and return a dict of values. Provider-specific values take precedence over those of the dict of generic post-processing values." +#: ../../content/developer/reference/upgrade_scripts.rst:99 +msgid ":file:`post-something.py`" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:7 -msgid "The returned dict contains the following entries:" +#: ../../content/developer/reference/upgrade_scripts.rst:100 +msgid ":file:`end-01-migrate.py`" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:9 -msgid "`provider_code`: The code of the provider." +#: ../../content/developer/reference/upgrade_scripts.rst:101 +msgid ":file:`end-migrate.py`" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:10 -msgid "`reference`: The reference of the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:3 +msgid "Upgrade utils" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:11 -msgid "`amount`: The rounded amount of the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:5 +msgid "`Upgrade utils `_ is a library that contains helper functions to facilitate the writing of upgrade scripts. This library, used by Odoo for the upgrade scripts of standard modules, provides reliability and helps speed up the upgrade process:" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:12 -msgid "`currency_id`: The currency of the transaction, as a `res.currency` id." +#: ../../content/developer/reference/upgrade_utils.rst:9 +msgid "The helper functions help make sure the data is consistent in the database." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:13 -msgid "`state`: The transaction state: `draft`, `pending`, `authorized`, `done`, `cancel`, or `error`." +#: ../../content/developer/reference/upgrade_utils.rst:10 +msgid "It takes care of indirect references of the updated records." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:15 -msgid "`state_message`: The information message about the state." +#: ../../content/developer/reference/upgrade_utils.rst:11 +msgid "Allows calling functions and avoid writing code, saving time and reducing development risks." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:16 -msgid "`operation`: The operation of the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:12 +msgid "Helpers allow to focus on what is important for the upgrade and not think of details." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:17 -msgid "`is_post_processed`: Whether the transaction has already been post-processed." +#: ../../content/developer/reference/upgrade_utils.rst:15 +msgid "Installation" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:18 -msgid "`landing_route`: The route the user is redirected to after the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:17 +msgid "Clone the `Upgrade utils repository `_ locally and start ``odoo`` with the ``src`` directory prepended to the ``--upgrade-path`` option." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:19 -msgid "Additional provider-specific entries." +#: ../../content/developer/reference/upgrade_utils.rst:24 +msgid "On platforms where you do not manage Odoo yourself, you can install this library via `pip`:" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_post_processing_values:23 -msgid "The dict of processing values." +#: ../../content/developer/reference/upgrade_utils.rst:30 +msgid "On `Odoo.sh `_ it is recommended to add it to the :file:`requirements.txt` of the custom repository. For this, add the following line inside the file::" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_create_values:7 -msgid "The code of the provider that handled the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:36 +msgid "Using Upgrade utils" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:1 -msgid "Return a dict of provider-specific values used to process the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:38 +msgid "Once installed, the following packages are available for the upgrade scripts:" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:3 -msgid "For a provider to add its own processing values, it must overwrite this method and return a dict of provider-specific values based on the generic values returned by this method. Provider-specific values take precedence over those of the dict of generic processing values." +#: ../../content/developer/reference/upgrade_utils.rst:40 +msgid ":mod:`odoo.upgrade.util`: the helper itself." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:8 -msgid "The generic processing values of the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:41 +msgid ":mod:`odoo.upgrade.testing`: base TestCase classes." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_processing_values:9 -msgid "The dict of provider-specific processing values." +#: ../../content/developer/reference/upgrade_utils.rst:43 +msgid "To use it in upgrade scripts, simply import it:" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:1 -msgid "Return a dict of provider-specific values used to render the redirect form." +#: ../../content/developer/reference/upgrade_utils.rst:53 +msgid "Now, the helper functions are available to be called through ``util``." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:3 -msgid "For a provider to add its own rendering values, it must overwrite this method and return a dict of provider-specific values based on the processing values (provider-specific processing values included)." +#: ../../content/developer/reference/upgrade_utils.rst:56 +msgid "Util functions" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:7 -msgid "The processing values of the transaction." +#: ../../content/developer/reference/upgrade_utils.rst:58 +msgid "Upgrade utils provides many useful functions to ease the upgrade process. Here, we describe some of the most useful ones. Refer to the `util folder `_ for the comprehensive declaration of helper functions." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_specific_rendering_values:8 -msgid "The dict of provider-specific rendering values." +#: ../../content/developer/reference/upgrade_utils.rst:65 +msgid "All util functions receive :attr:`cr` as a parameter. This refers to the database cursor. Pass the one received as a parameter in :meth:`migrate`." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:1 -msgid "Find the transaction based on the notification data." +#: ../../content/developer/reference/upgrade_utils.rst:74 +msgid "Remove a field and its references from the database." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:3 -msgid "For a provider to handle transaction processing, it must overwrite this method and return the transaction matching the notification data." +#: ../../content/developer/reference/upgrade_utils.rst:76 +msgid "model name of the field to remove" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:7 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:4 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:11 -msgid "The notification data sent by the provider." +#: ../../content/developer/reference/upgrade_utils.rst:77 +msgid "name of the field to remove" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:8 -msgid "The transaction, if found." +#: ../../content/developer/reference/upgrade_utils.rst:78 +msgid "whether the field's column and inheritance are removed in ``CASCADE``" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._get_tx_from_notification_data:9 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:6 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:10 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:5 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:5 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:5 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:5 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:5 -msgid "recordset of `payment.transaction`" +#: ../../content/developer/reference/upgrade_utils.rst:79 +msgid "whether the field's column is dropped" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:1 -msgid "Match the transaction with the notification data, update its state and return it." +#: ../../content/developer/reference/upgrade_utils.rst:80 +#: ../../content/developer/reference/upgrade_utils.rst:97 +#: ../../content/developer/reference/upgrade_utils.rst:109 +msgid "list of models whose field's inheritance is skipped. Use ``\"*\"`` to skip all inheritances" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._handle_notification_data:5 -msgid "The transaction." +#: ../../content/developer/reference/upgrade_utils.rst:86 +msgid "Rename a field and its references from ``old`` to ``new``." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:1 -msgid "Update the transaction state and the provider reference based on the notification data." +#: ../../content/developer/reference/upgrade_utils.rst:88 +msgid "model name of the field to rename" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:3 -msgid "This method should usually not be called directly. The correct method to call upon receiving notification data is :meth:`_handle_notification_data`." +#: ../../content/developer/reference/upgrade_utils.rst:89 +msgid "current name od the field to rename" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._process_notification_data:6 -msgid "For a provider to handle transaction processing, it must overwrite this method and process the notification data." +#: ../../content/developer/reference/upgrade_utils.rst:90 +msgid "new name od the field to rename" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_capture_request:1 -msgid "Request the provider handling the transaction to capture the payment." +#: ../../content/developer/reference/upgrade_utils.rst:91 +msgid "whether all references of field ``old`` to ``new`` are replaced in: ``ir_filters``, ``ir_exports_line``, ``ir_act_server``, ``mail_alias``, ``ir_ui_view_custom (dashboard)``, ``domains (using \"domain_adapter\")``, ``related fields``" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_capture_request:3 -msgid "For a provider to support authorization, it must override this method and make an API request to capture the payment." +#: ../../content/developer/reference/upgrade_utils.rst:94 +msgid "function that takes three arguments and returns a domain that substitutes the original leaf: ``(leaf: Tuple[str,str,Any], in_or: bool, negated: bool)`` -> ``List[Union[str,Tuple[str,str,Any]]]``" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:1 -msgid "Request the provider handling the transaction to make the payment." +#: ../../content/developer/reference/upgrade_utils.rst:103 +msgid "Move a field's reference in ``ir_model_data`` table from ``old_module`` to ``new_module``." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:3 -msgid "This method is exclusively used to make payments by token, which correspond to both the `online_token` and the `offline` transaction's `operation` field." +#: ../../content/developer/reference/upgrade_utils.rst:105 +msgid "model name of the field to move" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_payment_request:6 -msgid "For a provider to support tokenization, it must override this method and make an API request to make a payment." +#: ../../content/developer/reference/upgrade_utils.rst:106 +msgid "name of the field to move" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:1 -msgid "Request the provider handling the transaction to refund it." +#: ../../content/developer/reference/upgrade_utils.rst:107 +msgid "current module name of the field to move" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:3 -msgid "For a provider to support refunds, it must override this method and make an API request to make a refund." +#: ../../content/developer/reference/upgrade_utils.rst:108 +msgid "new module name of the field to move" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:8 -msgid "The amount to be refunded." +#: ../../content/developer/reference/upgrade_utils.rst:118 +msgid "Remove a model and its references from the database." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_refund_request:9 -msgid "The refund transaction created to process the refund request." +#: ../../content/developer/reference/upgrade_utils.rst:120 +msgid "name of the model to remove" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_void_request:1 -msgid "Request the provider handling the transaction to void the payment." +#: ../../content/developer/reference/upgrade_utils.rst:121 +msgid "whether the model's table is dropped" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._send_void_request:3 -msgid "For a provider to support authorization, it must override this method and make an API request to void the payment." +#: ../../content/developer/reference/upgrade_utils.rst:122 +msgid "list of m2m tables ignored to remove. Use ``\"*\"`` to ignore all m2m tables" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:1 -msgid "Update the transactions' state to `authorized`." +#: ../../content/developer/reference/upgrade_utils.rst:128 +msgid "Rename a model and its references from ``old`` to ``new``." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:3 -msgid "The reason for setting the transactions in the state `authorized`." +#: ../../content/developer/reference/upgrade_utils.rst:130 +msgid "current name of the model to rename" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_authorized:4 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:4 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:4 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:4 -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:4 -msgid "The updated transactions." +#: ../../content/developer/reference/upgrade_utils.rst:131 +msgid "new name of the model to rename" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:1 -msgid "Update the transactions' state to `cancel`." +#: ../../content/developer/reference/upgrade_utils.rst:132 +msgid "whether the model's table is renamed" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_canceled:3 -msgid "The reason for setting the transactions in the state `cancel`." +#: ../../content/developer/reference/upgrade_utils.rst:137 +msgid "Merge the references from ``source`` model into ``target`` model and removes ``source`` model and its references. By default, only the fields with the same name in both models are mapped." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:1 -msgid "Update the transactions' state to `done`." +#: ../../content/developer/reference/upgrade_utils.rst:141 +msgid "This function does not move the records from ``source`` model to ``target`` model." msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_done:3 -msgid "The reason for setting the transactions in the state `done`." +#: ../../content/developer/reference/upgrade_utils.rst:143 +msgid "name of the source model of the merge" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:1 -msgid "Update the transactions' state to `error`." +#: ../../content/developer/reference/upgrade_utils.rst:144 +msgid "name of the destination model of the merge" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_error:3 -msgid "The reason for setting the transactions in the state `error`." +#: ../../content/developer/reference/upgrade_utils.rst:145 +msgid "whether the source model's table is dropped" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:1 -msgid "Update the transactions' state to `pending`." +#: ../../content/developer/reference/upgrade_utils.rst:146 +msgid "Dictionary ``{\"source_model_field_1\": \"target_model_field_1\", ...}`` mapping fields with different names on both models" msgstr "" -#: ../../../odoo/addons/payment/models/payment_transaction.py:docstring of odoo.addons.payment.models.payment_transaction.PaymentTransaction._set_pending:3 -msgid "The reason for setting the transactions in the state `pending`." +#: ../../content/developer/reference/upgrade_utils.rst:148 +msgid "list of m2m tables ignored to remove from source model." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:151 +#: ../../content/developer/tutorials/unit_tests.rst:167 +msgid "Modules" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:156 +msgid "Uninstall and remove a module and its references from the database." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:158 +msgid "name of the module to remove" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:163 +msgid "Rename a module and its references from ``old`` to ``new``." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:165 +msgid "current name of the module to rename" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:166 +msgid "new name of the module to rename" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:171 +msgid "Move all references of module ``old`` into module ``into``." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:173 +msgid "name of the source module of the merge" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:174 +msgid "ame of the destination module of the merge" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:175 +msgid "whether the dependencies of modules that depends on ``old`` are updated" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:179 +msgid "ORM" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:184 +msgid "Create a new environment from the cursor." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:187 +msgid "This function does NOT empty the cache maintained on the cursor for superuser with an empty environment. A call to `invalidate_cache` will most probably be necessary every time you directly modify something in database." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:191 +msgid "The new environment" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:197 +msgid "Recompute field values. Possible strategies to process the recomputation:" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:199 +msgid "``flush``: Flush the recomputation when it's finished" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:200 +msgid "``commit``: Commit the recomputation when it's finished" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:201 +msgid "``auto``: The function chooses the best alternative based on the number of records to recompute and the fields traceability" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:204 +msgid "model name of the field(s) to recompute" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:205 +msgid "list of field names to recompute" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:206 +msgid "list of record IDs to recompute" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:207 +msgid "Logger used to print the progress of the function" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:209 +msgid "size of the chunk used to split the records for better processing" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:210 +msgid "strategy used to process the recomputation" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:213 +msgid "Records" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:218 +msgid "Return the id corresponding to the given :term:`xml_id `." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:220 +msgid "Record xml_id, under the format ````" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:221 +msgid "Found record id, if any" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:222 +msgid "int or `None`" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:227 +msgid "Remove a record and its references corresponding to the given :term:`xml_id `." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:230 +#: ../../content/developer/reference/upgrade_utils.rst:254 +#: ../../content/developer/reference/upgrade_utils.rst:274 +msgid "record xml_id, under the format ````" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:235 +msgid "Rename the :term:`external Identifier` of a record. Possible actions to take if the external Identifier already exists on the database:" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:238 +msgid "``fail``: raise ``MigrationError`` and prevent renaming" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:239 +msgid "``merge``: renames the external Identifier and removes the old one" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:241 +msgid "current xml_id of the record, under the format ````" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:242 +msgid "new xml_id of the record, under the format ````" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:243 +msgid "value to set on the ir_model_data record ``noupdate`` field" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:244 +msgid "action to take if the xml_id already exists" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:249 +msgid "Match a record with an xmlid by creating or updating the external identifier." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:251 +msgid "This function is useful when migrating in-database records into a custom module, to create the record's xmlid before the module is updated and avoid duplication." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:255 +msgid "model name of the record" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:256 +msgid "Dictionary ``{\"fieldname_1\": \"value_1\", ...}`` mapping fields and values to search for the record to update. For example: .. code-block:: python values = {\"id\": 123} values = {\"name\": \"INV/2024/0001\", company_id: 1}" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:256 +msgid "Dictionary ``{\"fieldname_1\": \"value_1\", ...}`` mapping fields and values to search for the record to update. For example:" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:264 +msgid "the :term:`xml_id ` of the record." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:270 +msgid "Update a record based on its definition in the :doc:`/developer/reference/backend/data`." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:272 +msgid "Useful to update ``noupdate`` records, in order to reset them for the upgraded version." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:275 +msgid "whether the metadata before the record update is kept" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:276 +msgid "whether the record is created if it does not exist" +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:277 +msgid "name of the module from which to update the record. Useful when the record is rewritten in another module." +msgstr "" + +#: ../../content/developer/reference/upgrade_utils.rst:279 +msgid "set of field names whose translations get reset" msgstr "" #: ../../content/developer/reference/user_interface.rst:5 @@ -29913,11 +25363,23 @@ msgstr "" msgid "bedrooms" msgstr "" +#: ../../content/developer/tutorials/define_module_data.rst:183 +msgid "6" +msgstr "" + +#: ../../content/developer/tutorials/define_module_data.rst:183 +msgid "1" +msgstr "" + #: ../../content/developer/tutorials/define_module_data.rst:184 #: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:196 msgid "living_area" msgstr "" +#: ../../content/developer/tutorials/define_module_data.rst:184 +msgid "100" +msgstr "" + #: ../../content/developer/tutorials/define_module_data.rst:184 msgid "10" msgstr "" @@ -29936,6 +25398,10 @@ msgstr "" msgid "garage" msgstr "" +#: ../../content/developer/tutorials/define_module_data.rst:186 +msgid "False" +msgstr "" + #: ../../content/developer/tutorials/define_module_data.rst:187 #: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:199 msgid "garden" @@ -31575,6 +27041,15 @@ msgstr "" msgid "Add the following attributes:" msgstr "" +#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:262 +#: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:263 +#: ../../content/developer/tutorials/getting_started/08_relations.rst:73 +#: ../../content/developer/tutorials/getting_started/08_relations.rst:180 +#: ../../content/developer/tutorials/getting_started/08_relations.rst:245 +#: ../../content/developer/tutorials/getting_started/08_relations.rst:246 +msgid "required" +msgstr "" + #: ../../content/developer/tutorials/getting_started/04_basicmodel.rst:266 msgid "After restarting the server, both fields should be not nullable." msgstr "" @@ -32331,7 +27806,7 @@ msgid "the customer who bought the property" msgstr "" #: ../../content/developer/tutorials/getting_started/08_relations.rst:16 -msgid "the real restate agent who sold the property" +msgid "the real estate agent who sold the property" msgstr "" #: ../../content/developer/tutorials/getting_started/08_relations.rst:17 @@ -33358,6 +28833,10 @@ msgstr "" msgid "Add the following field:" msgstr "" +#: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:217 +msgid "Sequence" +msgstr "" + #: ../../content/developer/tutorials/getting_started/12_sprinkles.rst:220 msgid "Add the sequence to the ``estate.property.type`` list view with the correct widget." msgstr "" @@ -36429,10 +31908,6 @@ msgstr "" msgid "Always check that the issue does not come from you before asking the merge bot to retry: rebase your branch on the target and rerun the tests locally." msgstr "" -#: ../../content/developer/tutorials/unit_tests.rst:167 -msgid "Modules" -msgstr "" - #: ../../content/developer/tutorials/unit_tests.rst:169 msgid "Because Odoo is modular, the tests need to be also modular. This means tests are defined in the module that adds the functionality you are adding in, and tests cannot depend on functionality coming from modules your module doesn't depend on." msgstr "" diff --git a/locale/sources/finance.pot b/locale/sources/finance.pot index 12c985c92..e81903caa 100644 --- a/locale/sources/finance.pot +++ b/locale/sources/finance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -182,7 +182,7 @@ msgstr "" #: ../../content/applications/finance/accounting.rst:149 #: ../../content/applications/finance/fiscal_localizations/argentina.rst:138 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:138 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:325 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:334 msgid "Partner" msgstr "" @@ -396,7 +396,6 @@ msgstr "" #: ../../content/applications/finance/accounting/bank/bank_synchronization/saltedge.rst:22 #: ../../content/applications/finance/accounting/bank/cash_register.rst:9 #: ../../content/applications/finance/accounting/bank/foreign_currency.rst:16 -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:69 #: ../../content/applications/finance/accounting/customer_invoices/cash_discounts.rst:23 #: ../../content/applications/finance/accounting/customer_invoices/cash_rounding.rst:14 #: ../../content/applications/finance/accounting/customer_invoices/customer_addresses.rst:13 @@ -443,21 +442,21 @@ msgstr "" #: ../../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/peru.rst:34 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:700 #: ../../content/applications/finance/fiscal_localizations/philippines.rst:6 #: ../../content/applications/finance/fiscal_localizations/romania.rst:6 #: ../../content/applications/finance/fiscal_localizations/romania.rst:42 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:6 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:6 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:6 -#: ../../content/applications/finance/payment_providers.rst:302 #: ../../content/applications/finance/payment_providers/adyen.rst:17 #: ../../content/applications/finance/payment_providers/alipay.rst:12 #: ../../content/applications/finance/payment_providers/authorize.rst:9 #: ../../content/applications/finance/payment_providers/authorize.rst:60 #: ../../content/applications/finance/payment_providers/demo.rst:9 #: ../../content/applications/finance/payment_providers/mollie.rst:8 -#: ../../content/applications/finance/payment_providers/paypal.rst:140 +#: ../../content/applications/finance/payment_providers/paypal.rst:141 #: ../../content/applications/finance/payment_providers/sips.rst:9 #: ../../content/applications/finance/payment_providers/wire_transfer.rst:30 msgid "Configuration" @@ -1342,7 +1341,7 @@ msgid "`Odoo Tutorials: Bank reconciliation ` are also available in the resulting entry section." +msgid "The resulting entry section on the top right displays the selected bank transaction matched with the counterpart entries and includes any remaining debits or credits. In this section, you can validate the reconciliation or mark it as :guilabel:`To Check`. Any :ref:`reconciliation model buttons ` are also available in the resulting entry section." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:59 @@ -1404,7 +1403,7 @@ msgid "Reconcile transactions" msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:61 -msgid "Transactions can be matched automatically with the use of :doc:`reconciliation models `, or they can be matched with :ref:`existing entries `, :ref:`batch payments `, :ref:`manual operations `, and :ref:`reconciliation model buttons `." +msgid "Transactions can be matched automatically with the use of :doc:`reconciliation models `, or they can be matched with :ref:`existing entries `, :ref:`batch payments `, :ref:`manual operations `, and :ref:`reconciliation model buttons `." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:67 @@ -1412,7 +1411,7 @@ msgid "Select a transaction among unmatched bank transactions." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:68 -msgid "Define the counterpart. There are several options for defining a counterpart, including :ref:`matching existing entries `, :ref:`manual operations `, :ref:`batch payments `, and :ref:`reconciliation model buttons `." +msgid "Define the counterpart. There are several options for defining a counterpart, including :ref:`matching existing entries `, :ref:`manual operations `, :ref:`batch payments `, and :ref:`reconciliation model buttons `." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:72 @@ -1436,7 +1435,7 @@ msgid "Match existing entries" msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:92 -msgid "This tab contains matching entries Odoo automatically pre-selects according to the reconciliation models. The entry order is based on :ref:`reconciliation models `, with suggested entries appearing first." +msgid "This tab contains matching entries Odoo automatically pre-selects according to the reconciliation models. The entry order is based on :doc:`reconciliation models `, with suggested entries appearing first." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:97 @@ -1467,162 +1466,138 @@ msgstr "" msgid "Click on fully paid to manually set an invoice as entirely paid." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:131 +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:132 msgid "Reconciliation model buttons" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation.rst:133 -msgid "Use a :ref:`reconciliation model button ` for manual operations that are frequently used. These custom buttons allow you to quickly reconcile bank transactions manually and can also be used in combination with existing entries." +#: ../../content/applications/finance/accounting/bank/reconciliation.rst:134 +msgid "Use a :doc:`reconciliation model ` button for manual operations that are frequently used. These custom buttons allow you to quickly reconcile bank transactions manually and can also be used in combination with existing entries." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:3 -msgid "Reconciliation Models" +msgid "Reconciliation models" msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:5 -msgid "Once the bank statements are correctly imported, it is essential to *reconcile* the records properly and ensure all *Journal Entries* are balanced and in agreement. To ease and speed up the reconciliation process, you can configure **Reconciliation Models**, which are particularly useful with recurrent entries such as bank fees." +msgid "Reconciliation models are used to automate the :doc:`bank reconciliation ` process, which is especially handy when dealing with recurring entries like bank fees. Reconciliation models can also be helpful in handling :doc:`cash discounts <../customer_invoices/cash_discounts>`." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:10 -#: ../../content/applications/finance/accounting/payments/batch_sdd.rst:68 -msgid "Todo" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:10 -msgid "Add a link to the Reconciliation process in the paragraph above, once the doc will have been updated." +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:9 +msgid "Each model is created based on a :ref:`model type ` and :guilabel:`bank transaction conditions`." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:14 -msgid "Reconciliation Models are also useful to handle *Cash Discounts*. Please refer to :doc:`this documentation <../customer_invoices/cash_discounts>` for more information." +msgid "`Odoo Tutorials: Reconciliation models `_" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:19 +msgid "Reconciliation model types" msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:21 -msgid "Types of Reconciliation Models" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:23 -msgid "There are three types of Reconciliation Models:" +msgid "The reconciliation models are available by going to :menuselection:`Accounting --> Configuration --> Banks: Reconciliation Models`. For each reconciliation model, a :guilabel:`Type` must be set. Three types of models exist:" msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:25 -msgid ":ref:`Write-off Button `" +msgid ":guilabel:`Button to generate counterpart entry`: a button is created in the resulting entry section of the bank reconciliation view. If clicked, this button generates a counterpart entry to reconcile with the active transaction based on the rules set in the model. The rules specified in the model determine the counterpart entry's account(s), amount(s), label(s), and analytic distribution;" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:26 -msgid ":ref:`Suggestion of counterpart values `" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:27 -msgid ":ref:`Match existing invoices/bills `" +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:30 +msgid ":guilabel:`Rule to suggest counterpart entry`: used for recurring transactions to match the transaction to a new entry based on conditions that must match the information on the transaction;" msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:32 -msgid "Manually create a write-off on clicked button" +msgid ":guilabel:`Rule to match invoices/bills`: used for recurring transactions to match the transaction to existing invoices, bills, or payments based on conditions that must match the information on the transaction." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:34 -msgid "When you are reconciling an entry with an *Open Balance*, you can use the buttons available under the *Manual Operations* tab to pre-fill all the values automatically, before validating the reconciliation. Each button is a different Reconciliation Model." +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:37 +msgid "Default reconciliation models" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:39 +msgid "In Odoo, different models are available by default depending on the company's fiscal localization. These can be updated if needed. Users can also create their own reconciliation models by clicking :guilabel:`New`." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:44 +msgid "If a record matches with several reconciliation models, the first one in the *sequence* of models is applied. You can rearrange the order by dragging and dropping the handle next to the name." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:0 +msgid "Rearrange the sequence of models in the list view." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:51 +msgid "Invoices/Bills perfect match" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:53 +msgid "This model should be at the top of the *sequence* of models, as it enables Odoo to suggest matching existing invoices or bills with a bank transaction based on set conditions." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 -msgid "Example of a Reconciliation Model with a write-off button in Odoo Accounting" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:45 -msgid "Suggest counterpart values" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:47 -msgid "This type of Reconciliation Model suggests immediately counterpart values that only need to be validated. This automation is based on a set of rules defined in the reconciliation model." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 -msgid "Example of a Reconciliation Model that suggests counterpart values in Odoo Accounting" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:57 -msgid "Match existing invoices/bills" +msgid "Set rules to trigger the reconciliation." msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:59 -msgid "This type of Reconciliation Model automatically selects the right Customer Invoice or Vendor Bill that matches the payment. All that is left to do is to validate the entry. This automation is based on a set of rules defined in the reconciliation model." +msgid "Odoo automatically reconciles the payment when the :guilabel:`Auto-validate` option is selected, and the model conditions are perfectly met. In this case, it expects to find on the bank statement's line the invoice/payment's reference (as :guilabel:`Label` is selected) and the partner's name (as :guilabel:`Partner is set` is selected) to suggest the correct counterpart entry and reconcile the payment automatically." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 -msgid "Example of a Reconciliation Model that matches existing invoices and bills automatically\n" -"in Odoo Accounting" +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:66 +msgid "Invoices/Bills partial match if underpaid" msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:71 -msgid "To manage or create new **Reconciliation Models**, go to :menuselection:`Accounting --> Reconciliation --> Reconciliation Models`. Alternatively, you can also open this menu from the Accounting Overview, by going to your Bank Journal card, clicking on the three little dots, and then on *Reconciliation Models*." +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:68 +msgid "This model suggests a customer invoice or vendor bill that partially matches the payment when the amount received is slightly lower than the invoice amount, for example in the case of **cash discounts**. The difference is reconciled with the account indicated in the :guilabel:`counterpart entries` tab." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 -msgid "Open the Reconciliation Model menu from the overview dashboard in Odoo Accounting" +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:73 +msgid "The reconciliation model :guilabel:`Type` is :guilabel:`Rule to match invoices/bills`, and the :guilabel:`Payment tolerance` should be set." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:81 -msgid "The first entry, named *Invoices Matching Rule*, is the one responsible for the current matching of invoices and bills. Therefore, it is advised to leave it at the top of the list and not to delete it." +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:80 +msgid "The :guilabel:`Payment tolerance` is only applicable to lower payments. It is disregarded when an overpayment is received." msgstr "" -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:85 -msgid "Open the model you want to modify, or click on *Create* to create a new one, then fill out the form." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:88 -#: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:41 -#: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:56 -msgid "Type" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:90 -msgid "See :ref:`above ` for an explanation about the different types of Reconciliation Models." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:94 -msgid "If the *Documents* application is installed on your database, an additional **Activity type** field appears when *To check* is ticked. Selecting the value *Reconciliation request* implies that, whenever you use this model, a *Request Document* window pops up to request a document from a user." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:100 -msgid "Conditions on Bank Statement Line" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:102 -msgid "Define here all the conditions that are required for a Reconciliation Model to be applied." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:105 -msgid "If a record matches with several Reconciliation Models, the first one in the *sequence* of models will be applied. The sequence is simply the order of the models in the *list view*. They can be rearranged by dragging-and-dropping the handle next to the name." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 -msgid "Conditions for the Reconciliation Model to be applied in Odoo Accounting" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:114 -msgid "Counterpart Values" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:116 -msgid "This section comprises the values that are applied by the Reconciliation Model." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:118 -msgid "If the value to reconcile needs to be written-off in two separate accounts, click on *Add a second line*." -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 -msgid "Counterparts values of a Reconciliation Model in Odoo Accounting" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:127 -msgid ":doc:`reconciliation`" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:129 +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:84 msgid ":doc:`../customer_invoices/cash_discounts`" msgstr "" +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:87 +msgid "Line with bank fees" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:89 +msgid "This model suggests a counterpart entry according to the rules set in the model. In this case, the reconciliation model :guilabel:`Type` is :guilabel:`Rule to suggest counterpart entry`, and the :guilabel:`Label` can be used for example, to identify the information referring to the :guilabel:`Bank fees` in the label of the transaction." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:98 +msgid "`Regular expressions `_, often abbreviated as **Regex**, can be used in Odoo in various ways to search, validate, and manipulate data within the system. Regex can be powerful but also complex, so it's essential to use it judiciously and with a good understanding of the patterns you're working with." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:103 +msgid "To use regular expressions in your reconciliation models, set the :guilabel:`Transaction Type` to :guilabel:`Match Regex` and add your expression. Odoo automatically retrieves the transactions that match your Regex expression and the conditions specified in your model." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:0 +msgid "Using Regex in Odoo" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:111 +msgid "Partner mapping" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:113 +msgid "Partner mapping allows you to establish rules for automatically matching transactions to the correct partner account, saving time and reducing the risk of errors that can occur during manual reconciliation. For example, you can create a partner mapping rule for incoming payments with specific reference numbers or keywords in the transaction description. When an incoming payment meets these criteria, Odoo automatically maps it to the corresponding customer's account." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:119 +msgid "To create a partner mapping rule, go to the :guilabel:`Partner Mapping` tab and enter the :guilabel:`Find Text in Label`, :guilabel:`Find Text in Notes`, and :guilabel:`Partner`." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/reconciliation_models.rst:-1 +msgid "defining partner mapping" +msgstr "" + #: ../../content/applications/finance/accounting/bank/transactions.rst:5 msgid "Importing transactions from your bank statements allows keeping track of bank account transactions and reconciling them with the ones recorded in your accounting." msgstr "" @@ -1943,8 +1918,8 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:374 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:192 #: ../../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/peru.rst:78 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:255 #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:124 #: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:116 #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:51 @@ -3597,7 +3572,7 @@ msgid "Product Sales" msgstr "" #: ../../content/applications/finance/accounting/customer_invoices/payment_terms.rst:138 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:144 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:151 msgid "1000" msgstr "" @@ -4719,6 +4694,11 @@ msgstr "" 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:41 +#: ../../content/applications/finance/fiscal_localizations/united_arab_emirates.rst:56 +msgid "Type" +msgstr "" + #: ../../content/applications/finance/accounting/get_started/chart_of_accounts.rst:43 msgid "Correctly configuring the **account type** is critical as it serves multiple purposes:" msgstr "" @@ -5381,7 +5361,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:276 #: ../../content/applications/finance/fiscal_localizations/france.rst:194 #: ../../content/applications/finance/fiscal_localizations/india.rst:101 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:299 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:308 msgid "Journals" msgstr "" @@ -5818,6 +5798,10 @@ msgstr "" msgid "Customers using SDD as payment method get prompted to add their IBAN, email address, and to sign their SEPA Direct Debit mandate." msgstr "" +#: ../../content/applications/finance/accounting/payments/batch_sdd.rst:68 +msgid "Todo" +msgstr "" + #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:69 msgid "Add link to future **Payment Provider** documentation." msgstr "" @@ -6369,6 +6353,7 @@ msgid "Bank Account (BANK B)" msgstr "" #: ../../content/applications/finance/accounting/payments/online.rst:5 +#: ../../content/applications/finance/payment_providers.rst:5 msgid "Online payments" msgstr "" @@ -6381,11 +6366,11 @@ msgid "Payment provider choice after having clicked on \"Pay Now\"" msgstr "" #: ../../content/applications/finance/accounting/payments/online.rst:23 -msgid "Make sure your :ref:`Payment Providers are correctly configured `." +msgid "Make sure your :doc:`payment providers are correctly configured <../../payment_providers>`." msgstr "" #: ../../content/applications/finance/accounting/payments/online.rst:26 -msgid "By default, \":doc:`Wire Transfer `\" is the only Payment Provider activated, but you still have to fill out the payment details." +msgid "By default, \":doc:`Wire Transfer `\" is the only payment provider activated, but you still have to fill out the payment details." msgstr "" #: ../../content/applications/finance/accounting/payments/online.rst:29 @@ -8822,7 +8807,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:9 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:6 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:27 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:6 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:11 msgid "Introduction" msgstr "" @@ -11730,7 +11715,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:62 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:70 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:137 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:47 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:52 msgid "Configure your company" msgstr "" @@ -12078,7 +12063,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/argentina.rst:330 #: ../../content/applications/finance/fiscal_localizations/chile.rst:389 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:351 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:360 msgid "Usage and testing" msgstr "" @@ -13418,7 +13403,7 @@ msgid "The Odoo POS system is certified for the major versions of databases host msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:344 -#: ../../content/applications/finance/payment_providers/stripe.rst:17 +#: ../../content/applications/finance/payment_providers/stripe.rst:14 msgid "Odoo Online" msgstr "" @@ -13891,6 +13876,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/mexico.rst:251 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:703 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:820 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:795 msgid "Products" msgstr "" @@ -14447,7 +14433,7 @@ msgid "Before going live, it is recommended to archive or remove all emails rela msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:197 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:219 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:226 msgid "Certificate" msgstr "" @@ -14477,7 +14463,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:216 #: ../../content/applications/finance/fiscal_localizations/mexico.rst:565 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:230 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:237 msgid "Multicurrency" msgstr "" @@ -14661,7 +14647,7 @@ msgid "Default Account Payable" msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:366 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:75 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:80 msgid "Default Account Receivable" msgstr "" @@ -14881,6 +14867,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:549 #: ../../content/applications/finance/fiscal_localizations/colombia.rst:403 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:830 msgid "Common errors" msgstr "" @@ -15825,7 +15812,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/colombia.rst:306 #: ../../content/applications/finance/fiscal_localizations/india.rst:116 #: ../../content/applications/finance/fiscal_localizations/india.rst:257 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:389 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:398 msgid "Invoice validation" msgstr "" @@ -21450,31 +21437,31 @@ msgstr "" msgid "Peru" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:8 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:13 msgid "The Peruvian localization has been improved and extended, in this version the next modules are available:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:11 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:16 msgid "**l10n_pe**: Adds accounting features for the Peruvian localization, which represent the minimal configuration required for a company to operate in Peru and under the SUNAT regulations and guidelines. The main elements included in this module are: Chart of account, taxes, document types." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:16 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:21 msgid "**l10n_pe_edi**: includes all technical and functional requirements to generate and validate Electronic Invoice, based on the SUNAT specification to create and process valid electronic documents, for more technical detail you can access the `SUNAT EDI specifications `_, that keeps track of new changes and updates. The features of this module are based on the resolutions published on the `SUNAT Legislation `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:25 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:30 msgid "`App Tour - Localización de Peru `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:26 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:31 msgid "`Smart Tutorial - Localización de Peru `_" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:32 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:37 msgid "Install the Peruvian localization modules" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:34 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:39 msgid "Go to *Apps* and search for Peru, then click Install in the module Peru EDI. This module has a dependency with *Peru - Accounting*. In case this last one is not installed, Odoo installs it automatically within EDI." msgstr "" @@ -21482,11 +21469,11 @@ msgstr "" msgid "The \"Module\" filter is set on \"Peru\"" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:43 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:48 msgid "When you install a database from scratch selecting Peru as country, Odoo automatically installs the base module: Peru - Accounting." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:49 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:54 msgid "In addition to the basic information in the Company, we need to set Peru as the Country, this is essential for the Electronic Invoice to work properly. The field **Address Type Code** represents the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor Registration):" msgstr "" @@ -21494,95 +21481,95 @@ msgstr "" msgid "Company data for Peru including RUC and Address type code" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:60 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:65 msgid "In case the Address type code is unknown, you can set it as the default value: 0000. Be aware that if an incorrect value is entered, the Electronic invoice validation might have errors." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:64 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:69 msgid "The NIF should be set following the RUC format." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:68 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:73 msgid "Chart of Account" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:70 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:75 msgid "The chart of accounts is installed by default as part of the set of data included in the localization module, the accounts are mapped automatically in:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:74 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:79 msgid "Default Account Payable." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:77 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:82 msgid "The chart of accounts for Peru is based on the most updated version of the :abbr:`PCGE (Plan Contable General Empresarial)`, which is grouped in several categories and is compatible with NIIF accounting." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:82 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:89 msgid "Accounting Settings" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:84 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:91 msgid "Once the modules are installed and the basic information of your company is set, you need to configure the elements required for Electronic Invoice. For this, go to :menuselection:`Accounting --> Settings --> Peruvian Localization`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:89 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:96 msgid "Basic Concepts" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:91 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:98 msgid "Here are some terms that are essential on the Peruvian localization:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:93 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:100 msgid "**EDI**: Electronic Data Interchange, which in this refers to the Electronic Invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:94 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:101 msgid "**SUNAT**: is the organization that enforces customs and taxation in Peru." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:95 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:102 msgid "**OSE**: Electronic Service Operator, `OSE SUNAT's definition `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:97 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:104 msgid "**CDR**: Receipt certificate (Constancia de Recepción)." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:98 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:105 msgid "**SOL Credentials**: Sunat Operaciones en Línea. User and password are provided by the SUNAT and grant access to Online Operations systems." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:103 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:110 msgid "Signature Provider" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:105 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:112 msgid "As part of the requirements for Electronic Invoice in Peru, your company needs to select a Signature Provider that will take care of the document signing process and manage the SUNAT validation response. Odoo offers three options:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:109 #: ../../content/applications/finance/fiscal_localizations/peru.rst:116 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:123 msgid "IAP (Odoo In-App Purchase)" msgstr "" #: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:110 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:174 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:117 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:181 msgid "Digiflow" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:111 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:190 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:118 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:197 msgid "SUNAT" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:113 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:120 msgid "Please refer to the sections below to check the details and considerations for each option." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:118 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:125 msgid "This is the default and the suggested option, considering the digital ceritificate is included as part of the service." msgstr "" @@ -21590,140 +21577,140 @@ msgstr "" msgid "IAP option as signature providers" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:126 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:133 msgid "What is the IAP?" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:128 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:135 msgid "This is a signature service offered directly by Odoo, the service takes care of the next process:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:130 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:137 msgid "Provides the Electronic invoice Certificate, so you do not need to acquire one by yourself." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:131 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:138 msgid "Send the document to the OSE, in this case, Digiflow." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:132 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:139 msgid "Receive the OSE validation and CDR." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:135 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:142 msgid "How does it work?" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:137 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:144 msgid "The service requires Credits in order to process your electronic documents. Odoo provides 1000 credits for free in new databases. After these credits are consumed, you need to buy a Credit Package." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:142 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:149 msgid "Credits" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:142 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:149 msgid "EUR" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:144 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:151 msgid "22" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:146 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:153 msgid "5000" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:146 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:153 msgid "110" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:148 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:155 msgid "10,000" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:148 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:155 msgid "220" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:150 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:157 msgid "20,000" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:150 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:157 msgid "440" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:153 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:160 msgid "The credits are consumed per each document that is sent to the OSE." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:156 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:163 msgid "If you have a validation error and the document needs to be sent one more time, one additional credit will be charged. Therefore, it is paramount that you verify all information is correct before sending your document to the OSE." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:161 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:168 msgid "What do you need to do?" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:163 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:170 msgid "In Odoo, once your enterprise contract is activated and you start working in Production, you need to buy credits once the first 1000 are consumed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:165 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:172 msgid "As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your company on the SUNAT website. This is a simple process. For more information, please check `OSE Affiliation guide `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:169 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:176 msgid "Register Digiflow as the authorized PSE, please check `PSE Affiliation guide `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:176 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:183 msgid "This option can be used as an alternative, instead of using the IAP services you can send your document validation directly to Digiflow. In this case you need to consider:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:179 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:196 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:186 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:203 msgid "Buy your own digital Certificate: For more detail regarding the official vendor list, and the process to acquire it, please refer to `SUNAT Digital Ceritifcates `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:182 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:189 msgid "Sign a service agreement directly with `Digiflow `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:183 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:190 msgid "Provide your SOL credentials." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:192 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:199 msgid "In case your company wants to sign directly with the SUNAT, it is possible to select this option in your configuration. In this case you need to consider: - Get the SUNAT Certification process accepted." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:200 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:207 msgid "Provide you SOL credentials." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:203 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:210 msgid "When using direct connection with the SUNAT, the SOL User must be set with the Company RUT + User Id. Example: ``20121888549JOHNSMITH``" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:207 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:214 msgid "Testing environment" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:209 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:216 msgid "Odoo provides a testing environment that can be activated before your company goes into production." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:211 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:218 msgid "When using the testing environment and the IAP signature, you don’t need to buy testing credits for your transactions as all of them are validated by default." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:215 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:222 msgid "By default the databases are set to work on production, make sure to enable the testing mode if needed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:221 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:228 msgid "In case you don’t use Odoo IAP, in order to generate the electronic invoice signature, a digital certificate with the extension ``.pfx`` is required. Proceed to this section and load your file and password." msgstr "" @@ -21731,7 +21718,7 @@ msgstr "" msgid "EDI Certificate wizard" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:232 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:239 msgid "The official currency exchange rate in Peru is provided by the Bank of Peru. Odoo can connect directly to its services and get the currency rate either automatically or manually." msgstr "" @@ -21739,15 +21726,15 @@ msgstr "" msgid "Bank of Peru is displayed in Multicurrency Service option" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:239 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:246 msgid "Please refer to the next section in our documentation for more information about :doc:`multicurrencies <../accounting/get_started/multi_currency>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:243 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:252 msgid "Configure Master data" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:248 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:257 msgid "As part of the localization module the taxes are created automatically with their related financial account and electronic invoice configuration." msgstr "" @@ -21755,11 +21742,11 @@ msgstr "" msgid "List of default taxes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:256 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:265 msgid "EDI Configuration" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:258 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:267 msgid "As part of the taxes configuration, there are three new fields required for electronic invoice, the taxes created by default have this data included, but in case you create new taxes make sure you fill in the fields:" msgstr "" @@ -21767,35 +21754,35 @@ msgstr "" msgid "Taxes EDI data for Peru" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:268 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:277 msgid "Fiscal Positions" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:270 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:279 msgid "There are two main fiscal positions included by default when you install the Peruvian localization." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:272 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:281 msgid "**Extranjero - Exportación**: Set this fiscal position on customers for Exportation transactions." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:274 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:283 msgid "**Local Peru**: Set this fiscal position on local customers." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:277 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:286 msgid "Document Types" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:279 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:288 msgid "In some Latin American countries, including Peru, some accounting transactions like invoices and vendor bills are classified by document types, defined by the government fiscal authorities, in this case by the SUNAT." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:283 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:292 msgid "Each document type can have a unique sequence per journal where it is assigned. As part of the localization, the Document Type includes the country on which the document is applicable;the data is created automatically when the localization module is installed." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:287 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:296 msgid "The information required for the document types is included by default so the user does not need to fill anything on this view:" msgstr "" @@ -21803,27 +21790,27 @@ msgstr "" msgid "Document Type list" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:295 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:304 msgid "Currently the documents supported on customer invoices are: Invoice, Boleta, Debit Note and Credit Note." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:301 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:310 msgid "When creating Sales Journals, the following information must be filled, in addition to the standard fields on the Journals:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:305 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:314 msgid "Use Documents" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:307 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:316 msgid "This field is used to define if the journal uses Document Types. It is only applicable to Purchase and Sales journals, which are the ones that can be related to the different set of document types available in Peru. By default, all the sales journals created use documents." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:312 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:321 msgid "Electronic Data Interchange" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:314 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:323 msgid "This section indicates which EDI workflow is used in the invoice, for Peru we must select “Peru UBL 2.1”." msgstr "" @@ -21831,15 +21818,15 @@ msgstr "" msgid "Journal EDI field" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:322 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:331 msgid "By default, the value Factur-X (FR) is always displayed, make sure you can uncheck it manually." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:328 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:337 msgid "Identification Type and VAT" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:330 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:339 msgid "As part of the Peruvian localization, the identification types defined by the SUNAT are now available on the Partner form, this information is essential for most transactions either on the sender company and in the customer, make sure you fill in this information in your records." msgstr "" @@ -21847,12 +21834,12 @@ msgstr "" msgid "Partner identification type" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:340 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:349 #: ../../content/applications/finance/fiscal_localizations/romania.rst:109 msgid "Product" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:342 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:351 msgid "Additional to the basic information in your products, for the Peruvian localization, the UNSPC Code on the product is a required value to be configured." msgstr "" @@ -21860,19 +21847,19 @@ msgstr "" msgid "UNSPC Code on products" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:354 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:363 msgid "Customer invoice" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:357 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:366 msgid "EDI Elements" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:359 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:368 msgid "Once you have configured your master data, the invoices can be created from your sales order or manually. Additional to the basic invoice information described on :doc:`our page about the invoicing process <../accounting/customer_invoices/overview>`, there are a couple of fields required as part of the Peru EDI:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:364 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:373 msgid "**Document type**: The default value is “Factura Electronica” but you can manually change the document type if needed and select Boleta for example." msgstr "" @@ -21880,7 +21867,7 @@ msgstr "" msgid "Invoice document type field on invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:371 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:380 msgid "**Operation type**: This value is required for Electronic Invoice and indicates the transaction type, the default value is “Internal Sale” but another value can be selected manually when needed, for example Export of Goods." msgstr "" @@ -21888,7 +21875,7 @@ msgstr "" msgid "Invoice operation type field on invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:379 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:388 msgid "**EDI Affectation Reason**: In the invoice lines, additional to the Tax there is a field “EDI Affectation Reason” that determines the tax scope based on the SUNAT list that is displayed. All the taxes loaded by default are associated with a default EDI affection reason, if needed you can manually select another one when creating the invoice." msgstr "" @@ -21896,7 +21883,7 @@ msgstr "" msgid "Tax affectation reason in invoice line" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:391 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:400 msgid "Once you check all the information in your invoice is correct, you can proceed to validate it. This action registers the account move and triggers the Electronic invoice workflow to send it to the OSE and the SUNAT. The following message is displayed at the top of the invoice:" msgstr "" @@ -21904,16 +21891,16 @@ msgstr "" msgid "Sending of EDI Invoice in blue" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:399 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:408 msgid "Asynchronous means that the document is not sent automatically after the invoice has been posted." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:402 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:496 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:411 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:505 msgid "Electronic Invoice Status" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:404 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:413 msgid "**To be Sent**: Indicates the document is ready to be sent to the OSE, this can be done either automatically by Odoo with a *cron* that runs every hour, or the user can send it immediately by clicking on the button “Sent now”." msgstr "" @@ -21921,7 +21908,7 @@ msgstr "" msgid "Send EDI manually" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:412 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:421 msgid "**Sent**: Indicates the document was sent to the OSE and was successfully validated. As part of the validation a ZIP file is downloaded and a message is logged in the chatter indicating the correct Government validation." msgstr "" @@ -21929,31 +21916,31 @@ msgstr "" msgid "Message on chatter when the invoice is valid" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:420 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:429 msgid "In case there is a validation error the Electronic Invoice status remains in “To be sent” so the corrections can be made and the invoice can be sent again." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:424 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:433 msgid "One credit is consumed each time that you send a document for validation, in this sense if an error is detected on an invoice and you send it one more time, two credits are consumed in total." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:429 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:438 msgid "Common Errors" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:431 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:440 msgid "There are multiple reasons behind a rejection from the OSE or the SUNAT, when this happens Odoo sends a message at the top of the invoice indicating the error details and in the most common cases a hint to fix the issue." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:435 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:444 msgid "If a validation error is received, you have two options:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:437 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:446 msgid "In case the error is related to master data on the partner, customer or taxes, you can simply apply the change on the record (example customer identification type) and once it is done click on the Retry button." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:440 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:449 msgid "If the error is related to some data recorded on the invoice directly (Operation type, missing data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the changes, and then send the invoice again to the SUNAT for another validation." msgstr "" @@ -21961,27 +21948,27 @@ msgstr "" msgid "List of common errors on invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:449 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:458 msgid "For more detail please refert to `Common errors in SUNAT `_." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:453 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:462 msgid "Invoice PDF Report" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:455 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:464 msgid "After the invoice is accepted and validated by the SUNAT, the invoice PDF report can be printed. The report includes a QR code, indicating the invoice is a valid fiscal document." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:463 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:472 msgid "IAP Credits" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:465 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:474 msgid "Odoo’s Electronic IAP offers 1000 credits for free, after these credits are consumed in your production database, your company must buy new credits in order to process your transactions." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:468 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:477 msgid "Once you run out of credits a red label is displayed at the top of the invoice indicating that additional credits are required, you can easily buy them by accessing the link provided in the message." msgstr "" @@ -21989,20 +21976,20 @@ msgstr "" msgid "Buying credits in the IAP" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:476 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:485 msgid "In the IAP service includes packages with different pricing based on the number of credits. The price list in the IAP is always displayed in EUR." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:480 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:489 msgid "Special Use cases" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:483 -#: ../../content/applications/finance/fiscal_localizations/peru.rst:519 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:492 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:528 msgid "Cancellation process" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:485 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:494 msgid "Some scenarios require an invoice cancellation, for example, when an invoice was created by mistake. If the invoice was already sent and validated by the SUNAT, the correct way to proceed is by clicking on the button Request Cancellation:" msgstr "" @@ -22010,11 +21997,11 @@ msgstr "" msgid "Request invoice cancellation button" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:493 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:502 msgid "In order to cancel an invoice, please provide a cancellation Reason." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:498 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:507 msgid "**To Cancel**: Indicates the cancellation request is ready to be sent to the OSE, this can be done either automatically by Odoo with a *cron* that runs every hour, or the user can send it immediately by clicking on the button “Send now”. Once it is sent, a cancellation ticket is created, as a result the next message and CDR File are logged in the chatter:" msgstr "" @@ -22022,7 +22009,7 @@ msgstr "" msgid "Cancellation CDR sent by the SUNAT" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:507 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:516 msgid "**Cancelled**: Indicates the cancellation request was sent to the OSE and was successfully validated. As part of the validation a ZIP file is downloaded and a message is logged in the chatter indicating the correct Government validation." msgstr "" @@ -22030,23 +22017,23 @@ msgstr "" msgid "nvoice after cancellation" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:516 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:525 msgid "One credit is consumed on each cancellation request." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:521 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:530 msgid "When creating exportation invoices, take into account the next considerations:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:523 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:532 msgid "The Identification type on your customer must be Foreign ID." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:524 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:533 msgid "Operation type in your invoice must be an Exportation one." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:525 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:534 msgid "The taxes included in the invoice lines should be EXP taxes." msgstr "" @@ -22054,39 +22041,39 @@ msgstr "" msgid "Exportation invoices main data" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:532 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:541 msgid "Advance Payments" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:534 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:543 msgid "Create the advance payment Invoice and apply its related payment." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:535 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:544 msgid "Create the final invoice without considering the advance payment." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:536 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:545 msgid "Create a credit note for the Final invoice with the advance payment amount." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:537 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:546 msgid "Reconcile the Credit note with the final invoice." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:538 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:547 msgid "The remaining balance on the final invoice should be paid with a regular payment transaction." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:541 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:550 msgid "Detraction Invoices" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:543 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:552 msgid "When creating invoices that is subject to Detractions, take into account the next considerations:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:545 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:554 msgid "All the products included in the invoice must have these fields configured:" msgstr "" @@ -22094,7 +22081,7 @@ msgstr "" msgid "Detraction fields on products" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:551 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:560 msgid "Operation type in your invoice must be ``1001``" msgstr "" @@ -22102,11 +22089,11 @@ msgstr "" msgid "Detraction code on invoices." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:558 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:567 msgid "Credit Notes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:560 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:569 msgid "When a correction or refund is needed over a validated invoice, a credit note must be generated, for this just click on the button “Add Credit Note”, a part of the Peruvian localization you need to prove a Credit Reason selecting one of the options in the list." msgstr "" @@ -22114,11 +22101,11 @@ msgstr "" msgid "Add Credit Note from invoice" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:569 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:578 msgid "When creating your first credit Note, select the Credit Method: Partial Refund, this allows you to define the credit note sequence." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:572 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:581 msgid "By default the Credit Note is set in the document type:" msgstr "" @@ -22126,26 +22113,399 @@ msgstr "" msgid "Credit Note document type" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:578 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:587 msgid "To finish the workflow please follow the instructions on :doc:`our page about Credit Notes <../accounting/customer_invoices/credit_notes>`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:582 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:591 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 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:594 msgid "Debit Notes" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:587 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:596 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 "" -#: ../../content/applications/finance/fiscal_localizations/peru.rst:590 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:599 msgid "By default the Debit Note is set in the document type." msgstr "" +#: ../../content/applications/finance/fiscal_localizations/peru.rst:604 +msgid "Electronic delivery guide 2.0" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:606 +msgid "The *Guía de Remisión Electrónica* (GRE) is an electronic document generated by the shipper to support the transportation or transfer of goods from one place to another, such as a warehouse or establishment. In Odoo, there are several configuration steps needed before you can successfully use this feature." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:611 +msgid "The use of the *guía de remisión electrónica* electronic document is mandatory and required by |SUNAT| for taxpayers who need to transfer their products, except those under the *Single Simplified Regime* (régimen único simplificado or RUS)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:616 +msgid "Delivery guide types" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:619 +msgid "Sender" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:621 +msgid "The *Sender* delivery guide type is issued when a sale is made, a service is rendered (including processing), goods are assigned for use, or goods are transferred between premises of the same company and others." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:625 +msgid "This delivery guide is issued by the owner of the goods (i.e., the sender) at the beginning of the shipment. The sender delivery guide is supported in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:629 +msgid "`SUNAT guía de remisión `_" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:632 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:753 +msgid "Carrier" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:634 +msgid "The *Carrier* delivery guide type justifies the transportation service the driver (or carrier) performs." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:637 +msgid "This delivery guide is issued by the carrier and must be issued to each shipper when the shipment goes through public transport." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:641 +msgid "The carrier delivery guide is **not** supported in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:644 +msgid "`SUNAT guía de remisión transportista `_" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:648 +msgid "Transportation types" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:651 +msgid "Private" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:653 +msgid "The *Private* transportation type option is used when the owner transfers goods using their own vehicles. In this case, a sender's delivery guide must be issued." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:657 +msgid "Public" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:659 +msgid "The *Public* transportation type option is used when an external carrier moves the goods. In this case, two delivery guides must be issued: the sender's delivery guide and the carrier's delivery guide." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:664 +msgid "Direct submission to SUNAT" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:666 +msgid "The creation of the |GRE| delivery guide in Odoo **must** be sent directly to the |SUNAT|, regardless of the electronic document provider: IAP, Digiflow, or |SUNAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:670 +msgid "Required information" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:672 +msgid "Version 2.0 of the electronic delivery guide requires additional information on the general configuration, vehicles, contacts, and products. In the general configuration, it is necessary to add new credentials that you can retrieve from the |SUNAT| portal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:677 +msgid "Cancellations" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:679 +msgid "**Both** the sender and the carrier can cancel the electronic waybill as long as the following conditions are met:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:682 +msgid "The shipment has not been initiated." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:683 +msgid "If the shipment has been initiated, the receiver **must** be changed before reaching the final destination." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:687 +msgid "The |SUNAT| no longer uses the term \"Anula\", but now uses the term \"Dar de baja\" for cancellations." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:691 +#: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:110 +msgid "Testing" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:693 +msgid "The |SUNAT| does not support a test environment. This means that any delivery guides that were generated by mistake **will** be sent to the |SUNAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:696 +msgid "If, by mistake, the waybill was created in this environment, it is necessary to delete it from the |SUNAT| portal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:703 +msgid "Electronic sender's |GRE| is currently the only supported type of waybill in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:704 +msgid "The delivery guide is dependent on the Odoo *Inventory* app, the :guilabel:`l10n_pe_edi` and :guilabel:`l10n_pe` modules." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:706 +msgid "A second user **must** be added for the creation of electronic documents." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:708 +msgid "After following the steps to configure the :ref:`electronic invoicing ` and the :ref:`master data `, :ref:`install ` the :guilabel:`Peruvian - Electronic Delivery Note 2.0` module (`l10n_pe_edi_stock_20`)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:712 +msgid "Next, you need to retrieve the *client ID* and *client secret* from |SUNAT|. To do so, follow the `manual de servicios web plataforma nueva GRE `_." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:717 +msgid "In the |SUNAT| portal, it is important to have the correct access rights enabled, as they may differ from the user set for electronic invoicing." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:720 +msgid "These credentials should be used to configure the delivery guide general settings from :menuselection:`Accounting --> Configuration --> Settings --> Peruvian Electronic Invoicing`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 +msgid "Example for the SUNAT Delivery Guide API section configuration." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:727 +msgid "It is required to follow the format `RUC + UsuarioSol` (e.g., `20557912879SOLUSER`) for the :guilabel:`Guide SOL User` field, depending on the user selected when generating the |GRE| API credentials in the |SUNAT| portal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:732 +msgid "Operator" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:734 +msgid "The *operator* is the vehicle's driver in cases where the delivery guide is through *private* transport." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:737 +msgid "To create a new operator, navigate to :menuselection:`Contacts --> Create` and fill out the contact information." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:740 +msgid "First, select :guilabel:`Individual` as the :guilabel:`Company Type`. Then, add the :guilabel:`Operator License` in the :guilabel:`Accounting` tab of the contact form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:743 +msgid "For the customer address, make sure the following fields are complete:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:745 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:766 +msgid ":guilabel:`District`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:746 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:767 +msgid ":guilabel:`Tax ID` (:guilabel:`DNI`/:guilabel:`RUC`)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:747 +#: ../../content/applications/finance/fiscal_localizations/peru.rst:768 +msgid ":guilabel:`Tax ID Number`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 +msgid "Individual type operator configurations in the Contact form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:755 +msgid "The *carrier* is used when the delivery guide is through *public* transport." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:757 +msgid "To create a new carrier, navigate to :menuselection:`Contacts --> Create` and fill out the contact information." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:760 +msgid "First, select :guilabel:`Company` as the :guilabel:`Company Type`. Then, add the :guilabel:`MTC Registration Number`, :guilabel:`Authorization Issuing Entity`, and the :guilabel:`Authorization Number`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:764 +msgid "For the company address, make sure the following fields are complete:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 +msgid "Company type operator configurations in the Contact form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:774 +msgid "Vehicles" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:776 +msgid "To configure the available vehicles, navigate to :menuselection:`Inventory --> Configuration --> Vehicles` and fill in the vehicle form with the information needed for the vehicle:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:779 +msgid ":guilabel:`Vehicle Name`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:780 +msgid ":guilabel:`License Plate`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:781 +msgid ":guilabel:`Is M1 or L?`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:782 +msgid ":guilabel:`Special Authorization Issuing Entity`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:783 +msgid ":guilabel:`Authorization Number`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:784 +msgid ":guilabel:`Default Operator`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:785 +msgid ":guilabel:`Company`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:788 +msgid "It is important to check the :guilabel:`Is M1 or L?` checkbox if the vehicle has fewer than four wheels or fewer than eight seats." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 +msgid "Vehicle not selected as an M1 or L type with extra fields shown." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:797 +msgid "To configure the available products, navigate to :menuselection:`Inventory --> Products` and open the product to be configured." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:800 +msgid "Make sure that the applicable information in the product form is fully configured. The :guilabel:`Partida Arancelaria` (Tariff Item) field needs to be completed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:804 +msgid "Generating a GRE" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:806 +msgid "Once the delivery from inventory is created during the sales workflow, make sure you complete the |GRE| fields on the top-right section of the transfer form for the fields:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:809 +msgid ":guilabel:`Transport Type`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:810 +msgid ":guilabel:`Reason for Transfer`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:811 +msgid ":guilabel:`Departure start date`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:813 +msgid "It is also required to complete the :guilabel:`Vehicle` and :guilabel:`Operator` fields under the :guilabel:`Guia de Remision PE` tab." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:816 +msgid "The delivery transfer has to be marked as *Done* for the :guilabel:`Generar Guia de Remision` button to appear on the left menu of the transfer form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 +msgid "Generar Guia de Remision button on a transfer form in the Done stage." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:822 +msgid "Once the transfer form is correctly validated by |SUNAT|, the generated XML file becomes available in the chatter. You can now print the delivery slip that shows the transfer details and the QR code validated by |SUNAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:-1 +msgid "Transfer details and QR code on generated delivery slip." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:832 +msgid "`Diferente prefijo para productos (T001 en algunos, T002 en otros)`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:834 +msgid "At the moment, Odoo does not support the automation of prefixes for products. This can be done manually for each product output. This can also be done for non-storable products. However, keep in mind that there will be no traceability." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:837 +msgid "`2325 - GrossWeightMeasure - El dato no cumple con el formato establecido \"Hace falta el campo\" \"Peso\"\" en el producto`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:840 +msgid "This error occurs when the weight on the product is set as `0.00`. To fix this, you need to cancel the waybill and recreate it. Make sure that you fix the weight on the product before creating the new waybill, or it will result in the same error." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:843 +msgid "`JSONDecodeError: Expecting value: line 1 column 1 (char 0) when creating a Delivery Guide`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:845 +msgid "This error is typically generated due to SOL user issues. Verify the user's connection with the |SUNAT|; the SOL user must be established with the company RUT + user ID. For example `2012188549JOHNSMITH`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:848 +msgid "`El número de documento relacionado al traslado de mercancía no cumple con el formato establecido: error: documento relacionado`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:851 +msgid "The *Related Document Type* and *Related Document Number* fields only apply to invoices and receipts." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:853 +msgid "`400 Client error: Bad Request for URL`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:855 +msgid "This error is not solvable from Odoo; it is advised you reach out to the |SUNAT| and verify the user. It may be necessary to create a new user." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:858 +msgid "`Invalid content was found starting with element 'cac:BuyerCustomerParty'`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:860 +msgid "This error occurs when the transfer reason is set as *other*. Please select another option. Following to the official documentation of the |SUNAT|'s waybill guide, the transfer reasons *03 (sale with shipment to third party)* or *12 (others)* does not work in Odoo, since you should not have an empty or blank customer." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:864 +msgid "`Duda cliente: consumo de créditos IAP al usar GRE 2.0`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:866 +msgid "For live clients using IAP, no credit is consumed (in theory) because it does not go through the OSE, i.e., these documents are directly sent to the |SUNAT|." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:868 +msgid "`Errores con formato credenciales GRE 2.0 (traceback error)`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/peru.rst:870 +msgid "Odoo currently throws an error with a traceback instead of a message that the credentials are not correctly configured in the database. If this occurs on your database, please verify your credentials." +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/philippines.rst:3 msgid "Philippines" msgstr "" @@ -22607,10 +22967,6 @@ msgstr "" msgid "If any issue occurs during onboarding, click :guilabel:`Regenerate CSR` to start again." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:110 -msgid "Testing" -msgstr "" - #: ../../content/applications/finance/fiscal_localizations/saudi_arabia.rst:112 msgid "When confirming an invoice, there is now an option to process the invoice, sending it directly the Fatoora simulation portal. Odoo displays the portal's response after each submission. Only rejected invoices can be reset to draft and edited on Odoo. Furthermore, at the end of each day, Odoo sends all unprocessed invoices to the portal." msgstr "" @@ -23590,144 +23946,133 @@ msgstr "" msgid "Go to :menuselection:`Accounting --> Reporting --> Tax report` and click on :guilabel:`Connect to HMRC`. Enter your company information on the HMRC platform. You only need to do it once." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:97 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:94 msgid "Periodic submission to HMRC" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:99 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:96 msgid "Import your obligations HMRC, filter on the period you want to submit, and send your tax report by clicking :guilabel:`Send to HMRC`." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:103 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:100 msgid "Periodic submission to HMRC for multi-company" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:105 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:102 msgid "Only one company and one user can connect to HMRC simultaneously. If several UK-based companies are on the same database, the user who submits the HMRC report must follow these instructions before each submission:" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:109 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:106 msgid "Log into the company for which the submission has to be done." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:110 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:107 msgid "Go to :guilabel:`General Settings`, and in the :guilabel:`Users` section, click :guilabel:`Manage Users`. Select the user who is connected to HMRC." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:112 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:109 msgid "Go to the :guilabel:`UK HMRC Integration` tab and click :guilabel:`Reset Authentication Credentials` or :guilabel:`Remove Authentication Credentials` button." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:114 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:111 msgid "You can now :ref:`register your company to HMRC ` and submit the tax report for this company." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:116 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:113 msgid "Repeat the steps for other companies' HMRC submissions." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:119 +#: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:116 msgid "During this process, the :guilabel:`Connect to HMRC` button no longer appears for other UK-based companies." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:5 -msgid "Payment providers (credit cards, online payments)" -msgstr "" - #: ../../content/applications/finance/payment_providers.rst:27 -msgid "Odoo embeds several **payment providers** that allow your customers to pay on their *Customer Portals* or your *eCommerce website*. They can pay sales orders, invoices, or subscriptions with recurring payments with their favorite payment methods such as **Credit Cards**." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:31 -msgid "Offering several payment methods increases the chances of getting paid in time, or even immediately, as you make it more convenient for your customers to pay with the payment method they prefer and trust." +msgid "Odoo embeds several **payment providers** that allow your customers to pay online, on their *customer portals*, or on your *eCommerce website*. They can pay sales orders, invoices, or subscriptions with recurring payments using their favorite payment methods, such as **credit cards**." msgstr "" #: ../../content/applications/finance/payment_providers.rst:-1 -msgid "Pay online in the customer portal and select which payment provider to use." +msgid "Online payment form" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:40 -msgid "Odoo apps delegate the handling of sensitive information to the certified payment provider so that you don't ever have to worry about PCI compliance." +#: ../../content/applications/finance/payment_providers.rst:36 +msgid "Odoo apps delegate the handling of sensitive information to the certified payment provider so that you don't ever have to worry about PCI compliance. No sensitive information (such as credit card numbers) is stored on Odoo servers or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number for the data stored safely in the payment providers' systems." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:43 -msgid "This means that no sensitive information (such as credit card numbers) is stored on Odoo servers or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number to the data stored safely in the payment providers' systems." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:50 +#: ../../content/applications/finance/payment_providers.rst:44 msgid "Supported payment providers" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:52 -msgid "From an accounting perspective, we can distinguish two types of payment providers: the payment providers that are third-party services and require you to follow another accounting workflow, and the payments that go directly on the bank account and follow the usual reconciliation workflow." +#: ../../content/applications/finance/payment_providers.rst:46 +msgid "To access the supported payment providers, go to :menuselection:`Accounting --> Configuration --> Payment Providers` or :menuselection:`Website --> Configuration --> Payment Providers`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:59 +#: ../../content/applications/finance/payment_providers.rst:52 msgid "Online payment providers" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:67 +#: ../../content/applications/finance/payment_providers.rst:60 msgid "Payment flow from" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:68 -msgid ":ref:`Tokenization `" +#: ../../content/applications/finance/payment_providers.rst:61 +msgid ":ref:`Tokenization `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:69 -msgid ":ref:`Manual capture `" +#: ../../content/applications/finance/payment_providers.rst:62 +msgid ":ref:`Manual capture `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:70 -msgid ":ref:`Refunds `" +#: ../../content/applications/finance/payment_providers.rst:63 +msgid ":ref:`Refunds `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:71 -msgid ":ref:`Express checkout `" +#: ../../content/applications/finance/payment_providers.rst:64 +msgid ":ref:`Express checkout `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:72 -msgid ":ref:`Extra fees `" +#: ../../content/applications/finance/payment_providers.rst:65 +msgid ":ref:`Extra fees `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:73 +#: ../../content/applications/finance/payment_providers.rst:66 msgid ":doc:`Adyen `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:74 -#: ../../content/applications/finance/payment_providers.rst:95 +#: ../../content/applications/finance/payment_providers.rst:67 +#: ../../content/applications/finance/payment_providers.rst:88 msgid "Odoo" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:75 -#: ../../content/applications/finance/payment_providers.rst:96 -#: ../../content/applications/finance/payment_providers.rst:110 -#: ../../content/applications/finance/payment_providers.rst:135 -#: ../../content/applications/finance/payment_providers.rst:152 -#: ../../content/applications/finance/payment_providers.rst:155 +#: ../../content/applications/finance/payment_providers.rst:68 +#: ../../content/applications/finance/payment_providers.rst:89 +#: ../../content/applications/finance/payment_providers.rst:103 +#: ../../content/applications/finance/payment_providers.rst:128 +#: ../../content/applications/finance/payment_providers.rst:145 +#: ../../content/applications/finance/payment_providers.rst:148 msgid "|V|" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:76 -#: ../../content/applications/finance/payment_providers.rst:97 -#: ../../content/applications/finance/payment_providers.rst:98 -#: ../../content/applications/finance/payment_providers.rst:139 -#: ../../content/applications/finance/payment_providers.rst:153 +#: ../../content/applications/finance/payment_providers.rst:69 +#: ../../content/applications/finance/payment_providers.rst:90 +#: ../../content/applications/finance/payment_providers.rst:91 +#: ../../content/applications/finance/payment_providers.rst:132 +#: ../../content/applications/finance/payment_providers.rst:146 msgid "Full only" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:77 -#: ../../content/applications/finance/payment_providers.rst:140 -#: ../../content/applications/finance/payment_providers.rst:154 +#: ../../content/applications/finance/payment_providers.rst:70 +#: ../../content/applications/finance/payment_providers.rst:133 +#: ../../content/applications/finance/payment_providers.rst:147 msgid "Full and partial" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:80 +#: ../../content/applications/finance/payment_providers.rst:73 msgid ":doc:`Amazon Payment Services `" msgstr "" +#: ../../content/applications/finance/payment_providers.rst:74 #: ../../content/applications/finance/payment_providers.rst:81 -#: ../../content/applications/finance/payment_providers.rst:88 +#: ../../content/applications/finance/payment_providers.rst:95 #: ../../content/applications/finance/payment_providers.rst:102 #: ../../content/applications/finance/payment_providers.rst:109 #: ../../content/applications/finance/payment_providers.rst:116 @@ -23735,59 +24080,62 @@ msgstr "" #: ../../content/applications/finance/payment_providers.rst:130 #: ../../content/applications/finance/payment_providers.rst:137 #: ../../content/applications/finance/payment_providers.rst:144 -#: ../../content/applications/finance/payment_providers.rst:151 -msgid "The provider website" +msgid "The provider's website" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:87 +#: ../../content/applications/finance/payment_providers.rst:80 msgid ":doc:`AsiaPay `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:94 +#: ../../content/applications/finance/payment_providers.rst:87 msgid ":doc:`Authorize.Net `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:101 +#: ../../content/applications/finance/payment_providers.rst:94 msgid ":doc:`Buckaroo `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:108 +#: ../../content/applications/finance/payment_providers.rst:101 msgid ":doc:`Flutterwave `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:115 +#: ../../content/applications/finance/payment_providers.rst:108 msgid ":doc:`Mercado Pago `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:122 +#: ../../content/applications/finance/payment_providers.rst:115 msgid ":doc:`Mollie `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:129 +#: ../../content/applications/finance/payment_providers.rst:122 msgid ":doc:`PayPal `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:136 +#: ../../content/applications/finance/payment_providers.rst:129 msgid ":doc:`Razorpay `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:143 +#: ../../content/applications/finance/payment_providers.rst:136 msgid ":doc:`SIPS `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:150 +#: ../../content/applications/finance/payment_providers.rst:143 msgid ":doc:`Stripe `" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:161 -msgid "Some of these online payment providers can also be added as :doc:`bank accounts <../finance/accounting/bank>`, but this is **not** the same process as adding them as payment providers. Payment providers allow customers to pay online, and bank accounts are added and configured on your Accounting app to do a bank reconciliation, which is an accounting control process." +#: ../../content/applications/finance/payment_providers.rst:154 +msgid "Each provider has its own specific configuration flow, depending on which feature is available." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:168 -msgid "In addition to the regular payment providers that integrate with an API such as Stripe, PayPal, or Adyen, Odoo bundles the :doc:`Demo payment provider `. This payment provider allows you to make demo payments to test business flows involving online payments. No credentials are required as the demo payments are fake." +#: ../../content/applications/finance/payment_providers.rst:156 +msgid "Some of these online payment providers can also be added as :doc:`bank accounts <../finance/accounting/bank>`, but this is **not** the same process as adding them as payment providers. Payment providers allow customers to pay online, and bank accounts are added and configured in the Accounting app to do a :doc:`bank reconciliation `." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:176 +#: ../../content/applications/finance/payment_providers.rst:163 +msgid "In addition to the regular payment providers that integrate with an API, such as Stripe, PayPal, or Adyen, Odoo bundles the :doc:`Demo payment provider `. This payment provider allows you to test business flows involving online payments. No credentials are required as the demo payments are dummy payments." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:171 msgid "Bank payments" msgstr "" @@ -23796,7 +24144,7 @@ msgid ":doc:`Wire Transfer `" msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 -msgid "When selected, Odoo displays your payment information with a payment reference. You have to approve the payment manually once you have received it on your bank account." +msgid "When selected, Odoo displays your payment information with a payment reference. You have to approve the payment manually once you have received it in your bank account." msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 @@ -23804,307 +24152,311 @@ msgid ":doc:`SEPA Direct Debit <../finance/accounting/payments/batch_sdd>`" msgstr "" #: ../../content/applications/finance/payment_providers.rst:0 -msgid "Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged directly." +msgid "Your customers can make a bank transfer to register a SEPA Direct Debit mandate and get their bank account charged directly." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:183 +msgid "Enable a payment provider" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:185 +msgid "To add a new payment provider and make its related payment methods available to your customers, proceed as follows:" msgstr "" #: ../../content/applications/finance/payment_providers.rst:188 -msgid "Additional features" +msgid "Go to the payment provider's website, create an account, and make sure you have the API credentials requested for third-party use. These are necessary for Odoo to communicate with the payment provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:190 -msgid "Some payment providers support additional features for the payment flow. Refer to the :ref:`table above ` to check if your payment provider supports these features." +#: ../../content/applications/finance/payment_providers.rst:191 +msgid "In Odoo, navigate to the :guilabel:`Payment providers` by going to :menuselection:`Accounting --> Configuration --> Payment Providers` or :menuselection:`Website --> Configuration --> Payment Providers`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:197 -msgid "Tokenization" +#: ../../content/applications/finance/payment_providers.rst:194 +msgid "Select the provider and configure the :guilabel:`Credentials` tab." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:195 +#: ../../content/applications/finance/payment_providers/stripe.rst:35 +msgid "Set the :guilabel:`State` field to :guilabel:`Enabled`." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:196 +#: ../../content/applications/finance/payment_providers/stripe.rst:34 +msgid "Select a :ref:`payment journal `." msgstr "" #: ../../content/applications/finance/payment_providers.rst:199 -msgid "If your payment provider supports this feature, customers can choose to save their card for later. A **payment token** is created in Odoo and can be used as a payment method for subsequent payments without having to enter the card details again. This is particularly useful for the eCommerce conversion rate and for subscriptions that use recurring payments." +msgid "The fields available in the :guilabel:`Credentials` tab depend on the payment provider. Refer to the :ref:`related documentation ` for more information." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:204 -msgid "Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider and by ticking the :guilabel:`Allow Saving Payment Methods` checkbox." +#: ../../content/applications/finance/payment_providers.rst:202 +msgid "Once you have enabled the payment provider, it is automatically published on your website. If you wish to unpublish it, click the :guilabel:`Published` button. Customers cannot make payments through an unpublished provider, but they can still manage :dfn:`(delete and assign to a subscription)` their existing tokens linked to such a provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:208 -msgid "You remain fully PCI-compliant when you enable this feature because Odoo does not store the card details directly. Instead, it creates a payment token that only holds a reference to the card details stored on the payment provider's server." +#: ../../content/applications/finance/payment_providers.rst:210 +msgid "Test mode" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:215 -msgid "Manual capture" +#: ../../content/applications/finance/payment_providers.rst:212 +msgid "If you wish to try the payment provider as a test, set the :guilabel:`State` field in the payment provider form to :guilabel:`Test mode`, then enter your provider's test/sandbox credentials in the :guilabel:`Credentials` tab." msgstr "" #: ../../content/applications/finance/payment_providers.rst:217 -msgid "If your payment provider supports this feature, you can authorize and capture payments in two steps instead of one. When you authorize a payment, the funds are reserved on the customer's payment method but they are not immediately charged. The charge is only made when you manually capture the payment later on. You can also void the authorization to release the reserved funds; this is equivalent to a regular cancellation. Capturing payments manually can prove itself useful in many situations:" +msgid "By default, the payment provider remains **unpublished** in test mode so that it's not visible to visitors." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:224 -msgid "Receive the payment confirmation and wait until the order is shipped to capture the payment." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:225 -msgid "Review and verify that orders are legitimate before the payment is completed and the fulfillment process starts." +#: ../../content/applications/finance/payment_providers.rst:221 +msgid "We recommend using the test mode on a duplicate or a test database to avoid potential issues with your invoice numbering." msgstr "" #: ../../content/applications/finance/payment_providers.rst:227 -msgid "Avoid potentially high processing fees for cancelled payments: payment providers will not charge you for voiding an authorization." +msgid "Payment form" msgstr "" #: ../../content/applications/finance/payment_providers.rst:229 -msgid "Hold a security deposit to return later, minus any deductions (e.g., after a damage)." +msgid "You can change the payment provider’s appearance on your website in the :guilabel:`Configuration` tab of the selected payment provider. Modify its name in the :guilabel:`Displayed as` field and adapt the :guilabel:`Supported Payment Icons` if necessary." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:231 -msgid "Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider and by ticking the :guilabel:`Capture Amount Manually` checkbox." +#: ../../content/applications/finance/payment_providers.rst:236 +msgid "Tokenization" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:234 -msgid "To capture the payment after it was authorized, go to the related sales order or invoice and click on the :guilabel:`CAPTURE TRANSACTION` button. To release the funds, click on the :guilabel:`VOID TRANSACTION` button." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:239 -msgid "Some payment providers support capturing only part of the authorized amount. The remaining amount can then be either captured or voided. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support capturing or voiding the full amount have the value **Full only**." +#: ../../content/applications/finance/payment_providers.rst:238 +msgid ":ref:`If the payment provider supports this feature `, customers can save their payment method details for later. To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Allow Saving Payment Methods`." msgstr "" #: ../../content/applications/finance/payment_providers.rst:243 +msgid "In this case, a **payment token** is created in Odoo to be used as a payment method for subsequent payments without the customer having to enter their payment method details again. This is particularly useful for the eCommerce conversion rate and subscriptions that use recurring payments." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:248 +msgid "You remain fully PCI-compliant when you enable this feature because Odoo does not store the card details directly. Instead, it creates a payment token that only references the card details stored on the payment provider's server." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:255 +msgid "Manual capture" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:257 +msgid ":ref:`If the payment provider supports this feature `, you can authorize and capture payments in two steps instead of one. To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Capture Amount Manually`." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:262 +msgid "When you authorize a payment, the funds are reserved on the customer's payment method but not immediately charged. They are charged when you manually capture the payment later on. You can also void the authorization to cancel it and release the reserved funds. Capturing payments manually is helpful in many situations:" +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:267 +msgid "Receive the payment confirmation and wait until the order is shipped to capture the payment." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:268 +msgid "Review and verify that orders are legitimate before the payment is completed and the fulfillment process starts." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:270 +msgid "Avoid potentially high refund fees for refunded payments: payment providers will not charge you for voiding an authorization." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:272 +msgid "Hold a security deposit to return later, minus any deductions (e.g., in case of damages)." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:274 +msgid "To capture the payment after it was authorized, go to the related sales order or invoice and click the :guilabel:`Capture Transaction` button. To release the funds, click the :guilabel:`Void Transaction` button." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:279 +msgid "Some payment providers support capturing only part of the authorized amount. The remaining amount can then be either captured or voided. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support capturing or voiding the total amount have the value **Full only**." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:283 msgid "The funds are likely not reserved forever. After a certain time, they may be automatically released back to the customer's payment method. Refer to your payment provider's documentation for the exact reservation duration." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:246 -msgid "Odoo does not support this feature for all payment providers but some allow the manual capture from their website interface." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:252 -msgid "Refunds" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:254 -msgid "If your payment provider supports this feature, you can refund payments directly from Odoo. It does not need to be enabled first. To refund a customer payment, navigate to it and click on the :guilabel:`REFUND` button." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:259 -msgid "Some payment providers support refunding only part of the amount. The remaining amount can then optionally be refunded too. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support refunding the full amount have the value **Full only**." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:263 -msgid "Odoo does not support this feature for all payment providers but some allow to refund payments from their website interface." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:269 -msgid "Express checkout" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:271 -msgid "If your payment provider supports this feature, customers can use the **Google Pay** and **Apple Pay** buttons to pay their eCommerce orders in one click without filling the contact form. Using one of those buttons, customers go straight from the cart to the confirmation page, stopping by the payment form of Google or Apple to validate the payment." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:276 -msgid "Enable this feature by navigating to the :guilabel:`Configuration` tab from your payment provider and by ticking the :guilabel:`Allow Express Checkout` checkbox." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:280 -msgid "All prices shown in the express checkout payment form are always taxes included." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:285 -msgid "Extra Fees" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:287 -msgid "If supported by the payment provider, you can add **extra fees** to online transactions. Fees can be configured either as **fixed** amounts and percentages, **variable** amounts and percentages, or *both* simultaneously. These can be applied according to **domestic** or **international** geolocation." +#: ../../content/applications/finance/payment_providers.rst:286 +msgid "Odoo does not support this feature for all payment providers, but some allow the manual capture from their website interface." msgstr "" #: ../../content/applications/finance/payment_providers.rst:292 -msgid "To enable fees, from the *eCommerce* or *Accounting* app, head to :menuselection:`Configuration --> Payment Providers` and select the desired supported provider. Click on the :guilabel:`Fees` tab and check the :guilabel:`Add Extra Fees` box. Configure the settings to your needs." +msgid "Refunds" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:297 -msgid "Fees are calculated on the tax-included price." +#: ../../content/applications/finance/payment_providers.rst:294 +msgid "If your payment provider supports this feature, you can refund payments directly from Odoo. It does not need to be enabled first. To refund a customer payment, navigate to it and click the :guilabel:`Refund` button." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:305 -msgid "Each provider has its specific configuration flow, depending on :ref:`which feature is available `." +#: ../../content/applications/finance/payment_providers.rst:299 +msgid "Some payment providers support refunding only part of the amount. The remaining amount can then optionally be refunded, too. These providers have the value **Full and partial** in the :ref:`table above `. The providers that only support refunding the total amount have the value **Full only**." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:303 +msgid "Odoo does not support this feature for all payment providers, but some allow to refund payments from their website interface." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:309 +msgid "Express checkout" msgstr "" #: ../../content/applications/finance/payment_providers.rst:311 -msgid "Add a new payment provider" +msgid ":ref:`If the payment provider supports this feature `, you can allow customers to use the :guilabel:`Google Pay` and :guilabel:`Apple Pay` buttons and pay their eCommerce orders in one click. When they use one of these buttons, customers go straight from the cart to the confirmation page without filling out the contact form. They just have to validate the payment on Google's or Apple's payment form." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:313 -msgid "To add a new payment provider and make it available to your customers, go to :menuselection:`Accounting --> Configuration --> Payment Providers`, look for your payment provider, install the related module, and activate it. To do so, open the payment provider and change its state from *Disabled* to *Enabled*." +#: ../../content/applications/finance/payment_providers.rst:317 +msgid "To enable this feature, go to the :guilabel:`Configuration` tab of the selected payment provider and enable :guilabel:`Allow Express Checkout`." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:-1 -msgid "Click on install, then on activate to make the payment provider available on Odoo." +#: ../../content/applications/finance/payment_providers.rst:321 +msgid "All prices shown on the express checkout payment form always include taxes." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:323 -msgid "We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is meant to be used with your test/sandbox credentials, but Odoo generates Sales Orders and Invoices as usual. It isn't always possible to cancel an invoice, and this could create some issues with your invoices numbering if you were to test your payment providers on your main database." +#: ../../content/applications/finance/payment_providers.rst:326 +msgid "Extra Fees" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:331 -#: ../../content/applications/finance/payment_providers/adyen.rst:23 -#: ../../content/applications/finance/payment_providers/alipay.rst:18 -#: ../../content/applications/finance/payment_providers/authorize.rst:15 -#: ../../content/applications/finance/payment_providers/mollie.rst:14 -#: ../../content/applications/finance/payment_providers/sips.rst:15 -msgid "Credentials tab" +#: ../../content/applications/finance/payment_providers.rst:328 +msgid ":ref:`If the payment provider supports this feature `, you can add extra fees to online transactions. Fees can be configured either as **fixed** amounts and percentages, **variable** amounts and percentages, or both simultaneously. They can also differ based on whether the transaction is **domestic** or **international**." msgstr "" #: ../../content/applications/finance/payment_providers.rst:333 -msgid "If not done yet, go to the online payment provider website, create an account, and make sure to have the credentials required for third-party use. Odoo requires these credentials to communicate with the payment provider." +msgid "To enable this feature, go to the :guilabel:`Fees` tab of the selected payment provider, enable :guilabel:`Add Extra Fees`, and configure the settings to your liking." msgstr "" #: ../../content/applications/finance/payment_providers.rst:337 -msgid "The form in this section is specific to the payment provider you are configuring. Please refer to the related documentation for more information." +msgid "Fees are calculated on the tax-included price." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:343 -#: ../../content/applications/finance/payment_providers/authorize.rst:38 -msgid "Configuration tab" +#: ../../content/applications/finance/payment_providers.rst:340 +msgid "Availability" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:345 -msgid "You can change the payment provider's front-end appearance by modifying its name under the **Displayed as** field and which credit card icons to display under the **Supported Payment Icons** field." +#: ../../content/applications/finance/payment_providers.rst:342 +msgid "You can adapt the payment provider's availability by specifying the :guilabel:`Maximum Amount` allowed and modifying the :guilabel:`Currencies` and :guilabel:`Countries` in the :guilabel:`Configuration` tab." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:352 -msgid "Countries" +#: ../../content/applications/finance/payment_providers.rst:349 +msgid "Currencies and countries" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:354 -msgid "Restrict the use of the payment provider to a selection of countries. Leave this field blank to make the payment provider available in all countries." +#: ../../content/applications/finance/payment_providers.rst:351 +msgid "All payment providers have a different list of available currencies and countries. They serve as a first filter during payment operations, i.e., the payment methods linked to the payment provider are not available for selection if the customer's currency or country is not in the supported list. As there might be errors, updates, and unknowns in the lists of available currencies and countries, adding or removing a payment provider's supported currencies or countries is possible." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:358 -msgid "Maximum Amount" +#: ../../content/applications/finance/payment_providers.rst:359 +msgid ":ref:`Payment methods ` also have their own list of available currencies and countries that serves as another filter during payment operations." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:360 -msgid "Restrict the maximum amount that can be paid with the selected provider. Leave this field to `0.00` to make the payment provider available regardless of the payment amount." +#: ../../content/applications/finance/payment_providers.rst:361 +msgid "If the list of supported currencies or countries is empty, it means the list is too long to be displayed, or Odoo does not have information on that payment provider. The payment provider remains available, even though it is possible the payment will be refused at a later stage should the country or currency not be supported." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:364 -msgid "This feature is not intended to work on pages which allow the customer to update the payment amount. For example, the **Donation** snippet of the Website app, and the **Checkout** page of the **eCommerce** app when paid delivery methods are enabled." +#: ../../content/applications/finance/payment_providers.rst:367 +msgid "Maximum amount" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:371 -msgid "Payment journal" +#: ../../content/applications/finance/payment_providers.rst:369 +msgid "You can restrict the :guilabel:`Maximum Amount` that can be paid with the selected provider. Leave the field to `0.00` to make the payment provider available regardless of the payment amount." msgstr "" #: ../../content/applications/finance/payment_providers.rst:373 -msgid "The **Payment journal** selected for your payment provider must be a *Bank* journal." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:378 -msgid "Publish on the website" +msgid "This feature is not intended to work on pages that allow the customer to update the payment amount, e.g., the **Donation** snippet and the **Checkout** page when paid :doc:`shipping methods <../websites/ecommerce/checkout_payment_shipping/shipping>` are enabled." msgstr "" #: ../../content/applications/finance/payment_providers.rst:380 -msgid "By default, payment providers are *unpublished*, which means that only internal users can see them on the website. Your customers cannot make payments through an unpublished provider but they can still manage :dfn:`(delete and assign to a subscription)` their already existing tokens linked to such an provider. This conveniently allows you to test an provider while preventing making payments and registering new tokens." +msgid "Payment journal" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:386 -msgid "Click on the :guilabel:`Publish` button located in the top right corner of the provider's form to publish it on the website and make it available to your customers. Click on the :guilabel:`Unpublish` button to unpublish it." +#: ../../content/applications/finance/payment_providers.rst:382 +msgid "A :doc:`payment journal ` must be defined for the payment provider to record the payments on an **outstanding account**. To do so, go to the :guilabel:`Configuration` tab of the selected payment provider and select a :guilabel:`Payment Journal`." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:387 +msgid "The payment journal must be a :guilabel:`Bank` journal." +msgstr "" + +#: ../../content/applications/finance/payment_providers.rst:388 +msgid "The same journal can be used for several payment providers." msgstr "" #: ../../content/applications/finance/payment_providers.rst:391 -msgid "Payment providers are automatically published and unpublished when you respectively change their state to `enabled` and `test`." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:397 msgid "Accounting perspective" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:399 -msgid "The **Bank Payments** that go directly to one of your bank accounts follow their usual reconciliation workflows. However, payments recorded with **Online Payment Providers** require you to consider how you want to record your payments' journal entries. We recommend you to ask your accountant for advice." +#: ../../content/applications/finance/payment_providers.rst:393 +msgid "From an accounting perspective, there are two types of online payment workflows: the payments that are directly deposited into your bank account and follow the usual :doc:`reconciliation ` workflow, and those coming from third-party :ref:`online payment providers ` and require you to follow another accounting workflow. For these payments, you need to consider how you want to record your payments' journal entries. We recommend you ask your accountant for advice." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:404 -msgid "You need to select a *Payment Journal* on your provider configuration to record the payments, on a **Outstanding Account**. The Journal's **type** must be *Bank Journal*." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:407 -msgid "You can use a single journal for many payment methods. And for each payment method, you can either:" -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:409 -msgid "Define an **Accounting Account** to separate these payments from another payment method." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:410 -msgid "Leave blank to fallback on the default account, which you can see or change in the settings." +#: ../../content/applications/finance/payment_providers.rst:400 +msgid "By default, the :guilabel:`Bank Account` defined for the :ref:`payment journal ` is used, but you can also specify an :ref:`outstanding account ` for each payment provider to separate the provider's payments from other payments." msgstr "" #: ../../content/applications/finance/payment_providers.rst:-1 -msgid "A bank journal in the \"Incoming Payments Tab\"." +msgid "Define an outstanding account for a payment provider." msgstr "" -#: ../../content/applications/finance/payment_providers.rst:416 -msgid "You can have the same bank account for the whole company, or for some journals only, or a single payment method... What best suit your needs." -msgstr "" - -#: ../../content/applications/finance/payment_providers.rst:420 +#: ../../content/applications/finance/payment_providers.rst:409 msgid ":doc:`payment_providers/wire_transfer`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:421 +#: ../../content/applications/finance/payment_providers.rst:410 msgid ":doc:`payment_providers/adyen`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:422 +#: ../../content/applications/finance/payment_providers.rst:411 msgid ":doc:`payment_providers/alipay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:423 +#: ../../content/applications/finance/payment_providers.rst:412 msgid ":doc:`payment_providers/authorize`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:424 +#: ../../content/applications/finance/payment_providers.rst:413 msgid ":doc:`payment_providers/asiapay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:425 +#: ../../content/applications/finance/payment_providers.rst:414 msgid ":doc:`payment_providers/buckaroo`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:426 +#: ../../content/applications/finance/payment_providers.rst:415 msgid ":doc:`payment_providers/demo`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:427 +#: ../../content/applications/finance/payment_providers.rst:416 msgid ":doc:`payment_providers/mercado_pago`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:428 +#: ../../content/applications/finance/payment_providers.rst:417 msgid ":doc:`payment_providers/mollie`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:429 +#: ../../content/applications/finance/payment_providers.rst:418 msgid ":doc:`payment_providers/ogone`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:430 +#: ../../content/applications/finance/payment_providers.rst:419 msgid ":doc:`payment_providers/paypal`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:431 +#: ../../content/applications/finance/payment_providers.rst:420 msgid ":doc:`payment_providers/razorpay`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:432 +#: ../../content/applications/finance/payment_providers.rst:421 msgid ":doc:`payment_providers/sips`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:433 +#: ../../content/applications/finance/payment_providers.rst:422 msgid ":doc:`payment_providers/stripe`" msgstr "" -#: ../../content/applications/finance/payment_providers.rst:434 +#: ../../content/applications/finance/payment_providers.rst:423 msgid ":doc:`../websites/ecommerce/checkout_payment_shipping/payments`" msgstr "" +#: ../../content/applications/finance/payment_providers.rst:424 +msgid ":doc:`accounting/bank`" +msgstr "" + #: ../../content/applications/finance/payment_providers/adyen.rst:3 msgid "Adyen" msgstr "" @@ -24122,7 +24474,6 @@ msgstr "" #: ../../content/applications/finance/payment_providers/ogone.rst:9 #: ../../content/applications/finance/payment_providers/paypal.rst:97 #: ../../content/applications/finance/payment_providers/sips.rst:12 -#: ../../content/applications/finance/payment_providers/stripe.rst:12 msgid ":ref:`payment_providers/add_new`" msgstr "" @@ -24135,10 +24486,10 @@ msgstr "" #: ../../content/applications/finance/payment_providers/flutterwave.rst:44 #: ../../content/applications/finance/payment_providers/mercado_pago.rst:39 #: ../../content/applications/finance/payment_providers/mollie.rst:31 -#: ../../content/applications/finance/payment_providers/paypal.rst:161 +#: ../../content/applications/finance/payment_providers/paypal.rst:162 #: ../../content/applications/finance/payment_providers/razorpay.rst:46 #: ../../content/applications/finance/payment_providers/sips.rst:32 -#: ../../content/applications/finance/payment_providers/stripe.rst:133 +#: ../../content/applications/finance/payment_providers/stripe.rst:140 msgid ":doc:`../payment_providers`" msgstr "" @@ -24146,6 +24497,14 @@ msgstr "" msgid "Adyen works only with customers processing **more** than **10 million annually** or invoicing a **minimum** of **1.000** transactions **per month**." msgstr "" +#: ../../content/applications/finance/payment_providers/adyen.rst:23 +#: ../../content/applications/finance/payment_providers/alipay.rst:18 +#: ../../content/applications/finance/payment_providers/authorize.rst:15 +#: ../../content/applications/finance/payment_providers/mollie.rst:14 +#: ../../content/applications/finance/payment_providers/sips.rst:15 +msgid "Credentials tab" +msgstr "" + #: ../../content/applications/finance/payment_providers/adyen.rst:25 msgid "Odoo needs your **API Credentials** to connect with your Adyen account, which comprise:" msgstr "" @@ -24308,7 +24667,7 @@ msgid "Adyen allows you to capture an amount manually instead of having an immed msgstr "" #: ../../content/applications/finance/payment_providers/adyen.rst:141 -msgid "To set it up, enable the **Capture Amount Manually** option on Odoo, as explained in the :ref:`payment providers documentation `." +msgid "To set it up, enable the **Capture Amount Manually** option on Odoo, as explained in the :ref:`payment providers documentation `." msgstr "" #: ../../content/applications/finance/payment_providers/adyen.rst:144 @@ -24527,8 +24886,12 @@ msgstr "" msgid "If you use the :guilabel:`Test Mode` with a regular account, it results in the following error: *The merchant login ID or password is invalid or the account is inactive*." msgstr "" +#: ../../content/applications/finance/payment_providers/authorize.rst:38 +msgid "Configuration tab" +msgstr "" + #: ../../content/applications/finance/payment_providers/authorize.rst:43 -msgid "With Authorize.Net, you can enable the :ref:`manual capture `. If enabled, the funds are reserved for 30 days on the customer's card, but not charged yet." +msgid "With Authorize.Net, you can enable the :ref:`manual capture `. If enabled, the funds are reserved for 30 days on the customer's card, but not charged yet." msgstr "" #: ../../content/applications/finance/payment_providers/authorize.rst:48 @@ -25169,7 +25532,7 @@ msgid "Extra fees" msgstr "" #: ../../content/applications/finance/payment_providers/paypal.rst:126 -msgid "You can charge :ref:`extra fees ` to customers choosing to pay with PayPal in order to cover the transaction fees PayPal charges you." +msgid "You can charge :ref:`extra fees ` to customers choosing to pay with PayPal in order to cover the transaction fees PayPal charges you." msgstr "" #: ../../content/applications/finance/payment_providers/paypal.rst:130 @@ -25180,31 +25543,31 @@ msgstr "" msgid "`Traders in the EU `_ are not allowed to charge extra fees for paying with credit cards." msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:137 +#: ../../content/applications/finance/payment_providers/paypal.rst:138 msgid "Test environment" msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:142 +#: ../../content/applications/finance/payment_providers/paypal.rst:143 msgid "Thanks to PayPal sandbox accounts, you can test the entire payment flow in Odoo." msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:144 +#: ../../content/applications/finance/payment_providers/paypal.rst:145 msgid "Log into the `Paypal Developer Site `_ using your PayPal credentials, which creates two sandbox accounts:" msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:147 +#: ../../content/applications/finance/payment_providers/paypal.rst:148 msgid "A business account (to use as merchants, e.g., `pp.merch01-facilitator@example.com `_);" msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:149 +#: ../../content/applications/finance/payment_providers/paypal.rst:150 msgid "A default personal account (to use as shoppers, e.g., `pp.merch01-buyer@example.com `_)." msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:152 +#: ../../content/applications/finance/payment_providers/paypal.rst:153 msgid "Log into PayPal sandbox using the merchant account and follow the same configuration instructions. Enter your sandbox credentials in Odoo (:menuselection:`Accounting --> Configuration --> Payment Providers --> PayPal` in the :guilabel:`Credentials` tab, and make sure the status is set on :guilabel:`Test Mode`. We recommend doing this on a test Odoo database rather than your main database." msgstr "" -#: ../../content/applications/finance/payment_providers/paypal.rst:158 +#: ../../content/applications/finance/payment_providers/paypal.rst:159 msgid "Run a test transaction from Odoo using the sandbox personal account." msgstr "" @@ -25305,196 +25668,205 @@ msgid "Stripe" msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:5 -msgid "`Stripe `_ is a United States-based online payment solution provider, allowing businesses to accept **credit cards** and other payment methods." +msgid "`Stripe `_ is a United States-based online payment solution provider allowing businesses to accept **credit cards** and other payment methods." msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:9 -msgid "Link your Stripe Account with Odoo" +msgid "Create your Stripe account with Odoo" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:14 +#: ../../content/applications/finance/payment_providers/stripe.rst:11 msgid "The method to acquire your credentials depends on your hosting type:" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:19 -#: ../../content/applications/finance/payment_providers/stripe.rst:35 -msgid "Go to the **eCommerce** or the **Sales** app and click on the *Activate Stripe* or the *Set payments* button on the onboarding banner." +#: ../../content/applications/finance/payment_providers/stripe.rst:16 +#: ../../content/applications/finance/payment_providers/stripe.rst:26 +msgid ":ref:`Navigate to the payment provider Stripe ` and click :guilabel:`Connect Stripe`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:21 -#: ../../content/applications/finance/payment_providers/stripe.rst:37 -msgid "Fill in the requested information and submit the form." +#: ../../content/applications/finance/payment_providers/stripe.rst:18 +#: ../../content/applications/finance/payment_providers/stripe.rst:28 +msgid "Go through the setup process and confirm your email address when Stripe sends you a confirmation email." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:20 +msgid "At the end of the process, click :guilabel:`Agree and submit`. If all requested information has been submitted, you are then redirected to Odoo, and your payment provider is enabled." msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:22 -#: ../../content/applications/finance/payment_providers/stripe.rst:38 -msgid "Confirm your email address when Stripe sends you a confirmation email." +#: ../../content/applications/finance/payment_providers/stripe.rst:36 +msgid ":ref:`stripe/local-payment-methods`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:23 -msgid "At the end of the process, you are redirected to Odoo. If you submitted all the requested information, you are all set and your payment provider is enabled." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:25 -msgid "Your can continue to :ref:`stripe/local-payment-methods`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:28 -msgid "To use your own API keys, :ref:`activate the Developer mode ` and :ref:`enable Stripe manually `. You can then :ref:`Fill in your credentials `, :ref:`generate a webhook ` and enable the payment provider." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:33 +#: ../../content/applications/finance/payment_providers/stripe.rst:24 msgid "Odoo.sh or On-premise" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:39 -msgid "At the end of the process, you are redirected to the payment provider **Stripe** on Odoo." +#: ../../content/applications/finance/payment_providers/stripe.rst:30 +msgid "At the end of the process, click :guilabel:`Agree and submit`; you are then redirected to the payment provider **Stripe** in Odoo." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:40 +#: ../../content/applications/finance/payment_providers/stripe.rst:32 msgid ":ref:`Fill in your credentials `." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:41 +#: ../../content/applications/finance/payment_providers/stripe.rst:33 msgid ":ref:`Generate a webhook `." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:42 -msgid "Enable the payment provider." +#: ../../content/applications/finance/payment_providers/stripe.rst:39 +msgid "To use an existing Stripe account, :ref:`activate the Developer mode ` and :ref:`enable Stripe manually `. You can then :ref:`Fill in your credentials `, :ref:`generate a webhook `, and enable the payment provider." msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:43 -msgid "You are all set and can continue to :ref:`stripe/local-payment-methods`." +msgid "You can also test Stripe using the :ref:`payment_providers/test-mode`. To do so, first, `log into your Stripe dashboard `_ and switch to the **Test mode**. Then, in Odoo, :ref:`activate the Developer mode `, :ref:`navigate to the payment provider Stripe `, :ref:`fill in your API credentials ` with the test keys, and set the :guilabel:`State` field to :guilabel:`Test Mode`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:46 -msgid "To connect your Stripe account after the onboarding is already completed, go to :menuselection:`Accounting --> Configuration --> Payment Providers --> Stripe` and click on the *Connect Stripe* button." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:51 -msgid "If you are testing Stripe (in **test mode**), change the **State** to *Test Mode*. We recommend doing this on a test Odoo database rather than on your main database." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:57 +#: ../../content/applications/finance/payment_providers/stripe.rst:53 msgid "Fill in your credentials" msgstr "" +#: ../../content/applications/finance/payment_providers/stripe.rst:55 +msgid "If your **API credentials** are required to connect with your Stripe account, proceed as follows:" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:57 +msgid "Go to `the API keys page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> API Keys`." +msgstr "" + #: ../../content/applications/finance/payment_providers/stripe.rst:59 -msgid "In case your **API Credentials** are required to connect with your Stripe account, these are the credentials that must be completed:" +msgid "In the :guilabel:`Standard keys` section, copy the :guilabel:`Publishable key` and the :guilabel:`Secret key` and save them for later." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:61 +#: ../../content/applications/finance/payment_providers/stripe.rst:99 +msgid "In Odoo, :ref:`navigate to the payment provider Stripe `." msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:62 -msgid ":ref:`Publishable Key `: The key solely used to identify the account with Stripe." +msgid "In the :guilabel:`Credentials` tab, fill in the :guilabel:`Publishable Key` and :guilabel:`Secret Key` fields with the values you previously saved." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:63 -msgid ":ref:`Secret Key `: The key to sign the merchant account with Stripe." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:64 -msgid ":ref:`Webhook Signing Secret `: When you enable your webhook on your Stripe account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:67 -msgid "To retrieve the publishable and secret keys, follow this `link to your API keys `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> API Keys --> Standard Keys`." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:74 +#: ../../content/applications/finance/payment_providers/stripe.rst:68 msgid "Generate a webhook" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:76 -msgid "In case your **Webhook Signing Secret** is required to connect with your Stripe account, you can create a webhook either automatically or manually." +#: ../../content/applications/finance/payment_providers/stripe.rst:70 +msgid "If your **Webhook Signing Secret** is required to connect with your Stripe account, you can create a webhook automatically or manually." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:80 +#: ../../content/applications/finance/payment_providers/stripe.rst:74 msgid "Create the webhook automatically" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:82 -msgid "Make sure your :ref:`Publishable and Secret keys ` are filled in, then click on the *Generate your Webhook* button." +#: ../../content/applications/finance/payment_providers/stripe.rst:76 +msgid "Make sure your :ref:`Publishable and Secret keys ` are filled in, then click :guilabel:`Generate your Webhook`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:85 +#: ../../content/applications/finance/payment_providers/stripe.rst:79 msgid "Create the webhook manually" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:87 -msgid "Visit the `webhooks page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Then, click on **Add endpoint** in your **Hosted endpoints** and insert the following data into the pop-up form:" +#: ../../content/applications/finance/payment_providers/stripe.rst:81 +msgid "Go to the `Webhooks page on Stripe `_, or log into your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:0 -msgid "In the **Endpoint URL**, enter your Odoo database's URL followed by" +#: ../../content/applications/finance/payment_providers/stripe.rst:83 +msgid "In the :guilabel:`Hosted endpoints` section, click :guilabel:`Add endpoint`. Then, in the :guilabel:`Endpoint URL` field, enter your Odoo database's URL, followed by `/payment/stripe/webhook`, e.g., `https://yourcompany.odoo.com/payment/stripe/webhook`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:0 -msgid "`/payment/stripe/webhook`." +#: ../../content/applications/finance/payment_providers/stripe.rst:86 +msgid "Click :guilabel:`Select events` at the bottom of the form, then select the following events:" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:0 -msgid "For example: `https://yourcompany.odoo.com/payment/stripe/webhook`" +#: ../../content/applications/finance/payment_providers/stripe.rst:89 +msgid "in the :guilabel:`Charge` section: :guilabel:`charge.refunded` and :guilabel:`charge.refund.updated`;" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:91 +msgid "in the :guilabel:`Payment intent` section: :guilabel:`payment_intent.amount_capturable_updated`, :guilabel:`payment_intent.succeeded` and :guilabel:`payment_intent.payment_failed`;" msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:94 -msgid "At the end of the form, you can **Select events** to listen to. Click on it and, in the **Checkout** section, select **checkout.session.completed**." +msgid "in the :guilabel:`Setup intent` section: :guilabel:`setup_intent.succeeded`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:98 -msgid "It is possible to select other events, but they are currently not processed by Odoo." +#: ../../content/applications/finance/payment_providers/stripe.rst:96 +msgid "Click :guilabel:`Add events`." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:100 -msgid "When you click on **Add endpoint**, your Webhook is configured. You can then click on **reveal** to display your signing secret." +#: ../../content/applications/finance/payment_providers/stripe.rst:97 +msgid "Click :guilabel:`Add endpoint`, then click :guilabel:`Reveal` and save your :guilabel:`Signing secret` for later." msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:106 +#: ../../content/applications/finance/payment_providers/stripe.rst:101 +msgid "In the :guilabel:`Credentials` tab, fill the :guilabel:`Webhook Signing Secret` field with the value you previously saved." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:105 +msgid "You can select other events, but they are currently not processed by Odoo." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:110 msgid "Enable local payment methods" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:108 -msgid "Local payment methods are payment methods that are only available for certain merchants and customers countries and currencies." -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:111 -msgid "Odoo supports the following local payment methods:" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:113 -msgid "Bancontact" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:114 -msgid "EPS" +#: ../../content/applications/finance/payment_providers/stripe.rst:112 +msgid "Local payment methods are payment methods that are only available for specific providers and for specific countries and currencies." msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:115 -msgid "giropay" -msgstr "" - -#: ../../content/applications/finance/payment_providers/stripe.rst:116 -msgid "iDEAL" +msgid "Odoo supports the following local payment methods for Stripe:" msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:117 -msgid "Przelewy24 (P24)" +msgid "Bancontact" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:118 +msgid "EPS" msgstr "" #: ../../content/applications/finance/payment_providers/stripe.rst:119 -msgid "To enable some of these local payment methods with Stripe, list them as supported payment icons. To do so, go to :menuselection:`Payment Providers --> Stripe --> Configuration` and add the desired payment methods in the **Supported Payment Icons** field. If the desired payment method is already listed, you do not have anything to do." +msgid "giropay" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:-1 -msgid "Select and add icons of the payment methods you want to enable" +#: ../../content/applications/finance/payment_providers/stripe.rst:120 +msgid "iDEAL" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:128 -msgid "If a payment icon record does not exist in the database and its related local payment method is listed above, it is considered enabled with Stripe." +#: ../../content/applications/finance/payment_providers/stripe.rst:121 +msgid "Przelewy24 (P24)" msgstr "" -#: ../../content/applications/finance/payment_providers/stripe.rst:130 +#: ../../content/applications/finance/payment_providers/stripe.rst:123 +msgid "To adapt the list of enabled payment methods, go to the :guilabel:`Configuration` tab and edit the list of :guilabel:`Supported Payment Icons`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:127 +msgid "If a payment icon record does not exist in the database and its related local payment method is listed above, it is automatically enabled with Stripe." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:129 msgid "If a local payment method is not listed above, it is not supported and cannot be enabled." msgstr "" +#: ../../content/applications/finance/payment_providers/stripe.rst:132 +msgid "Enable Apple Pay" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:134 +msgid "To allow customers to use the Apple Pay button to pay their eCommerce orders, go to the :guilabel:`Configuration` tab, enable :guilabel:`Allow Express Checkout`, and click :guilabel:`Enable Apple Pay`." +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:139 +msgid ":ref:`Express checkout and Google Pay `" +msgstr "" + +#: ../../content/applications/finance/payment_providers/stripe.rst:141 +msgid ":doc:`Use Stripe as a payment terminal in Point of Sale <../../sales/point_of_sale/payment_methods/terminals/stripe>`" +msgstr "" + #: ../../content/applications/finance/payment_providers/wire_transfer.rst:3 msgid "Wire transfers" msgstr "" diff --git a/locale/sources/general.pot b/locale/sources/general.pot index f40a6a54c..bba59d5aa 100644 --- a/locale/sources/general.pot +++ b/locale/sources/general.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -238,14 +238,14 @@ msgid ":doc:`../../productivity/calendar/outlook`" msgstr "" #: ../../content/applications/general/auth/azure.rst:20 -#: ../../content/applications/general/email_communication/email_servers.rst:67 +#: ../../content/applications/general/email_communication/email_servers.rst:69 msgid ":doc:`/administration/maintain/azure_oauth`" msgstr "" #: ../../content/applications/general/auth/azure.rst:23 #: ../../content/applications/general/auth/google.rst:24 -#: ../../content/applications/general/voip/axivox.rst:16 -#: ../../content/applications/general/voip/onsip.rst:17 +#: ../../content/applications/general/voip/axivox/axivox_config.rst:17 +#: ../../content/applications/general/voip/onsip.rst:18 msgid "Configuration" msgstr "" @@ -426,7 +426,7 @@ msgid ":doc:`/applications/productivity/calendar/google`" msgstr "" #: ../../content/applications/general/auth/google.rst:19 -#: ../../content/applications/general/email_communication/email_servers.rst:66 +#: ../../content/applications/general/email_communication/email_servers.rst:68 msgid ":doc:`/administration/maintain/google_oauth`" msgstr "" @@ -595,45 +595,73 @@ msgid "Sign in with LDAP" msgstr "" #: ../../content/applications/general/auth/ldap.rst:5 -msgid "Install the LDAP module in General Settings." +msgid "Install the Lightweight Directory Access Protocol (LDAP) module in General Settings." msgstr "" #: ../../content/applications/general/auth/ldap.rst:7 -msgid "Click on **Create** in Setup your LDAP Server." +msgid "Click on **Create** in Setup the :abbr:`LDAP (Lightweight Directory Access Protocol)` Server." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:15 -msgid "Choose the company about to use the LDAP." +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "LDAP Authentication checkbox highlighted in the integrations settings on Odoo." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:20 -msgid "In **Server Information**, enter the IP address of your server and the port it listens to." +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "Create highlighted in the LDAP server settings." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:22 -msgid "Tick **User TLS** if your server is compatible." +#: ../../content/applications/general/auth/ldap.rst:17 +msgid "Choose the company using the LDAP." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:27 -msgid "In **Login Information**, enter ID and password of the account used to query the server. If left empty, the server will be queried anonymously." +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "Select the company drop-down menu highlighted in LDAP setup." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:32 -msgid "In **Process Parameter**, enter the domain name of your LDAP server in LDAP nomenclature (e.g. ``dc=example,dc=com``)." +#: ../../content/applications/general/auth/ldap.rst:23 +msgid "In **Server Information**, enter the IP address of the server and the port it listens to." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:34 -msgid "In **LDAP filter**, enter ``uid=%s``" +#: ../../content/applications/general/auth/ldap.rst:25 +msgid "Tick **Use TLS** if the server is compatible." msgstr "" -#: ../../content/applications/general/auth/ldap.rst:39 -msgid "In **User Information**, tick *Create User* if you want Odoo to create a User profile the first time someone log in with LDAP." +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "LDAP server settings highlighted in LDAP server setup on Odoo." +msgstr "" + +#: ../../content/applications/general/auth/ldap.rst:31 +msgid "In **Login Information**, enter ID and password of the account used to query the server. If left empty, the server queries anonymously." +msgstr "" + +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "Login information highlighted in LDAP server setup on Odoo." +msgstr "" + +#: ../../content/applications/general/auth/ldap.rst:38 +msgid "In **Process Parameter**, enter the domain name of the LDAP server in :abbr:`LDAP (Lightweight Directory Access Protocol)` nomenclature (e.g. ``dc=example,dc=com``)." msgstr "" #: ../../content/applications/general/auth/ldap.rst:41 +msgid "In **LDAP filter**, enter ``uid=%s``" +msgstr "" + +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "Process parameter highlighted in LDAP server setup on Odoo." +msgstr "" + +#: ../../content/applications/general/auth/ldap.rst:47 +msgid "In **User Information**, tick *Create User* if Odoo should create a User profile the first time someone logs in with :abbr:`LDAP (Lightweight Directory Access Protocol)`." +msgstr "" + +#: ../../content/applications/general/auth/ldap.rst:50 msgid "In **Template User**, indicate a template for the new profiles created. If left blanked, the admin profile will be used as template." msgstr "" +#: ../../content/applications/general/auth/ldap.rst:-1 +msgid "User information highlighted on LDAP server setup on Odoo." +msgstr "" + #: ../../content/applications/general/developer_mode.rst:5 msgid "Developer Mode (debug mode)" msgstr "" @@ -1307,135 +1335,135 @@ msgstr "" msgid "`Using Mail-Tester to set SPF Records for specific carriers `_" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:3 +#: ../../content/applications/general/email_communication/email_servers.rst:5 msgid "Send and receive emails in Odoo with an email server" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:6 +#: ../../content/applications/general/email_communication/email_servers.rst:8 msgid "Odoo Online or Odoo.sh users" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:8 +#: ../../content/applications/general/email_communication/email_servers.rst:10 msgid "Since **Odoo sets up its own mail servers for the database**, outgoing and incoming emails already work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be configured!" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:12 +#: ../../content/applications/general/email_communication/email_servers.rst:14 msgid "Unless an external mail server is required to send large batches of mass emails, simply use the standard online Odoo database normally since it has already been pre-configured to send email." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:16 +#: ../../content/applications/general/email_communication/email_servers.rst:18 msgid "The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200 emails sent per day for databases with an **Enterprise** subscription. This limit can be increased under certain conditions. See the :doc:`FAQ ` or contact support for more information." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:22 +#: ../../content/applications/general/email_communication/email_servers.rst:24 msgid "Scope of this documentation" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:24 +#: ../../content/applications/general/email_communication/email_servers.rst:26 msgid "This document is **mainly dedicated to Odoo on-premise databases** who don't benefit from an out-of-the-box solution to send and receive emails in Odoo, unlike `Odoo Online `_ and `Odoo.sh `_. Incoming and outgoing servers must be configured for on-premise databases." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:29 +#: ../../content/applications/general/email_communication/email_servers.rst:31 msgid "The following sections below contain information on how to integrate an external email server with Odoo." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:33 +#: ../../content/applications/general/email_communication/email_servers.rst:35 msgid "If no one in the company is employed to manage email servers, Odoo Online and Odoo.sh are strongly recommended. In these Odoo hosting types email sending and receiving works instantly and is monitored by professionals. Nevertheless, a company can use their own email server if they want to manage the email server's reputation themselves. For more information see :doc:`Configure DNS records to send emails in Odoo `" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:42 +#: ../../content/applications/general/email_communication/email_servers.rst:44 msgid "Default notifications system" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:44 +#: ../../content/applications/general/email_communication/email_servers.rst:46 msgid "Documents in Odoo (such as a CRM opportunity, a sales order, an invoice, etc.) have a discussion thread, called *chatter*." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:47 +#: ../../content/applications/general/email_communication/email_servers.rst:49 msgid "When a database user posts a message in the chatter, this message is sent by email to the followers of the document as a notification (except to the sender). If a follower replies to the message, the reply updates the chatter, and Odoo relays another reply to the followers as a notification. Messages sent back to the chatter from users or external users will appear in the chatter from their respective email, or as the name listed in their *Contacts* record." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:53 +#: ../../content/applications/general/email_communication/email_servers.rst:55 msgid "These notifications are sent using a default from address. For more information see :ref:`Use a default email address `." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:57 +#: ../../content/applications/general/email_communication/email_servers.rst:59 msgid "Manage outbound messages" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:59 +#: ../../content/applications/general/email_communication/email_servers.rst:61 msgid "As a system admin, go to :menuselection:`Settings --> General Settings --> Discuss` in Odoo, and enable the :guilabel:`Custom Email Servers` option. Then, click :guilabel:`Save`. Next, click :guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail server record in Odoo. Reference the SMTP data of the external email server. Once all the information has been filled out, click :guilabel:`Test Connection`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:70 +#: ../../content/applications/general/email_communication/email_servers.rst:72 msgid "Ensuring the outgoing domain has :abbr:`SPF (Sender Policy Framework)`, :abbr:`DKIM (DomainKeys Identified Mail)` and :abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)` set up on the :abbr:`DNS (Domain Name System)` will improve deliverability. For more information see :doc:`email_domain`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:78 +#: ../../content/applications/general/email_communication/email_servers.rst:80 msgid "Port restriction" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:80 +#: ../../content/applications/general/email_communication/email_servers.rst:82 msgid "Note that port 25 is blocked for security reasons on the Odoo Online and Odoo.sh platforms. Try using ports 465, 587, or 2525 instead." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:86 +#: ../../content/applications/general/email_communication/email_servers.rst:88 msgid "Use a default \"From\" email address" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:88 +#: ../../content/applications/general/email_communication/email_servers.rst:90 msgid "Sometimes, an email's \"From\" (outgoing) address can belong to a different domain, and that can be a problem." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:91 +#: ../../content/applications/general/email_communication/email_servers.rst:93 msgid "For example, if a customer with the email address `mary\\@customer.example.com` responds to a message, Odoo will try to redistribute that same email to the other subscribers in the thread. However, if the domain `customer.example.com` forbids that kind of usage for security, the email that Odoo is trying to redistribute would get rejected by some recipients' email servers." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:96 +#: ../../content/applications/general/email_communication/email_servers.rst:98 msgid "To avoid that problem, Odoo sends all emails using a \"From\" address from the same authorized domain." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:99 +#: ../../content/applications/general/email_communication/email_servers.rst:101 msgid "Access the :guilabel:`System Parameters` by activating :ref:`developer mode ` and going to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:102 +#: ../../content/applications/general/email_communication/email_servers.rst:104 msgid "To force the email address from which emails are sent, a combination of the following keys needs to be set in the system parameters of the database:" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:105 +#: ../../content/applications/general/email_communication/email_servers.rst:107 msgid "`mail.default.from`: accepts the local part or a complete email address as value" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:106 +#: ../../content/applications/general/email_communication/email_servers.rst:108 msgid "`mail.default.from_filter`: accepts a domain name or a full email address as value" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:109 +#: ../../content/applications/general/email_communication/email_servers.rst:111 msgid "The `mail.default.from_filter` works only for `odoo-bin` configurations or the default Odoo email server, otherwise this parameter can be set using the `from_filter` field on `ir.mail_server`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:112 +#: ../../content/applications/general/email_communication/email_servers.rst:114 msgid "The field can be a domain name or an entire email address, or it can remain empty. If the sender's email address does not match this set filter, then the email will be encapsulated using a combination of the two system parameters: `mail.default.from` and `mail.catchall.domain`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:117 +#: ../../content/applications/general/email_communication/email_servers.rst:119 msgid "In the following example, the from email address is replaced with the combination of the the two system parameters (`mail.default.from` and `mail.catchall.domain`). This is the default\\ notifications configuration in Odoo: ``“Admin” `` => ``“Admin” ``." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:122 +#: ../../content/applications/general/email_communication/email_servers.rst:124 msgid "In other words if the email address of the author does not match `mail.default.from_filter`, the email address is replaced by `mail.default.from` (if it contains a full email address) or a combination of `mail.default.from` and `mail.catchall.domain`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:126 +#: ../../content/applications/general/email_communication/email_servers.rst:128 msgid "If the `from_filter` contains a full email address, and if the `mail.default.from` is the same as this address, then all of the email addresses that are different from `mail.default.from` will be encapsulated in `mail.default.from`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:133 +#: ../../content/applications/general/email_communication/email_servers.rst:135 msgid "Utilizing the \"From\" filter on an outgoing email server" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:135 +#: ../../content/applications/general/email_communication/email_servers.rst:137 msgid "The :guilabel:`FROM Filtering` field allows for the use of a specific outgoing email server depending on the :guilabel:`From` email address or domain that Odoo is sending on behalf of. This setting can be used to improve the deliverability or sending success rate of emails sent from the database. Setting the :guilabel:`FROM Filtering` field can also be used to send from different domains in a multi-company environment. Access this field in Odoo by navigating to :menuselection:`Settings --> Discuss --> Custom Mail Servers --> Outgoing Mail Servers --> New`." msgstr "" @@ -1443,107 +1471,107 @@ msgstr "" msgid "Outgoing email server settings and the FROM filter settings." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:146 +#: ../../content/applications/general/email_communication/email_servers.rst:148 msgid "When an email is sent from Odoo while the :guilabel:`FROM Filtering` field is set, an email server is chosen in the following sequence:" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:149 +#: ../../content/applications/general/email_communication/email_servers.rst:151 msgid "First, Odoo searches for an email server that has the same :guilabel:`FROM Filtering` value as the :guilabel:`From` value (email address) defined in the outgoing email. For example, if the :guilabel:`From` value (email address) is `test\\@example.com`, only the email servers that have the :guilabel:`FROM Filtering` value equal to `test\\@example.com` are returned." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:153 +#: ../../content/applications/general/email_communication/email_servers.rst:155 msgid "However, if no email servers are found that use the :guilabel:`From` value, then Odoo searches for an email server that has the same *domain* as the :guilabel:`From` value (email address) defined in the outgoing email. For example, if the :guilabel:`From` email address is `test\\@example.com`, only the email servers that have the :guilabel:`FROM Filtering` value equal to `example.com` are returned." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:159 +#: ../../content/applications/general/email_communication/email_servers.rst:161 msgid "If no email servers are found after checking for the domain, then Odoo returns all email servers that do not have any :guilabel:`FROM Filtering` value(s) set." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:162 +#: ../../content/applications/general/email_communication/email_servers.rst:164 msgid "Should this query return no results, then Odoo performs a search for an email server using the system parameter: `mail.default.from`. First, the email address listed attempts to match an email server, and then the domain attempts to find a match. If no email server is found, Odoo returns the first outgoing email server (sorted by priority)." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:168 +#: ../../content/applications/general/email_communication/email_servers.rst:170 msgid "If several email servers are found, then Odoo uses the first one according to its priority. For example, if there are two email servers, one with a priority of `10` and the other with a priority of `20`, then the email server with a priority of `10` is used first." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:175 +#: ../../content/applications/general/email_communication/email_servers.rst:177 msgid "Set up different dedicated servers for transactional and mass emails" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:177 +#: ../../content/applications/general/email_communication/email_servers.rst:179 msgid "In Odoo a separate email server can be used for transactional emails and mass mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun, Sendgrid or :doc:`Mailjet ` for mass mailings." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:182 +#: ../../content/applications/general/email_communication/email_servers.rst:184 msgid "A default outgoing email server is already configured. Do not create an alternative one unless a specific external outgoing email server is needed for technical reasons." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:185 +#: ../../content/applications/general/email_communication/email_servers.rst:187 msgid "To do this, first activate the :ref:`developer mode `, and then go to :menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two outgoing email server settings; one for the transactional emails and one for the mass mailing server. Make sure to give priority to the transactional server over the mass mailing server by providing a lower priority number for the transactional email server." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:191 +#: ../../content/applications/general/email_communication/email_servers.rst:193 msgid "Now, go to :menuselection:`Email Marketing --> Settings` and enable :guilabel:`Dedicated Server`. Choose the appropriate email server. With these settings, Odoo uses the server with the lower priority for transactional emails, and the server here selected for mass mails. Note that in this case, the domain's Sender Policy Framework (SPF) records must be set to include both transactional and mass mail servers." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:198 +#: ../../content/applications/general/email_communication/email_servers.rst:200 msgid ":doc:`email_domain`" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:203 +#: ../../content/applications/general/email_communication/email_servers.rst:205 msgid "Manage inbound messages" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:205 +#: ../../content/applications/general/email_communication/email_servers.rst:207 msgid "Odoo relies on generic email aliases to fetch incoming messages." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:207 +#: ../../content/applications/general/email_communication/email_servers.rst:209 msgid "**Reply messages** of messages sent from Odoo are routed to their original discussion thread (and to the inbox of all its followers) by the alias of the model if there is any or by the catchall alias (**catchall@**). Replies to messages of models that don't have a custom alias will use the catchall alias (`catchall@mycompany.odoo.com`). The catchall address, however, does not have another action attached to it like other aliases might, it is only used to collect replies." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:212 +#: ../../content/applications/general/email_communication/email_servers.rst:214 msgid "**Bounced messages** are used as a Return-Path. One example this is especially useful for is in `Odoo Email Marketing `__. In this case bounces are opt-out based on if the email bounced too many times (5) in the last month and the bounces are separated by one week. This is done to avoid blacklisting someone because of a mail server error. If these circumstances are met then the email is considered invalid and is blacklisted. A log note is added on the contact under :guilabel:`Blacklisted Email Addresses` on the :guilabel:`Email Marketing Configuration Menu`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:220 +#: ../../content/applications/general/email_communication/email_servers.rst:222 msgid "Messages that bounce in the chatter (outside of Email Marketing) will populate a red envelope indicating the failed delivery. This can be helpful to know that a Sales Order or an Invoice did not reach its final destination." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:223 +#: ../../content/applications/general/email_communication/email_servers.rst:225 msgid "**Original messages**: several business objects have their own alias to create new records in Odoo from incoming emails:" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:226 +#: ../../content/applications/general/email_communication/email_servers.rst:228 msgid "Sales channel (to create *Leads* or *Opportunities* in `Odoo CRM `_)" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:228 +#: ../../content/applications/general/email_communication/email_servers.rst:230 msgid "Support channel (to create *Tickets* in `Odoo Helpdesk `_)" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:229 +#: ../../content/applications/general/email_communication/email_servers.rst:231 msgid "Projects (to create new *Tasks* in `Odoo Project `_)" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:231 +#: ../../content/applications/general/email_communication/email_servers.rst:233 msgid "Job positions (to create *Applicants* in `Odoo Recruitment `_)" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:234 +#: ../../content/applications/general/email_communication/email_servers.rst:236 msgid "Depending on the mail server, there might be several methods to fetch emails. The easiest and most recommended method is to manage one email address per Odoo alias in the mail server." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:237 +#: ../../content/applications/general/email_communication/email_servers.rst:239 msgid "Create the corresponding email addresses in the mail server (**catchall@**, **bounce@**, **sales@**, etc.)." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:239 +#: ../../content/applications/general/email_communication/email_servers.rst:241 msgid "Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings --> Discuss`. Changing the :guilabel:`Alias Domain` will change the catchall's domain for the database." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:242 +#: ../../content/applications/general/email_communication/email_servers.rst:244 msgid "If the database's hosting type is Odoo on-premise, create an :guilabel:`Incoming Mail Server` in Odoo for each alias. To create a new incoming server go to: :menuselection:`Settings --> Discuss --> Custom Mail Servers --> Incoming Mail Servers --> New` Fill out the form according to the email provider's settings. Leave the :guilabel:`Actions to Perform on Incoming Mails` field blank. Once all the information has been filled out, click on :guilabel:`TEST & CONFIRM`." msgstr "" @@ -1551,55 +1579,55 @@ msgstr "" msgid "Incoming mail server configuration on Odoo." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:252 +#: ../../content/applications/general/email_communication/email_servers.rst:254 msgid "If the database's hosting type is Odoo Online or Odoo.sh, redirecting or forwarding incoming messages to Odoo's domain name instead of the external email server is recommended. That way, incoming messages can be received without delay. Redirections for all email addresses should be set to Odoo's domain name in the email server (e.g. `catchall\\@mydomain.ext` to `catchall\\@mycompany.odoo.com`)." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:258 +#: ../../content/applications/general/email_communication/email_servers.rst:260 msgid "All the aliases are customizable in Odoo. Object aliases can be edited from their respective configuration view by navigating to :menuselection:`Settings --> Technical Menu --> Email --> Aliases`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:262 +#: ../../content/applications/general/email_communication/email_servers.rst:264 msgid "To edit catchall and bounce aliases, first activate the :ref:`developer mode `. Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to customize the aliases (`mail.catchall.alias` & `mail.bounce.alias`). These types of changes should be completed prior to the database going live. If a customer replies after a change is made then the system will not recognize the old alias and the reply won't be received." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:268 +#: ../../content/applications/general/email_communication/email_servers.rst:270 msgid "By default, inbound messages are fetched every 5 minutes for on-premise databases." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:271 +#: ../../content/applications/general/email_communication/email_servers.rst:273 msgid "This value can be changed in :ref:`developer mode `. Go to :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for :guilabel:`Mail: Fetchmail Service`." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:276 +#: ../../content/applications/general/email_communication/email_servers.rst:278 msgid "System parameters that prevent feedback loops" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:278 +#: ../../content/applications/general/email_communication/email_servers.rst:280 msgid "There are two system parameters that help prevent email loops from occurring in Odoo. These parameters were introduced in Odoo 16 to prevent aliases from creating too many records and to prevent feedback loops on the catchall reply-to email address. They are present in database but not in the *System Parameters*. To override the following defaults they need to be added in." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:283 +#: ../../content/applications/general/email_communication/email_servers.rst:285 msgid "The two system parameters are as follows:" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:285 +#: ../../content/applications/general/email_communication/email_servers.rst:287 msgid "`mail.incoming.limit.period` (60 minutes by default)" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:286 +#: ../../content/applications/general/email_communication/email_servers.rst:288 msgid "`mail.incoming.limit.alias` (5 by default)" msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:288 +#: ../../content/applications/general/email_communication/email_servers.rst:290 msgid "Add these fields in Odoo by first enabling :ref:`developer mode `, and then navigating to :menuselection:`Settings --> Technical Menu --> Parameters --> System Parameters`. Change the value of these parameters, as needed." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:292 +#: ../../content/applications/general/email_communication/email_servers.rst:294 msgid "When an email is received in the Odoo database on the catchall email address or on any alias, Odoo looks at the mail received for the given period of time defined in the system parameter `mail.incoming.limit.period`. If the received email was sent to an alias then Odoo will reference the `mail.incoming.limit.alias` system parameter and determine the value as the number of records this alias is allowed to create in the given period of time (value of `mail.incoming.limit.period`)." msgstr "" -#: ../../content/applications/general/email_communication/email_servers.rst:298 +#: ../../content/applications/general/email_communication/email_servers.rst:300 msgid "In addition, when email is received to the catchall email address, Odoo will reference the emails received to the database during the set period of time (as stated by the value in the system parameter: `mail.incoming.limit.period`). Odoo will then determine whether any of the emails received match that of the email(s) being received during the specified time-frame, and will prevent a feedback loop from occurring if a duplicate email is detected." msgstr "" @@ -2700,6 +2728,58 @@ msgstr "" msgid "You can do it using either the name of the related record or its ID. The ID is expected when two records have the same name. In such a case add \" / ID\" at the end of the column title (e.g. for product attributes: Product Attributes / Attribute / ID)." msgstr "" +#: ../../content/applications/general/geolocation.rst:3 +msgid "Geolocation" +msgstr "" + +#: ../../content/applications/general/geolocation.rst:5 +msgid "You can locate contacts or places and generate routes on a map in Odoo." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:-1 +msgid "Map displaying a contact's location." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:10 +msgid "To use the feature, open the :guilabel:`Settings` app, and, under the :guilabel:`Integrations`, section, activate :guilabel:`Geo Localization`. Then, choose between using the OpenStreetMap or Google Places API." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:14 +msgid "**OpenStreetMap**" +msgstr "" + +#: ../../content/applications/general/geolocation.rst:16 +msgid "OpenStreetMap is a free, open geographic database updated and maintained by volunteers. To use it, select :guilabel:`Open Street Map`." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:20 +msgid "OpenStreetMap might not always be accurate. You can `join the OpenStreetMap community `_ to fix any issues encountered." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:23 +msgid "**Google Places API map**" +msgstr "" + +#: ../../content/applications/general/geolocation.rst:25 +msgid "The Google Places API map provides detailed info on places, businesses, and points of interest. It supports location-based features like search, navigation, and recommendations." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:29 +msgid "Using the Google Places API could require `payment to Google `_." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:32 +msgid "To use it, select :guilabel:`Google Place Map` and enter your :ref:`API Key `." +msgstr "" + +#: ../../content/applications/general/geolocation.rst:-1 +msgid "Google Places API key" +msgstr "" + +#: ../../content/applications/general/geolocation.rst:39 +msgid ":doc:`../../applications/websites/website/configuration/address_autocomplete`" +msgstr "" + #: ../../content/applications/general/in_app_purchase.rst:3 msgid "In-App Purchase (IAP)" msgstr "" @@ -3842,309 +3922,2552 @@ msgstr "" 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 +#: ../../content/applications/general/voip.rst:7 msgid "VoIP (Voice over Internet Protocol)" msgstr "" -#: ../../content/applications/general/voip/asterisk.rst:3 -msgid "Configure your VoIP Asterisk server for Odoo" +#: ../../content/applications/general/voip.rst:10 +msgid "For more information, reference the `Odoo eLearning (video tutorials) on VoIP `_" msgstr "" -#: ../../content/applications/general/voip/asterisk.rst:6 -msgid "Installing Asterisk server" +#: ../../content/applications/general/voip/axivox.rst:5 +msgid "Axivox configuration" msgstr "" -#: ../../content/applications/general/voip/asterisk.rst:9 -msgid "Dependencies" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:3 +msgid "VoIP services in Odoo with Axivox" msgstr "" -#: ../../content/applications/general/voip/asterisk.rst:11 -msgid "Before installing Asterisk you need to install the following dependencies:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:13 -msgid "wget" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:14 -msgid "gcc" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:15 -msgid "g++" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:16 -msgid "ncurses-devel" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:17 -msgid "libxml2-devel" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:18 -msgid "sqlite-devel" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:19 -msgid "libsrtp-devel" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:20 -msgid "libuuid-devel" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:21 -msgid "openssl-devel" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:22 -msgid "pkg-config" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:24 -msgid "In order to install libsrtp, follow the instructions below:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:35 -msgid "You also need to install PJSIP, you can download the source `here `_. Once the source directory is extracted:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:38 -msgid "**Change to the pjproject source directory:**" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:44 -msgid "**run:**" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:50 -msgid "**Build and install pjproject:**" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:58 -msgid "**Update shared library links:**" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:64 -msgid "**Verify that pjproject is installed:**" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:70 -msgid "**The result should be:**" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:87 -msgid "Asterisk" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:89 -msgid "In order to install Asterisk 13.7.0, you can download the source directly `there `_." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:92 -msgid "Extract Asterisk:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:98 -msgid "Enter the Asterisk directory:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:104 -msgid "Run the Asterisk configure script:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:110 -msgid "Run the Asterisk menuselect tool:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:116 -msgid "In the menuselect, go to the resources option and ensure that res_srtp is enabled. If there are 3 x’s next to res_srtp, there is a problem with the srtp library and you must reinstall it. Save the configuration (press x). You should also see stars in front of the res_pjsip lines." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:120 -msgid "Compile and install Asterisk:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:126 -msgid "If you need the sample configs you can run 'make samples' to install the sample configs. If you need to install the Asterisk startup script you can run 'make config'." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:130 -msgid "DTLS Certificates" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:132 -msgid "After you need to setup the DTLS certificates." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:138 -msgid "Enter the Asterisk scripts directory:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:144 -msgid "Create the DTLS certificates (replace pbx.mycompany.com with your ip address or dns name, replace My Super Company with your company name):" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:152 -msgid "Configure Asterisk server" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:154 -msgid "For WebRTC, a lot of the settings that are needed MUST be in the peer settings. The global settings do not flow down into the peer settings very well. By default, Asterisk config files are located in /etc/asterisk/. Start by editing http.conf and make sure that the following lines are uncommented:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:166 -msgid "Next, edit sip.conf. The WebRTC peer requires encryption, avpf, and icesupport to be enabled. In most cases, directmedia should be disabled. Also under the WebRTC client, the transport needs to be listed as ‘ws’ to allow websocket connections. All of these config lines should be under the peer itself; setting these config lines globally might not work:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:197 -msgid "In the sip.conf and rtp.conf files you also need to add or uncomment the lines:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:204 -msgid "Lastly, set up extensions.conf:" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:213 -msgid "Configure Odoo VOIP" -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:215 -msgid "In Odoo, the configuration should be done in the user's preferences." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:221 -msgid "The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in our example: 1060)." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:224 -msgid "The SIP Password is the secret you chose in the sip.conf file." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:226 -msgid "The extension of your office's phone is not a required field but it is used if you want to transfer your call from Odoo to an external phone also configured in the sip.conf file." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:230 -msgid "The configuration should also be done in the General Settings under the \"Integrations\" section." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:235 -msgid "The PBX Server IP should be the same as the IP you define in the http.conf file." -msgstr "" - -#: ../../content/applications/general/voip/asterisk.rst:237 -msgid "The WebSocket should be: ws://localhost:XXXX/ws where \"localhost\" needs to be the same as the IP defined previously and \"XXXX\" needs to be the port defined in the http.conf file." -msgstr "" - -#: ../../content/applications/general/voip/axivox.rst:3 -msgid "Use VoIP services in Odoo with Axivox" -msgstr "" - -#: ../../content/applications/general/voip/axivox.rst:6 +#: ../../content/applications/general/voip/axivox/axivox_config.rst:6 #: ../../content/applications/general/voip/onsip.rst:6 msgid "Introduction" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:8 -msgid "Odoo VoIP can be set up to work together with `Axivox `_. In that case, an :doc:`Asterisk server ` is not necessary as the infrastructure is hosted and managed by Axivox." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:8 +msgid "Odoo VoIP (Voice over Internet Protocol) can be set up to work together with `Axivox `_. In that case, an Asterisk server is **not** necessary, as the infrastructure is hosted and managed by Axivox." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:12 -msgid "To use this service, `contact Axivox `_ to open an account. Before doing so, verify that Axivox covers your area and the areas you wish to call." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:12 +msgid "To use this service, `contact Axivox `_ to open an account. Before doing so, verify that Axivox covers the company's area, along with the areas the company's users wish to call." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:18 -msgid "Go to :menuselection:`Apps` and install the **VoIP Module**." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:19 +msgid "To configure Axivox in Odoo, go to the :menuselection:`Apps` application, and search for `VoIP`. Then, install the :guilabel:`VoIP` module." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:-1 -msgid "VoIP module installation on an Odoo database" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:22 +msgid "Next, go to :menuselection:`Settings app --> General Settings --> Integrations section`, and fill out the :guilabel:`Asterisk (VoIP)` field:" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:24 -msgid "Go to :menuselection:`Settings --> General Settings --> Integrations`, and fill out the **Asterisk (VoIP)** field:" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:25 +msgid ":guilabel:`OnSIP Domain`: set the domain created by Axivox for the account (e.g., `yourcompany.axivox.com`)" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:27 -msgid "**PBX Server IP**: set the domain created by Axivox for your account (e.g., *yourcompany.axivox.com*)" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:27 +msgid ":guilabel:`WebSocket`: type in `wss://pabx.axivox.com:3443`" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:29 -msgid "**WebSocket**: type in ``wss://pabx.axivox.com:3443``" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:28 +msgid ":guilabel:`VoIP Environment`: set as :guilabel:`Production`" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:30 -msgid "**VoIP Environment**: set as *Production*" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:-1 +msgid "Integration of Axivox as VoIP provider in an Odoo database." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:-1 -msgid "Integration of Axivox as VoIP provider in an Odoo database" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:35 +msgid "Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/ `_. After logging into the portal, go to :menuselection:`Users --> Edit (next to any user) --> SIP Identifiers tab --> Domain`." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:37 -msgid "Configure the VOIP user in the Odoo's user" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:40 +msgid "Configure VoIP user in Odoo" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:39 -msgid "Go to :menuselection:`Settings --> Users & Companies --> Users`, then open the user's form you want to configure. Under the **Preferences** tab, fill out the section **PBX Configuration**:" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:42 +msgid "Next, the user is configured in Odoo, which **must** take place for every Axivox/Odoo user using VoIP." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:42 -msgid "**SIP Login / Browser's Extension**: the Axivox *username*" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:45 +msgid "In Odoo, go to :menuselection:`Settings app --> Users & Companies --> Users`, then open the desired user's form to configure :abbr:`VoIP (Voice over Internet Protocol)`. Under the :guilabel:`Preferences` tab, fill out the :guilabel:`VOIP Configuration` section:" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:43 -msgid "**SIP Password**: the Axivox *SIP Password*" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:49 +msgid ":guilabel:`VoIP username` / :guilabel:`Browser's Extension`: (Axivox) :guilabel:`SIP username`" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:-1 -msgid "Integration of Axivox user in the Odoo user preference" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:50 +msgid ":guilabel:`VoIP Secret`: (Axivox) :guilabel:`SIP Password`" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:50 -msgid "You can find all this information by logging in at https://manage.axivox.com/, selecting the user you want to configure, and referring to the fields as pictured below." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:51 +msgid ":guilabel:`External device number`: SIP external phone extension" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:0 -msgid "SIP credentials in the Axivox manager" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:52 +msgid ":guilabel:`How to place calls on mobile`: method to make calls on a mobile device" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:58 -msgid "Phone Calls" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:53 +msgid ":guilabel:`OnSIP Auth User`: (Axivox) :guilabel:`SIP username`" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:60 -msgid "You can make phone calls by clicking on the phone icon in the navigation bar." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:54 +msgid ":guilabel:`Call from another device`: option to always transfer phone calls to handset" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:62 -msgid "You can also receive phone calls. Odoo rings and displays a notification." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:55 +msgid ":guilabel:`Reject All Incoming Calls`: option to reject all incoming calls" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:65 -msgid "Your number is the one provided by Axivox." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:-1 +msgid "Integration of Axivox user in the Odoo user preference." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:-1 -msgid "Incoming VoIP call in Odoo" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:62 +msgid "Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/ `_. After logging into the portal, go to :menuselection:`Users --> Edit (next to the user) --> SIP Identifiers tab --> SIP username / SIP password`." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:72 -msgid "If you see a *Missing Parameter* message in the **Odoo softphone**, refresh your Odoo window and try again." +#: ../../content/applications/general/voip/axivox/axivox_config.rst:0 +msgid "SIP credentials in the Axivox manager." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:0 -msgid "\"Missing Parameter\" error message in the Odoo softphone" +#: ../../content/applications/general/voip/axivox/axivox_config.rst:71 +msgid "When entering the :guilabel:`SIP Password` into the user's :guilabel:`Preferences` tab, this value **must** be typed out manually and **not** pasted in. Pasting in causes a `401 server rejection error`." msgstr "" -#: ../../content/applications/general/voip/axivox.rst:80 -msgid "If you see an *Incorrect Number* message in the Odoo softphone, make sure to use the international format, leading with the plus (+) sign followed by the international country code. E.g., +16506913277 (where +1 is the international prefix for the United States)." +#: ../../content/applications/general/voip/axivox/call_queues.rst:3 +msgid "Call queues" msgstr "" -#: ../../content/applications/general/voip/axivox.rst:0 -msgid "\"Incorrect Number\" error message in the Odoo softphone" +#: ../../content/applications/general/voip/axivox/call_queues.rst:5 +msgid "A call queue is a system that organizes and routes incoming calls. When customers call a business, and all of the agents are busy, the call queue lines up the callers in sequential order, based on the time they called in." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:9 +msgid "The callers then wait on hold to be connected to the next available call center agent." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:11 +msgid "Implementing a call queue system reduces stress for employees, and helps build brand trust with customers. Many companies use call queues to set expectations with customers, and to distribute the workload equally amongst employees." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:15 +msgid "This document covers the process required to configure call queues (with advanced settings), as well as how to log into a call queue from the Odoo database." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:19 +msgid ":ref:`voip/axivox/music_on_hold`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:22 +msgid "Add a queue" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:24 +msgid "To add a call queue in Axivox, navigate to the `Axivox management console `_. In the left menu, click :guilabel:`Queues`. Next, click :guilabel:`Add a queue`. Doing so reveals a blank :guilabel:`New queue` form with various fields to fill out." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:30 +msgid "Name" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:32 +msgid "Once the :guilabel:`New queue` page appears, enter the :guilabel:`Name` of the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:35 +msgid "Internal extension" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:37 +msgid "Choose an :guilabel:`Internal extension` for the queue. This is a number to be dialed by users of the database to reach the login prompt for the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:41 +msgid "Strategy" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:43 +msgid "Next, is the :guilabel:`Strategy` field. This field determines the call routing of received calls into this queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:46 +msgid "The following choices are available in the :guilabel:`Strategy` drop-down menu:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:48 +msgid ":guilabel:`Call all available agents`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:49 +msgid ":guilabel:`Calls the agent who has received the call for the longest time`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:50 +msgid ":guilabel:`Calls the agent who has received the least call`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:51 +msgid ":guilabel:`Call a random agent`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:52 +msgid ":guilabel:`Call agents one after the other`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:53 +msgid ":guilabel:`Call agents one after the other starting with the first in the list`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:55 +msgid "Choose a strategy that best meets the company's needs for customers in the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:58 +msgid "Maximum waiting time in seconds" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:60 +msgid "In the :guilabel:`Maximum waiting time in seconds` field, determine the longest time a customer waits in the queue before going to a voicemail, or wherever else they are directed to in a dial plan. Enter a time in seconds." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:65 +msgid "Maximum duration of ringing at an agent" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:67 +msgid "In the :guilabel:`Maximum duration of ringing at an agent` field, determine the longest time an individual agent's line rings before moving on to another agent, or moving to the next step in the dial plan. Enter a time in seconds." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:72 +msgid "For more information on dial plans, visit:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:74 +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:36 +msgid ":doc:`dial_plan_basics`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:75 +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:37 +msgid ":doc:`dial_plan_advanced`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:78 +msgid "Adding agents" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:80 +msgid "The final two fields on the :guilabel:`New queue` form revolve around adding agents. Adding :guilabel:`Static agents` and :guilabel:`Dynamic agents` are two pre-configured methods for adding agents onto the call queue during the configuration." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:87 +msgid "Static agents" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:89 +msgid "When :guilabel:`Static agents` are added, these agents are automatically added to the queue without the need to log in to receive calls." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:95 +msgid "Dynamic agents" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:97 +msgid "When :guilabel:`Dynamic agents` are added, these agents have the ability to log into this queue. They are **not** logged-in automatically, and **must** log in to receive calls." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:100 +msgid "Be sure to :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right corner to implement the change in production." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:104 +msgid "Agent connection" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:106 +msgid "There are three ways call agents can connect to an Axivox call queue:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:108 +msgid "Dynamic agents connect automatically." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:109 +msgid "Manager logs in specific agent(s), via the `Axivox management console `_." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:111 +msgid "Agent connects to the queue in Odoo, via the *VoIP* widget." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:114 +msgid "See the documentation on setting :ref:`voip/axivox/dynamic-agents` in the `Axivox management console `_." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:118 +msgid "Connect via Axivox queue" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:120 +msgid "After the initial configuration of the call queue is completed, with the changes saved and implemented, a manager can log into the `Axivox management console `_ and connect dynamic agents to the queue manually." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:124 +msgid "To connect an agent, click :guilabel:`Queues`, located in the left-hand column. Doing so reveals the :guilabel:`Queues` dashboard, with a few different columns listed:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:127 +msgid ":guilabel:`Name`: name of the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:128 +msgid ":guilabel:`Extension`: number of the extension to be dialed to reach the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:129 +msgid ":guilabel:`Agent Connection`: number to dial to log into the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:130 +msgid ":guilabel:`Agent disconnection`: number to dial to log out of the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:131 +msgid ":guilabel:`Connected Agents`: name of agent connected to the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:133 +msgid "The following buttons are also available on the :guilabel:`Queues` dashboard:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:135 +msgid ":guilabel:`Connect an agent`: manually connect an agent to the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:136 +msgid ":guilabel:`Report`: run a report on the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:137 +msgid ":guilabel:`Delete`: delete the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:138 +msgid ":guilabel:`Edit`: make changes to the settings of the queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:140 +msgid "When agents are connected to the queue, or are live with a customer, they are displayed under the :guilabel:`Connected Agents` column." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:143 +msgid "If they are static agents, they **always** show up as connected." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:145 +msgid "Connect an agent by clicking the orange button labeled, :guilabel:`Connect an agent`. Then, select the desired agent's name from the drop-down menu, and click :guilabel:`Connect`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:-1 +msgid "Call queue with connected agents column highlighted and connect an agent and report buttons\n" +"highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:154 +msgid "For more information on static and dynamic agents, see this documentation:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:156 +msgid ":ref:`voip/axivox/static-agents`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:157 +msgid ":ref:`voip/axivox/dynamic-agents`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:160 +msgid "Report" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:162 +msgid "Click :guilabel:`Report` to check on the reporting for a particular queue, in order to see who connected when, and what phone calls came in and out of the queue. This information is showcased on a separate :guilabel:`Queue report` page, when the green :guilabel:`Report` button is clicked." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:166 +msgid "Reports can be customized by date in the :guilabel:`Period` field, and specified in the :guilabel:`From` and :guilabel:`to` fields. The information can be organized by :guilabel:`Event type`, and :guilabel:`Call ID`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:170 +msgid "When the custom configurations have been entered, click :guilabel:`Apply`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:172 +msgid "Each report can be exported to a :abbr:`CSV (comma separated value)` file for further use and analysis, via the :guilabel:`Export to CSV` button." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:175 +msgid "When the :guilabel:`Event type` field is clicked, a drop-down menu appears with the following options:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:178 +msgid ":guilabel:`The caller quit`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:179 +msgid ":guilabel:`An agent is connecting`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:180 +msgid ":guilabel:`An agent is disconnecting`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:181 +msgid ":guilabel:`The call was terminated (agent hangs up)`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:182 +msgid ":guilabel:`The call was terminated (caller hangs up)`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:183 +msgid ":guilabel:`The caller is connected to an agent.`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:184 +msgid ":guilabel:`Someone is entering the queue`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:185 +msgid ":guilabel:`The caller exits the queue (no agent is connected)`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:186 +msgid ":guilabel:`The caller exits the queue (timeout)`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:187 +msgid ":guilabel:`No one is answering`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:188 +msgid ":guilabel:`No one is answering, the caller hangs up`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:189 +msgid ":guilabel:`Transfer`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:190 +msgid ":guilabel:`Blind Transfer`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:-1 +msgid "Event types in the Axivox queue reporting feature." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:196 +msgid "There is no limit to how many options can be selected from the :guilabel:`Event type` drop-down menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:199 +msgid "Clicking :guilabel:`Check all` selects all the available options from the drop-down menu, and clicking :guilabel:`Uncheck all` removes all selections from the drop-down menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:202 +msgid "To select an individual :guilabel:`Event type`, click on the desired option in the drop-down menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:-1 +msgid "Axivox queue report with result, event type, and period highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:209 +msgid "Connect to queue on Odoo" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:211 +msgid "Dynamic agents can connect manually to the Axivox call queue from the Odoo *VoIP* widget, once the *VoIP* app is configured for the individual user in Odoo." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:215 +msgid ":doc:`axivox_config`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:217 +msgid "To access the Odoo *VoIP* widget, click the :guilabel:`☎️ (phone)` icon in the upper-right corner of the screen, from any window within Odoo." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:221 +msgid "For more information on the Odoo *VoIP* widget, see this documentation: :doc:`../voip_widget`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:223 +msgid "For an agent to connect to the call queue, simply dial the :guilabel:`Agent connection` number, and press the green call button :guilabel:`📞 (phone)` icon in the *VoIP* widget. Then, the agent hears a short, two-second message indicating the agent is logged in. The call automatically ends (disconnects)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:228 +msgid "To view the connected agents in a call queue, navigate to the `Axivox management console `_, and click :guilabel:`Queues`, located in the left-hand column." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:231 +msgid "Then, click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents` column. Any agent (static or dynamic) that is connected to the queue currently, appears in the column next to the queue they are logged into." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:235 +msgid "To log out of the queue, open the Odoo *VoIP* widget, dial the :guilabel:`Agent disconnection` number, and press the green call button :guilabel:`📞 (phone)` icon. The agent is disconnected from the queue after a short, two-second message." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:239 +msgid "To manually log a dynamic agent out of a call queue, navigate to the `Axivox management console `_, and click :guilabel:`Queues`, located in the left-hand column. Then, click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents` column." +msgstr "" + +#: ../../content/applications/general/voip/axivox/call_queues.rst:243 +msgid "To disconnect an agent manually, click the red :guilabel:`Disconnect` button, and they are immediately disconnected. This can be helpful in situations where agents forget to log out at the end of the day." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:3 +msgid "Conference calls" +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:5 +msgid "Conference calls help employees connect quickly and efficiently, so matters can be discussed in an open forum of sorts. Attendees can be limited, via a sign-in code. That way, confidential matters stay private." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:9 +msgid "This document covers the configuration of conference calls in Axivox for use in Odoo *VoIP*." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:12 +msgid "Add a virtual conference" +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:14 +msgid "To add a virtual conference room, navigate to the `Axivox management console `_. After logging in, click on :guilabel:`Conferences` in the menu on the left." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:18 +msgid "Next, click the green button labeled, :guilabel:`Add a conference`, and a :guilabel:`New conference` form appears." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:-1 +msgid "New conference form on Axivox." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:25 +msgid "From here, fill in the :guilabel:`Name` field, and set an :guilabel:`Internal extension`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:27 +msgid "The internal extension is what everyone in the network uses to quickly dial into the conference call, instead of typing in the whole phone number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:31 +msgid "Pick a number between three and five digits long, making it easy to remember and dial." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:33 +msgid "Next, set the :guilabel:`Access code`, if the conference room requires security. This is a password to get into the conference, once the extension for the conference is dialed. Immediately after dialing the extension, a digital receptionist prompts for the :guilabel:`Access code`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:37 +msgid "In the :guilabel:`Administrator extension` field, click the drop-down menu, and select the user's extension that manages the call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:40 +msgid "Finally, in the :guilabel:`Wait for the administrator to start the conference` field, click the drop-down menu, and select :guilabel:`Yes` or :guilabel:`No`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:43 +msgid "Should the selection be :guilabel:`Yes`, then nobody is allowed to utilize the virtual conference room until the administrator is present, and logged into the conference call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:46 +msgid "When all fields are filled in, be sure to :guilabel:`Save` the configuration. Then, click :guilabel:`Apply changes` in the upper-right corner to implement the change in production." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:49 +msgid "Upon doing so, the conference is added, and the Axivox administrator has the option to :guilabel:`Delete` or :guilabel:`Edit` the conference from the Axivox :guilabel:`Conference` main dashboard." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:53 +msgid "To invite an Axivox user to a specific conference call, click :guilabel:`Invite` to the right of the desired conference, and proceed to enter the extension or phone number of the invitee in the pop-up window that appears." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:57 +msgid "Once the extension or number is added into the :guilabel:`Please enter the phone number of the person you want to invite` field, click the green :guilabel:`Invite` button, and the recipient immediately receives a phone call, automatically linking them to the conference." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:66 +#: ../../content/applications/general/voip/axivox/manage_users.rst:32 +msgid "Incoming numbers" +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:68 +msgid "To open a conference to a wider audience, an Axivox conference can be linked to *Incoming numbers*." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:70 +msgid "To do that, log into the `Axivox management console `_, and click :guilabel:`Incoming numbers` in the menu on the left." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:73 +msgid "On the :guilabel:`Incoming numbers` dashboard, click :guilabel:`Edit` to the far-right of the :guilabel:`Number` to which the conference should be attached." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:76 +msgid "Then, under the first field, labeled, :guilabel:`Destination type for voice call`, click the drop-down menu, and select :guilabel:`Conference`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:79 +msgid "Next, in the :guilabel:`Conference` field, click the drop-down menu, and select the specific conference that should be attached to this incoming number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:82 +msgid "Now, whenever this incoming number is dialed, the caller is let into the conference, if there is not an :guilabel:`Access code` required. If there *is* an :guilabel:`Access code` required, the caller is then prompted to enter the :guilabel:`Access code` to enter the conference." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:87 +msgid "Start call in Odoo" +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:89 +msgid "Anywhere in the Odoo database, open the *VoIP* widget, by clicking the :guilabel:`☎️ (phone)` icon, located in the upper-right corner. Then, dial the specific extension number for the conference, and click the :guilabel:`📞 (phone)` icon." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:-1 +msgid "Connecting to a conference extension using the Odoo VoIP widget." +msgstr "" + +#: ../../content/applications/general/voip/axivox/conference_calls.rst:97 +msgid "Once the digital receptionist answers, enter the :guilabel:`Access code` (if needed), and press the :guilabel:`# (pound)` icon/key." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:3 +msgid "Advanced dial plans" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:5 +msgid "Typically, companies have a lot of incoming calls every day, but many do not want their teams to answer calls 24 hours a day, 7 days a week." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:8 +msgid "By using Axivox advanced dial plan features, the process can be automated, and routing can be set up for all scenarios. This way, customers are never left waiting, or frustrated, because they cannot get in touch with anyone." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:12 +msgid "By utilizing the advanced elements in dial plans, companies can automate call routing for certain days or times, like company holidays. Companies can also allow callers to enter extensions themselves, and get transferred automatically using a digital receptionist. This way, an administrative team does **not** have to be available around the clock." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:17 +msgid "There is even the option to route callers, depending on where they are calling from in the world, thus maximizing efficiency." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:21 +msgid "For more information on basic dial plans, and how to add elements, visit :doc:`dial_plan_basics`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:24 +msgid "Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do **not** use a translator with the Axivox management console." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:28 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:160 +msgid "Advanced elements" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:30 +msgid "In Axivox dial plans (as described in :doc:`dial_plan_basics`), there are two advanced elements that can be used." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:33 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:164 +msgid ":guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox settings)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:35 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:166 +msgid ":guilabel:`Caller ID`: replace the caller ID by the called number or free text." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:37 +msgid "To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on the left side of the `Axivox management console `_." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:40 +msgid "Next, click on the :guilabel:`Visual Editor` button to the right of the desired dial plan to edit it. Finally, open the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Visual editor for a dial plan in Axivox, with Add and the dispatcher element highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:48 +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:99 +msgid "For more information, visit :ref:`voip/axivox/dial_plans`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:51 +msgid "The :guilabel:`Record` element records calls that are routed through this element, and requires an additional plan change in Axivox." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:54 +msgid "To enable recording on Axivox, navigate to :guilabel:`Settings` in the `Axivox management console `_. Then, go to the :guilabel:`Recording` drop-down menu, near the bottom of the page. From there, select :guilabel:`Enabled` from the drop-down menu to enable recording using the :guilabel:`Record` element in a dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:60 +msgid "If the :guilabel:`Recording` drop-down menu is unavailable and unable to change, then consult Axivox to enable the feature." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:63 +msgid "The :guilabel:`Caller ID` element allows for the replacement of the caller ID downstream, after routing." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:66 +msgid "Upon adding the :guilabel:`Caller ID` element to the dial plan, and double-clicking it to configure it, two options appear." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:69 +msgid "The first is a :guilabel:`Free text` field, where any text can be input to replace the caller ID. The second option is :guilabel:`Replace the caller ID by the called number`. This option replaces the caller's ID with the :guilabel:`Incoming number`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:74 +msgid "A company may want to use the :guilabel:`Caller ID` element to replace the :guilabel:`Incoming number`, so employees, or outside transfers, cannot see the number, and information is kept private." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:79 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:135 +msgid "Basic routing elements" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:81 +msgid "Basic routing elements in Axivox dial plans provide extension-based routing. This can be done by adding either a *Menu* to numerically link the dial-by-numbers to an action, or by using a *Digital Receptionist* to automatically route or listen for an extension, based on a key input from the caller." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:86 +msgid "The main difference between the two elements is that the *Digital Receptionist* does **not** need to be pre-configured numerically with actions. Instead, it acts as a virtual receptionist." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:89 +msgid ":guilabel:`Menu`: add a dial-by-number directory and configured downstream actions (not terminal). For example, a dial-by-numbers function could feature an element, wherein clicking '2' takes the caller to the element linked to '2' on the Menu element in the dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:92 +msgid ":guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:94 +msgid "To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on the left side of the `Axivox management console `_. Next, click on the :guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:102 +msgid "Digital receptionist scenario" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:104 +msgid "The *Digital Receptionist* element is a listen-feature that accurately routes callers through a dial plan, based on the extension they enter, via the key pad." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:107 +msgid "Set a *Digital Receptionist* to eliminate the need of a team, or live receptionist, to be on-call all the time. With that element in place, calls now reach their destination, without a real person interjecting." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:111 +msgid "After adding the :guilabel:`Digital Receptionist` element to a dial plan, connect the appropriate endpoints, and double-click on the element to set the :guilabel:`Timeout` on the :guilabel:`receptionist` pop-up window that appears." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:115 +msgid "The :guilabel:`Timeout` can be set in `5` second increments, from `5` seconds to `60` seconds." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:118 +msgid "The :guilabel:`Digital Receptionist` element **requires** a :guilabel:`Play a file` element on either side of it, to explain what action to take, and when a wrong extension is entered." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:122 +msgid "While customizing a dial plan in a :guilabel:`Dialplan Editor` pop-up window, add a :guilabel:`Menu` element, with a :guilabel:`Greeting message` that might read, `Press star to dial an extension`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:126 +msgid "Then, on the :guilabel:`Menu` element, for the :guilabel:`* (star)` option, link a :guilabel:`Play a file` element, that plays an :guilabel:`Audio message` saying, 'Enter the extension of the person you are trying to reach'." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:130 +msgid "Following the first :guilabel:`Play a file` element, add the :guilabel:`Digital Receptionist` element, followed by another :guilabel:`Play a file` element, which states, 'That is not a valid extension'." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:134 +msgid "This last element is in place to close the loop, should the caller not enter a correct extension." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:136 +msgid "Finally, this last :guilabel:`Play a file` element is looped back into the :guilabel:`Menu` element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:0 +msgid "A digital receptionist element highlighted in an example dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:144 +msgid "Dial plan elements can be configured by double-clicking them, and selecting different features of the Axivox console to them." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:147 +msgid "For example, an :guilabel:`Audio message` needs to be made, and then selected in a :guilabel:`Play a file` or :guilabel:`Menu` element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:150 +msgid "For more information, see this documentation :ref:`voip/axivox/audio_messages`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:153 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:147 +msgid "Advanced routing elements" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:155 +msgid "Advanced routing elements route calls automatically as they are received into the incoming number(s). This can be configured using geo-location, whitelisting, or time-based variables. Calls pass through a filter prior to their final destination, and are routed, based on the set variable(s)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:160 +msgid "The following are advanced routing elements:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:162 +msgid ":guilabel:`Dispatcher`: create a call filter to route traffic, based on the geo-location of the caller ID." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:164 +msgid ":guilabel:`Access List`: create a tailored access list, with VIP customer preference." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:165 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:154 +msgid ":guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or other sensitive time-frames." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:169 +msgid "Whitelisting is a technical term used to create a list of allowed numbers. Conversely, blacklisting is used to create a list of denied numbers." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:172 +msgid "To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on the left side of the `Axivox management console `_. Next, click on the :guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`. For more information, visit :ref:`voip/axivox/dial_plans`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:179 +msgid "Dispatcher scenario" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:181 +msgid "A *Dispatcher* element is a dial plan feature that directs calls, based on region or geo-location. In most cases, the :guilabel:`Dispatcher` element in a dial plan is linked to the :guilabel:`Start` element, in order to filter or screen calls as they come into an incoming number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:185 +msgid "Double-click the :guilabel:`Dispatcher` element in the :guilabel:`Dialplan Editor` pop-up window to configure it." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:188 +msgid "This element checks numbers (routed through this element), according to regular expressions. To add a regular expression, click :guilabel:`Add a line` on the bottom of the :guilabel:`Dispatcher` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:192 +msgid "Then, under :guilabel:`Name`, enter a recognizable name to identify this expression. This is the name that appears in the :guilabel:`Dispatcher` element on the dial plan showcased in the :guilabel:`Dialplan Editor` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:196 +msgid "In the :guilabel:`Regular expression` field, enter the country code, or area code, which Axivox should route for incoming calls. This is especially helpful when a company would like to filter their customers to certain queues, or users based on the customer's geo-location." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:200 +msgid "To specify all numbers behind a certain country code, or area code, include `\\d+` after the country code, or country code + area code." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Dispatcher configuration panel, with name, regular expression and add a line highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:208 +msgid "`02\\\\d+`: validates the numbers starting with `02`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:209 +msgid "`00\\\\d+`: validates all numbers beginning with `00`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:210 +msgid "`0052\\\\d+` validates all numbers beginning with `0052` (Mexico country code)" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:211 +msgid "`001716\\\\d+`: validates all numbers beginning with `001716` (USA country code + Western New York area code)" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:215 +msgid "A regular expression (shortened to \"regex\" or \"regexp\"), sometimes referred to as a \"rational expression,\" is a sequence of characters that specifies a match pattern in text. In other words, a match is made within the given range of numbers." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:219 +msgid "When the desired configurations are complete on the :guilabel:`Dispatcher` pop-up window, be sure to click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:222 +msgid "Upon doing so, the :guilabel:`Dispatcher` element appears with different routes available to configure, based on the :guilabel:`Regular Expressions` that were set." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:225 +msgid "Attach these routes to any :guilabel:`New element` in the :guilabel:`Dialplan Editor` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:227 +msgid "By default, there is an :guilabel:`Unknown` path that appears on the :guilabel:`Dispatcher` element after setting at least one :guilabel:`Regular Expression`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:230 +msgid "Calls follow this route/path when their number does not match any :guilabel:`Regular Expression` set on the :guilabel:`Dispatcher` element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Dial plan with dispatcher element highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:238 +msgid "Time condition scenario" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:240 +msgid "When a :guilabel:`Time Condition` element is added to a dial plan, it has a simple :guilabel:`True` and :guilabel:`False` routing." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:243 +msgid "After adding the :guilabel:`Time Condition` element to a dial plan, double-click it to configure the variables. :guilabel:`Hour/Minute`, :guilabel:`Days of the week`, :guilabel:`Day of the month`, and :guilabel:`Month` can all be configured." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:247 +msgid "If the time which the caller contacts the incoming number matches the set time conditions, then the :guilabel:`True` path is followed, otherwise the :guilabel:`False` path is followed." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:251 +msgid "For a company that is closed yearly for the American Independence Day holiday (July 4th) the following time conditions should be set:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:254 +msgid ":guilabel:`Hour/Minute` - `0:0 to 23:59`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:255 +msgid ":guilabel:`Day of the week` - `All to All`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:256 +msgid ":guilabel:`Day of the month` - `From 4 to 4`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:257 +msgid ":guilabel:`Month` - `July`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:259 +msgid "The :guilabel:`Time Condition` element is especially useful for holidays, weekends, and to set working hours. When a caller reaches a destination where they can be helped, either with a real person or voicemail, this reduces wasted time and hangups." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Time condition element set in a dial plan on Axivox. Time condition is highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:268 +msgid "To set the :guilabel:`Timezone` that the :guilabel:`Time Condition` operates under, navigate to `Axivox management console `_, and click :guilabel:`Settings` in the menu on the left. Then, set the :guilabel:`Timezone` using the second field from the bottom, by clicking the drop-down menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:274 +msgid "Access list scenario" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:276 +msgid "An *Access List* element in a dial plan allows for the routing of certain numbers, and disallows (denies) other numbers." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:279 +msgid "After adding an :guilabel:`Access List` element to a dial plan, it can be configured by double-clicking on the element directly in the :guilabel:`Dialplan Editor` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:282 +msgid "Two fields appear where regular expressions can based in the :guilabel:`Allow` and :guilabel:`Deny` fields of the :guilabel:`Access List` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:286 +msgid "For a very important customer, their number can be set in the :guilabel:`Allow` field, and these callers can be sent directly to management." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:290 +msgid "A regular expression (shortened to \"regex\" or \"regexp\"), sometimes also referred to as a \"rational expression,\" is a sequence of characters that specifies a match pattern in text." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Access list element configuration with the allow/deny fields highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:298 +msgid "`2\\\\d\\\\d`: validates numbers from `200 to 299`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:299 +msgid "`02\\\\d*`: validates all numbers beginning with `02`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:300 +msgid "`0017165551212`: validates the number (`0017165551212`)" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:302 +msgid "After setting the :guilabel:`Allow` and :guilabel:`Deny` fields with regular expressions or numbers, click :guilabel:`Save` on the :guilabel:`Access List` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:305 +msgid "Then, on the :guilabel:`Access list` element in the dial plan, three paths (or routes) are available to link to further actions." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:308 +msgid "Unknown calls can be routed through the regular menu flow by adding a :guilabel:`Menu` element, and connecting it to the :guilabel:`Unknown` path. :guilabel:`Refused` calls can be routed to the :guilabel:`Hang up` element. Lastly, :guilabel:`Authorized` callers can be sent to a specific extension or queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Access list element highlighted in an example dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:318 +msgid "Switches" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:320 +msgid "A *Switch* element in Axivox is a simple activated/deactivated route action." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:322 +msgid "These can be activated or chosen quickly, allowing for quick routing changes, without altering the dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:325 +msgid "Alternate routes can be configured, so that in a moments notice, they can be switched to. This could be for new availability, or to adjust traffic flow for any number of reasons." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:328 +msgid "Axivox allows for a simple on/off switch, and a multi-switch, which can have several paths to choose from." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:331 +msgid ":guilabel:`Switch`: a manual on/off control that can divert traffic, based on whether it is opened (on) or closed (off)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:333 +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:156 +msgid ":guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert incoming calls." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:337 +msgid "Basic switch" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:339 +msgid "A :guilabel:`Switch` can be set in the `Axivox management console `_ by navigating to :guilabel:`Switches` in the left menu. To create a new switch click :guilabel:`Add a switch` from the :guilabel:`Switches` dashboard, configure a :guilabel:`Name` for it, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:344 +msgid "Then, toggle the desired switch to either :guilabel:`On` or :guilabel:`Off`, from the :guilabel:`State` column on the :guilabel:`Switches` dashboard." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:347 +msgid "This :guilabel:`On` / :guilabel:`Off` state automatically routes traffic in a dial plan, in which this switch is set." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:350 +msgid "The traffic travels to the :guilabel:`Active` route when :guilabel:`On` is toggled in the switch. The call traffic travels to the :guilabel:`Inactive` route when :guilabel:`Off` is toggled in the switch." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:354 +msgid "Changes can be made on the fly, just be sure to click :guilabel:`Apply changes` to implement the them." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:358 +msgid "Add a switch to dial plan" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:360 +msgid "To add a :guilabel:`Switch` to a dial plan, navigate to `Axivox management console `_, and click on :guilabel:`Dial plans` in the left menu. Then, click :guilabel:`Visual Editor` next to the desired dial plan to open the :guilabel:`Dialplan Editor` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:365 +msgid "Then, from the :guilabel:`New element` drop-down menu, select :guilabel:`Switch`, and then click :guilabel:`Add`. Double-click on the element to further configure the :guilabel:`Switch` element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Switch configuration in a dial plan, with inactive and active routes highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:373 +msgid "Multi-switch" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:375 +msgid "A *Multi-Switch* element in Axivox is a switch where multiple paths can be configured, and switched between." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:378 +msgid "To configure and set a :guilabel:`Multi-Switch` element, navigate to `Axivox management console `_. Then, click on the :guilabel:`Switches` menu item in the left menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:381 +msgid "Toggle to the :guilabel:`Multi-switch` tab to create, or set, a pre-configured :guilabel:`Multi-Switch` element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:384 +msgid "To create a new :guilabel:`Multi-Switch`, click :guilabel:`Create new`. Then, enter a :guilabel:`Name` for the element, and then enter the :guilabel:`Available choice`. Enter one :guilabel:`Available choice` per line. Do **not** duplicate any entries." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:388 +msgid "Remember to click :guilabel:`Save` when done." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:390 +msgid "To select the :guilabel:`State` of the :guilabel:`Multi-Switch`, click the drop-down menu next to the :guilabel:`Multi-Switch` name, under the :guilabel:`Multi-switch` tab on the :guilabel:`Switches` dashboard." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:394 +msgid "The :guilabel:`State` chosen is the route that is followed in the dial plan. The :guilabel:`State` can be edited on the fly, just be sure to click :guilabel:`Apply changes`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:398 +msgid "Add a multi-switch to dial plan" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:400 +msgid "To add a :guilabel:`Multi-Switch` element to a dial plan, navigate to `Axivox management console `_, and click :guilabel:`Dial plans` in the left menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:403 +msgid "Then, select or create a dial plan. Next, click :guilabel:`Visual Editor` on the desired dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:405 +msgid "On the :guilabel:`Dialplan Editor` pop-up window that appears, click on the :guilabel:`New element` drop-down menu, and select :guilabel:`Multi-Switch`. Then, click :guilabel:`Add`. Double-click on the element to further configure the :guilabel:`Switch` element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_advanced.rst:-1 +msgid "Multi-switch configuration in a dial plan, with chosen route highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:3 +msgid "Dial plan basics" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:5 +msgid "When someone calls a business, they might need to get in contact with customer support, a sales team, or even a person's direct line. The caller might also be in search of some information about the business, such as store hours. Or, they might want to leave a voicemail, so someone from the company can call them back. With dial plans in Axivox, a company can manage how incoming calls like this are handled." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:11 +msgid "Using proper call architecture through a dial plan, callers get directed to the right people, or to the right information, in a quick, efficient manner." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:14 +msgid "This document covers the basic configuration of dial plans in Axivox." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:17 +msgid "For more information on advanced dial plans, visit :doc:`dial_plan_advanced`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:20 +msgid "Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do not use a translator with the Axivox management console." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:26 +msgid "Dial plans" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:28 +msgid "Access dial plans by navigating to `Axivox management console `_, and clicking on :guilabel:`Dial plans` from the menu on the left." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:31 +msgid "To add a new dial plan from the :guilabel:`Dial plan` page, click the green button labeled, :guilabel:`Add a new dial plan`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:35 +msgid "Axivox has no limit to the number of dial plans that can be created. These can be added, and improved upon, at any time. This allows for sandboxes to be created with many different configurations." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:-1 +msgid "Dial plan dashboard with the edit features and Add a dial plan button highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:43 +msgid "To edit an existing dial plan, choose one of the following options to the right of the saved dial plan:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:46 +msgid ":guilabel:`Delete`: this action deletes the attached dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:47 +msgid ":guilabel:`Edit`: this action allows the user to edit the dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:48 +msgid ":guilabel:`Visual Editor`: this action opens a visual editor window, where the dial plan architecture can be viewed and edited." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:50 +msgid ":guilabel:`Duplicate`: this action duplicates the dial plan, and puts it at the bottom of the list, with an extension of one number (+1) larger than the original extension." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:54 +msgid "Dialplan editor (visual editor)" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:56 +msgid "When the :guilabel:`Visual Editor` button is clicked for a dial plan on the :guilabel:`Dial plan` page, a pop-up :guilabel:`Dialplan Editor` window appears." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:59 +msgid "This pop-up window is the primary place where the architecture, or structure, of the dial plan is configured. In this window, a :abbr:`GUI (graphical user interface)` appears, where various dial plan elements can be configured and linked together." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:-1 +msgid "Visual editor for an example dial plan, with the new element, Add, and Save buttons\n" +"highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:69 +msgid "New dial plans come blank with :guilabel:`New element` options for the user to :guilabel:`Add` and :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:72 +msgid "The method for saving in the :guilabel:`Dialplan Editor` is different from saving any other edits in the Axivox management console because the :guilabel:`Save` button **must** be pressed before closing the :menuselection:`Visual editor`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:76 +msgid "Then, before these changes can take place on the Axivox platform, the user **must** click :guilabel:`Apply changes` in the upper-right corner of the :guilabel:`Dial plan` page." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:79 +msgid "From the :guilabel:`Dialplan Editor` pop-up window, users can add a new element to the dial plan. To do that, open the :guilabel:`New element` drop-down menu, and select the desired element. Then, click :guilabel:`Add`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:83 +msgid "Doing so adds that element to the visual editor display of the dial plan being modified. This element can be moved where desired amongst the other elements present in the dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:86 +msgid "Connect elements in the dial plan by clicking and dragging outward from the :guilabel:`(open circle)` icon on the right side of the element. Doing so reveals an :guilabel:`(arrow)` icon. Proceed to drag this :guilabel:`(arrow)` icon to the desired element in the dial plan that it is meant to connect with." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:91 +msgid "Connect the :guilabel:`(arrow)` icon to the circle on the left side of the desired element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:93 +msgid "Calls displayed in the dial plan flow from left-to-right in the element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:95 +msgid "In order to further configure a :guilabel:`New element`, double-click on the element inside the dial plan, to reveal a subsequent pop-up window, wherein additional customizations can be entered." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:98 +msgid "Each element has a different configuration pop-up window that appears when double-clicked." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:101 +msgid "All elements **must** have a final destination in the dial plan in order to close a loop. This can be accomplished by implementing the :guilabel:`Hang up` element, or looping the element back to a :guilabel:`Menu` element or :guilabel:`Digital Receptionist` element elsewhere in the dial plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:0 +msgid "Dial plan, shown with highlight looping open end back to the beginning of the menu\n" +"element." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:111 +msgid "Once all desired dial plan elements and configurations are complete, remember to click :guilabel:`Save` before exiting the :guilabel:`Dialplan Editor` pop-up window. Then, click :guilabel:`Apply changes` on the :guilabel:`Dial plans` page to ensure they are implemented into Axivox production." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:117 +msgid "Dial plan elements" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:119 +msgid "The following elements are available in the :guilabel:`New element` drop-down menu, while designing a dial plan in the :guilabel:`Dialplan Editor` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:123 +msgid "Basic elements" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:125 +msgid "These are the basic elements that are used in simple dial plans in Axivox:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:127 +msgid ":guilabel:`Call`: call an extension or queue." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:128 +msgid ":guilabel:`Play a file`: play an audio file or voice greeting." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:129 +msgid ":guilabel:`Voicemail`: forward to a voicemail (terminal)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:130 +msgid ":guilabel:`Hang up`: hang up the call (terminal)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:131 +msgid ":guilabel:`Queue`: attach a call queue with a group of users to answer a call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:132 +msgid ":guilabel:`Conference`: add a conference room for a caller to connect to." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:137 +msgid "Routing elements change or route the path of a caller, these are some basic routing elements used in Axivox:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:140 +msgid ":guilabel:`Menu`: add a dial-by-number directory and configure downstream actions (not terminal)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:141 +msgid ":guilabel:`Switch`: attach a manual on/off control that can divert traffic based on whether it is opened (On) or closed (Off)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:143 +msgid ":guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions to connect to." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:149 +msgid "These are the more advanced elements that route calls in Axivox:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:151 +msgid ":guilabel:`Dispatcher`: create a call filter to route traffic based on the geo-location of the caller ID." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:153 +msgid ":guilabel:`Access List`: create a tailored access list with VIP customer preference." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:162 +msgid "The following are more advanced elements (not routing) in Axivox:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:169 +msgid "Dial plan elements can be configured by double-clicking them, and linking different aspects of the Axivox console to them." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:173 +msgid "Attach to incoming number" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:175 +msgid "To attach an existing dial plan to an incoming number, go to `Axivox management console `_ , and click on :guilabel:`Incoming numbers`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:178 +msgid "Next, click :guilabel:`Edit` next to the number to which the dial plan should be attached." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:180 +msgid "Doing so reveals a separate page wherein that number's dial plan can be modified. To do that, select :guilabel:`Dial plan` from the :guilabel:`Destination type for voice call` field drop-down menu. Then, choose the desired dial plan from the :guilabel:`Dial plan` field that appears." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:184 +msgid "With that in place, that means when that specific number calls in, the configured dial plan is activated, and runs through the prompts to properly route the caller." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:187 +msgid "Finally, :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right corner." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:191 +msgid "Basic dial plan scenario" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:193 +msgid "The following showcases a basic dial plan scenario for call routing, where additional elements can be added to expand the setup. This basic dial plan scenario includes the following linked elements :menuselection:`Start --> Play a file --> Menu --> (Hang-up, Calls, Queues, Conferences) --> (Voicemail, Hang-up)`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:-1 +msgid "Basic dial plan configuration." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dial_plan_basics.rst:203 +msgid "This setup does **not** include any basic or advanced call routing. For more information on call routing, reference this documentation: :doc:`dial_plan_advanced`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:3 +msgid "Dynamic caller ID" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:5 +msgid "*Caller ID* identifies the caller when they make a phone call. It allows the recipient of the call to see what number the caller is calling from. Caller ID shows users and clients who is calling, so they can choose to pick up or decline the call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:9 +msgid "Axivox offers a dynamic caller ID option to choose which number is displayed on outgoing calls." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:11 +msgid "International numbers can be purchased to do business transactions internationally, via a phone call, from a number that has an area code or country code of the destination being called. By displaying a local number, this can increase customer engagement." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:15 +msgid "Some companies have many employees making calls from a call center. These employees are not always available to receive a return phone call from a prospective customer. In this case, :abbr:`VoIP (Voice over Internet Protocol)` can be configured in such a way that dynamic caller ID shows the main company phone number, so any number of employees in the group can answer the call. This way, a call is never missed." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:24 +msgid "Default outgoing number" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:26 +msgid "In Axivox a *default number* can be set. This is a company's main number. This means, when anyone from the company (user/employee) calls a number outside the company, the default outgoing number shows up automatically on the caller ID." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:30 +msgid "If someone from outside the company tries to call back a user/employee, they are then funneled back through the main line (default number). If there is a dial plan set up, they are prompted to make selections. This is especially helpful in cases where employees change positions frequently, or if they leave the company." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:39 +msgid "To access the default number, go to the `Axivox management console `_, and log in. Then, click into :guilabel:`Settings` in the left menu, and navigate to :guilabel:`Default outgoing number`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:43 +msgid "From here, change the :guilabel:`Default outgoing number` by clicking the drop-down menu, and making a selection from the incoming phone numbers available on Axivox." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:46 +msgid "Be sure to :guilabel:`Save` the changes, then click :guilabel:`Apply changes` in the upper-right corner of the :guilabel:`General Settings` page to implement the change." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:49 +msgid "The :guilabel:`Default outgoing number` is what shows up by default in the Axivox management portal. However, the outgoing number can also be configured differently at the user level." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:53 +msgid "Users" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:55 +msgid "To configure the outgoing number at the user level, log in to the `Axivox management console `_. Next, click :guilabel:`Users` from the menu on the left, and then click :guilabel:`Edit` to the right of the user that is to be configured." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:59 +msgid "Under :guilabel:`Outgoing number`, click the drop-down menu to select either the :guilabel:`Default outgoing number` (as specified here: :ref:`voip/axivox/dynamic-caller-id-default`), or any of the incoming numbers on the Axivox account." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:63 +msgid "Choosing the :guilabel:`Default` selection in the :guilabel:`Outgoing number` drop-down menu ensures this user has the :guilabel:`Default outgoing number` shown on their caller ID when making calls." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:66 +msgid "If a specific number is chosen, and that number is assigned to this user under :guilabel:`Incoming numbers` (in the Axivox console's menu on the left), that means this user has a direct line for customers to reach them." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:70 +msgid "Once the desired changes are complete, be sure to click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner to implement the change." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:74 +msgid "By default, when creating a new user in Axivox, the :guilabel:`Outgoing number` is automatically set to :guilabel:`Default`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:78 +msgid "Advanced options" +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:80 +msgid "To access the :guilabel:`Advanced options`, navigate to the :guilabel:`Settings` option in the menu on the left of the `Axivox management console `_. Then, click :guilabel:`Advanced options` to the right of :guilabel:`Default outgoing number`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:84 +msgid "By default, there are not any advanced rules set. To create one, click the green :guilabel:`+ (plus)` icon. Doing so reveals a line with two blank fields. From here, different caller IDs can be set up, depending on what location the user/employee is calling from." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:88 +msgid "To create a rule, first set the :guilabel:`Destination prefix` in the first empty field. This is the country code, complete with zero(s) in front of it. Then, in the second empty field, select the phone number that should be used for calling out from that country code." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:93 +msgid "Check the box for :guilabel:`Apply advanced rules even for users with a default outgoing number configured` to allow these rules to take precedent over all other outgoing configurations." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:97 +msgid "The order of the rules can be modified by dragging-and-dropping them into another order. The first matching rule is applied." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:101 +msgid "For example, a company wants all users/employees to utilize the configured number for Great Britain when calling from the `0044` country code (Great Britain)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:104 +msgid "To accomplish that, simply type in `0044` into the :guilabel:`Destination prefix` field, and select the number starting with the `+44` country code. Order the rules as necessary, and select the checkbox to supersede all other rules, if needed." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:0 +msgid "Advanced options for the default outgoing number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/dynamic_caller_id.rst:112 +msgid "Once the desired configurations are complete, be sure to click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner to implement the change." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:3 +msgid "Manage users in Axivox" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:5 +msgid "Managing Axivox :abbr:`VoIP (Voice over Internet Protocol)` users is an important part of setting up :abbr:`VoIP (Voice over Internet Protocol)` in an Odoo database. Each Axivox user has a unique name, phone number and/or extension, and a voicemail. This way, they can be reached in a variety of convenient ways." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:10 +msgid "Axivox users are organized in a simple, straightforward way in the Axivox console, so an administrator can manage users quickly and easily." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:14 +msgid "This documentation covers how to configure everything through a provider called, Axivox. Depending on the chosen VoIP provider, the processes to manage users may be different." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:18 +msgid "Overview" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:20 +msgid "Begin at the Axivox management console by navigating to `https://manage.axivox.com `_. Log in with the appropriate administrator credentials." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:24 +msgid "Actions in the Axivox management console **must** be double-saved, in order for the changes to take effect. To save any changes, click :guilabel:`Save` in the individualized changes screen. Then, to implement those changes, click the :guilabel:`Apply Changes` button in the upper-right corner of the console." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:34 +msgid "Incoming numbers are all the numbers a company is paying to use to receive calls." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:36 +msgid "Click on :menuselection:`Incoming numbers` from the menu on the left of the Axivox management console. Doing so reveals the :guilabel:`Incoming numbers` page, where all the incoming numbers are listed, along with their :guilabel:`Destination` and SMS information." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:40 +msgid "The :guilabel:`Destination` determines the action that is taken, or the path the caller follows when dialing said numbers." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:43 +msgid "To edit the :guilabel:`Destination`, click the :guilabel:`Edit` button to the far-right of the incoming number line to be modified. Then, on the :guilabel:`Edit number` page that appears, the :guilabel:`Destination type for voice call` can be changed." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:47 +msgid "The options available in the :guilabel:`Destination type for voice call` drop-down menu are as follows:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:50 +msgid ":guilabel:`Not configured`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:51 +msgid ":guilabel:`Extension`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:52 +msgid ":guilabel:`Dial plan`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:53 +msgid ":guilabel:`Voicemail`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:54 +msgid ":guilabel:`Hang up`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:55 +msgid ":guilabel:`Conference`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:57 +msgid "Depending on the selection made in the :guilabel:`Destination type for voice call` drop-down menu, a second, selection-specific drop-down menu is populated with further configuration options. Additionally, more fields are revealed, based on the selection made in the :guilabel:`Destination type for voice call` drop-down menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:62 +msgid "Once the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner to implement them." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:66 +msgid "New users" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:68 +msgid "Every employee using :abbr:`VoIP (Voice over Internet Protocol)` at the company needs an Axivox user account associated with them." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:71 +msgid "To view existing users in the Axivox management console, click :guilabel:`Users` from the menu on the left of the console. Every user has a :guilabel:`Number`, :guilabel:`Name`, option for a :guilabel:`Voicemail`, and an :guilabel:`Outgoing number` specified." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:75 +msgid "To create a new user in the Axivox console, click :guilabel:`Add a user` to reveal a :guilabel:`New user` form. The following tabs are available for configuring the new user:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:78 +msgid ":guilabel:`General`: basic information, including the extension of the user, can be set." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:79 +msgid ":guilabel:`Forwardings`: internal forwards on 'no answer' or busy signals." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:80 +msgid ":guilabel:`Follow Me`: external forward configuration." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:81 +msgid ":guilabel:`Keys`: set hot-keys within the :abbr:`VoIP (Voice over Internet Protocol)` system." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:82 +msgid ":guilabel:`SIP Identifiers`: :abbr:`SIP (Session Initiation Protocol)` username and password for external configuration." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:84 +msgid ":guilabel:`Permissions`: set access rights for users in the Axivox management console." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:87 +msgid "General tab" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:89 +msgid "Under the :guilabel:`General` tab of the :guilabel:`New user` form, in the :guilabel:`Extension` field, input an extension that is unique to the user. This is the number internal users dial to reach a specific employee." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:93 +msgid "In the :guilabel:`Name` field, input the employee name." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:95 +msgid "Next, fill out the :guilabel:`Email address of the user` field. A valid email address for the employee should be added here, where the user receives business emails." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:98 +msgid "In the :guilabel:`GSM number` field, enter an alternative number at which the user can be reached. Be sure to include the country code." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:102 +#: ../../content/applications/general/voip/onsip.rst:134 +msgid "A country code is a locator code that allows access to the desired country's phone system. The country code is dialed first, prior to the target number. Each country in the world has its own specific country code." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:106 +#: ../../content/applications/general/voip/onsip.rst:145 +msgid "For a list of comprehensive country codes, visit: `https://countrycode.org `_." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:-1 +msgid "General tab layout in the Axivox management console." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:113 +msgid "In the :guilabel:`Voicemail` field, select either :guilabel:`Yes` or :guilabel:`No` from the drop-down menu." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:116 +msgid "In the :guilabel:`Directory` field, the administrator has the option to leave it blank, by making no changes, or selecting :guilabel:`Default` from the drop-down menu. The :guilabel:`Directory` is used in the *Digital Receptionist* feature element of a dial-plan." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:120 +msgid "At the bottom of the :guilabel:`General` tab, there are two separate options with selection boxes." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:122 +msgid "The first option is :guilabel:`This user can receive multiple calls at the same time`. By selecting this option, users are able to receive calls when on another call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:125 +msgid "The second option, :guilabel:`This user must log-in to call`, provides the option to make it mandatory for the user to log in." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:129 +msgid "If a company uses physical VoIP phones on desks, and wants their employees to be able to log in from *any* phone or desk in the office, they would make the selection for :guilabel:`This user must log-in to call`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:133 +msgid "Once the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:139 +msgid "Forwardings tab" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:141 +msgid "Under the :guilabel:`Forwardings` tab of the :guilabel:`New user` form, a company can decide what happens if someone calls a user, and the call is not answered." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:145 +msgid "Forwardings are disabled when the :guilabel:`Follow Me` option is enabled." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:147 +msgid "For example, under the :guilabel:`Forwarding on no answer` field, when the button for :guilabel:`Add a destination` is selected, the option to add a specific user or phone number is revealed. After entering the :guilabel:`Destination`, a specific time frame can be selected by sliding the :guilabel:`seconds bar` to the desired ring time." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:152 +msgid "Additional :guilabel:`Destinations` can be added on with different ring times." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:155 +msgid "Ring times can be staggered, so the call is forwarded to another user after the first user does not pick up the call. The option to :guilabel:`Send to voicemail as a last resort` is available to the administrator, should the :guilabel:`Destinations` not pick up." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:159 +msgid "Under the :guilabel:`Forwarding on busy` field, an administrator can :guilabel:`Add a destination`. When clicked, they can then set the :guilabel:`Destination` (user) and time frame. Should the original user's :abbr:`VoIP (Voice over Internet Protocol)` extension, or incoming number, be busy, the call is forwarded to the destination(s)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:-1 +msgid "Manage forwarding calls to different users or phone numbers in the Forwardings tab." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:168 +msgid "When the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner of the page." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:172 +msgid "Follow Me tab" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:174 +msgid "When the :guilabel:`Follow Me` option is selected, under the :guilabel:`Follow Me` tab of the :guilabel:`New user` form, no :menuselection:`Forwardings` can be made." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:177 +msgid "Also, when the :guilabel:`Follow Me` option is selected, the :guilabel:`Add a destination` button can be selected to add users, or a destination phone number, to the original user's account. That way, these added numbers ring when a call is received." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:181 +msgid "After entering the :guilabel:`Destination`, a specific time frame can be made by sliding the :guilabel:`seconds bar` to the desired ring time. Additional :guilabel:`Destinations` can be added with different ring times." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:186 +msgid "The original user's :abbr:`VoIP (Voice over Internet Protocol)` number does **not** ring with this option selected. Ring times can also be staggered, so the call is forwarded to another user after the first user does not pick up the call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:-1 +msgid "Ring destinations like different users or phone numbers from the Follow Me tab." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:195 +msgid "The Odoo mobile app, or another :abbr:`SIP (Session Initiation Protocol)` mobile client, allows for simultaneous ringing of the user's extension or incoming number. For more information, visit the :doc:`VoIP Mobile Integrations <../devices_integrations>` documentation." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:199 +#: ../../content/applications/general/voip/axivox/manage_users.rst:345 +msgid "Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:203 +msgid "Keys tab" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:205 +msgid "Under the :guilabel:`Keys` tab of the :guilabel:`New user` form, speed dial actions for the user can be configured. Some more advanced options are available, as well." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:208 +msgid "The following options are available to set to numerical values `1-20`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:210 +msgid "These actions can be set on each number:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:212 +msgid ":guilabel:`Not configured`: the default action, which is nothing." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:213 +msgid ":guilabel:`BLF (Busy lamp fields)`: this action shows the status of other users' phones connected to the Axivox phone system. This is primarily used on a desk-phone." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:215 +msgid ":guilabel:`Quick Call`: this action allows for a speed-dial of an external number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:216 +msgid ":guilabel:`Line`: this action allows the user to call another user." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:217 +msgid ":guilabel:`Switch`: this action allows the user to switch between calls from a desk-phone." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:218 +msgid ":guilabel:`Pickup`: this action allows the user to pick up an incoming call from a desk-phone." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:-1 +msgid "Manage user page with Keys tab highlighted and number 2 key drop-down menu selected (with\n" +"highlight)" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:225 +#: ../../content/applications/general/voip/axivox/manage_users.rst:313 +msgid "Once all the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:229 +msgid "Many of the preceding options have secondary options available, as well, that can be used to link a user, or external phone number. These **must** be filled out in conjunction with the initial action." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:234 +msgid "The :guilabel:`Number of keys` field can be changed by entering in the desired numerical value in the :guilabel:`Number of keys` field, located at the top of the :guilabel:`Keys` tab of the :guilabel:`New user` form." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:239 +msgid "SIP Identifiers tab" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:241 +msgid "*SIP*, which stands for Session Initiation Protocol telephony, allows one to make and receive calls through an internet connection. The :guilabel:`SIP Identifiers` tab on the :guilabel:`New user` form, contains credentials needed to configure Axivox users in Odoo and/or a different :abbr:`SIP (Session Initiation Protocol)` mobile client." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:247 +msgid "See the documentation on configuring Axivox, using the SIP identifiers:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:249 +msgid ":doc:`Use VoIP services in Odoo with Axivox `" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:250 +msgid ":doc:`Axivox Mobile Integrations <../devices_integrations>`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:252 +msgid "Under the :guilabel:`SIP Identifiers` tab, the :guilabel:`SIP username` field represents the user's information that was entered in the :guilabel:`Extension` field, under the :guilabel:`General` tab." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:255 +msgid "The :guilabel:`Domain` field is assigned to the company by the Axivox representative." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:257 +msgid "The value in the :guilabel:`SIP Password` field is unique for every Axivox user. This value is used to sign into Axivox on Odoo, and for any mobile :abbr:`SIP (Session Initiation Protocol)` clients." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:-1 +msgid "Important credentials used for external configurations of Axivox VoIP." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:264 +msgid "The value listed in the :guilabel:`Address of the proxy server` field is typically: `pabx.axivox.com`, but is subject to change by Axivox, so be sure to check the :guilabel:`SIP Identifiers` tab for the most accurate value." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:268 +msgid "Once all desired configurations have been made, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:272 +msgid "Permissions tab" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:274 +msgid "Under the :guilabel:`Permissions` tab of a :guilabel:`New user` form, a :guilabel:`Username` and :guilabel:`Password` can be entered for the user." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:277 +msgid "Beneath those fields, the following permissions can be granted to Axivox users for portal access:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:279 +msgid ":guilabel:`User portal access`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:280 +msgid ":guilabel:`User management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:281 +msgid ":guilabel:`Administrator access`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:282 +msgid ":guilabel:`Phone management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:283 +msgid ":guilabel:`User group management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:284 +msgid ":guilabel:`Phone number management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:285 +msgid ":guilabel:`Dial plan management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:286 +msgid ":guilabel:`Pickup group management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:287 +msgid ":guilabel:`Switch management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:288 +msgid ":guilabel:`Conference management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:289 +msgid ":guilabel:`Queue management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:290 +msgid ":guilabel:`Voicemail management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:291 +msgid ":guilabel:`Audio messages management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:292 +msgid ":guilabel:`Music on hold management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:293 +msgid ":guilabel:`Directory management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:294 +msgid ":guilabel:`Call list`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:295 +msgid ":guilabel:`Connected user list`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:296 +msgid ":guilabel:`Global settings`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:297 +msgid ":guilabel:`Apply changes button`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:298 +msgid ":guilabel:`Invoice download`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:299 +msgid ":guilabel:`Invoice details`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:300 +msgid ":guilabel:`Blacklist management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:301 +msgid ":guilabel:`Conference participant management`" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:303 +msgid "To access credentials for the Axivox user portal, navigate to the top of the :menuselection:`Permissions` tab. Then, copy the :guilabel:`Username`, and enter the correct :guilabel:`Password` for the individual user. There is a minimum of 8 characters for a user password." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:309 +msgid "These are the same permissions granted to the Axivox administrator that are listed in the menu on the left in the Axivox management console. Should a selection state :guilabel:`No`, or :guilabel:`No access`, then the menu option does **not** populate for the user." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:316 +msgid "Upon finishing the setup for a new user, an :ref:`voip/axivox/incoming_number` can be linked." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:-1 +msgid "Manage a user page, with the permissions tab highlighted, along with the first permission\n" +"highlighted indicating a no selection." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:326 +msgid "User groups" +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:328 +msgid "A user group is a grouping of Axivox users that can be linked to a queue for call center capability." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:331 +msgid "To begin using user groups, navigate to `https://manage.axivox.com `_." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:333 +msgid "Then, log in with the appropriate administrator credentials. From the menu on the left of the Axivox administrative panel, click into :guilabel:`User Groups`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:336 +msgid "To add a user group from the :guilabel:`User Groups` page, click :guilabel:`Add a group`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:338 +msgid "Next, name the group, by entering text into the :guilabel:`Name` field. Then, add a member to the group by typing the first few letters of the user's name into the :guilabel:`Members` field. The user populates in a drop-down menu below the field. Then, click on the desired user, and they are added to the user group." +msgstr "" + +#: ../../content/applications/general/voip/axivox/manage_users.rst:343 +msgid "Repeat this process to add more users to the group." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:3 +msgid "Voicemails and audio messages" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:7 +msgid "Managing voicemail is an important part of any business. A company needs to access their messages with ease, and stay on top of any missed calls. Recording audio messages, like thanking a caller for reaching out, or directing them to the right extension, is also a great way to personalize the business interaction, and set the tone with the customer." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:12 +msgid "This document covers the configuration of both voicemail and audio messages in the Axivox administrative portal." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:18 +msgid "Set global language" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:20 +msgid "To start using voicemails and audio messages with Axivox, the global language should be set in the Axivox admin portal settings. To do that, navigate to `manage.axivox.com `_. After logging into the portal, go to :menuselection:`Settings --> Global language (e.g.: voicemail messages,...)`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:25 +msgid "From here, set the language to either: :guilabel:`Francais`, :guilabel:`English`, :guilabel:`Espanol`, or :guilabel:`Deutsch`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:28 +msgid "Then, click :guilabel:`Save`, followed by :guilabel:`Apply changes` in the upper-right corner of the :guilabel:`General Settings` page to implement the change into production." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:34 +msgid "Activate voicemail" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:36 +msgid "In order for a user to utilize voicemail in Axivox, the voicemail feature **must** be turned on in the Axivox administrative portal. To begin using voicemail with a user, navigate to `manage.axivox.com `_. Then, log in with the appropriate administrator credentials." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:40 +msgid "On the left menu of the Axivox administrative panel, click into :guilabel:`Users`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:42 +msgid "Then, click into the specific user the voicemail should be activated for. Under the section marked, :guilabel:`Voicemail`, open the drop-down menu, and click on :guilabel:`Yes`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:45 +msgid "Lastly, :guilabel:`Save` the change, then click :guilabel:`Apply changes` in the upper-right corner of the screen." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:49 +msgid "Voicemail" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:51 +msgid "The next step is to set up the individual voicemail boxes on the Axivox administrative portal. To access the portal, visit `manage.axivox.com `_ and log in. Then, navigate to :menuselection:`Voicemails`, located in the menu on the left." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:55 +msgid "If the voicemail option was activated in the user profile, using this process :ref:`voip/axivox/activate_voicemail`, then a voicemail is automatically created on the :guilabel:`Voicemails` page." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:60 +msgid "It should be noted that some of the administrative portal language is in French, as Axivox is a Belgian company. The global language is still set to one of the four options as seen here: :ref:`voip/axivox/global_language`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:65 +msgid "Manually create voicemail" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:67 +msgid "To manually create a new voicemail box, click :guilabel:`Add a voicemail` on the :guilabel:`Voicemails` page. Or, edit an existing voicemail box, by clicking :guilabel:`Edit` to the far-right of an existing voicemail box on the :guilabel:`Voicemails` page." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:72 +msgid "Suppose a sales or support team needs a general voicemail box. The voicemail would need to be created manually, and attached to an incoming number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:75 +msgid "The new, manually-created voicemail box should be attached to an incoming number, so it can receive messages. To do so, navigate to :menuselection:`Incoming numbers`, located in the menu on the left. Then, click :guilabel:`Edit` to the far-right of the specific number the voicemail should be linked to." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:80 +msgid "In the :guilabel:`Destination type for voice call` field, click the drop-down menu, and select :guilabel:`Voicemail`. Then, open the drop-down menu on the next line labeled, :guilabel:`Voicemail`, and select the manually-created voicemail box." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:85 +msgid "If an incoming number is capable of receiving SMS/text messages, an additional field, :guilabel:`Destination email address for Incoming SMS`, is present." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:88 +msgid "To determine whether an incoming number is capable of receiving SMS/text messages, click :guilabel:`Incoming numbers` from the menu on the left, then check the :guilabel:`SMS compatible` column for the incoming number." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:92 +msgid "Then, if applicable, in the field labeled, :guilabel:`Destination email address for Incoming SMS`, enter an email to which incoming text messages sent to the incoming number can be received. Some incoming numbers (US +1) in Axivox are capable of receiving text messages from individuals and automated numbers." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:97 +msgid "Should this field be left empty, the default destination address is used, instead (as previously set in the beginning of the process for manually creating a voicemail)." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:100 +msgid "Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner of the screen to implement the change into production." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:104 +msgid "Notifications" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:106 +msgid "Now, whenever a voicemail is received on any of the automatically pre-configured or manually-linked voicemail boxes, an email is sent to the user's email address, as listed in the :guilabel:`Voicemails` page, or in the user's Axivox profile." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:110 +msgid "This information can be accessed by navigating to :menuselection:`Users` in the left menu, and clicking :guilabel:`Edit` next to the specific user in question." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:116 +msgid "Forwarding to voicemail" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:118 +msgid "In Axivox, there are also numerous forwarding settings for a user. To access these forwarding settings, go to `manage.axivox.com `_ and log in." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:121 +msgid "Next, navigate to :menuselection:`Users`, located in the menu on the left." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:123 +msgid "From there, click into the specific user the forwarding should be added to. Then, open the :guilabel:`Forwardings` tab." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:126 +msgid "If the user is busy on another call, or away from the phone, there is an option present in this tab to :guilabel:`Send to voicemail as a last resort`, located in the :guilabel:`Forwarding on no answer` and :guilabel:`Forwarding on busy` fields." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:-1 +msgid "Send to voicemail as a last resort options highlighted on the Forwardings tab of the user." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:134 +msgid "If the :guilabel:`Send to voicemail as a last resort` box is ticked, when the forwarding actions stated in each section are not successful, the caller is routed to the voicemail set on the particular user." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:139 +msgid "For more information on forwarding and transfers, visit :ref:`voip/axivox/forwardings_tab`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:141 +msgid "When all the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply changes` in the upper-right corner of the screen to implement the change." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:147 +msgid "Audio messages" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:149 +msgid "It is possible to add audio messages *before* a customer's call is even taken, to inform them about the waiting time for deliveries, the availability of a product, or any other important promotional messages." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:153 +msgid "To record an audio message in Axivox, navigate to `manage.axivox.com `_ and log in." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:155 +msgid "Next, click on :guilabel:`Audio messages` in the menu on the left. From the :guilabel:`Audio messages` page, click :guilabel:`Add a message`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:158 +msgid "Type in a :guilabel:`Name`, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:160 +msgid "Upon clicking :guilabel:`Save`, the browser redirects back to the main :guilabel:`Audio messages` page, where the newly-created message can be found on the list." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:163 +msgid "There are two different ways to make the audio message. The user could either record the message over the phone, or type the message (in text), and select a computer-generated speaker to read the message." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:168 +msgid "Record audio message" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:170 +msgid "To record an audio message over the phone, click the orange button labeled, :guilabel:`Record/Listen`, located to the right of the desired message on the list to record, on the :guilabel:`Audio messages` page." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:174 +msgid "When clicked, a :guilabel:`Record / listen to a message` pop-up window appears. From here, the message is then recorded, via one of the extensions that is associated with the user. Under :guilabel:`Extension to use for message management` field, click the drop-down menu, and select the extension where Axivox should call to record the message." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:179 +msgid "Then, click :guilabel:`OK` to begin the call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:182 +msgid "The user **must** be active in the production database with :abbr:`VoIP (Voice over Internet Protocol)` configured. To configure :abbr:`VoIP (Voice over Internet Protocol)` for a user, see this documentation: :doc:`axivox_config`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:186 +msgid "Upon connecting to the Axivox audio recorder management line, a recorded French-speaking operator provides the following options:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:189 +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:199 +msgid "Press `1` to record a message." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:190 +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:200 +msgid "Press `2` to listen to the current message." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:192 +msgid "Press either `1` or `2`, depending on whether or not there is already a message present in the system for this particular audio message that requires a review, before recording a new one." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:195 +msgid "Record the new audio message after pressing `1`, then press `#` to end the recording." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:197 +msgid "The French-speaking operator returns to the line presenting the first set of questions again:" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:202 +msgid "Press `#` to end the call." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:205 +msgid "Write audio message" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:207 +msgid "To type the message, and select a computerized speaker to say the text, navigate to the :menuselection:`Audio messages` in the menu on the left." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:210 +msgid "From the :guilabel:`Audio messages` page, select the blue button labeled, :guilabel:`Text message`, next to the corresponding audio message :guilabel:`Name` that the message should be attached to." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:213 +msgid "Doing so reveals a :guilabel:`Convert text to message` pop-up window." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:215 +msgid "From the :guilabel:`Convert to text message` pop-up window, click the drop-down menu next to the field labeled, :guilabel:`Voice`, and select an option for the :guilabel:`Text` to be read in." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:218 +msgid "After the :guilabel:`Voice` selection has been made, and the message has been written in the :guilabel:`Text` field, click :guilabel:`Generate` to process the audio file." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:221 +msgid "The text is read in the same language it is written in the :guilabel:`Text` field. Should the language differ in the :guilabel:`Voice` field, then an accent is used by the computerized speaker." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:224 +msgid "Finally, when these steps are complete, click :guilabel:`Save` to save the audio message." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:226 +msgid "To implement the changes, click :guilabel:`Apply changes` in the upper-right corner of the screen." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:-1 +msgid "Convert text to message window with voice, text, generate button and save highlighted." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:233 +msgid "To set a greeting or audio message in a dial plan element double-click on the element. This could be a :guilabel:`Play a file` element, or a :guilabel:`Menu` element, in which the caller should encounter an urgent message, or a dial-by-number directory." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:237 +msgid "For more information on dial plans see this documentation: :doc:`dial_plan_basics` or :doc:`dial_plan_advanced`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:243 +msgid "Music on-hold" +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:245 +msgid "Axivox has the option to add custom hold music to the call whenever a caller is waiting for their call to be answered. To add hold music to the Axivox administrative portal, navigate to the `manage.axivox.com `_, and log in." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:249 +msgid "Then, click on :guilabel:`Music on hold` from the menu on the left, and a :guilabel:`Change the music on hold` pop-up window appears." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:252 +msgid "On the :guilabel:`Change the music on hold` pop-up window, click the :guilabel:`Choose File` button to select an MP3 (MPEG Audio Layer 3) or WAV (Waveform Audio File Format ) file to be uploaded." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:256 +msgid "Only :abbr:`MP3 (MPEG Audio Layer 3)` or :abbr:`WAV (Waveform Audio File Format)` files can be uploaded to the Axivox administrative portal." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:259 +msgid "Once the file is selected, the :guilabel:`Progression` bar shows an upload status. When this activity completes, the window can be closed, by clicking :guilabel:`Close`." +msgstr "" + +#: ../../content/applications/general/voip/axivox/vm_audio_messages.rst:262 +msgid "When the desired changes are complete, click :guilabel:`Apply changes` in the upper-right corner of the screen." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:3 +msgid "Devices and integrations" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:5 +msgid ":abbr:`VoIP (Voice over Internet Protocol)` can be used on many different devices, such as a computer, tablet, mobile phone, and many more. This is helpful in that it reduces costs, and employees can work from anywhere in the world, so long as they have a broadband internet connection." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:9 +msgid "Odoo *VoIP* is SIP (Session Initiation Protocol) compatible, which means it can be used with *any* :abbr:`SIP (Session Initiation Protocol)` compatible application." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:12 +msgid "This document covers the process of setting up Odoo *VoIP* across different devices and integrations." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:15 +msgid "Odoo is fully-integrated with all Odoo apps, allowing users to click into any app, and schedule a call as an activity in the chatter." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:19 +msgid "For example, in the *CRM* app, a user can click into an opportunity, and click on :guilabel:`Activities` in the chatter." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:22 +msgid "Next, they can choose :guilabel:`Call`, and under :guilabel:`Due Date`, they can select a date." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:24 +msgid "Once they click :guilabel:`Save`, an activity shows up in the chatter." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:26 +msgid "Should the :guilabel:`Due Date` be for today's date, the activity shows up in the :abbr:`VoIP (Voice over Internet Protocol)` widget." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:0 +msgid "View of CRM leads and the option to schedule an activity for Odoo Discuss." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:34 +msgid "Odoo VoIP (laptop/desktop computer)" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:36 +msgid "The Odoo *VoIP* (Voice over Internet Protocol) module and widget can be used from any browser on a laptop or desktop device. Simply click on the :guilabel:`☎️ (phone)` icon in the upper-right corner, while in the Odoo database, and the widget appears." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:41 +msgid "To see how to use the :abbr:`VoIP (Voice over Internet Protocol)` widget on a desktop/laptop computer, check out this documentation: :doc:`voip_widget`." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:45 +msgid "Odoo VoIP (tablet/mobile device)" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:47 +msgid "The Odoo *VoIP* app can be used on tablets and mobile phones, through the Odoo Android or Apple IOS applications. Additionally, a mobile web browser can be used to access the database." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:51 +msgid "Odoo Android and Apple IOS applications are no longer being maintained by Odoo on the Android and Apple portals. This means Odoo support only handles limited scopes of Odoo Android or Apple IOS support tickets." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:56 +msgid "While outgoing calls can be placed using Odoo on a mobile device, be aware that Odoo is **not** a full :abbr:`VoIP (Voice over Internet Protocol)` application, and does **not** ring on incoming calls. If the user needs to be reachable on a mobile device at all times, an app, like Zoiper, should be used. Apps like that stay connected in the background at all times." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:61 +msgid "For more information, see this documentation: :ref:`voip/zoiper`." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:63 +msgid "While in the mobile application on a mobile device/tablet, access the Odoo *VoIP* widget, by tapping on the :guilabel:`☎️ (phone)` icon in the upper-right corner. The widget appears in the lower-left corner." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:67 +msgid "When first making a call from the tablet using the mobile application, the user is prompted to :guilabel:`Allow` the database to use the microphone. Click :guilabel:`Allow` when prompted to continue with the call using the microphone." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:71 +msgid "This step is **necessary**, whether using the mobile Odoo application or web browser." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Allow the database to access the microphone." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:77 +msgid "Odoo then asks how to make the call. The two options are : :guilabel:`VOIP` or :guilabel:`Phone` (should the tablet be enabled for calling). Click the box next to :guilabel:`Remember ?` should this decision be the default moving forward." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Window prompt to choose whether to use VOIP or the devices phone to make the call." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:85 +msgid "Here is the layout of what the Odoo *VoIP* app looks like on a mobile device:" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Layout of what the VoIP app looks like on the a mobile device." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:94 +msgid "Zoiper Lite" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:96 +msgid "*Zoiper Lite* is a free :abbr:`VoIP (Voice over Internet Protocol)` :abbr:`SIP (Session Initiation Protocol)` dialer with voice and video." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:99 +msgid "To start using the *Zoiper* app, download it to the device, via the `Zoiper download page `_." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:102 +msgid "A mobile device is the most common installation, and this document covers how to set up on the *Zoiper* IOS application. Screenshots and steps may differ depending on the set up conditions." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:105 +msgid "After installing the *Zoiper* application on the mobile phone, open the application, and tap on :guilabel:`Settings`. Navigate to :menuselection:`Accounts`, and tap on the :guilabel:`+ (plus)` icon to add an account." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:109 +msgid "If the :abbr:`VoIP (Voice over Internet Protocol)` account is already set up, then click :guilabel:`Yes`. This means an account username and password has already been produced." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Zoiper account setup, shown in the view from a mobile device." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:116 +msgid "Next, tap on :guilabel:`Select a provider`. On the screen that populates, tap :guilabel:`Country`, in the upper-right corner, to narrow the providers down to a specific country. Choose the country for the provider that is being configured, then find the :guilabel:`Provider`, and select it." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:121 +msgid "If the provider being configured is *Axivox*, then select :guilabel:`Belgium`. Then, choose :guilabel:`Axivox` as the provider." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Zoiper account setup, choosing the provider." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:128 +msgid "Under :abbr:`SIP (Session Initiation Protocol)` options, enter the :guilabel:`Account name`, :guilabel:`Domain`, :guilabel:`Username`, and :guilabel:`Password`. All this information varies, based on the account." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:133 +msgid "To access this information, via the *Axivox* portal, navigate to :menuselection:`Users --> Choose user --> Edit --> SIP Identifiers tab`. The :guilabel:`SIP username`, :guilabel:`Domain`, :guilabel:`SIP password`, and :guilabel:`Address of the proxy server` are all present in this tab." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:141 +msgid "Zoiper Field" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:142 +msgid "Axivox Field" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:143 +msgid "Account name" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:144 +msgid "*Can be anything*" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:145 +#: ../../content/applications/general/voip/devices_integrations.rst:146 +msgid "Domain" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:147 +msgid "Username" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:148 +msgid "SIP username" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:149 +msgid "Password" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:150 +msgid "SIP password" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:152 +msgid "Once this account information is entered, click the green :guilabel:`Register` button at the top of the screen. Once the registration information is checked, *Zoiper* populates a message, stating :guilabel:`Registration Status: OK`." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:156 +msgid "At this point, *Zoiper* is now set up to make phone calls using the :abbr:`VoIP (Voice over Internet Protocol)` service." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Zoiper account setup, registration successful." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:164 +msgid "Linphone" +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:166 +msgid "*Linphone* is an open-source :abbr:`VoIP (Voice over Internet Protocol)` :abbr:`SIP (Session Initiation Protocol)` softphone, used for voice, video, messaging (group and individual), as well as conference calls." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:170 +msgid "To start using the *Linphone* app, download it to the device, via the `Linphone download page `_." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:173 +msgid "A mobile device is the most common installation, and this document covers how to set up the *Linphone* IOS application. Screenshots and steps may differ depending on the circumstances." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:176 +msgid "To begin configuring *Linphone* for use with a :abbr:`SIP (Session Initiation Protocol)` provider, first open *Linphone*, and an assistant screen appears." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:179 +msgid "From this screen, select :guilabel:`Use SIP Account`. Then, on the following screen, enter the :guilabel:`Username`, :guilabel:`Password`, :guilabel:`Domain`, and :guilabel:`Display Name`. Once complete, press :guilabel:`Login`." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:183 +msgid "At this point, *Linphone* is ready to start making calls, once there is a green button at the top of the application screen that reads, :guilabel:`Connected`." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:-1 +msgid "Linphone account setup, registration successful." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:191 +msgid "*Linphone* makes a variety of applications for mobile and desktop devices in operating systems, such as Windows, Linux, Apple, and Android. Because *Linphone* is an open-source project, many new updates are released on a regular basis." +msgstr "" + +#: ../../content/applications/general/voip/devices_integrations.rst:195 +msgid "See `Linphone's wiki-documentation page `_." msgstr "" #: ../../content/applications/general/voip/onsip.rst:3 @@ -4152,109 +6475,516 @@ msgid "Use VoIP services in Odoo with OnSIP" msgstr "" #: ../../content/applications/general/voip/onsip.rst:8 -msgid "Odoo VoIP can be set up to work together with OnSIP (www.onsip.com). In that case, the installation and setup of an Asterisk server is not necessary as the whole infrastructure is hosted and managed by OnSIP." +msgid "Odoo *VoIP* can be set up to work together with `OnSIP `_. OnSIP is a VoIP provider. An account is needed with OnSIP in order to use this service." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:12 -msgid "You will need to open an account with OnSIP to use this service. Before doing so, make sure that your area and the areas you wish to call are covered by the service. After opening an OnSIP account, follow the configuration procedure below." +#: ../../content/applications/general/voip/onsip.rst:11 +msgid "Before setting up an account with OnSIP, make sure the company's home area, and the areas that will be called, are covered by OnSIP services." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:19 -msgid "Go to Apps and install the module **VoIP OnSIP**." +#: ../../content/applications/general/voip/onsip.rst:14 +msgid "After opening an OnSIP account, follow the configuration procedure below to configure it on an Odoo database." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:20 +msgid "To configure the Odoo database to connect to OnSIP services, first navigate to the :menuselection:`Apps application` from the main Odoo dashboard. Then, remove the default `Apps` filter from the :guilabel:`Search...` bar, and search for `VoIP OnSIP`." msgstr "" #: ../../content/applications/general/voip/onsip.rst:24 -msgid "Go to Settings/General Settings. In the section Integrations/Asterisk (VoIP), fill in the 3 fields:" +msgid "Next, install the :guilabel:`VOIP OnSIP` module." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:26 -msgid "**OnSIP Domain** is the domain you chose when creating an account on www.onsip.com. If you don't know it, log in to https://admin.onsip.com/ and you will see it in the top right corner of the screen." +#: ../../content/applications/general/voip/onsip.rst:-1 +msgid "View of OnSIP app in the app search results." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:29 -msgid "**WebSocket** should contain wss://edge.sip.onsip.com" +#: ../../content/applications/general/voip/onsip.rst:31 +msgid "Odoo VoIP setting" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:30 -msgid "**Mode** should be Production" +#: ../../content/applications/general/voip/onsip.rst:33 +msgid "After installing the *VOIP OnSIP* module, go to the :menuselection:`Settings app`, scroll down to the :guilabel:`Integrations` section, and locate the :guilabel:`Asterisk (VoIP)` fields. Then, proceed to fill in those three fields with the following information:" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:35 -msgid "Go to **Settings/Users**. In the form view of each VoIP user, in the Preferences tab, fill in the section **PBX Configuration**:" -msgstr "" - -#: ../../content/applications/general/voip/onsip.rst:38 -msgid "**SIP Login / Browser's Extension**: the OnSIP 'Username'" +#: ../../content/applications/general/voip/onsip.rst:37 +msgid ":guilabel:`OnSIP Domain`: the domain that was assigned when creating an account on `OnSIP `_." msgstr "" #: ../../content/applications/general/voip/onsip.rst:39 -msgid "**OnSIP authorization User**: the OnSIP 'Auth Username'" +msgid ":guilabel:`WebSocket`: `wss://edge.sip.onsip.com`" msgstr "" #: ../../content/applications/general/voip/onsip.rst:40 -msgid "**SIP Password**: the OnSIP 'SIP Password'" +msgid ":guilabel:`VoIP Environment`: :guilabel:`Production`" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:41 -msgid "**Handset Extension**: the OnSIP 'Extension'" +#: ../../content/applications/general/voip/onsip.rst:-1 +msgid "VoIP configuration settings in Odoo Settings app." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:43 -msgid "You can find all this information by logging in at https://admin.onsip.com/users, then select the user you want to configure and refer to the fields as pictured below." +#: ../../content/applications/general/voip/onsip.rst:47 +msgid "To access the OnSIP domain, navigate to `OnSIP `_ and log in. Then, click the :guilabel:`Administrators` link in the top-right of the page." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:49 -msgid "You can now make phone calls by clicking the phone icon in the top right corner of Odoo (make sure you are logged in as a user properly configured in Odoo and in OnSIP)." +#: ../../content/applications/general/voip/onsip.rst:50 +msgid "Next, in the left menu, click :guilabel:`Users`, and then select any user. By default, the selected user opens on the :guilabel:`User Info` tab." msgstr "" #: ../../content/applications/general/voip/onsip.rst:53 -msgid "If you see a *Missing Parameters* message in the Odoo softphone, make sure to refresh your Odoo window and try again." +msgid "Click on the :guilabel:`Phone Settings` tab to reveal OnSIP configuration credentials (first column)." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:60 -msgid "If you see an *Incorrect Number* message in the Odoo softphone, make sure to use the international format, leading with the plus (+) sign followed by the international country code. E.g.: `+16506913277` (where `+1` is the international prefix for the United States)." +#: ../../content/applications/general/voip/onsip.rst:0 +msgid "Domain setting revealed (highlighted) on administrative panel of OnSIP management\n" +"console." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:62 +msgid "Odoo user setting" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:64 +msgid "Next, the user needs to be set up in Odoo. Every user associated with an OnSIP user **must** also be configured in the Odoo user's settings/preferences." msgstr "" #: ../../content/applications/general/voip/onsip.rst:67 -msgid "You can now also receive phone calls. Your number is the one provided by OnSIP. Odoo will ring and display a notification." +msgid "To do that, navigate to :menuselection:`Settings app --> Manage Users --> Select the User`." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:69 +msgid "On the user form, click :guilabel:`Edit` to configure the user's OnSIP account. Then, click the :guilabel:`Preferences` tab, and scroll to the :guilabel:`VoIP` section." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:72 +msgid "In this section, fill in the fields with OnSIP credentials." msgstr "" #: ../../content/applications/general/voip/onsip.rst:74 -msgid "OnSIP on Your Cell Phone" +msgid "Fill in the following fields with the associated credentials listed below:" msgstr "" #: ../../content/applications/general/voip/onsip.rst:76 -msgid "In order to make and receive phone calls when you are not in front of your computer, you can use a softphone app on your cell phone in parallel of Odoo VoIP. This is useful for on-the-go calls, but also to make sure to hear incoming calls, or simply for convenience. Any SIP softphone will work." +msgid ":guilabel:`VoIP Username` / :guilabel:`Extension Number` = OnSIP :guilabel:`Username`" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:80 -msgid "On Android and iOS, OnSIP has been successfully tested with `Grandstream Wave `_. When creating an account, select OnSIP in the list of carriers. You will then have to configure it as follows:" +#: ../../content/applications/general/voip/onsip.rst:77 +msgid ":guilabel:`OnSIP Auth Username` = OnSIP :guilabel:`Auth Username`" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:84 -msgid "**Account name**: OnSIP" +#: ../../content/applications/general/voip/onsip.rst:78 +msgid ":guilabel:`VoIP secret` = OnSIP :guilabel:`SIP Password`" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:85 -msgid "**SIP Server**: the OnSIP 'Domain'" +#: ../../content/applications/general/voip/onsip.rst:79 +msgid ":guilabel:`External device number` = OnSIP :guilabel:`Ext.` (extension without the `x`)" msgstr "" -#: ../../content/applications/general/voip/onsip.rst:86 -msgid "**SIP User ID**: the OnSIP 'Username'" +#: ../../content/applications/general/voip/onsip.rst:-1 +msgid "OnSIP user credentials with username, auth username, SIP password, and extension\n" +"highlighted." msgstr "" #: ../../content/applications/general/voip/onsip.rst:87 -msgid "**SIP Authentication ID**: the OnSIP 'Auth Username'" +msgid "The OnSIP extension can be found in the *User* banner line above the tabs." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:88 -msgid "**Password**: the OnSIP 'SIP Password'" +#: ../../content/applications/general/voip/onsip.rst:89 +msgid "When these steps are complete, navigate away from the user form in Odoo to save the configurations." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:90 -msgid "Aside from initiating calls from Grandstream Wave on your phone, you can also initiate calls by clicking phone numbers in your browser on your PC. This will make Grandstream Wave ring and route the call via your phone to the other party. This approach is useful to avoid wasting time dialing phone numbers. In order to do so, you will need the Chrome extension `OnSIP Call Assistant `_." +#: ../../content/applications/general/voip/onsip.rst:91 +msgid "Once saved, Odoo users can make phone calls by clicking the :guilabel:`☎️ (phone)` icon in the top-right corner of Odoo." msgstr "" -#: ../../content/applications/general/voip/onsip.rst:97 -msgid "The downside of using a softphone on your cell phone is that your calls will not be logged in Odoo, as the softphone acts as an independent, separate app." +#: ../../content/applications/general/voip/onsip.rst:95 +msgid "Additional setup and troubleshooting steps can be found on `OnSIP's knowledge base `_." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:99 +msgid "Incoming calls" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:101 +msgid "The Odoo database also receives incoming calls that produce pop-up windows in Odoo. When those call pop-up windows appear, click the green :guilabel:`📞 (phone)` icon to answer the call." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:104 +msgid "To ignore the call, click the red :guilabel:`📞 (phone)` icon." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:-1 +msgid "Incoming call shown in the Odoo VoIP widget." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:112 +msgid ":doc:`voip_widget`" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:115 +#: ../../content/applications/general/voip/voip_widget.rst:32 +msgid "Troubleshooting" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:118 +msgid "Missing parameters" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:120 +msgid "If a *Missing Parameters* message appears in the Odoo widget, make sure to refresh the Odoo browser window (or tab), and try again." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:-1 +msgid "Missing parameter message in the Odoo VoIP widget." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:128 +msgid "Incorrect number" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:130 +msgid "If an *Incorrect Number* message appears in the Odoo widget, make sure to use the international format for the number. This means leading with the :guilabel:`+ (plus)` sign, followed by the international country code." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:138 +msgid "For example, `+16505555555` (where `+1` is the international prefix for the United States)." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:-1 +msgid "Incorrect number message populated in the Odoo VoIP widget." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:149 +msgid "OnSIP on mobile phone" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:151 +msgid "In order to make and receive phone calls when the user is not in front of Odoo on their computer, a softphone app on a mobile phone can be used in parallel with Odoo *VoIP*." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:154 +msgid "This is useful for convenient, on-the-go calls, and to make sure incoming calls are heard. Any SIP softphone will work." +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:158 +msgid ":doc:`devices_integrations`" +msgstr "" + +#: ../../content/applications/general/voip/onsip.rst:159 +msgid "`OnSIP App Download `_" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:3 +msgid "Make, receive, transfer, and forward calls" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:5 +msgid "Calling prospective clients, customers, or colleagues is an essential part of any business. A company also needs to be available when customers call, in order to build trust and make connections." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:9 +msgid "This document covers how to make, receive, transfer, and forward calls with Odoo *VoIP*." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:12 +msgid "Make calls" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:14 +msgid "Starting on the Odoo dashboard, a call can be made by opening the phone widget in the the upper-right corner, which is represented by a :guilabel:`☎️ (phone)` icon." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:17 +msgid "Then, a user can click on the :guilabel:`Contacts` tab, and click into any contact in the database to make a call." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:20 +msgid "Additionally, one can also use the :guilabel:`Search bar` in the :guilabel:`VOIP` pop-up window to find any desired contact." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:-1 +msgid "Using the VoIP phone widget to make calls." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:27 +msgid "To manually make a call, click the :guilabel:`⌨️ (keyboard)` icon, and proceed to manually key in the desired number. Do not forget to lead with the :guilabel:`+ (plus)` icon, followed by the international country code." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:32 +msgid "For the United States of America, the country code and :guilabel:`+ (plus)` icon, would look like this: `+1`. If one were to dial Belgium, the number would be prefixed by `+32`, and for Great Britain it would be `+44`." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:36 +msgid "After entering the full number, with the required :guilabel:`+ (plus)` icon prefix and country code, click the green :guilabel:`📞 (phone)` icon to start the call. When finished, click the red :guilabel:`📞 (phone)` icon to end the call." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:45 +msgid "Receive calls" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:47 +msgid "An incoming call automatically opens the *VoIP* widget, when a user is using the Odoo database. Should the database be open in another tab, a sound plays (the sound **must** be activated on the device)." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:51 +msgid "Once back to the tab, the calling screen of the *VoIP* phone widget appears." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:53 +msgid "Click the green :guilabel:`📞 (phone)` icon to pick up the call, or the red :guilabel:`📞 (phone)` icon to reject the call." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:-1 +msgid "Incoming call on the VoIP widget, with the call answer and call reject buttons highlighted." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:61 +msgid "Add to call queue" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:63 +msgid "All the contacts and customers that need to be called can be seen in one place with the Odoo *VoIP* phone widget, under the :guilabel:`Next activities` tab." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:-1 +msgid "VoIP widget with next activities highlighted, showing tasks below." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:70 +msgid "To add a call to the :guilabel:`Next activities` tab, click the green :guilabel:`📞 (phone)` icon, while in kanban view of the *CRM* application." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:73 +msgid "To remove them from the call queue, hover over the opportunity that has a call scheduled, and click the red :guilabel:`📞 (phone)` icon that appears with the :guilabel:`- (minus)` icon." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:76 +msgid "When navigating back to the *VoIP* phone widget, **only** the calls that are scheduled immediately for that day appear in the queue under the :guilabel:`Next Activities` tab of the *VoIP* pop-up widget." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:-1 +msgid "Adding a call to the next activities tab in the VoIP phone widget." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:84 +msgid "The :guilabel:`Next Activities` tab of the *VoIP* phone widget is integrated with the following Odoo apps: *CRM*, *Project*, and *Helpdesk*." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:87 +msgid "A call can be added in the chatter of records within those applications." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:89 +msgid "To manually add a call, via the chatter, click :guilabel:`Activities` (next to the :guilabel:`🕗 (clock)` icon). Under :guilabel:`Activity Type`, select :guilabel:`Call` from the drop-down menu that appears." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:93 +msgid "Next, set a :guilabel:`Due Date`, and add a :guilabel:`Summary`." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:95 +msgid "Lastly, change the :guilabel:`Assigned to` field to the person that should make the call. Whomever is set in this last field (:guilabel:`Assigned to`) has this call show up in their :guilabel:`Next Activities` call queue in the Odoo *VoIP* phone widget." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:100 +msgid "Only calls for the immediate day (today's date) appear in the :guilabel:`Next Activities` tab of the *VoIP* phone widget for that specific user." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:103 +msgid "If specified, click :guilabel:`Save` or :guilabel:`Open Calendar` to complete the scheduling of the call." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:107 +msgid "Transfer calls" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:109 +msgid "A call can be transferred from one user to another in the Odoo *VoIP* phone widget. However, this can **only** occur after speaking to the caller first. Without picking up the call in the Odoo *VoIP* phone widget, the only way to transfer a call is automatically though the provider console/portal." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:115 +msgid "For more information on transfers, visit :ref:`voip/axivox/forwardings_tab`." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:117 +msgid "To transfer a call within the Odoo *VoIP* phone widget, first, answer the call using the green :guilabel:`📞 (phone)` icon." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:120 +msgid "Once the incoming call is answered, click the :guilabel:`↔ (left-right arrow)` icon. Then, enter the extension of the user the call should be forwarded to. Finally, click :guilabel:`Transfer` to route the call to that phone number." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:125 +msgid "To find the extension for a user, consult the :abbr:`VoIP (Voice over Internet Protocol)` administrator, or, if the user has *Settings* access rights to *Administration*, navigate to :menuselection:`Settings App --> Manage Users --> Select the user --> Preferences --> VOIP --> VoIP username / Extension number`." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:130 +msgid "For more information on access rights, visit: :doc:`../users/access_rights`." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:-1 +msgid "Transferring a call within the phone widget, with the transfer buttons highlighted." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:137 +msgid "Forward calls" +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:139 +msgid "To forward a call within the Odoo *VoIP* phone widget, first, answer the call using the green :guilabel:`📞 (phone)` icon. Once the incoming call is answered, click the :guilabel:`↔ (left-right arrow)` icon." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:143 +msgid "Then, enter the full phone number of the user the call should be forwarded to. Finally, click :guilabel:`Transfer` to route the call to that phone number." +msgstr "" + +#: ../../content/applications/general/voip/transfer_forward.rst:147 +msgid "For more information on forwarding, visit :ref:`voip/axivox/forwardings_tab`." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:3 +msgid "VoIP widget" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:5 +msgid "The *VoIP* widget is an add-on made available to Odoo users through the *VoIP* module. It is used to incorporate virtual telephony into the database. The widget is the control center for making and managing calls in Odoo." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:10 +msgid "Phone calls" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:12 +msgid "To make phone calls while in the Odoo database, click the :guilabel:`☎️ (phone)` icon, located in the top navigation bar." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:15 +msgid "When clicked, a :guilabel:`VOIP` pop-up widget appears in the lower-left corner of the Odoo database. The widget allows users to freely navigate throughout the database, while making and receiving calls." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:19 +msgid "When receiving calls in Odoo, the :guilabel:`VOIP` widget rings,and displays a notification. To close the widget, click the :guilabel:`X (close)` icon in the upper-right of the widget's screen." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:23 +msgid "The :abbr:`VoIP (Voice over Internet Protocol)` number is the one provided by Axivox. It can be accessed by navigating to `https://manage.axivox.com/ `_. After logging into the portal, go to :menuselection:`Users --> Outgoing number` (column)." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:-1 +msgid "VoIP call in Odoo." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:35 +msgid "If a *Missing Parameter* error message appears in the Odoo *VoIP* widget, refresh the Odoo window, and try again." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:0 +msgid "\"Missing Parameter\" error message in the Odoo softphone." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:43 +msgid "If an *Incorrect Number* error message appears in the Odoo *VoIP* widget, make sure to use the international format, leading with the :guilabel:`+ (plus)` sign, followed by the international country code." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:47 +msgid "(E.g., +16506913277, where `+1` is the international prefix for the United States.)" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:0 +msgid "\"Incorrect Number\" error message in the Odoo softphone." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:54 +msgid "Tabs" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:56 +msgid "In all, there are three tabs (:guilabel:`Recent`, :guilabel:`Next Activities`, and :guilabel:`Contacts`) present in the *VoIP* widget, which are used for managing calls and day-to-day activities in Odoo." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:61 +msgid "Recent" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:63 +msgid "Under the :guilabel:`Recent` tab of the *VoIP* widget, the call history for the user is available. This includes incoming and outgoing calls. Any number can be clicked to begin a call." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:67 +msgid "Next activities" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:69 +msgid "Under the :guilabel:`Next Activities` tab of the *VoIP* widget, a user can see any activities assigned to them, and which ones are due to be completed for the day." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:72 +msgid "Click an activity from this tab to perform any actions including: Sending an email, accessing their contact, scheduling another activity, or accessing a linked record (such as a Sales Order, Lead/Opportunity, or Project Task)." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:76 +msgid "The user can also mark the activity as complete, edit the details of the activity, or cancel it." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:78 +msgid "To call the customer related to a scheduled activity, click the :guilabel:`📞 (phone)` icon, or click the :guilabel:`⌨️ (keyboard)` icon to dial another number for the customer." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:-1 +msgid "Activity control center on the VoIP widget." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:85 +msgid "Some other icons appear in the *VoIP* widget, categorized by two sections: :guilabel:`Document` and :guilabel:`Activity`." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:88 +msgid "Under the :guilabel:`Document` section, from right to left:" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:90 +msgid ":guilabel:`✉️ (envelope)` icon: sends an email" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:91 +msgid ":guilabel:`👤 (person icon)` icon: redirects to the contact card" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:92 +msgid ":guilabel:`📄 (document)` icon: redirects to the attached record in Odoo" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:93 +msgid ":guilabel:`🕓 (clock)` icon: schedule an activity" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:95 +msgid "Under the :guilabel:`Activity` section, from left to right:" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:97 +msgid ":guilabel:`✔️ (checkmark)` icon: mark activity as done" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:98 +msgid ":guilabel:`✏️ (pencil)` icon: edit the activity" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:99 +msgid ":guilabel:`✖️ (cancel)` icon: cancel the activity" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:102 +msgid "Contacts" +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:104 +msgid "Under the :guilabel:`Contacts` tab of the *VoIP* widget, a user can access a contact in the *Contacts* app." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:107 +msgid "Any contact can easily be called by clicking into the contact from the *VoIP* widget's :guilabel:`Contacts` tab." +msgstr "" + +#: ../../content/applications/general/voip/voip_widget.rst:110 +msgid "A search feature is also available in the upper-right side of the widget, represented by a :guilabel:`🔍 (magnifying glass)` icon." msgstr "" diff --git a/locale/sources/hr.pot b/locale/sources/hr.pot index 871ac9c0b..d50c80726 100644 --- a/locale/sources/hr.pot +++ b/locale/sources/hr.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -326,159 +326,159 @@ msgstr "" msgid "A skill form for a Math skill type, with all the information entered." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:197 +#: ../../content/applications/hr/employees/new_employee.rst:199 msgid "Work Information tab" msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:199 +#: ../../content/applications/hr/employees/new_employee.rst:201 msgid "The Work Information tab is where the employee's specific job related information is housed. Their working schedule, various roles, who approves their specific requests (time off, timesheets, and expenses), and specific work location details are listed here. Click on the :guilabel:`Work Information` tab to access this section, and enter the following information for the new employee." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:204 +#: ../../content/applications/hr/employees/new_employee.rst:206 msgid ":guilabel:`Location`: Select the :guilabel:`Work Address` from the drop-down menu. To modify the address, hover over the first line (if there are multiple lines) of the address to reveal an :guilabel:`Internal Link` arrow. Click the :guilabel:`Internal Link` arrow to open up the company form, and make any edits. Use the breadcrumb menu to navigate back to the new employee form when done. If a new work address is needed, add the address by typing it in the field, then click :guilabel:`Create (new address)` to add the address, or :guilabel:`Create and edit...` to add the new address and edit the address form." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:211 +#: ../../content/applications/hr/employees/new_employee.rst:213 msgid ":guilabel:`Approvers`: In order to see this section, the user must have either :guilabel:`Administrator` or :guilabel:`Officer: Manage all employees` rights set for the :guilabel:`Employees` application. Using the drop-down menus, select the users responsible for approving :guilabel:`Expenses`, :guilabel:`Time Off`, and :guilabel:`Timesheets` for the employee. Hover over any of the selections to reveal the :guilabel:`Internal Link` arrow. Click the :guilabel:`Internal Link` arrow to open a form with the approver's :guilabel:`Name`, :guilabel:`Email Address`, :guilabel:`Company`, :guilabel:`Phone`, :guilabel:`Mobile`, and :guilabel:`Default Warehouse` fields. These can be modified, if needed. Use the breadcrumb menu to navigate back to the new employee form when done." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:220 +#: ../../content/applications/hr/employees/new_employee.rst:222 msgid ":guilabel:`Homeworking`: Using the drop-down menu, select the specific location the employee will work from, for each day of the week. The default options are :guilabel:`Home`, :guilabel:`Office`, or :guilabel:`Other`. A new location can be typed into the field, then click either :guilabel:`Create (new location)` to add the location, or :guilabel:`Create and edit...` to add the new location and edit the form. After edits are done, click :guilabel:`Save & Close`, and the new location is added, and populates the field. For days the employee does not work, for example, Saturday and Sunday, leave the field blank (:guilabel:`Unspecified`)." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:229 +#: ../../content/applications/hr/employees/new_employee.rst:231 msgid "It is also possible to add or modify work locations by navigating to :menuselection:`Employees app --> Configuration --> Employee: Work Locations`. Click :guilabel:`New` to create a new location, then enter the details on the form. To modify a location, click on an existing location, then make any changes on the form." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:234 +#: ../../content/applications/hr/employees/new_employee.rst:236 msgid ":guilabel:`Schedule`: Select the :guilabel:`Working Hours` and :guilabel:`Timezone` for the employee. The :guilabel:`Internal Link` arrow opens up a detailed view of the specific daily working hours. Working hours can be modified or deleted here." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:239 +#: ../../content/applications/hr/employees/new_employee.rst:241 msgid "Working hours can also be modified in the *Payroll* application, where they are referred to as :guilabel:`Working Schedules`. For more information on how to create or modify :guilabel:`Working Schedules` in Payroll, refer to the :doc:`../../hr/payroll` documentation." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:243 +#: ../../content/applications/hr/employees/new_employee.rst:245 msgid ":guilabel:`Planning`: Click on a role from the drop-down menu for both the :guilabel:`Roles` and the :guilabel:`Default Role` fields to add a role. There is no limit to the amount of :guilabel:`Roles` that can be selected for an employee, but there can only be one :guilabel:`Default Role`. The default role is the *typical* role that the employee performs, where the :guilabel:`Roles` are *all* the specific roles the employee is able to perform. The :guilabel:`Default Role` must be selected as a :guilabel:`Role`, if not, when the :guilabel:`Default Role` is selected, that role is automatically added to the list of :guilabel:`Roles`." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:253 +#: ../../content/applications/hr/employees/new_employee.rst:255 msgid "The :guilabel:`Planning` section affects the *Planning* app, and will only appear if the *Planning* app is installed. When planning work in the *Planning* app, employees can only be scheduled for specific work that corresponds to their selected roles. For example, only an employee with a *Functional Tester* role can be assigned to perform any activity that requires a *Functional Tester*." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:260 +#: ../../content/applications/hr/employees/new_employee.rst:262 msgid "The users that appear in the drop-down menu for the :guilabel:`Approvers` section must have *Administrator* rights set for the corresponding human resources role. To check who has these rights, go to :menuselection:`Settings app --> Users --> → Manage Users`. Click on an employee, and check the :guilabel:`Human Resources` section of the :guilabel:`Access Rights` tab." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:265 +#: ../../content/applications/hr/employees/new_employee.rst:267 msgid "In order for the user to appear as an approver for :guilabel:`Expenses`, they must have either :guilabel:`Team Approver`, :guilabel:`All Approver`, or :guilabel:`Administrator` set for the :guilabel:`Expenses` role." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:268 +#: ../../content/applications/hr/employees/new_employee.rst:270 msgid "In order for the user to appear as an approver for :guilabel:`Time Off`, they must have either :guilabel:`Officer` or :guilabel:`Administrator` set for the :guilabel:`Time Off` role." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:270 +#: ../../content/applications/hr/employees/new_employee.rst:272 msgid "In order for the user to appear as an approver for :guilabel:`Timesheets`, they must have either :guilabel:`Manager`, :guilabel:`Officer`, or :guilabel:`Administrator` set for the :guilabel:`Payroll` role." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:275 +#: ../../content/applications/hr/employees/new_employee.rst:277 msgid ":guilabel:`Working Hours` are related to a company's working times, and an employee cannot have working hours that are outside of a company's working times." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:278 +#: ../../content/applications/hr/employees/new_employee.rst:280 msgid "Each individual working time is company-specific, so for multi-company databases, each company needs to have its own working hours set." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:281 +#: ../../content/applications/hr/employees/new_employee.rst:283 msgid "If an employee's working hours are not configured as a working time for the company, new working times can be added, or existing working times can be modified. To add or modify a working time, go to the :menuselection:`Payroll app --> Configuration --> Working Times`, and add a new working time or edit an existing one." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:286 +#: ../../content/applications/hr/employees/new_employee.rst:288 msgid "After the new working time is created, or an existing one is modified, select the employee's working hours using the drop-down menu in the :guilabel:`Schedule` section of the :guilabel:`Work Information` tab." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:291 +#: ../../content/applications/hr/employees/new_employee.rst:293 msgid "Private Information tab" msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:293 +#: ../../content/applications/hr/employees/new_employee.rst:295 msgid "No information in the :guilabel:`Private Information` tab is required to create an employee, however, some information in this section may be critical for the company's payroll department. In order to properly process payslips and ensure all deductions are accounted for, the employee's personal information should be entered." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:298 +#: ../../content/applications/hr/employees/new_employee.rst:300 msgid "Here, the employee's :guilabel:`Private Contact`, :guilabel:`Education`, :guilabel:`Work Permit`, :guilabel:`Family Status`, :guilabel:`Emergency` contact, and :guilabel:`Citizenship` information is entered. Fields are entered either using a drop-down menu, activating a check box, or typing in the information." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:303 +#: ../../content/applications/hr/employees/new_employee.rst:305 msgid ":guilabel:`Private Contact`: Enter the personal :guilabel:`Address` for the employee. The selection can be made with the drop-down menu. If the information is not available, type in the name for the new address. To edit the new address, click the :guilabel:`Internal Link` arrow to open the address form. On the address form, enter or edit the necessary details. Some other information in the :guilabel:`Private Contact` section may auto-populate, if the address is already listed in the drop-down menu." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:310 +#: ../../content/applications/hr/employees/new_employee.rst:312 msgid "Enter the employee's :guilabel:`Email` address and :guilabel:`Phone` number in the respective fields. Next, enter the employee's :guilabel:`Bank Account Number` using the drop-down menu. If the bank is not already configured (the typical situation when creating a new employee) enter the bank account number, and click :guilabel:`Create and edit..`. A :guilabel:`Create Bank Account Number` form loads. Fill in the information, then click :guilabel:`Save & Close`." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:316 +#: ../../content/applications/hr/employees/new_employee.rst:318 msgid "Then, select the employee's preferred :guilabel:`Language` from the drop-down menu. Next, enter the :guilabel:`Home-Work Distance` in the field. This field is only necessary if the employee is receiving any type of commuter benefits. Lastly, enter the employee's license plate information in the :guilabel:`Private Car Plate` field." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:320 +#: ../../content/applications/hr/employees/new_employee.rst:322 msgid ":guilabel:`Education`: Select the highest level of education completed by the employee from the :guilabel:`Certificate Level` drop-down menu. Options include :guilabel:`Graduate`, :guilabel:`Bachelor`, :guilabel:`Master`, :guilabel:`Doctor`, or :guilabel:`Other`. Type in the :guilabel:`Field of Study`, and the name of the :guilabel:`School` in the respective fields." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:324 +#: ../../content/applications/hr/employees/new_employee.rst:326 msgid ":guilabel:`Work Permit`: If the employee has a work permit, enter the information in this section. Type in the :guilabel:`Visa No` (visa number) and/or :guilabel:`Work Permit No` (work permit number) in the corresponding fields. Using the calendar selector, select the :guilabel:`Visa Expire Date` and/or the :guilabel:`Work Permit Expiration Date` to enter the expiration date(s). If available, upload a digital copy of the work permit document. Click :guilabel:`Upload Your File`, navigate to the work permit file in the file explorer, and click :guilabel:`Open`." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:330 +#: ../../content/applications/hr/employees/new_employee.rst:332 msgid ":guilabel:`Family Status`: Select the current :guilabel:`Marital Status` using the drop-down menu, either :guilabel:`Single`, :guilabel:`Married`, :guilabel:`Legal Cohabitant`, :guilabel:`Widower`, or :guilabel:`Divorced`. If the employee has any dependent children, enter the :guilabel:`Number of Dependent Children` in the field." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:334 +#: ../../content/applications/hr/employees/new_employee.rst:336 msgid ":guilabel:`Emergency`: Type in the :guilabel:`Contact Name` and :guilabel:`Contact Phone` number of the employee's emergency contact in the respective fields." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:336 +#: ../../content/applications/hr/employees/new_employee.rst:338 msgid ":guilabel:`Citizenship`: This section contains all the information relevant to the citizenship of the employee. Some fields use a drop-down menu, as the :guilabel:`Nationality (Country)`, :guilabel:`Gender`, and :guilabel:`Country of Birth` fields do. The :guilabel:`Date of Birth` uses a calendar selector to select the date. First, click on the name of the month, then the year, to access the year ranges. Use the :guilabel:`< (left)` and :guilabel:`> (right)` arrow icons, navigate to the correct year range, and click on the year. Next, click on the month. Last, click on the day to select the date. Type in the information for the :guilabel:`Identification No` (identification number, :guilabel:`Passport No` (passport number), and :guilabel:`Place of Birth` fields. Last, if the employee is not a resident of the country they are working in, activate the check box next to the :guilabel:`Non-resident` field." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:350 +#: ../../content/applications/hr/employees/new_employee.rst:352 msgid "HR Settings tab" msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:352 +#: ../../content/applications/hr/employees/new_employee.rst:354 msgid "This tab provides various fields for different information, depending on the country the company is located. Different fields are configured for different locations, however some sections appear regardless." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:356 +#: ../../content/applications/hr/employees/new_employee.rst:358 msgid ":guilabel:`Status`: Select an :guilabel:`Employee Type` and, if applicable, a :guilabel:`Related User`, with the drop-down menus. The :guilabel:`Employee Type` options include :guilabel:`Employee`, :guilabel:`Student`, :guilabel:`Trainee`, :guilabel:`Contractor`, or :guilabel:`Freelancer`." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:362 +#: ../../content/applications/hr/employees/new_employee.rst:364 msgid "Employees do not also need to be users. *Employees* do **not** count towards the Odoo subscription billing, while *Users* **do** count towards billing. If the new employee should also be a user, the user must be created. After the :guilabel:`User` is created and saved, the new user will appear in the :guilabel:`Related User` field." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:367 +#: ../../content/applications/hr/employees/new_employee.rst:369 msgid "After the employee is created, create the user. Click the :guilabel:`⚙️ (gear)` icon, then click :guilabel:`Create User`. A :guilabel:`Create User` form appears. Type in the :guilabel:`Name` and :guilabel:`Email Address`, and then select the :guilabel:`Company` from the drop-down menu. Click :guilabel:`Save` after the information is entered, and the employee record is automatically updated with the newly created user populating the :guilabel:`Related User` field." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:373 +#: ../../content/applications/hr/employees/new_employee.rst:375 msgid "Users can also be created manually. For more information on how to manually add a user, refer to the :doc:`../../general/users/manage_users` document." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:376 +#: ../../content/applications/hr/employees/new_employee.rst:378 msgid ":guilabel:`Payroll`: If applicable, enter the :guilabel:`Registration Number of the Employee` in this section. The :guilabel:`Attestation (N-1)` and :guilabel:`Attestation (N)` sections appear only for Belgian companies, and will not be visible for other locations. These sections log the days that will be paid to the new employee. Enter any :guilabel:`Amount to recover`, :guilabel:`Number of days`, and :guilabel:`Recovered Amount` of :guilabel:`Holiday Attest (year) - Simple Holiday Pay from previous employer to recover in (year)`, for both N and N-1 categories. For the :guilabel:`Holiday Attest (year) - Previous occupation for Double Holiday Pay Recovery in (year)` section, click :guilabel:`Add a line`, and enter the number of :guilabel:`Months`, the :guilabel:`Amount`, and :guilabel:`Occupation Rate`. Repeat for all entries. Click the :guilabel:`🗑️ (trash can)` icon to delete a line." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:386 +#: ../../content/applications/hr/employees/new_employee.rst:388 msgid ":guilabel:`SD WORX`: Enter the employee's seven digit :guilabel:`SDWorx code` in this field, if applicable." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:388 +#: ../../content/applications/hr/employees/new_employee.rst:390 msgid ":guilabel:`Attendance/Point of Sale/Manufacturing`: The employee's :guilabel:`PIN Code` and :guilabel:`Badge ID` can be entered here, if the employee needs/has one. Click :guilabel:`Generate` next to the :guilabel:`Badge ID` to create a badge ID. The :guilabel:`PIN Code` is used to sign in and out of the *Attendance* app kiosk, and a :abbr:`POS (Point Of Sale)` system." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:393 +#: ../../content/applications/hr/employees/new_employee.rst:395 msgid ":guilabel:`Application Settings`: Enter the employee's :guilabel:`Hourly Cost` in a XX.XX format. This is factored in when the employee is working at a :doc:`work center <../../inventory_and_mrp/manufacturing/management/using_work_centers>`. This value affects the manufacturing costs for a product, if the value of the manufactured product is not a fixed amount. This value does not affect the *Payroll* application. If applicable, enter the :guilabel:`Fleet Mobility Card` number." msgstr "" @@ -486,11 +486,11 @@ msgstr "" msgid "Enter any information prompted in the HR Settings tab for the employee." msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:405 +#: ../../content/applications/hr/employees/new_employee.rst:407 msgid "Documents" msgstr "" -#: ../../content/applications/hr/employees/new_employee.rst:407 +#: ../../content/applications/hr/employees/new_employee.rst:409 msgid "All documents associated with an employee are stored in the :guilabel:`Documents` app. The number of documents associated with the employee appear in the :guilabel:`Documents` smart button above the employee record. Click on the smart button, and all the documents appear. For more information on the :guilabel:`Documents` app, refer to the :doc:`../../finance/documents` documentation." msgstr "" @@ -860,7 +860,7 @@ msgid ":guilabel:`Trailer Hitch`: check this box if the vehicle has a trailer hi msgstr "" #: ../../content/applications/hr/fleet/configuration.rst:171 -#: ../../content/applications/hr/payroll.rst:211 +#: ../../content/applications/hr/payroll.rst:213 msgid "Salary" msgstr "" @@ -1517,23 +1517,23 @@ msgstr "" msgid "New work entry type form with all fields to be filled in." msgstr "" -#: ../../content/applications/hr/payroll.rst:163 +#: ../../content/applications/hr/payroll.rst:165 msgid "Working schedules" msgstr "" -#: ../../content/applications/hr/payroll.rst:165 +#: ../../content/applications/hr/payroll.rst:167 msgid "To view the currently configured working schedules, go to :menuselection:`Payroll --> Configuration --> Work Entries --> Working Schedules`. The working schedules that are available for an employee's contracts and work entries are found in this list." msgstr "" -#: ../../content/applications/hr/payroll.rst:169 +#: ../../content/applications/hr/payroll.rst:171 msgid "Working schedules are company-specific. Each company must identify each type of working schedule they use." msgstr "" -#: ../../content/applications/hr/payroll.rst:173 +#: ../../content/applications/hr/payroll.rst:175 msgid "An Odoo database containing multiple companies that use a standard 40-hour work week needs to have a separate working schedule entry for each company that uses the 40-hour standard work week." msgstr "" -#: ../../content/applications/hr/payroll.rst:176 +#: ../../content/applications/hr/payroll.rst:178 msgid "A database with five companies that all use a standard 40-hour work week needs to have five separate 40-hour working schedules configured." msgstr "" @@ -1541,27 +1541,27 @@ msgstr "" msgid "All working schedules available to use currently set up in the database for the company." msgstr "" -#: ../../content/applications/hr/payroll.rst:184 +#: ../../content/applications/hr/payroll.rst:186 msgid "New working schedule" msgstr "" -#: ../../content/applications/hr/payroll.rst:186 +#: ../../content/applications/hr/payroll.rst:188 msgid "To create a new working schedule, click the :guilabel:`New` button, and enter the information on the form." msgstr "" -#: ../../content/applications/hr/payroll.rst:189 +#: ../../content/applications/hr/payroll.rst:191 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:193 +#: ../../content/applications/hr/payroll.rst:195 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:199 +#: ../../content/applications/hr/payroll.rst:201 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:202 +#: ../../content/applications/hr/payroll.rst:204 msgid "If the working time should be in a two-week configuration, click the :guilabel:`Switch to 2 weeks calendar` button in the top left. This creates entries for an :guilabel:`Even week` and an :guilabel:`Odd week`." msgstr "" @@ -1569,23 +1569,23 @@ msgstr "" msgid "New working schedule form." msgstr "" -#: ../../content/applications/hr/payroll.rst:216 +#: ../../content/applications/hr/payroll.rst:218 msgid "Structure types" msgstr "" -#: ../../content/applications/hr/payroll.rst:218 +#: ../../content/applications/hr/payroll.rst:220 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:224 +#: ../../content/applications/hr/payroll.rst:226 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:230 +#: ../../content/applications/hr/payroll.rst:232 msgid "The different structure types can be seen by going to :menuselection:`Payroll --> Configuration --> Salary --> Structure Types`." msgstr "" -#: ../../content/applications/hr/payroll.rst:233 +#: ../../content/applications/hr/payroll.rst:235 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 "" @@ -1593,39 +1593,39 @@ msgstr "" msgid "List of all currently configured structure types available to use." msgstr "" -#: ../../content/applications/hr/payroll.rst:242 +#: ../../content/applications/hr/payroll.rst:244 msgid "New structure type" msgstr "" -#: ../../content/applications/hr/payroll.rst:244 +#: ../../content/applications/hr/payroll.rst:246 msgid "To make a new structure type, click the :guilabel:`New` button and a structure type form appears. Enter the information in the fields. Most fields are pre-populated, but all the fields can be modified." msgstr "" -#: ../../content/applications/hr/payroll.rst:248 +#: ../../content/applications/hr/payroll.rst:250 msgid ":guilabel:`Structure Type`: Enter the name for the new structure type, such as 'Employee' or 'Worker'." msgstr "" -#: ../../content/applications/hr/payroll.rst:250 +#: ../../content/applications/hr/payroll.rst:252 msgid ":guilabel:`Country`: Select the country that the new structure type applies to from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:252 +#: ../../content/applications/hr/payroll.rst:254 msgid ":guilabel:`Wage Type`: Select what type of wage the new structure type will use, either :guilabel:`Monthly Fixed Wage` or :guilabel:`Hourly Wage`. If the wage type is going to be used for salaried employees who receive the same wage every pay period, select :guilabel:`Monthly Fixed Wage`. If the wage type is going to be used for employees who receive wages based on how many hours they worked during a pay period, select :guilabel:`Hourly Wage`." msgstr "" -#: ../../content/applications/hr/payroll.rst:257 +#: ../../content/applications/hr/payroll.rst:259 msgid ":guilabel:`Default Scheduled Pay`: Select the typical pay schedule for the new structure type from the drop-down menu. Options are :guilabel:`Monthly`, :guilabel:`Quarterly`, :guilabel:`Semi-annually`, :guilabel:`Annually`, :guilabel:`Weekly`, :guilabel:`Bi-weekly`, :guilabel:`Bi-monthly`. This indicates how often this type of structure type is paid out." msgstr "" -#: ../../content/applications/hr/payroll.rst:261 +#: ../../content/applications/hr/payroll.rst:263 msgid ":guilabel:`Default Working Hours`: Select the default working hours for the new structure type from the drop-down menu. All available working hours for the currently selected company appear in the drop-down menu. The default working hours that are pre-configured in Odoo is the :guilabel:`Standard 40 hours/week` option. If the needed working hours do not appear in the list, a :ref:`new set of default working hours can be created `." msgstr "" -#: ../../content/applications/hr/payroll.rst:266 +#: ../../content/applications/hr/payroll.rst:268 msgid ":guilabel:`Regular Pay Structure`: Type in the name for the regular pay structure." msgstr "" -#: ../../content/applications/hr/payroll.rst:267 +#: ../../content/applications/hr/payroll.rst:269 msgid ":guilabel:`Default Work Entry Type`: Select the default type of work entry the new structure type will fall under from the drop-down menu. Options include :guilabel:`Attendance`, :guilabel:`Overtime Hours`, :guilabel:`Generic Time Off`, :guilabel:`Compensatory Time Off`, :guilabel:`Home Working`, :guilabel:`Unpaid`, :guilabel:`Sick Time Off`, :guilabel:`Paid Time Off`, and :guilabel:`Out Of Contract`." msgstr "" @@ -1633,63 +1633,63 @@ msgstr "" msgid "New structure type form to fill out when creating a new structure type." msgstr "" -#: ../../content/applications/hr/payroll.rst:280 +#: ../../content/applications/hr/payroll.rst:282 msgid "New default working hours" msgstr "" -#: ../../content/applications/hr/payroll.rst:282 +#: ../../content/applications/hr/payroll.rst:284 msgid "To make new default working hours, type the name for the new working hours in the :guilabel:`Default Working Hours` field on the new structure type form. Click :guilabel:`Create and edit`. A default working hours form will pop up. The default working hours form has two sections, a general information section and a tab listing out all the individual working hours by day and time. When the form is filled out, click :guilabel:`Save & Close`." msgstr "" -#: ../../content/applications/hr/payroll.rst:288 +#: ../../content/applications/hr/payroll.rst:290 msgid ":guilabel:`Name`: Type in the name for the new default working hours. This should be descriptive and clear to understand, such as `Standard 20 Hours/Week`." msgstr "" -#: ../../content/applications/hr/payroll.rst:290 +#: ../../content/applications/hr/payroll.rst:292 msgid ":guilabel:`Company`: Select the company that can use these new default working hours from the drop-down menu. Keep in mind, working hours are company-specific and cannot be shard between companies. Each company needs to have their own working hours set." msgstr "" -#: ../../content/applications/hr/payroll.rst:293 +#: ../../content/applications/hr/payroll.rst:295 msgid ":guilabel:`Average Hour Per Day`: The average hours per day field will be auto-populated based on the working hours configured in the *Working Hours* tab. This entry affects resource planning, since the average daily hours affect what resources can be used, and in what quantity, per work day." msgstr "" -#: ../../content/applications/hr/payroll.rst:297 +#: ../../content/applications/hr/payroll.rst:299 msgid ":guilabel:`Timezone`: Select the timezone that the new default working hours will be used for from the drop-down menu." msgstr "" -#: ../../content/applications/hr/payroll.rst:299 +#: ../../content/applications/hr/payroll.rst:301 msgid ":guilabel:`Company Full Time`: Enter the number of hours per week an employee would need to work in order to be considered a full-time employee. Typically, this is approximately 40 hours, and this number affects what types of benefits an employee can receive based on their employment status (full-time vs part-time)." msgstr "" -#: ../../content/applications/hr/payroll.rst:303 +#: ../../content/applications/hr/payroll.rst:305 msgid ":guilabel:`Work Time rate`: This percentage is auto-generated based on the entry for the :guilabel:`Company Full Time` and the working hours configured in the *Working Hours* tab. This number should be between `0.00%` and `100%`, so if the percentage is above `100%`, it is an indication that the working times and/or :guilabel:`Company Full Time` hours need adjustment." msgstr "" -#: ../../content/applications/hr/payroll.rst:307 +#: ../../content/applications/hr/payroll.rst:309 msgid ":guilabel:`Working Hours` Tab: This tab is where each day's specific working hours are listed. When a new default working hour form is created, the working hours tab is pre-populated with a default 40-hour week, with each day divided into three timed sections. Every day has morning (8:00-12:00), lunch (12:00-13:00), and evening (13:00-17:00) hours configured using a 24 hour time format. To adjust any of these hours, click on the specific field to adjust, and make the adjustment using the drop-down menus, or in the specific case of the times, type in the desired time." msgstr "" -#: ../../content/applications/hr/payroll.rst:316 +#: ../../content/applications/hr/payroll.rst:318 msgid "If the working hours are not consistent each week, and the hours are on a bi-weekly schedule instead, click the :guilabel:`Switch to 2 week calendar` button at the top of the new default working hours form. This will change the working hours tab to display two weeks of working times that can be adjusted." msgstr "" -#: ../../content/applications/hr/payroll.rst:322 +#: ../../content/applications/hr/payroll.rst:324 msgid "Structures" msgstr "" -#: ../../content/applications/hr/payroll.rst:324 +#: ../../content/applications/hr/payroll.rst:326 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:327 +#: ../../content/applications/hr/payroll.rst:329 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:331 +#: ../../content/applications/hr/payroll.rst:333 msgid "To view all the various structures for each structure type, go to :menuselection:`Payroll --> Configuration --> Salary --> Structures`." msgstr "" -#: ../../content/applications/hr/payroll.rst:334 +#: ../../content/applications/hr/payroll.rst:336 msgid "Each :ref:`structure type ` lists the various structures associated with it. Each structure contains a set of rules that define it." msgstr "" @@ -1697,7 +1697,7 @@ msgstr "" msgid "All available salary structures." msgstr "" -#: ../../content/applications/hr/payroll.rst:341 +#: ../../content/applications/hr/payroll.rst:343 msgid "Click on a structure to view its :guilabel:`Salary Rules`. These rules are what calculate the payslip for the employee." msgstr "" @@ -1705,47 +1705,48 @@ msgstr "" msgid "Salary structure details for Regular Pay, listing all the specific Salary Rules." msgstr "" -#: ../../content/applications/hr/payroll.rst:349 +#: ../../content/applications/hr/payroll.rst:351 +#: ../../content/applications/hr/time_off.rst:191 msgid "Rules" msgstr "" -#: ../../content/applications/hr/payroll.rst:351 +#: ../../content/applications/hr/payroll.rst:353 msgid "Each structure has a set of *salary rules* to follow for accounting purposes. These rules are configured by the localization, and affect actions in 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:355 +#: ../../content/applications/hr/payroll.rst:357 msgid "To view all the rules, go to :menuselection:`Payroll app --> Configuration --> Salary --> Rules`. Click on a structure (such as :guilabel:`Regular Pay`) to view all the rules." msgstr "" -#: ../../content/applications/hr/payroll.rst:358 +#: ../../content/applications/hr/payroll.rst:360 msgid "To make a new rule, click :guilabel:`New`. A new rule form appears. Enter the information in the fields." msgstr "" -#: ../../content/applications/hr/payroll.rst:361 +#: ../../content/applications/hr/payroll.rst:363 msgid "The required fields for a rule are:" msgstr "" -#: ../../content/applications/hr/payroll.rst:363 +#: ../../content/applications/hr/payroll.rst:365 msgid ":guilabel:`Name`: Enter a name for the rule." msgstr "" -#: ../../content/applications/hr/payroll.rst:364 +#: ../../content/applications/hr/payroll.rst:366 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:366 +#: ../../content/applications/hr/payroll.rst:368 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 to use as this will affect accounting reports and payroll processing." msgstr "" -#: ../../content/applications/hr/payroll.rst:369 +#: ../../content/applications/hr/payroll.rst:371 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:371 +#: ../../content/applications/hr/payroll.rst:373 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:375 +#: ../../content/applications/hr/payroll.rst:377 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 "" @@ -1753,19 +1754,19 @@ msgstr "" msgid "Enter the information for the new rule on the new rule form." msgstr "" -#: ../../content/applications/hr/payroll.rst:385 +#: ../../content/applications/hr/payroll.rst:387 msgid "Rule parameters" msgstr "" -#: ../../content/applications/hr/payroll.rst:388 +#: ../../content/applications/hr/payroll.rst:390 msgid "Currently, the :guilabel:`Rule Parameters` feature found inside the :menuselection:`Payroll app --> Configuration --> Salary --> Rule Parameters` 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:394 +#: ../../content/applications/hr/payroll.rst:396 msgid "Other input types" msgstr "" -#: ../../content/applications/hr/payroll.rst:396 +#: ../../content/applications/hr/payroll.rst:398 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 --> Salary --> Other Input Types`." msgstr "" @@ -1774,11 +1775,11 @@ msgid "A list of other input types for payroll that can be selected when creatin "a payslip." msgstr "" -#: ../../content/applications/hr/payroll.rst:405 +#: ../../content/applications/hr/payroll.rst:407 msgid "To create a new input type, click the :guilabel:`New` button. Enter the :guilabel:`Description`, the :guilabel:`Code`, and which structure it applies to in the :guilabel:`Availability in Structure` field." msgstr "" -#: ../../content/applications/hr/payroll.rst:410 +#: ../../content/applications/hr/payroll.rst:412 msgid "The :guilabel:`Code` is used in the salary rules to compute payslips. If the :guilabel:`Availability in Structure` field is left blank, it indicates that the new input type is available for all payslips and is not exclusive to a specific structure." msgstr "" @@ -1786,27 +1787,27 @@ msgstr "" msgid "Create a new Input Type." msgstr "" -#: ../../content/applications/hr/payroll.rst:419 +#: ../../content/applications/hr/payroll.rst:421 msgid "Salary package configurator" msgstr "" -#: ../../content/applications/hr/payroll.rst:421 +#: ../../content/applications/hr/payroll.rst:423 msgid "The various options under the :guilabel:`Salary Package Configurator` section of the :menuselection:`Payroll --> Configuration --> Salary Package Configurator` menu all affect an employee's potential salary. These sections (:guilabel:`Advantages`, :guilabel:`Personal Info`, :guilabel:`Resume`, and :guilabel:`Offers`) specify what benefits can be offered to an employee in their salary package." msgstr "" -#: ../../content/applications/hr/payroll.rst:427 +#: ../../content/applications/hr/payroll.rst:429 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:433 +#: ../../content/applications/hr/payroll.rst:435 msgid "Advantages" msgstr "" -#: ../../content/applications/hr/payroll.rst:435 +#: ../../content/applications/hr/payroll.rst:437 msgid "When offering potential employees a position, there can be certain *advantages* or benefits set in Odoo in addition to the salary to make an offer more appealing (such as extra time off, the use of a company car, reimbursement for a phone or internet, etc.)." msgstr "" -#: ../../content/applications/hr/payroll.rst:439 +#: ../../content/applications/hr/payroll.rst:441 msgid "To see the advantages, go to :menuselection:`Payroll --> Configuration --> Salary Package Configurator --> Advantages`. Advantages are grouped by :guilabel:`Structure type`, and the advantage listed for a particular structure type is only available for that specific structure." msgstr "" @@ -1814,35 +1815,35 @@ msgstr "" msgid "A list view of all the advantages or benefits that is available for each structure type." msgstr "" -#: ../../content/applications/hr/payroll.rst:448 +#: ../../content/applications/hr/payroll.rst:450 msgid "A company has two structure types, one labeled :guilabel:`Employee`, and anther labeled :guilabel:`Intern`. The :guilabel:`Employee` structure type contains an advantage of using a company car, while the :guilabel:`Intern` structure type does not. Instead, the :guilabel:`Intern` structure type has a meal voucher advantage available, while the :guilabel:`Employee` structure type does not." msgstr "" -#: ../../content/applications/hr/payroll.rst:454 +#: ../../content/applications/hr/payroll.rst:456 msgid "A person hired under the :guilabel:`Employee` structure type can use a company car, but cannot have meal vouchers. The opposite is true for someone hired under the :guilabel:`Intern` structure type. They would have meal vouchers available to them, not the use of a company car." msgstr "" -#: ../../content/applications/hr/payroll.rst:458 +#: ../../content/applications/hr/payroll.rst:460 msgid "To make a new advantage, click the :guilabel:`New` button, and enter the information in the fields. The required fields for an advantage are:" msgstr "" -#: ../../content/applications/hr/payroll.rst:461 +#: ../../content/applications/hr/payroll.rst:463 msgid ":guilabel:`Name`: Enter the name for the advantage." msgstr "" -#: ../../content/applications/hr/payroll.rst:462 +#: ../../content/applications/hr/payroll.rst:464 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:464 +#: ../../content/applications/hr/payroll.rst:466 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:467 +#: ../../content/applications/hr/payroll.rst:469 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:469 +#: ../../content/applications/hr/payroll.rst:471 msgid ":guilabel:`Display Type`: Select from the drop-down menu how this advantage is displayed." msgstr "" @@ -1850,27 +1851,27 @@ msgstr "" msgid "List of advantages employee's can have." msgstr "" -#: ../../content/applications/hr/payroll.rst:476 +#: ../../content/applications/hr/payroll.rst:478 msgid "Personal info" msgstr "" -#: ../../content/applications/hr/payroll.rst:478 +#: ../../content/applications/hr/payroll.rst:480 msgid "Every employee in Odoo has an *employee card* which is created when a candidate becomes an employee. This card includes all of their personal information, resume, work information, and documents." msgstr "" -#: ../../content/applications/hr/payroll.rst:482 +#: ../../content/applications/hr/payroll.rst:484 msgid "The personal information is gathered from the salary package configurator section that a candidate fills out after being offered a position. This personal information is then transferred to the employee card when they are hired." msgstr "" -#: ../../content/applications/hr/payroll.rst:486 +#: ../../content/applications/hr/payroll.rst:488 msgid "To view an employee's card, go to the main :menuselection:`Employees` app dashboard, and click on the employee's card." msgstr "" -#: ../../content/applications/hr/payroll.rst:490 +#: ../../content/applications/hr/payroll.rst:492 msgid "An employee card can be thought of as an employee personnel file." msgstr "" -#: ../../content/applications/hr/payroll.rst:492 +#: ../../content/applications/hr/payroll.rst:494 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 --> Salary Package Configurator --> Personal Info`." msgstr "" @@ -1878,15 +1879,15 @@ msgstr "" msgid "A list of all the personal information that appears on employee card to enter." msgstr "" -#: ../../content/applications/hr/payroll.rst:500 +#: ../../content/applications/hr/payroll.rst:502 msgid "To edit a personal info entry, select the entry from the list, and modify the personal info. To create a new personal info entry, click the :guilabel:`New` button." msgstr "" -#: ../../content/applications/hr/payroll.rst:503 +#: ../../content/applications/hr/payroll.rst:505 msgid "The required fields, aside from entering the :guilabel:`Information` name, are :guilabel:`Related Model`, :guilabel:`Related Field`, and :guilabel:`Category`. Select a :guilabel:`Related Model` from the drop-down menu. :guilabel:`Employee` populates the field by default, but the :guilabel:`Bank Account` option is also available if the information is related to a bank account instead. Select a :guilabel:`Related Field` from the drop-down menu that best describes what kind of personal information this entry is, and where it is going to be stored in the backed. Then, select a :guilabel:`Category` from the drop-down menu that the personal information should be under, such as :guilabel:`Address` or :guilabel:`Personal Documents`." msgstr "" -#: ../../content/applications/hr/payroll.rst:512 +#: ../../content/applications/hr/payroll.rst:514 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. 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 "" @@ -1894,23 +1895,23 @@ msgstr "" msgid "New personal information entry." msgstr "" -#: ../../content/applications/hr/payroll.rst:523 +#: ../../content/applications/hr/payroll.rst:525 msgid "Resume" msgstr "" -#: ../../content/applications/hr/payroll.rst:526 +#: ../../content/applications/hr/payroll.rst:528 msgid "Currently, the :guilabel:`Resume` feature found inside the :menuselection:`Payroll app --> Configuration --> Salary Package Configurator --> Resume` 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:532 +#: ../../content/applications/hr/payroll.rst:534 msgid "Offers" msgstr "" -#: ../../content/applications/hr/payroll.rst:534 +#: ../../content/applications/hr/payroll.rst:536 msgid "When a candidate is offered a position, there are several items that need to be tracked in order for a business to stay organized, such as where in the offer process the candidate is, how long the offer is valid for, as well as all the offer details. These details are all stored in each *offers* record." msgstr "" -#: ../../content/applications/hr/payroll.rst:539 +#: ../../content/applications/hr/payroll.rst:541 msgid "To view all offers, go to :menuselection:`Payroll --> Configuration --> Salary Package Configurator --> Offers`. All offers that have been sent to either potential candidates or current employees appears in this list. The status, offer start date and expiration date, amount of the contract, and more, can all be found in this list. Offers sent via the :guilabel:`Recruitment` application appear here, but there is an option to create a new offer from the :guilabel:`Payroll` application as well." msgstr "" @@ -1919,7 +1920,7 @@ msgid "A list of all offers given to a current employee or potential candidate a "status of the offer." msgstr "" -#: ../../content/applications/hr/payroll.rst:550 +#: ../../content/applications/hr/payroll.rst:552 msgid "To create a new offer, click the :guilabel:`New` button. The two required fields are the :guilabel:`Contract Template`, and the :guilabel:`Company`. Select the :guilabel:`Contract Template` and :guilabel:`Company` from the drop-down menus. Fill in any other details for the offer, such as the :guilabel:`Job Title`, :guilabel:`Department`, the :guilabel:`Contract Start Date` and the :guilabel:`Offer Validity Date`." msgstr "" @@ -2629,6 +2630,7 @@ msgstr "" #: ../../content/applications/hr/payroll/reporting.rst:3 #: ../../content/applications/hr/referrals.rst:754 +#: ../../content/applications/hr/time_off.rst:700 msgid "Reporting" msgstr "" @@ -5099,3 +5101,887 @@ msgstr "" #: ../../content/applications/hr/referrals.rst:778 msgid "The spreadsheet is stored in the *Documents* application. This application needs to be installed in order to use the :guilabel:`Insert in Spreadsheet` option." msgstr "" + +#: ../../content/applications/hr/time_off.rst:3 +msgid "Time Off" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:5 +msgid "Odoo's *Time Off* application is a centralized place, where all time off information is housed. The *Time Off* app manages everything related to requests, balances, allocations, approvals, and reports." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:9 +msgid "Users can :ref:`request time off `, managers can :ref:`approve time off requests `, :ref:`allocate time off ` to individuals, teams, or the whole company, :ref:`reports ` can be run to see how much time off (and what kinds of time off) are being used, :ref:`accrual plans ` can be created, and :ref:`public holidays ` can be set." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:16 +msgid "Be advised, only users with specific access rights can see all aspects of the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:19 +msgid "All users can access the :guilabel:`My Time Off` and :guilabel:`Overview` sections of the *Time Off* application. All other sections require specific access rights." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:22 +msgid "To better understand how access rights affect the *Time Off* application, refer to the :doc:`/applications/hr/employees/new_employee` document, specifically the section about configuring the work information tab." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:27 +msgid "Configuration" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:29 +msgid "In order to allocate time off to employees, and for employees to request and use their time off, the various time off types must be configured first, then allocated to employees (if allocation is required)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:36 +msgid "Time off types" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:38 +msgid "To view the currently configured time off types, navigate to :menuselection:`Time Off application --> Configuration --> Time Off Types`. The time off types are presented in a list view. The *Time Off* application comes with four types of time off pre-configured: :guilabel:`Paid Time Off`, :guilabel:`Sick Time Off`, :guilabel:`Unpaid`, and :guilabel:`Compensatory Days`. Any of these may be modified to suit the needs of the businesses, or can be used as-is." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:45 +msgid "Create time off type" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:47 +msgid "To create a new time off type, navigate to :menuselection:`Time Off app --> Configuration --> Time Off Types`. From here, click the :guilabel:`Create` button to reveal a blank time off type form." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:50 +msgid "Enter the name for the particular type of time off in the blank line at the top of the form, such as `Sick Time` or `Vacation`. Then, enter the following information on the form:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:54 +msgid "Time off requests section" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:56 +msgid ":guilabel:`Approval`: select what specific kind of approval is required for the time off type. The options are:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:59 +msgid ":guilabel:`No Validation`: no approvals are required when requesting this type of time off. The time off request is automatically approved when requested." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:61 +msgid ":guilabel:`By Time Off Officer`: only the specified :ref:`Time Off Officer `, set on this form in the :guilabel:`Responsible Time Off Officer` field, is required to approve the time off request. This option is selected by default." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:64 +msgid ":guilabel:`By Employee's Approver`: only the employee's specified approver for time off, which is set on the *Work Information* tab on the :ref:`employee's form `, is required to approve the time off request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:67 +msgid ":guilabel:`By Employee's Approver and Time Off Officer`: both the employee's :ref:`specified time off approver` and the :ref:`Time Off Officer ` are required to approve the time off request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:73 +msgid ":guilabel:`Responsible Time Off Officer`: select the person responsible for approving requests and allocations for this specific type of time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:75 +msgid ":guilabel:`Take Time Off in`: select the format the time off is requested from the drop-down menu. The options are:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:78 +msgid ":guilabel:`Day`: if time off can only be requested in full day increments (8 hours)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:79 +msgid ":guilabel:`Half Day`: if time off can only be requested in half day increments (4 hours)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:80 +msgid ":guilabel:`Hours`: if the time off can be taken in hourly increments." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:82 +msgid ":guilabel:`Deduct Extra Hours`: tick this box if the time off request should factor in any extra time accrued by the employee" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:86 +msgid "For example, if an employee worked two (2) extra hours for the week, and requests five (5) hours of time off, the request would be for three (3) hours, since the two (2) additionally worked hours are used first, and deducted from the request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:90 +msgid ":guilabel:`Allow To Join Supporting Document`: tick this box to allow the employee to attach documents to the time off request. This is useful in situations where documentation is required, such as long-term medical leave." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:93 +msgid ":guilabel:`Kind of Leave`: select from the drop-down menu the type of leave this time off type is, either :guilabel:`Time Off` or :guilabel:`Other`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:95 +msgid ":guilabel:`Company`: if multiple companies are created in the database, and this time off type only applies to one company, select the company from the drop-down menu. If this field is left blank, the time off type applies to all companies in the database." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:100 +msgid "Allocation requests section" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:102 +msgid ":guilabel:`Requires allocation`: if the time off must be allocated to employees, select :guilabel:`Yes`. If the time off can be requested without time off being previously allocated, select :guilabel:`No Limit`. If :guilabel:`No Limit` is selected, the following options do not appear on the form." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:106 +msgid ":guilabel:`Employee Requests`: select :guilabel:`Extra Days Requests Allowed` if the employee is able to request more time off than was allocated." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:110 +msgid "For example, if ten (10) days are allocated to the employee for this particular type of time off, and this option is enabled, the employee may submit a request for more than ten (10) days." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:113 +msgid "If employees should **not** be able to make requests for more time off than what was allocated, select the :guilabel:`Not Allowed` option." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:116 +msgid ":guilabel:`Approval`: select the type of approval(s) required for the allocation of this particular type of time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:119 +msgid ":guilabel:`No validation needed` indicates that no approvals are required." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:120 +msgid ":guilabel:`Approved by Time Off Officer` indicates the :ref:`Time Off Officer ` set on this form must approve the allocation." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:122 +msgid ":guilabel:`Set by Time Off Officer` indicates that the :ref:`Time Off Officer ` set on this form must allocate the time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:126 +msgid "Payroll section" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:128 +msgid "If the time off type should create :doc:`../hr/payroll/work_entries` in the *Payroll* application, select the :guilabel:`Work Entry Type` from the drop-down list." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:132 +msgid "Timesheets section" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:135 +msgid "The :guilabel:`Timesheets` section only appears if the user is in developer mode. Refer to the :ref:`developer-mode` document for details on how to access the developer mode." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:138 +msgid "When an employee takes time off and is also using timesheets, Odoo creates entries in the timesheet for the time off. This section defines how they are entered." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:141 +msgid ":guilabel:`Project`: select the project that the time off type entries appear in." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:142 +msgid ":guilabel:`Task`: select the task that appears in the timesheet for this time off type. The options are: :guilabel:`Time Off`, :guilabel:`Meeting`, or :guilabel:`Training`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:146 +msgid "Display option section" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:148 +msgid ":guilabel:`Color`: select a color to be used in the *Time Off* application dashboard." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:149 +msgid ":guilabel:`Cover Image`: select an icon to be used in the *Time Off* application dashboard." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:152 +msgid "The only required fields on the time off type form are the name of the :guilabel:`Time Off Type`, the :guilabel:`Approval`, the :guilabel:`Responsible Time Off Officer`, :guilabel:`Take Time Off in`, :guilabel:`Kind of Leave`, and the :guilabel:`Allocation Requests` section." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Time off type form with all the information filled out for sick time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:163 +msgid "Accrual plans" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:165 +msgid "Some time off is earned through an accrual plan, meaning that for every specified amount of time an employee works (hour, day, week, etc), they earn or *accrue* a specified amount of time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:169 +msgid "If an employee accrues a vacation day for every week they work, they would earn 0.2 vacation days for each hour they work. At the end of a forty (40) hour work week, they earn a whole vacation day (8 hours)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:174 +msgid "Create accrual plan" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:176 +msgid "To create a new accrual plan, navigate to :menuselection:`Time Off app --> Configuration --> Accrual Plans`. Then, click the :guilabel:`Create` button, which reveals a blank accrual plan form." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:179 +msgid "Enter the accrual plan name in the :guilabel:`Name` field. If the accrual plan only applies to a specific time off type, select it from the drop-down menu. If this accrual plan is available for all time off types, leave this field blank." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:183 +msgid "Next, select how the :guilabel:`Level Transition` occurs, either :guilabel:`Immediately` or :guilabel:`After this accrual's period`. By default, the first level begins once the time off is approved if the time off is based on an accrual plan. If :guilabel:`Immediately` is selected, then the next level begins according to the time frame set on the level. If :guilabel:`After this accrual's period` is selected, the next level does not begin until the first level is completed according to the rules set on it." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:193 +msgid "Rules must be created in order for the accrual plan to accrue time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:195 +msgid "To create a new rule, click the :guilabel:`Add A New Level` button right beneath the word `Rules`, and a :guilabel:`Create Level` pop-up form appears." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:198 +msgid "Fill out the following fields on the form:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:200 +msgid ":guilabel:`Start after (#) (time period) after allocation date`: enter the number and value of the time period that must pass before the employee starts to accumulate time off. The first value is numerical; enter a number in the first field." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:204 +msgid "Then, select the type of time period using the drop-down menu in the second field. The options are: :guilabel:`day(s)`, :guilabel:`month(s)`, or :guilabel:`year(s)`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:206 +msgid ":guilabel:`Based on worked time`: tick this box if the accrual of time off is based on the time the employee has worked. If an employee takes time off that is *not* considered a worked day, Odoo will not count that day towards their accrual plan." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:209 +msgid ":guilabel:`Rate (#) (time)`: enter the rate of time off that is accumulated. The first value is numerical; enter a number in the first field. Whole numbers are not necessary, any decimal value may be entered." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:213 +msgid "Next, in the second field, select the type of time accrued using the drop-down menu. The options are either :guilabel:`Days` or :guilabel:`Hours`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:215 +msgid ":guilabel:`Frequency (X)`: select how often the employee accrues the time off for this rule using the drop-down menu. The options are :guilabel:`Daily`, :guilabel:`Weekly`, :guilabel:`Twice a month`, :guilabel:`Monthly`, :guilabel:`Twice a year`, or :guilabel:`Yearly`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:219 +msgid "Depending on the selection, more fields appear to specify exactly when the accrual renews." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:222 +msgid "If the employee should accrue one vacation day for every week worked, the :guilabel:`Rate` is set to `1`, and the :guilabel:`Frequency` entry is set to `Frequency (Weekly) on (Friday)`. Only the :guilabel:`Frequency` and :guilabel:`Weekday` fields appear." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:226 +msgid "If the employee should accrue ten (10)vacation days each year, and they receive these days every year on the first of January, the :guilabel:`Rate` is set to `10`, and the :guilabel:`Frequency` entry is set to `Frequency (Yearly) on the (1) of (January)`. The :guilabel:`Frequency`, :guilabel:`Date`, and :guilabel:`Month` fields appear." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:231 +msgid ":guilabel:`Limit to`: enter a maximum amount of days the employee can accrue with this plan." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:232 +msgid ":guilabel:`At the end of the calendar year, unused accruals will be`: select from the drop-down menu how unused time off is handled." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:235 +msgid "The options are either :guilabel:`Transferred to the next year`, which rolls over unused time to the next calendar year, or :guilabel:`Lost`, which means any unused time off is gone." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "A level form with all the data filled out." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:242 +msgid "When the form is filled out, click :guilabel:`Save & Close` to save the form and close the pop-up, or :guilabel:`Save & New` to save the form and create a new rule. Add as many levels as desired." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "An accrual form with all the entries filled out." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:252 +msgid "Public holidays" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:254 +msgid "Most countries have public or national holidays, and some companies may have specific days they are closed and/or give extra days as holidays." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:257 +msgid "It is important to configure these days in Odoo, so employees are aware of the days they have off, and do not request time off on days that are already set as a public holiday (non-working days)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:261 +msgid "Create public holiday" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:263 +msgid "To create a public holiday, navigate to :menuselection:`Time Off app --> Configuration --> Public Holidays`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:266 +msgid "All currently configured public holidays appear in a list view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:268 +msgid "Click the :guilabel:`Create` button, and a new line appears at the bottom of the list." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:270 +msgid "Enter the following information:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:272 +msgid ":guilabel:`Name`: enter the name of the holiday." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:273 +msgid ":guilabel:`Company`: if in a multi-company database, the current company populates this field by default. It is not possible to edit this field." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:275 +msgid ":guilabel:`Start Date`: using the date and time picker, select the date and time that the holiday starts. By default, this field is configured for the current date. The start time is set according to the start time for the company (according to the :ref:`working times `). If the user's computer is set to a different time zone, the start time is adjusted according to the difference in the time zone compared to the company's time zone." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:280 +msgid ":guilabel:`End Date`: using the date and time picker, select the date and time that the holiday ends. By default, this field is configured for the current date, and the time is set to the end time for the company (according to the :ref:`working times `). If the user's computer is set to a different time zone, the start time is adjusted according to the difference in the time zone compared to the company's time zone." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:287 +msgid "A company is located in San Francisco, and the working times are 9:00 AM - 6:00 PM (an eight (8) hour work day with a one (1) hour lunch break). A user is located in New York, and their computer time zone is set to Eastern. When they create a Public Holiday, the start time appears as 12:00 PM - 9:00 PM, since the time zone is accounted for. If a different user is located in Los Angeles, and their computer time zone is set to Pacific, when they create a Public Holiday, the time appears as 9:00 AM - 6:00 PM." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:294 +msgid ":guilabel:`Working Hours`: if the holiday should only apply to employees who have a specific set of working hours, select the working hours from the drop-down menu. If left blank, the holiday applies to all employees." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:297 +msgid ":guilabel:`Work Entry Type`: if using the *Payroll* application, this field defines how the work entry for the holiday appears. Select the work entry type from the drop-down menu." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "The list of public holidays in the configuration menu." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:307 +msgid "Overview" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:309 +msgid "To view a color-coded schedule of both the user's time off, and/or the team managed by them, navigate to :menuselection:`Time Off app --> Overview`. This presents a calendar with the default filter of :guilabel:`My Team`, in a month view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:313 +msgid "To change the time period displayed, click on either the :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` buttons to present the calendar in that corresponding view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:316 +msgid "Each team member is displayed on a line, and any time off they requested, regardless of the status (:guilabel:`Validated` or :guilabel:`To Approve`), appears on the calendar." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:319 +msgid "Each employee is color-coded. The employee's color is selected at random and does not correspond to the type of time off they requested." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:322 +msgid "The status of the time of is represented by the color of the request either appearing solid (:guilabel:`Validated`) or striped (:guilabel:`To Approve`)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:325 +msgid "The number of days or hours requested is written on the request (if there is enough space)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:327 +msgid "At the bottom of the calendar, a bar graph shows how many people are projected to be out on any given day. The number on the bar represents the number of employees out for those highlighted days." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:330 +msgid "Hover over a time off entry to view the details for the specific time off entry. The total number of hours or days are listed, along with the start and end time of the time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Overview of the user's team, with time off requests shown." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:340 +msgid "Allocate time off" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:342 +msgid "Once time off types and accrual plans have been configured, the next step is to allocate, or give, time off to employees. This section is only visible to users who have either :guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:346 +msgid "To create a new allocation, navigate to :menuselection:`Time Off app --> Approvals --> Allocations`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:348 +msgid "This presents a list of all current allocations, including their respective status." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:350 +msgid "Click :guilabel:`Create` to allocate time off, and a blank allocation form appears." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:352 +msgid "After entering a name for the allocation on the first blank field of the form, enter the following information:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:355 +msgid ":guilabel:`Time Off Type`: using the drop-down menu, select the type of time off that is being allocated to the employees." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:357 +msgid ":guilabel:`Allocation Type`: select either :guilabel:`Regular Allocation` or :guilabel:`Accrual Allocation`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:359 +msgid ":guilabel:`Accrual Plan`: if :guilabel:`Accrual Allocation` is selected for the :guilabel:`Allocation Type`, the :guilabel:`Accrual Plan` field appears. Using the drop-down menu, select the accrual plan with which the allocation is associated. An accrual plan **must** be selected for an :guilabel:`Accrual Allocation`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:363 +msgid ":guilabel:`Validity Period/Start Date`: if :guilabel:`Regular Allocation` is selected for the :guilabel:`Allocation Type`, this field is labeled :guilabel:`Validity Period`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:366 +msgid "Using the calendar, select the beginning date for the allocation. If the allocation expires, select the expiration date in the next date field. If the time off does *not* expire, leave the second date field blank." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:370 +msgid "If :guilabel:`Accrual Allocation` is selected for the :guilabel:`Allocation Type`, this field is labeled :guilabel:`Start Date`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:373 +msgid "Using the calendar picker, select the start date for the allocation. If the allocation expires, select the expiration date in the :guilabel:`Run until` field. If the time off does *not* expire, leave the :guilabel:`Run until` field blank." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:376 +msgid ":guilabel:`Duration`: enter the amount of time that is being allocated to the employees. This field displays the time in either :guilabel:`Hours` or :guilabel:`Days`, depending on how the selected :ref:`Time Off Type ` is configured (in days or hours)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:379 +msgid ":guilabel:`Mode`: using the drop-down menu, select how the allocation is assigned. This selection determines who receives the time off allocation. The options are :guilabel:`By Employee`, :guilabel:`By Company`, :guilabel:`By Department`, or :guilabel:`By Employee Tag`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:383 +msgid "Depending on what was selected for the :guilabel:`Mode`, this following field is labeled either: :guilabel:`Employees`, :guilabel:`Company`, :guilabel:`Department`, or :guilabel:`Employee Tag`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:386 +msgid "Using the drop-down menu, indicate the specific employees, company, department, or employee tags who are receiving this time off." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:389 +msgid "Multiple selections can be made for either :guilabel:`Employees` or :guilabel:`Employee Tag`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:391 +msgid "Only one selection can be made for the :guilabel:`Company` or :guilabel:`Department`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:392 +msgid ":guilabel:`Add a reason...`: if any description or note is necessary to explain the time off allocation, enter it in this field at the bottom of the form." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:398 +msgid "Request time off" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:400 +msgid "Once an employee has been allocated time off, a request to use the time off can be submitted. Time off can be requested in one of two ways, either from the :ref:`dashboard ` or from the :guilabel:`My Time Off` view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:404 +msgid "To access the dashboard, navigate to :menuselection:`Time Off app --> My Time Off --> Dashboard`. This is also the default view for the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:407 +msgid "To access :guilabel:`My Time Off`, navigate to :menuselection:`Time Off app --> My Time Off --> My Time Off`. This presents a list view of all the time off requests for the employee." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:410 +msgid "To create a new request for time off, click either the :guilabel:`New Time Off` button on the main *Time Off* dashboard, or the :guilabel:`Create` button in the :guilabel:`My Time Off` list view. Both buttons open a new time off request form." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:414 +msgid "Enter the following information on the form:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:416 +msgid ":guilabel:`Time Off Type`: select the type of time off being requested from the drop-down menu." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:417 +msgid ":guilabel:`Dates`: enter the dates that the time off will fall under. There are two fields to populate, the :guilabel:`From` and :guilabel:`To` fields. Click on either the :guilabel:`From` or :guilabel:`To` field, and a calendar pop-up appears." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:421 +msgid "Click on the start date, then click on the end date. The selected start and end dates appear in deep purple, and the dates between them appear in pale purple (if applicable)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:424 +msgid "If the time off requested is for a single day, click on the start date, then click the same date again for the end date." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:427 +msgid "When the correct dates are selected/highlighted, click the :guilabel:`Apply` button." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:429 +msgid "The dates now populate the :guilabel:`From` and :guilabel:`To` fields." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:431 +msgid ":guilabel:`Half Day`: if the time off request is for a half day, tick this box. When this is selected, the :guilabel:`From` date field disappears, and is replaced with a drop-down menu. Select either :guilabel:`Morning` or :guilabel:`Afternoon` to indicate which half of the day is being requested." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:435 +msgid ":guilabel:`Custom Hours`: if the time off requested is not a whole or half day, tick this box. A :guilabel:`From` and :guilabel:`To` field appears beneath this option if selected. Using the drop-down menu, select the start and end time for the time off request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:439 +msgid ":guilabel:`Duration`: this field updates automatically once the :guilabel:`Date` section is completed. If the :guilabel:`Date` section is modified, this section automatically updates to reflect the total time off requested. This field is in either hours or days, depending on the :guilabel:`Date` selections." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:443 +msgid ":guilabel:`Description`: enter a description for the time off request. This should include any details that managers and approvers may need in order to approve the request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:445 +msgid ":guilabel:`Supporting Document`: this field only appears if the :guilabel:`Time Off Type` selected allows for the attachments of documents. Click the :guilabel:`Attach File` button, and a file explorer window appears." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:449 +msgid "Navigate to the file(s) to attach, then click the :guilabel:`Open` button. The files then appear on the time off request form. Multiple documents can be attached, if necessary." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:452 +#: ../../content/applications/hr/time_off.rst:492 +msgid "When the form is complete, click the :guilabel:`Save` button to save the information, and submit the request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "A time off request form filled out for an employee home sick for two days with the flu." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:462 +msgid "Request allocation" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:464 +msgid "If an employee has used all their time off, or is going to run out of time off, they can request an allocation for additional time. Allocations can be requested in one of two ways, either from the :ref:`dashboard ` or the :guilabel:`My Allocations` view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:468 +msgid "To access the dashboard, navigate to the :menuselection:`Time Off app --> My Time Off --> Dashboard`. This is also the default view for the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:471 +msgid "To access :guilabel:`My Allocations`, navigate to the :menuselection:`Time Off app --> My Time Off --> My Allocations`. This presents a list view of all the allocations for the employee." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:474 +msgid "To create a new allocation request, click either the :guilabel:`Allocation Request` button on the main *Time Off* dashboard, or the :guilabel:`Create` button in the :guilabel:`My Allocations` list view. Both buttons open a new allocation request form." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:478 +msgid "After entering a name for the allocation in the first blank line on the form, enter the following information:" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:481 +msgid ":guilabel:`Time Off Type`: select the type of time off being requested for the allocation from the drop-down menu." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:483 +msgid ":guilabel:`Validity Period`: the current date populates the start date by default. If there is no expiration on the time off type, there is no date populated as the end date. If the time off type has an expiration date, the date automatically populates the end date field once the form is saved." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:487 +msgid ":guilabel:`Duration`: enter the amount of time being requested. The format (either days or hours) is in the same format as the time off type." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:489 +msgid ":guilabel:`Add a reason...`: enter a description for the allocation request. This should include any details that managers and approvers may need in order to approve the request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "An allocation request form filled out for an employee requesting an additional week of\n" +"sick time." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:501 +msgid "Approvals" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:503 +msgid "Most requests for time off and allocations need to go through the approval process, prior to the time off being allocated, and then granted to an employee. Requests either need one or two approvals, depending on how the specific type of time off is configured." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:507 +msgid "Only users who can approve allocation and time off requests have the :guilabel:`Approvals` section visible in the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:511 +msgid "Approve allocations" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:513 +msgid "To view allocations that need approval, navigate to :menuselection:`Time Off app --> Approvals --> Allocations`. The only allocations visible on this list are for employees the user has either :guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for in the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:518 +msgid "The default filters that are configured to be in place when navigating to the :guilabel:`Allocations` list are :guilabel:`My Team` and :guilabel:`Active Employee`. This *only* presents employees on the user's team (who they manage) and active employees. Inactive users are not shown." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:523 +msgid "The left side of the screen has various grouping options to narrow down the presented allocation requests." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:526 +msgid "The options are :guilabel:`To Approve`, :guilabel:`To Submit`, :guilabel:`Refused`, and :guilabel:`Approved`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:529 +msgid "To view all allocation requests, click :guilabel:`All`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:531 +msgid "It is also possible to display allocation requests by department. Click on the department to only present allocations for that specific department." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:535 +msgid "The groupings on the left side only present allocation requests that fall under the default filters of :guilabel:`My Team` and :guilabel:`Active Employee`. Only the statuses for allocation requests that fall under those filters are presented on the left side." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:539 +msgid "For example, if there are no requests with a status of :guilabel:`To Submit`, that status option does not appear in the left-hand side." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:542 +msgid "All departments for the user's employees appear in the list. If there are no allocation requests that fall under that department matching the pre-configured filters, the list is blank." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:545 +msgid "It is always possible to remove any of the pre-configured filters, by clicking the :guilabel:`✖️ (remove)` icon on the specific filter to remove it." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:548 +#: ../../content/applications/hr/time_off.rst:597 +msgid "The status column displays the status of each request, with the status highlighted in a specific color." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:551 +msgid "The :guilabel:`To Approve` requests are highlighted in yellow, :guilabel:`Approved` requests are highlighted in green, :guilabel:`To Submit` (drafts) requests are highlighted in blue, and the :guilabel:`Refused` requests are highlighted in gray." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:555 +msgid "To approve an allocation request, click :guilabel:`✔ Validate` at the end of the line, to refuse a request, click :guilabel:`✖️ Refuse`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Allocations with the filter, groupings, and status sections highlighted." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:562 +msgid "If more details are needed, click anywhere on the allocation request line (except for :guilabel:`✔ Validate` and :guilabel:`✖️ Refuse`) to view the request in detail." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:565 +msgid "Depending on the rights of the user, changes can be made on the allocation request form that appears. To modify the request, click the :guilabel:`Edit` button, make any desired changes, then click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:569 +msgid "It is also possible to approve or refuse the request from this form. Click the :guilabel:`Validate` button to approve, or the :guilabel:`Refuse` button to refuse the request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:575 +msgid "Approve time off" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:577 +msgid "To view time off requests that need approval, navigate to :menuselection:`Time Off app --> Approvals --> Time Off`. The only time off requests visible on this list are for employees the user has either :guilabel:`Time Off Officer` or :guilabel:`Administrator` access rights for the *Time Off* application." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:582 +msgid "The default filters in the :guilabel:`Time Off` list are :guilabel:`To Approve`, :guilabel:`My Team`, :guilabel:`Active Employee`, and :guilabel:`Active Time Off`. This only presents time off requests that need to be approved for current employees on the user's team, for requests that are active and *not* in a draft mode." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:587 +msgid "The left side of the screen has various grouping options to narrow down the presented time off requests. Since only time off requests that need to be approved are shown, the only status options are :guilabel:`All` and :guilabel:`To Approve`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:591 +msgid "To view requests with other statuses, first remove the :guilabel:`To Approve` filter, by clicking the :guilabel:`✖️ (remove)` icon next to the :guilabel:`To Approve` filter to remove it." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:594 +msgid "To display time off requests for specific departments, click on the department on the left-hand side. Only requests within the selected department are then presented." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:600 +msgid "The :guilabel:`To Approve` requests are highlighted in yellow, and are the only ones that appear in the list by default. If the :guilabel:`To Approve` filter is removed, then all statuses appear. :guilabel:`Approved` requests are highlighted in green, :guilabel:`To Submit` (drafts) requests are highlighted in blue, and the :guilabel:`Refused` requests are highlighted in gray." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:605 +msgid "To approve a time off request, click :guilabel:`👍 Approve` at the end of the line, to refuse a request, click :guilabel:`✖️ Refuse`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Time off requests with the filter, groupings, and status sections highlighted." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:612 +msgid "If more details are needed, click anywhere on the time off request line (except for :guilabel:`👍 Approve` and :guilabel:`✖️ Refuse`) to load the time off request form. Depending on the rights of the user, changes can be made." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:616 +msgid "To modify the request, click the :guilabel:`Edit` button, make any desired changes, then click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:619 +msgid "It is also possible to approve or refuse the request from this form. Click the :guilabel:`Approve` button to approve, or the :guilabel:`Refuse` button to refuse the request." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:623 +#: ../../content/applications/hr/time_off.rst:674 +msgid "My time off" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:625 +msgid "The :guilabel:`My Time Off` section of the *Time Off* application contains the time off dashboard, as well as the user's time off requests and allocations." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:631 +msgid "Dashboard" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:633 +msgid "All users have access to the time off dashboard, which is the default view in the *Time Off* application. The dashboard can also be accessed at any point in the application by navigating to :menuselection:`Time Off app --> My Time Off --> Dashboard`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:637 +msgid "The current year is displayed, and the current day is highlighted in red." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:639 +msgid "To change the view, click on the desired button at the top. The options are :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, or :guilabel:`Year` (the default)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:642 +msgid "To change the presented dates, click the left and right arrows on either side of the :guilabel:`Today` button. The calendar view adjusts in increments of the presented view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:645 +msgid "For example, if :guilabel:`Week` is selected, the arrows adjust the view by one week." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:647 +msgid "To change the view at any point to a view that includes the current date, click the :guilabel:`Today` button." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:650 +msgid "Above the calendar view is a summary of the users time off balances. Every time off type that has been allocated appears in its own summary box. Each summary lists the type of time off, the corresponding icon, the current available balance (in hours or days), and an expiration date (if applicable)." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:655 +msgid "The legend on the right side of the calendar view displays the various time off types, with their corresponding colors. The status of the time off requests are shown as well." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:658 +msgid "Time off that has been validated appears in a solid color (in the color specified in the Time Off Types part of the legend). Time off requests that still need to be approved appear with white stripes in the color. Refused time off requests have a colored line through the dates." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:662 +msgid "New time off requests can be made from the dashboard. Click the :guilabel:`New Time Off` button at the top of the dashboard, and a new :ref:`time off form ` appears." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:665 +msgid "New allocation requests can also be made from the dashboard. Click the :guilabel:`Allocation Request` button at the top of the dashboard to request more time off, and a new :ref:`allocation form ` appears." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Time off dashboard view with the legend, time off summaries, and view buttons highlighted." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:676 +msgid "To view a list of all the user's time off requests, navigate to :menuselection:`Time Off app --> My Time Off --> My Time Off`. Here, all time off requests appear in a list view, both past and present." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:680 +msgid "Other than the employee's name, the list includes the following information for each request: the :guilabel:`Time Off Type`, :guilabel:`Description`, :guilabel:`Start Date`, :guilabel:`End Date`, :guilabel:`Duration`, and the :guilabel:`Status`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:684 +msgid "A new time off request can be made from this view. Click the :guilabel:`Create` button to :ref:`request time off `." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:688 +msgid "My allocations" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:690 +msgid "To view a list of all the users allocations, navigate to :menuselection:`Time Off app --> My Time Off --> My Allocations`. All allocations and requested allocations appear in a list view." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:693 +msgid "The information presented includes: the :guilabel:`Time Off Type`, :guilabel:`Description`, :guilabel:`Duration`, :guilabel:`Allocation Type`, and the :guilabel:`Status`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:696 +msgid "A new allocation request can be made from this view, as well. Click the :guilabel:`Create` button to :ref:`request an allocation `." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:702 +msgid "The reporting feature allows users to view time off for their team, either by employee or type of time off. This allows users to see which employees are taking time off, how much time off they are taking, and what time off types are being used." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:707 +msgid "By employee" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:709 +msgid "To view a report of employee time off requests, navigate to :menuselection:`Time Off app --> Reporting --> by Employee`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:712 +msgid "The default report is a stacked bar chart with the filters of :guilabel:`Active Employee` and :guilabel:`Type` in place." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:715 +msgid "Each employee is displayed in their own column, with the bar displaying how many days of each type of time off type they requested." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:718 +msgid "The report can be displayed in other ways. Click the various options at the top of the report to view the data differently." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:721 +msgid "The graph options are :guilabel:`Bar Chart`, :guilabel:`Line Chart`, or :guilabel:`Pie Chart`. The :guilabel:`Bar Chart` includes an option to present the data :guilabel:`Stacked`. Both the :guilabel:`Bar Chart` and :guilabel:`Line Chart` have options to present the data in either :guilabel:`Descending` or :guilabel:`Ascending` order." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Report of time off, shown by each employee in a stacked bar chart." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:731 +msgid "By type" +msgstr "" + +#: ../../content/applications/hr/time_off.rst:733 +msgid "To view a list of approved time off, organized by time off type, navigate to :menuselection:`Time Off app --> Reporting --> by Type`. This shows each time off type in its own section." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:736 +msgid "Click on a time off type to expand the list. Each request is listed, with the following information displayed: the :guilabel:`Employee`, :guilabel:`Number of Days`, :guilabel:`Request Type`, :guilabel:`Start Date`, :guilabel:`End Date`, :guilabel:`Status`, and the :guilabel:`Description`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:740 +msgid "The default filters in place for this report are :guilabel:`Approved Requests`, :guilabel:`Active Employee`, the :guilabel:`Current Year`, and the :guilabel:`Type`." +msgstr "" + +#: ../../content/applications/hr/time_off.rst:-1 +msgid "Report of time off by type, with each request detailed in the list." +msgstr "" diff --git a/locale/sources/inventory_and_mrp.pot b/locale/sources/inventory_and_mrp.pot index 7fc9dcf28..6c0ca6fb3 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 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -832,6 +832,7 @@ msgid "(91) ([!\"%-/0-9:-?A-Z_a-z]{0,90})" msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_nomenclature.rst:225 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:115 msgid "Package type" msgstr "" @@ -894,7 +895,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:40 #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:135 #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:168 -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:203 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:204 msgid "01" msgstr "" @@ -929,7 +930,8 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/setup/hardware.rst:39 #: ../../content/applications/inventory_and_mrp/barcode/setup/software.rst:14 #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/strategies.rst:53 -#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:16 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:21 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:38 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/invoicing.rst:18 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/label_type.rst:13 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/advanced_operations_shipping/labels.rst:15 @@ -1021,7 +1023,7 @@ msgid "50 Fuji apples in Lot0002" msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:131 -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:199 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:200 msgid "2D Matrix" msgstr "" @@ -1030,12 +1032,12 @@ msgid "2D matrix of GS1 barcode of 50 fuji apples with an assigned lot number." msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:134 -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:202 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:203 msgid "|AI| (product)" msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:136 -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:204 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:205 msgid "GS1 Barcode (product)" msgstr "" @@ -1048,7 +1050,7 @@ msgid "|AI| (quantity)" msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:140 -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:208 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:209 msgid "GS1 Barcode (quantity)" msgstr "" @@ -1069,7 +1071,7 @@ msgid "LOT0002" msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:146 -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:210 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:211 msgid "Full GS1 barcode" msgstr "" @@ -1106,18 +1108,18 @@ msgid "To confirm that quantities are correctly interpreted in Odoo, place an or msgstr "" #: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:183 -msgid ":ref:`Simplify vendor unit conversions with UoMs `" +msgid ":ref:`Simplify vendor unit conversions with UoMs `" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:185 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:186 msgid "After the order is placed, navigate to the :menuselection:`Barcode` app to :ref:`receive the vendor shipment `." msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:189 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:190 msgid "On the receipt in the *Barcode* app, receive an order for `52.1 kg` of peaches by scanning the barcode containing the |GTIN| and quantity of peaches in kilograms." msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:197 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:198 msgid "52.1 kg of Peaches" msgstr "" @@ -1125,27 +1127,27 @@ msgstr "" msgid "2D matrix of GS1 barcode of 52.1 kg of peaches." msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:205 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:206 msgid "00614141000012" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:206 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:207 msgid "|AI| (kg, 1 decimal point)" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:207 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:208 msgid "3101" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:209 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:210 msgid "000521" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:211 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:212 msgid "0100614141000012 3101000521" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:213 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:214 msgid ":ref:`If the configuration is correct `, `52.1 / 52.1` :guilabel:`kg` will be displayed and the :guilabel:`Validate` button turns green. Finally, press :guilabel:`Validate` to complete the validation." msgstr "" @@ -1153,15 +1155,15 @@ msgstr "" msgid "Scan barcode screen for a reception operation in the Barcode app." msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:222 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:223 msgid "Verify product moves" msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:224 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:225 msgid "For additional verification, the quantities of received products are also recorded on the :guilabel:`Product Moves` report, accessible by navigating to :menuselection:`Inventory app --> Reporting --> Product Moves`." msgstr "" -#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:228 +#: ../../content/applications/inventory_and_mrp/barcode/operations/gs1_usage.rst:229 msgid "The items on the :guilabel:`Product Moves` report are grouped by product by default. To confirm the received quantities, click on a product line to open its collapsible drop-down menu, which displays a list of *stock move lines* for the product. The latest stock move matches the warehouse reception reference number (e.g. `WH/IN/00013`) and quantity processed in the barcode scan, demonstrating that the records processed in the *Barcode* app were properly stored in *Inventory*." msgstr "" @@ -2345,115 +2347,175 @@ msgid "Replenish on Order selected on the product form." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:3 -msgid "Use different units of measure" +msgid "Units of measure" msgstr "" -#: ../../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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:11 +msgid "In some cases, handling products in different units of measure is necessary. For example, a business can buy products from a country that uses the metric system, and then sell those products in a country that uses the imperial system. In that case, the business needs to convert the units." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:13 -msgid "Odoo can be set up to use different units of measure for one product." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:15 +msgid "Another case for unit conversion is when a business buys products in a big pack from a supplier, and then sells those products in individual units." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/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`." +msgid "Odoo can be set up to use different *units of measure (UoM)* for one product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:23 +msgid "To use different units of measure in Odoo, first go to :menuselection:`Inventory app --> Configuration --> Settings`, and under the :guilabel:`Products` section, activate the :guilabel:`Units of Measure` setting. Then, click :guilabel:`Save`." msgstr "" #: ../../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/product_management/product_replenishment/uom.rst:27 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:32 msgid "Units of measure categories" msgstr "" -#: ../../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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:34 +msgid "After enabling the *Units of Measure* setting, view the default units of measure categories in :menuselection:`Inventory app --> Configuration --> UoM Categories`. The category is important for unit conversion; Odoo can convert a product's units from one unit to another **only** if both units belong to the same category." msgstr "" #: ../../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/product_management/product_replenishment/uom.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:43 msgid "Each units of measure category has a reference unit. The reference unit is highlighted in blue in the :guilabel:`Uom` column of the :guilabel:`Units of Measure Categories` page. Odoo uses the reference unit as a base for any new units." msgstr "" -#: ../../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`." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:47 +msgid "To create a new unit, first select the correct category from the :guilabel:`Units of Measure Categories` page. For example, to sell a product in a box of six units, click the :guilabel:`Unit` category line. Then, on the category page that appears, click :guilabel:`Add a line` in the :guilabel:`Units of Measure` tab. Then, in the :guilabel:`Unit of Measure` field, title the new unit, such as `Box of 6`, then in the :guilabel:`Type` field, select the appropriate size reference, such as :guilabel:`Bigger than the reference Unit of Measure`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:49 -msgid "Click on the :guilabel:`Unit` category." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:54 +msgid "If applicable, enter a :guilabel:`UNSPSC Category`, which is a globally recognized `code managed by GS1 `_, that **must** be purchased in order to use." msgstr "" -#: ../../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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:57 +msgid "In the :guilabel:`Ratio` field, enter how many individual units are in the new |UOM|, such as `6.00000` when using the example of the `6-Pack` (since a box of six is six times *bigger* than the reference unit, `1.00000`)." msgstr "" #: ../../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/product_management/product_replenishment/uom.rst:60 +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:66 msgid "Specify a product's units of measure" msgstr "" -#: ../../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/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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:68 +msgid "To set units of measure on a product, first go to :menuselection:`Inventory app --> Products --> Products` and select a product to open its product form page." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:71 +msgid "In the :guilabel:`General Information` tab, edit the :guilabel:`Unit of Measure` field to specify the unit of measure that the product is sold in. The specified unit is also the unit used to keep track of the product's inventory and internal transfers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:75 +msgid "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/product_management/product_replenishment/uom.rst:81 msgid "Unit conversion" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:74 -msgid "Buy products in the Purchase UoM" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:83 +msgid "Odoo automatically converts unit measurements when products have different :abbr:`UoMs (Units of Measure)` and purchase :abbr:`UoMs (Units of Measure)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:86 +msgid "This occurs in various scenarios, including:" msgstr "" -#: ../../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/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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:88 +msgid ":ref:`Vendor orders `: purchase |UOM| on purchase orders (POs) converts to |UOM| on internal warehouse documents" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:90 -msgid "Replenishment" +msgid ":ref:`Automatic replenishment `: generates |POs| when the stock levels of a product (tracked in |UOM|) dips below a certain level. But, the |POs| are created using the purchase |UOM|" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:93 +msgid ":ref:`Sell products `: if a different |UOM| is used on the sales order (SO), the quantity is converted to the warehouse's preferred |UOM| on the delivery order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/product_management/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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:100 +msgid "Buy products in the purchase UoM" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:102 +msgid "When creating a new request for quotation (RFQ) in the *Purchase* app, Odoo automatically uses the product's specified purchase unit of measure. If needed, manually edit the :guilabel:`UoM` value on the |RFQ|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:106 +msgid "After the |RFQ| is confirmed into a |PO|, click the :guilabel:`Receipt` smart button at the top of the |PO|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:109 +msgid "Odoo automatically converts the purchase unit of measure into the product's sales/inventory unit of measure, so the :guilabel:`Demand` column of the delivery receipt shows the converted quantity." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:113 +msgid "When the product's purchase :guilabel:`UoM` is `Box of 6`, and its sales/inventory unit of measure is `Units`, the |PO| shows the quantity in boxes of six, and the receipt (and other internal warehouse documents) shows the quantity in units." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:0 +msgid "Image of a purchase order that is using the purchase unit of measure." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:121 +msgid "An order of three quantities is placed using the purchase \"UoM\": `Box of 6`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:0 +msgid "Image of receipt displaying the unit of measure." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:127 +msgid "Upon warehouse receipt, the recorded quantities are in the internal \"Unit of Measure\": `Units`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:133 +msgid "Replenishment" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:135 +msgid "A request for quotation for a product can also be generated directly from the product form using the :guilabel:`Replenish` button." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:138 +msgid "After clicking :guilabel:`Replenish`, a replenish assistant box pops up. The purchase unit of measure can be manually edited in the :guilabel:`Quantity` field, if needed. Then, click :guilabel:`Confirm` to create the |RFQ|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:143 +msgid "A |PO| can **only** be automatically generated if at least **one** vendor is listed in the product form's :guilabel:`Purchase` tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:-1 +msgid "Click Replenish button to manually replenish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:150 +msgid "Navigate to the created |PO| by clicking the :guilabel:`Forecasted` smart button on the product form. Scroll down to the :guilabel:`Forecasted Inventory` section, and in the :guilabel:`Requests for quotation` line, click the |RFQ| reference number to open the draft |RFQ|. If necessary, the purchase |UOM| can be edited directly on the |PO|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:158 msgid "Sell in a different UoM" msgstr "" -#: ../../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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:160 +msgid "When creating a new quotation in the *Sales* app, Odoo automatically uses the product's specified unit of measure. If needed, the :guilabel:`UoM` can be manually edited on the quotation." msgstr "" -#: ../../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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:163 +msgid "After the quotation is sent to the customer, and confirmed into a sales order (SO), click the :guilabel:`Delivery` smart button at the top of the |SO|. Odoo automatically converts the unit of measure into the product's inventory unit of measure, so the :guilabel:`Demand` column of the delivery shows the converted quantity." msgstr "" -#: ../../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." +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_replenishment/uom.rst:168 +msgid "For example, if the product's |UOM| on the |SO| was changed to `Box of 6`, but its inventory unit of measure is `Units`, the |SO| shows the quantity in boxes of six, and the delivery shows the quantity in units." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking.rst:5 @@ -3166,6 +3228,239 @@ msgstr "" msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/differences`" msgstr "" +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:3 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:12 +msgid "Packages" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:7 +msgid "A *package* is a physical container holding one or more products. Packages can also be used to store items in bulk." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:10 +msgid "Packages are commonly used for the following purposes:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:12 +msgid ":ref:`Grouping products to move them in bulk `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:13 +msgid ":ref:`Shipping to customers `: configure package types to align with shipping carriers' size and weight requirements, streamlining the packing process, and ensuring compliance with carrier shipping specifications." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:16 +msgid "Storing items in bulk." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:18 +msgid "*Package use* is a field on the package form in Odoo that is only visible by enabling the *Batch Transfers* and *Packages* features (:menuselection:`Inventory app --> Configuration --> Settings`)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:21 +msgid "By default, the *Package Use* field on a packages form is set to *Disposable Box*. Change this field to *Reusable Box* **only** when configuring packages for :ref:`cluster pickings `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:25 +msgid "*Package type* is an optional feature used for :doc:`calculating shipping cost <../../shipping_receiving/setup_configuration/delivery_method>`, based on real shipping weight. Create package types to include the weight of the package itself (e.g. boxes, pallets, other shipping containers) in shipping cost calculations." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:31 +msgid "While packages are commonly used in the :doc:`three-step delivery route <../../shipping_receiving/daily_operations/delivery_three_steps>`, they can be used in any workflow involving storable products." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:40 +msgid "To use packages, first go to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Operations` heading, activate the :guilabel:`Packages` feature. Then, click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:-1 +msgid "Activate the *Packages* setting in Inventory > Configuration > Settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:51 +msgid "Pack items" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:53 +msgid "Products can be added to packages in any transfer by:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:55 +msgid "Clicking each :ref:`Detailed Operations ` icon on the product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:57 +msgid "Using the :ref:`Put in Pack ` button to place everything in the transfer into a package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:63 +msgid "Detailed operations" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:65 +msgid "On any warehouse transfer (e.g. receipt, delivery order), add a product to a package by clicking the :guilabel:`⦙≣ (bulleted list)` icon in the :guilabel:`Operations` tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:-1 +msgid "Show \"Detailed Operations\" icon in the product line." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:72 +msgid "Doing so opens the :guilabel:`Detailed Operations` pop-up window for the :guilabel:`Product`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:74 +msgid "To put the :guilabel:`Product` in a package, click :guilabel:`Add a line`, and assign the product to a :guilabel:`Destination Package`. Select an existing package, or create a new one by typing the name of the new package, then select :guilabel:`Create...`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:82 +msgid "Assign a package to \"Destination Package\" field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:82 +msgid "Twelve units of `Acoustic Bloc Screen` are placed in `PACK0000001`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:84 +msgid "Then, specify the quantity of items to go into the package in the :guilabel:`Done` column. Repeat the above steps to place the :guilabel:`Product` in different packages. Once finished, click :guilabel:`Confirm` to close the window." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:89 +msgid ":doc:`Ship one order in multiple packages <../../shipping_receiving/advanced_operations_shipping/multipack>`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:95 +msgid "Put in pack" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:97 +msgid "Alternatively, click the :guilabel:`Put in Pack` button on **any** warehouse transfer to create a new package, and place all the items in the transfer in that newly-created package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:101 +msgid "The :guilabel:`Put in Pack` button appears on receipts, delivery orders, and other transfer forms with the *Packages* feature enabled in :menuselection:`Inventory app --> Configuration --> Settings`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:109 +msgid "Image of the \"Put in Pack\" button being clicked." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:109 +msgid "In batch transfer `BATCH/00003`, the :guilabel:`Put in Pack` button was clicked to create a new package, `PACK0000002`, and assign all items to it in the :guilabel:`Destination Package` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:117 +msgid "Create package types by navigating to :menuselection:`Inventory app --> Configuration --> Package Types`, in order to set custom dimensions and weight limits. This feature is mainly used to calculate package weights for shipping costs." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:122 +msgid ":doc:`Shipping carriers <../../shipping_receiving/setup_configuration/third_party_shipper>`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:123 +msgid ":doc:`../../shipping_receiving/setup_configuration/delivery_method`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:125 +msgid "On the :guilabel:`Package Types` list, clicking :guilabel:`New` opens a blank package type form. The fields of the form are as follows:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:128 +msgid ":guilabel:`Package Type` (required): define the package type's name." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:129 +msgid ":guilabel:`Size`: define the dimensions of the package in millimeters (mm). The fields, from left to right, define the :guilabel:`Length`, :guilabel:`Width`, and :guilabel:`Height`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:131 +msgid ":guilabel:`Weight`: weight of an empty package (e.g. an empty box, pallet)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:134 +msgid "Odoo calculates the package's weight by adding the weight of the empty package plus the weight of the item(s), which can be found in the :guilabel:`Weight` field, in the :guilabel:`Inventory` tab, of each product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:138 +msgid ":guilabel:`Max Weight`: maximum shipping weight allowed in the package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:139 +msgid ":guilabel:`Barcode`: define a barcode to identify the package type from a scan." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:140 +msgid ":guilabel:`Company`: specify a company to make the package type available **only** at the selected company. Leave the field blank if it is available at all companies." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:142 +msgid ":guilabel:`Carrier`: specify the intended shipping carrier for this package type." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:143 +msgid ":guilabel:`Carrier Code`: define a code that is linked to the package type." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:-1 +msgid "Package type for FedEx's 25 kilogram box." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:152 +msgid "Cluster packages" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:154 +msgid "To use *cluster packages*, first navigate to :menuselection:`Inventory app --> Configuration --> Settings`, and activate the :guilabel:`Batch Transfers` feature, located in the :guilabel:`Operations` section. Doing so makes the *Package Use* field become visible on a package form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:-1 +msgid "Activate the *Batch Transfers* feature in Inventory > Configuration > Settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:163 +msgid "Add new packages by going to :menuselection:`Inventory app --> Products --> Packages`. Then, click :guilabel:`New`, or select an existing package. Doing so opens the package form, which contains the following fields:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:167 +msgid ":guilabel:`Package Reference` (required): name of the package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:168 +msgid ":guilabel:`Package Type`: used for :ref:`configuring shipping boxes to ship to the customer `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:172 +msgid ":guilabel:`Package Type` is unnecessary for configuring packages for cluster pickings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:174 +msgid ":guilabel:`Shipping Weight`: used to input the weight of the package after measuring it on a scale." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:176 +msgid ":guilabel:`Company`: specify a company to make the package available **only** at the selected company. Leave the field blank if the package is available at all companies." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:178 +msgid ":guilabel:`Location`: current location of the package." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:179 +msgid ":guilabel:`Pack Date`: the date the package was created." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:180 +msgid ":guilabel:`Package Use`: choose :guilabel:`Reusable` for packages used for moving products within the warehouse; :guilabel:`Disposable` for packages used to ship products to customers." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:-1 +msgid "Display package form to create a cluster pack." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/package.rst:188 +msgid ":doc:`Using cluster packages <../../warehouses_storage/advanced_operations_warehouse/cluster_picking>`" +msgstr "" + #: ../../content/applications/inventory_and_mrp/inventory/product_management/product_tracking/serial_numbers.rst:3 msgid "Use serial numbers to track products" msgstr "" @@ -3732,7 +4027,7 @@ 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_one_step.rst:91 #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_two_steps.rst:141 msgid "Create a sales order" msgstr "" @@ -4530,15 +4825,15 @@ msgstr "" msgid "In the following example, one step will be used for both receipts and deliveries." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:18 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:20 msgid "Configure the warehouse" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:22 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/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:23 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:25 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 "" @@ -4546,23 +4841,23 @@ msgstr "" msgid "Set incoming and outgoing shipment options to receive and deliver in one step." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:34 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:36 msgid "Receive goods directly (1 step)" msgstr "" -#: ../../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_one_step.rst:39 #: ../../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:48 msgid "Create a purchase order" msgstr "" -#: ../../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_one_step.rst:41 #: ../../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/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 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:46 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:98 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 "" @@ -4570,7 +4865,7 @@ msgstr "" msgid "Receipt smart button appears on the confirmed purchase order." msgstr "" -#: ../../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_one_step.rst:54 #: ../../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 "" @@ -4579,13 +4874,13 @@ msgstr "" msgid "Receipt kanban card's 1 to Process smart button." msgstr "" -#: ../../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_one_step.rst:63 #: ../../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/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:65 msgid "When viewing the receipt (associated with the purchase order above), click :guilabel:`Validate` to then complete the receipt." msgstr "" @@ -4593,7 +4888,7 @@ msgstr "" msgid "Validate the purchase order via the Validate smart button." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:73 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 "" @@ -4602,19 +4897,19 @@ msgid "Select the Storage Location for the products being received in the Detail "pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:80 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:82 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/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:86 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:88 msgid "Deliver goods directly (1 step)" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:91 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:93 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/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:99 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:101 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 "" @@ -4622,7 +4917,7 @@ msgstr "" msgid "The Delivery smart button appears after the sales order is confirmed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:107 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:109 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 "" @@ -4630,12 +4925,12 @@ msgstr "" msgid "Delivery Orders kanban card's 1 to Process smart button." msgstr "" -#: ../../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_one_step.rst:118 #: ../../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/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:118 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:120 msgid "When viewing the delivery order (associated with the sales order above), click :guilabel:`Validate` to then complete the delivery." msgstr "" @@ -4643,7 +4938,7 @@ msgstr "" msgid "Validate the delivery order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:125 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/receipts_delivery_one_step.rst:127 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 "" @@ -4971,7 +5266,7 @@ msgid "**Receipt**: Receive products directly into stock. No intermediate steps msgstr "" #: ../../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." +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/shipping_receiving/daily_operations/shipments_deliveries.rst:35 @@ -4991,7 +5286,7 @@ msgid "Items are received or shipped directly into/from stock." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:42 -msgid ":ref:`Process receipts and deliveries in one step `" +msgid ":doc:`receipts_delivery_one_step`" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/shipments_deliveries.rst:45 @@ -5658,34 +5953,58 @@ msgid ":guilabel:`Rules` can also be set up in Sendcloud to use other shipping m msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:197 -msgid "When using a personal carrier contract" +msgid "Personal carrier contract" msgstr "" #: ../../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." +msgid "Use custom prices from a direct carrier contract, via CSV upload, by first logging into Sendcloud, navigating to :menuselection:`Settings --> Carriers --> My contracts`, and then selecting the intended contract." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:-1 +msgid "Navigate to the contracts section in Sendcloud." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:207 +msgid "Under the :guilabel:`Contract prices` section, click :guilabel:`Download CSV` and fill out the contract prices in the :guilabel:`price` column of the CSV file template." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:211 +msgid "Ensure the CSV file includes the correct prices to avoid any inaccuracies." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:-1 +msgid "Show sample contract CSV from Sendcloud, highlighting the price column." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:217 +msgid ":guilabel:`Upload` the completed CSV file to Sendcloud, then click :guilabel:`Save these prices`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:220 +msgid "`Sendcloud: How to upload contract prices with carriers `_" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:224 msgid "Measuring volumetric weight" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:205 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:226 msgid "Many carriers have several measures for weight. There is the actual weight of the products in the parcel, and there is the *volumetric weight* (:dfn:`Volumetric weight is the volume that a package occupies when in transit. In other words it is the physical size of a package`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:210 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:231 msgid "Check to see if selected carrier(s) already have defined formulas to compute the volumetric weight." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:214 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:235 msgid "`Sendcloud: How to calculate & automate parcel volumetric weight `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:219 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:240 msgid "Unable to calculate shipping rate" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:221 +#: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/setup_configuration/sendcloud_shipping.rst:242 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 "" @@ -5951,12 +6270,12 @@ msgid "From here, select the desired warehouse from the list. Then, from the rad 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:128 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:129 msgid ":ref:`Delivery in three steps `" msgstr "" @@ -6024,11 +6343,11 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:103 msgid "Add batch from transfers list" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:105 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 "" @@ -6037,7 +6356,7 @@ msgid "Show all transfer types in a drop-down menu: Receipts, Deliveries, Intern "Manufacturings, Batch Transfers, Dropships." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:112 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:114 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 "" @@ -6046,21 +6365,21 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:122 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:148 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:125 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:128 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:130 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:157 msgid "Conclude the process by clicking :guilabel:`Confirm`." msgstr "" @@ -6069,23 +6388,23 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:137 msgid "Process batch transfer" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:137 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:139 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:142 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:147 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:154 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 "" @@ -6093,19 +6412,19 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:163 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:165 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:171 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:175 msgid "Click the :guilabel:`Check Availability` button to search the stock again for available products." msgstr "" @@ -6113,27 +6432,27 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:182 msgid "Create backorder" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:182 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:184 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:187 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:189 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:192 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:194 msgid "Click :guilabel:`Discard` to cancel the validation, and return to the batch transfer form." msgstr "" @@ -6141,15 +6460,15 @@ msgstr "" msgid "Show the *Create Backorder* pop-up." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:201 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:203 msgid "Process batch transfer: Barcode app" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:205 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:208 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 "" @@ -6157,19 +6476,19 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:215 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:221 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:225 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:229 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 "" @@ -6177,7 +6496,7 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/batch_transfers.rst:237 msgid "Once all the products have been picked, click on :guilabel:`Validate` to mark the batch transfer as :guilabel:`Done`." msgstr "" @@ -6266,14 +6585,14 @@ msgid "On the new package form, the :guilabel:`Package Reference` is pre-filled 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." +msgid "Set the :guilabel:`Package Use` field to :guilabel:`Reusable Box`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:89 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:86 msgid ":ref:`Packages `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:89 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 "" @@ -6281,19 +6600,19 @@ msgstr "" msgid "Create new package form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:98 msgid "Create cluster batch" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:103 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:100 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:106 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:109 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 "" @@ -6301,83 +6620,83 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:116 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:120 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:124 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:127 msgid ":ref:`Delivery in one step `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:134 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:131 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:136 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:140 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:141 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:142 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:151 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:154 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:164 msgid "Process batches" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:169 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:166 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:169 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:171 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:175 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:179 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:183 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:186 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:189 msgid "Record this in Odoo using the :guilabel:`Destination Package` field in the :guilabel:`Detailed Operations` tab." msgstr "" @@ -6385,31 +6704,31 @@ msgstr "" msgid "Example of processing cluster pickings in *Inventory*." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:200 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:197 msgid "In Barcode" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:202 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:199 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:202 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:205 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:208 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:211 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:215 msgid "Next, select one of the three print options to generate the package barcode from the :guilabel:`Package Reference` field." msgstr "" @@ -6417,15 +6736,15 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:223 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:227 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:230 msgid "Then, scan the `CLUSTER-PACK-1` package barcode, and place the product in the designated package." msgstr "" @@ -6433,7 +6752,7 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/cluster_picking.rst:237 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 "" @@ -7309,84 +7628,99 @@ msgid "While keeping stock and selling inventory from one warehouse might work f 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*." +msgid "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 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." +msgid "The solution in this document, describing the use of a virtual warehouse to fulfill orders for multiple warehouses, has some limitations. Consider the following before proceeding:" 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:17 +msgid "When the :guilabel:`Warehouse` field is set to a virtual warehouse on a sales order, the virtual warehouse's address is indicated on the picking, packing, and delivery forms, **not** the actual warehouse's address." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:23 -msgid "Create and configure a virtual parent location" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:20 +msgid "Each location has a `warehouse_id` (hidden field). This means that the stock in the virtual warehouse will **not** be the sum of the stock of the real warehouses, but rather the sum of the stock in the locations whose warehouse ID is the virtual warehouse." 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." +msgid "Potential limitation for those using :doc:`two <../../shipping_receiving/daily_operations/receipts_delivery_two_steps>` or :doc:`three-step delivery <../../shipping_receiving/daily_operations/delivery_three_steps>`:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:29 +msgid "The output or packing zone on the various forms is incorrectly listed as the virtual warehouse's address." 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." +msgid "There is no workaround for two or three-step deliveries." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:32 +msgid "Proceed **only** if setting a virtual warehouse's address as the output or packing zone makes sense for the company's workflow." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:36 +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 **must** be enabled." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:39 +msgid "To do so, go to :menuselection:`Inventory app --> Configuration --> Settings`, scroll down to the :guilabel:`Warehouse` section, and enable the :guilabel:`Storage Locations` and :guilabel:`Multi-Step Routes` options. Then, :guilabel:`Save` the changes to finish." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:47 +msgid "Create virtual parent location" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:49 +msgid "Before creating any virtual stock locations, create a new warehouse that acts as a *virtual* warehouse — the *parent* location of other physical warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:54 +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:59 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:63 +msgid "To create a new warehouse, go to :menuselection:`Inventory app --> 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: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." +msgid "Lastly, click :guilabel:`Save` to finish creating a *regular* warehouse. Continue following the steps below to finish configuring the virtual parent warehouse." 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." +msgid "New warehouse form." 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:76 +msgid ":doc:`Warehouse configurations <../inventory_management/warehouses_locations>`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:77 +msgid ":ref:`Incoming and outgoing shipments `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:78 +msgid ":doc:`Resupply from another warehouse <../inventory_management/resupply_warehouses>`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:83 +msgid "Create child warehouses" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:85 +msgid "Create at least two *child* warehouses to link to the virtual warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:88 +msgid "In order to take stock from multiple warehouses to fulfill a sales order, there needs 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:91 +msgid "To do that, navigate to :menuselection:`Inventory app --> Configuration --> Warehouses`, click :guilabel:`Create`, and follow the :ref:`preceding instructions ` to configure the physical stock locations." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 @@ -7398,7 +7732,7 @@ 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`" +msgid ":guilabel:`Location`: `VWH/Stock`" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 @@ -7410,210 +7744,194 @@ 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`" +msgid ":guilabel:`Locations`: `WHA` and `WHB`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:95 -msgid "Create a virtual parent location" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid "Graphic of child locations 'WHA' and 'WHB' tied to the 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:110 +msgid "While the virtual stock location will be changed to 'View' later, the :guilabel:`Location Type` **must** be :guilabel:`Internal Location` at this point to :ref:`link the child warehouses ` in the next section." 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`)." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:117 +msgid "Link child warehouses to virtual 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:119 +msgid "To set physical warehouses as child locations of the virtual location configured in the :ref:`previous step `, navigate to :menuselection:`Inventory app --> Configuration --> Locations`." 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*." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:123 +msgid "Remove any filters from the search bar. Then, click the physical warehouse :guilabel:`Location` that was previously created to be a child location (e.g. `WHA`), and click :guilabel:`Edit`." 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`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:126 +msgid "Change the :guilabel:`Parent Location` field from :guilabel:`Physical Locations` to the virtual warehouse's **stock location** (e.g. `VWH/Stock`) from the drop-down menu, and click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:131 +msgid "To select the virtual warehouse's stock location in the :guilabel:`Parent Location` drop-down menu, the parent warehouse stock location (e.g. `VWH/Stock`) **must** have its :guilabel:`Location Type` set to :guilabel:`Internal Location`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +msgid "Set the child warehouse's *Parent Location* to the virtual warehouse." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:139 +msgid "Repeat the preceding steps to configure two or more child warehouses." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:141 +msgid "Once complete, the virtual, parent warehouse (e.g. `VWH/Stock`) fulfills orders using stock from child warehouses (e.g. `WHA` and `WHB`), if there is insufficient stock in any one location." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:145 +msgid "Set virtual stock location as 'view'" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:147 +msgid "Set the virtual stock location's :guilabel:`Location Type` to :guilabel:`View`, as it is a non-existent location used to group various physical warehouses together." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:150 +msgid "To do that, navigate to :menuselection:`Inventory app --> Configuration --> Locations`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:152 +msgid "Click the virtual warehouse's stock location (e.g. `VWH/Stock`) that was :ref:`previously created `, from the :guilabel:`Locations` list." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:155 +msgid "On the location form, under the :guilabel:`Additional Information` heading, set the :guilabel:`Location Type` to :guilabel:`View`. :guilabel:`Save` the changes." 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`." +msgid "To view the total quantity across **all** linked child warehouses, go to the product form and click the :guilabel:`On Hand` smart button." 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:0 +msgid "Display stock across all linked warehouses." 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:171 +msgid "Example: sell products from a virtual warehouse" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:173 +msgid "To sell products from multiple warehouses using a virtual parent location, the database must have 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:178 +msgid "The following product, `Toy soldier`, is available at each location with the quantities:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:180 +msgid "`WHA/Stock` : 1" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:181 +msgid "`WHB/Stock` : 2" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:182 +msgid "Warehouses `WHA` and `WHB` are child warehouses of the virtual warehouse `VWH`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:184 +msgid "Create a quotation for the product by navigating to the :menuselection:`Sales` app and clicking :guilabel:`Create`. On the quote, add 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:188 +msgid "Then, click the :guilabel:`Other Info` tab on the sales order form. Under the :guilabel:`Delivery` section, change the :guilabel:`Warehouse` field value to the virtual warehouse that was :ref:`previously created `. Next, :guilabel:`Confirm` the sales order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +msgid "Set virtual warehouse as the *Warehouse* field in sales order's *Other Info* tab." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:196 +msgid "Then, 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:200 +msgid "Finally, on the warehouse delivery form, under the :guilabel:`Detailed Operations` tab, confirm that the :guilabel:`Locations` in the :guilabel:`From` column for each product match 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:-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*." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:209 +msgid "The :guilabel:`Source Location` on the warehouse delivery form, and the :guilabel:`Warehouse` under the :guilabel:`Other Info` tab on the sales order, **must** match for products 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: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)." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:213 +msgid "If the virtual warehouse is not in the :guilabel:`Source Location` field on the warehouse delivery form, retry product reservation by:" 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:216 +msgid "Running the scheduler: turn on :ref:`developer mode `, and then go to :menuselection:`Inventory app --> Operations --> Run Scheduler`." 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." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:218 +msgid "Clicking :guilabel:`Check Availability` on the delivery order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:-1 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:219 +msgid "If the virtual warehouse is **not** assigned to the :guilabel:`Warehouse` field on the sales order, then cancel it, and create a new sales order with the virtual warehouse set in the :guilabel:`Warehouse` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:222 +msgid "If the :guilabel:`Warehouse` field is missing on the sales order form, then the multiple child warehouses may not have been set up correctly. Review the :ref:`previous section ` to ensure the correct settings." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/stock_warehouses.rst:227 +msgid "To use a virtual *parent* location as the default warehouse for sales orders, each salesperson should 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:0 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" +msgid "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" +msgid "In Odoo, there are a variety of ways to specify the amount of products being bought, stocked, and sold. *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: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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:18 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:22 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:28 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:31 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:34 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:38 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 "" @@ -7621,31 +7939,31 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:45 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:49 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:53 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:58 msgid "Multiple packages in a single delivery" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:60 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:66 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:72 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 "" @@ -7653,7 +7971,7 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:82 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 "" @@ -7661,71 +7979,71 @@ msgstr "" 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:89 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:92 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:97 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:101 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:105 msgid "Packagings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:161 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:107 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:111 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:116 msgid "Set up packagings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:118 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:123 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:125 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:128 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:132 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:134 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:135 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:137 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:141 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 "" @@ -7733,11 +8051,11 @@ msgstr "" msgid "Create 6-pack case for product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:149 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:154 msgid "View all product packagings in the :guilabel:`Inventory` tab of the product form." msgstr "" @@ -7746,15 +8064,15 @@ msgid "Show packaging and contained quantities, specified on the product page fo "Inventory tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:216 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:162 msgid "View all packagings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:218 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:164 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:170 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 "" @@ -7762,15 +8080,15 @@ msgstr "" msgid "List of different packagings for products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:233 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:179 msgid "Apply packagings" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:235 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:181 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 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:186 msgid "18 cans of the product, `Grape Soda`, is packed using three 6-pack packagings." msgstr "" @@ -7778,7 +8096,7 @@ msgstr "" msgid "Assign packagings on the Sales Order Line." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:247 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/advanced_operations_warehouse/usage.rst:193 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 "" @@ -8992,6 +9310,10 @@ msgstr "" 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:58 +msgid "Create a new warehouse" +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 "" @@ -14512,7 +14834,6 @@ msgid ":guilabel:`Priority`: assign a priority between one and three stars to en msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_alerts.rst:42 -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:42 msgid "The tabs at the bottom of the form can be used to provide additional information to quality teams:" msgstr "" @@ -14709,109 +15030,153 @@ msgid "A quality check for a work order." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:3 -msgid "Add quality controls" +msgid "Quality control points" msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:7 -msgid "Use Odoo *Quality* to control the quality of products before they are registered into stock, during picking operations, and when leaving the warehouse for a delivery order. By creating *quality control points*, manufacturers can set up quality checks that automatically trigger at specific points during production." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:11 +msgid "In Odoo, *quality control points* (QCPs), are used to automatically create :doc:`quality checks ` at predetermined intervals. |QCPs| can be configured to create quality checks for specific operations (manufacturing, delivery, etc.), as well as specific products within those operations." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:13 -msgid "Configure quality control points" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:15 -msgid "To create a new quality control point, go to :menuselection:`Quality Control --> Control Points --> Create`. Then, fill in the following form fields, accordingly:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:18 -msgid ":guilabel:`Title`: give the quality control point a simple, but informative title so production floor and quality check teams can understand it easily" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:16 +msgid "Using |QCPs| allows quality teams to ensure products are being regularly inspected for defects and other issues." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:20 -msgid ":guilabel:`Products`: indicate which product(s) should pass through the specific quality control point" +msgid "Configure quality control points" msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:22 -msgid ":guilabel:`Operations`: determine which operations team(s) should perform the quality control check (e.g., `Manufacturing`, `Receipts`, `Delivery Orders`, etc.)" +msgid "To create a new |QCP|, navigate to :menuselection:`Quality --> Quality Control --> Control Points`, and then click :guilabel:`New`." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:24 -msgid ":guilabel:`Work Order Operation`: for manufacturing operations, use the drop-down menu to indicate which type of work order the quality control point applies to: :guilabel:`Manual Assembly`, :guilabel:`Packing`, :guilabel:`Assembly`, :guilabel:`Testing` or :guilabel:`Long time assembly`" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:25 +msgid "Begin filling out the new |QCP| by entering a unique :guilabel:`Title` that makes the |QCP| easily identifiable." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:28 -msgid ":guilabel:`Company`: add the company that will implement the quality control point. Usually this will be the company that owns the Odoo database. However, a multi-company or vendor profile can be selected, as well, for cases where there are multiple manufacturing or engineering locations" +msgid "In the :guilabel:`Products` field, select one or more products the |QCP| should apply to. If the |QCP| should apply to an entire product category, select it in the :guilabel:`Product Categories` field." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:31 -msgid ":guilabel:`Control Type`: using the drop-down menu, choose from :guilabel:`All Operations`, :guilabel:`Randomly` or :guilabel:`Periodically` to determine how often the control point should executed" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:34 -msgid ":guilabel:`Type`: using the drop-down menu, choose the control point type: :guilabel:`Instructions`, :guilabel:`Take a Picture`, :guilabel:`Pass - Fail`, or :guilabel:`Measure`" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:32 +msgid "In the :guilabel:`Operations` field, select the operation(s) that should trigger the |QCP|. For example, selecting the :guilabel:`Manufacturing` option in the :guilabel:`Operations` field causes a quality check to be created for new manufacturing orders (MOs)." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:37 -msgid ":guilabel:`Team`: decide which quality team should receive the results of the quality control point check" +msgid "When creating a new |QCP|, at least one operation must be listed in the :guilabel:`Operations` field. However, the :guilabel:`Products` and :guilabel:`Product Categories` fields can be left blank. If they are left blank, the |QCP| generates quality checks for every instance of the specified operation(s)." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:39 -msgid ":guilabel:`Responsible`: add a point person to manage the status and evolution of the quality control point over time" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:42 +msgid "If the :guilabel:`Manufacturing` operation is selected in the :guilabel:`Operations` field, a new field appears below it, titled :guilabel:`Work Order Operation`. From this field, select a specific work order to generate quality checks for that operation, rather than the manufacturing operation in general." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:44 -msgid ":guilabel:`Instructions`: describe the quality check to be performed" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:47 +msgid "For example, a |QCP| could be configured to create quality checks for the `Assembly` work order of the `Coffee Table` product. Then, if a new |MO| is confirmed for a `Coffee Table`, the |QCP| creates a quality check specifically for the `Assembly` operation." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:45 -msgid ":guilabel:`Message If Failure`: detail what should be done if the check fails" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:51 +msgid "The :guilabel:`Control Per` field is set to one of three options that determine *when* a new quality check is created:" msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:46 -msgid ":guilabel:`Notes`: use to include any additional information" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:54 +msgid ":guilabel:`Operation`: one check is requested for the specified operation, as a whole." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:-1 -msgid "An example of a completed quality control point form for a Pass-Fail test." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:55 +msgid ":guilabel:`Product`: one check is requested for each *unique* product included in the specified operation. For example, a delivery operation for one table and four chairs would generate two checks, since two *unique* products are included in the operation." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:52 -msgid "Once a control point has been configured, a quality check will be automatically created and assigned when the specified operation or work order has been reached. Quality checks can be managed by selecting :menuselection:`Quality Control --> Quality Checks`." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:58 +msgid ":guilabel:`Quantity`: a check is requested for a certain percentage of items within the specified operation. This percentage is set by enabling the :guilabel:`Partial Transfer Test` checkbox, and then entering a numerical value in the :guilabel:`Percentage` field that appears below. If the checkbox is not enabled, one quality check is created for the full quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:57 -msgid "To see all of the quality checks created by a control point, go to :menuselection:`Quality Control --> Control Points`, select a control point, and click :guilabel:`Quality Checks` in the top right corner." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:63 +msgid "The :guilabel:`Control Frequency` field is set to one of three options that determine *how often* a new quality check is created:" msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:62 -msgid "Use case: configure a measure quality check" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:66 +msgid ":guilabel:`All`: a quality check is requested every time the conditions of the |QCP| are met." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:64 -msgid "To ensure that a product meets specific measurement requirements, select :guilabel:`Measure` from the :guilabel:`Type` drop-down menu. Selecting the :guilabel:`Measure` quality check type reveals three new fields: :guilabel:`Device`, :guilabel:`Norm`, and :guilabel:`Tolerance`. These fields can be configured so that only products within a certain tolerance will pass the check:" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:67 +msgid ":guilabel:`Randomly`: a quality check is randomly requested for a certain percentage of operations, which can be specified in the :guilabel:`Every #% of Transfers` field that appears below." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:69 -msgid ":guilabel:`Device`: select the measuring device that should be used to take the measurement (e.g., measuring tape)." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:70 +msgid ":guilabel:`Periodically`: a quality check is requested once every set period of time, which is specified by entering a numerical value in the field below, and choosing either :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months` as the desired time interval." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:71 -msgid ":guilabel:`Norm`: specify the desired measurement that the product should conform to and the unit of measurement that should be used" +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:74 +msgid "In the :guilabel:`Type` field, specify the type of quality check that should be performed. The method for processing quality checks created by the |QCP| depends upon the type of quality check selected:" msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:73 -msgid ":guilabel:`Tolerance`: select the range that a measurement can be within while still passing the check (e.g., :guilabel:`from` 59.5 mm :guilabel:`to` 60.5 mm)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:-1 -msgid "An example of a quality control point form configured for a measure quality check." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:78 +msgid ":guilabel:`Instructions` checks provide specific instructions for how to complete the quality check." msgstr "" #: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:80 -msgid "When the quality control points form is complete, click :guilabel:`Save`. Now, this measurement-based test will trigger for products that were specified on the form." +msgid ":guilabel:`Take a Picture` checks require a picture of the product be uploaded for later review by the assigned quality team." msgstr "" -#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:83 -msgid "When production of the specified product reaches the operation that requires a measure quality check, the manufacturing employee responsible will be prompted to record and validate the measured value in the tablet view. For products that measure within the values indicated in the :guilabel:`Tolerance` fields, the test will pass. However, for products that measure outside of those values, the test will fail. In that case, the worker who performed the check would create a quality alert from the tablet view. That quality alert can then be addressed by the quality management team." +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:82 +msgid ":guilabel:`Register Production` checks prompt manufacturing employees to confirm the quantity of the product that was produced during the manufacturing operation." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:84 +msgid ":guilabel:`Pass - Fail` checks specify a criterion that products must meet for the check to pass." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:85 +msgid ":guilabel:`Measure` checks prompt employees to record a measurement of the product that must be within a tolerance of a norm value for the check to pass." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:87 +msgid ":guilabel:`Worksheet` checks provide an interactive worksheet that must be filled out by the employee processing the check." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:91 +msgid "An *Instructions* check is the same as a step on a work order for an MO." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:93 +msgid "When a step is added to a work order, Odoo stores it in the Quality app as a |QCP|. It is possible to manually create a |QCP| with the *Instructions* check type, and even assign it to an operation other than manufacturing, like receipts." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:97 +msgid "However, when creating a control point specifically for quality control purposes, using a different check type is probably more effective." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:100 +msgid "In the :guilabel:`Team` field, specify the quality team that is responsible for managing the |QCP|, and the quality checks it creates. If a specific quality team member is responsible for the |QCP|, select them in the :guilabel:`Responsible` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:104 +msgid "The :guilabel:`Step Document` field has two options that specify the location of an instructional document detailing how to complete the quality checks created by the |QCP|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:107 +msgid "Select :guilabel:`Specific Page of Operation Worksheet` if the document is included with the instructional worksheet for the work order, then enter the page number in the :guilabel:`Worksheet Page` field that appears below." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:111 +msgid "Select :guilabel:`Custom` if the document should be included in the :guilabel:`Instructions` tab at the bottom of the |QCP|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:114 +msgid "In the :guilabel:`Instructions` tab at the bottom of the form, enter instructions for how to complete the quality checks created by the |QCP|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:117 +msgid "If the :guilabel:`Custom` option was selected in the :guilabel:`Step Document` field above, a document can be attached in this tab. To do so, either select the :guilabel:`Upload your file` button to open the device's file manager, and then select a file, or add a link to a Google Slides document in the :guilabel:`Google Slide Link` field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:122 +msgid "In the :guilabel:`Message If Failure` tab, include instructions for what to do if the quality check fails. For example, instruct the employee processing the quality check to create a :doc:`quality alert `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:126 +msgid "The :guilabel:`Notes` tab is used to provide additional information about the |QCP|, like the reason it was created. The information entered in this tab is **not** shown to employees processing the quality checks created by the |QCP|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/quality/quality_management/quality_control_points.rst:-1 +msgid "A QCP configured to create Pass - Fail checks for a work order operation." msgstr "" diff --git a/locale/sources/productivity.pot b/locale/sources/productivity.pot index 7b8de7b45..3f7516c8a 100644 --- a/locale/sources/productivity.pot +++ b/locale/sources/productivity.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -816,6 +816,7 @@ msgid "Activity settings" msgstr "" #: ../../content/applications/productivity/discuss/overview/plan_activities.rst:155 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:275 #: ../../content/applications/productivity/studio/automated_actions.rst:134 msgid "Action" msgstr "" @@ -1424,7 +1425,7 @@ msgid "Ensure that the server is configured." msgstr "" #: ../../content/applications/productivity/iot/config/https_certificate_iot.rst:94 -#: ../../content/applications/productivity/iot/config/windows_iot.rst:99 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:121 msgid ":doc:`/applications/productivity/iot/config/connect`" msgstr "" @@ -1673,7 +1674,7 @@ msgid "Connect a supported receipt printer to a :abbr:`USB (Universal Serial Bus msgstr "" #: ../../content/applications/productivity/iot/config/pos.rst:43 -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:391 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:412 msgid "Cash drawer" msgstr "" @@ -1682,7 +1683,7 @@ msgid "The cash drawer should be connected to the printer with an RJ25 cable." msgstr "" #: ../../content/applications/productivity/iot/config/pos.rst:45 -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:359 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:360 msgid "Barcode scanner" msgstr "" @@ -1727,7 +1728,7 @@ msgid "Once set up is done, a new :abbr:`PoS (Point of Sale)` session can be lau msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:3 -#: ../../content/applications/productivity/iot/config/windows_iot.rst:105 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:127 msgid "Troubleshooting" msgstr "" @@ -1744,7 +1745,7 @@ msgid "The pairing code should be printed on receipt printers connected to the : msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:14 -msgid "The pairing code doesn't show under the following circumstances:" +msgid "The pairing code does not show under the following circumstances:" msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:16 @@ -1756,7 +1757,7 @@ msgid "The :abbr:`IoT (Internet of Things)` box is not connected to the Internet msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:18 -msgid "The code is only valid for 5 minutes after the :abbr:`IoT (Internet of Things)` box has started. It's automatically removed from connected displays when this time has expired." +msgid "The code is only valid for 5 minutes after the :abbr:`IoT (Internet of Things)` box has started. It is automatically removed from connected displays when this time has expired." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:20 @@ -1768,11 +1769,11 @@ msgid "If none of the cases listed above correct the issue, then make sure that msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:30 -msgid "IoT box is connected but it's not showing in the database" +msgid "IoT box is connected but it is not showing in the database" msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:32 -msgid "When an :abbr:`IoT (Internet of Things)` box connects to a database, it may restart. If so, it can take up to five minutes before appearing in the database. If the :abbr:`IoT (Internet of Things)` box is still not showing after five minutes, make sure that the :abbr:`IoT (Internet of Things)` box can reach the database and that the server doesn't use a multi-database environment." +msgid "When an :abbr:`IoT (Internet of Things)` box connects to a database, it may restart. If so, it can take up to five minutes before appearing in the database. If the :abbr:`IoT (Internet of Things)` box is still not showing after five minutes, make sure that the :abbr:`IoT (Internet of Things)` box can reach the database and that the server does not use a multi-database environment." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:37 @@ -1788,7 +1789,7 @@ msgid "Make sure that the :abbr:`IoT (Internet of Things)` box and the computer msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:48 -msgid "The HTTPS certificate doesn't generate" +msgid "The HTTPS certificate does not generate" msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:50 @@ -1808,7 +1809,7 @@ msgid "The printer is not detected" msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:71 -msgid "If a printer doesn't show up in the devices list, go to the :abbr:`IoT (Internet of Things)` box homepage and make sure that it is listed under :guilabel:`Printers`." +msgid "If a printer does not appear in the devices list, go to the :abbr:`IoT (Internet of Things)` box homepage and make sure that it is listed under :guilabel:`Printers`." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:-1 @@ -1816,7 +1817,7 @@ msgid "The IoT box Home Page landing page." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:78 -msgid "If the printer is not present on the :abbr:`IoT (Internet of Things)` box homepage, click :guilabel:`Printers Server`, go to the :guilabel:`Administration` tab and click on :guilabel:`Add Printer`. If the printer is not present in the list, it's likely not connected properly." +msgid "If the printer is not present on the :abbr:`IoT (Internet of Things)` box homepage, click :guilabel:`Printers Server`, go to the :guilabel:`Administration` tab and click on :guilabel:`Add Printer`. If the printer is not present in the list, it is likely not connected properly." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:83 @@ -1828,242 +1829,242 @@ msgid "For most printers, the correct driver should be automatically detected an msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:89 -msgid "The solution is to manually select the corresponding driver. On the :abbr:`IoT (Internet of Things)` box homepage, click on :guilabel:`Printers Server`, go to the :guilabel:`Printers` tab and select the printer in the list. In the :guilabel:`Administration` dropdown, click on :guilabel:`Modify Printer`. Follow the steps and select the *make* and *model* corresponding to the printer." +msgid "The solution is to manually select the corresponding driver. On the :abbr:`IoT (Internet of Things)` box homepage, click on :guilabel:`Printers Server`, go to the :guilabel:`Printers` tab and select the printer in the list. In the :guilabel:`Administration` drop-down menu, click on :guilabel:`Modify Printer`. Follow the steps and select the *make* and *model* corresponding to the printer." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:-1 msgid "Edit the printer connected to the IoT box." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:99 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:100 msgid "Epson and Star receipt printers and Zebra label printers do not need a driver to work. Make sure that no driver is selected for those printers." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:103 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:104 msgid "Epson configuration special case" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:105 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:106 msgid "Most Epson printers support printing receipts in Odoo :abbr:`POS (Point of Sale)` using the `GS v 0` command. However, the following Epson printer models do not support this command:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:108 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:109 msgid "TM-U220" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:109 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:110 msgid "TM-U230" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:110 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:111 msgid "TM-P60" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:111 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:112 msgid "TMP-P60II" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:113 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:114 msgid "Bypass this issue by configuring the printer to use the `ESC *` command instead." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:116 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:117 msgid "Process to force ESC * command" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:119 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:120 msgid "Epson printer compatibility" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:121 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:122 msgid "The first step is to check whether the printer is incompatible with `GS v 0` command." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:125 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:126 msgid "`Epson GS v 0 documentation `_ for `GS v 0` compatible printers." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:127 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:128 msgid "`Epson ESC * documentation `_ for `ESC *` compatible printers." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:130 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:131 msgid "If the printer is not compatible with the `ESC *` command then the following process is not possible. Should the printer be compatible to use the `ESC *` command to print, follow this process to configure the printer with the :abbr:`IoT (Internet of Things)` box." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:135 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:136 msgid "IoT box configuration for ESC *" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:137 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:138 msgid "To configure the :abbr:`IoT (Internet of Things)` box to use the `ESC *` command to print, go to the :abbr:`IoT (Internet of Things)` box homepage by navigating to :menuselection:`IoT app --> IoT Boxes`. Then click on the :guilabel:`IP address` and this will direct to the :abbr:`IoT (Internet of Things)` box homepage." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:142 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:143 msgid "**Choosing the printer**" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:144 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:145 msgid "Now click on the :guilabel:`Printers server` button. This will redirect the browser to the *CUPS* page. Next, go to :menuselection:`Administration --> Printers --> Add Printer`, choose the printer that should be modified, and then click :guilabel:`Continue`." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:149 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:150 msgid "If the name of the printer is still uncertain, take the following steps:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:151 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:152 msgid "Take note of the listed printers on the *CUPS* page." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:152 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:153 msgid "Turn the printer off and refresh the page." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:153 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:154 msgid "Now compare the difference with the first list to see which printer disappeared." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:154 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:155 msgid "Turn the printer back on and refresh the page again." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:155 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:156 msgid "Double-check the list again to see if the printer re-appears." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:156 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:157 msgid "The printer that disappeared and reappears again on the listed printers is the name of the printer in question." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:160 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:161 msgid "This can be :guilabel:`Unknown` under :guilabel:`Local printers`." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:162 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:163 msgid "**CUPS naming convention**" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:164 -msgid "`CUPS` will prompt the admin for three pieces of information: the :guilabel:`Name`, :guilabel:`Description` and the :guilabel:`Location`. The last two pieces of information do not need to be specific, however, the :guilabel:`Name` should follow a particular convention to work with the `ESC *` command." +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:165 +msgid "`CUPS` will prompt the administrator for three pieces of information: the :guilabel:`Name`, :guilabel:`Description` and the :guilabel:`Location`. The last two pieces of information do not need to be specific, however, the :guilabel:`Name` should follow a particular convention to work with the `ESC *` command." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:169 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:170 msgid "The :guilabel:`Name` should match this convention: `__IMC___...___`" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:172 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:173 msgid "A breakdown of the naming convention:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:174 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:175 msgid "`printer_name`: This is the printer name. It can be any character as long as it does not contain `_`, `/`, `#`, or ` ` (space character)." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:176 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:177 msgid "`IMC`: This stands for *Image Mode Column* (the simplified name for `ESC *`)." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:177 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:178 msgid "`param_1`: This stands for the specific parameter:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:179 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:180 msgid "`SCALE`: Scale of the picture (with the same aspect ratio). `X` should be an integer describing the scale percentage that should be used." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:183 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:184 msgid "`100` is the original size, `50` is half the size, `200` is twice the size." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:185 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:186 msgid "`LDV`: *Low Density Vertical* (will be set to *High Density Vertical* if not specified)." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:186 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:187 msgid "`LDH`: *Low Density Horizontal* (will be set to *High Density Horizontal* if not specified)." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:189 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:190 msgid "*Density* parameters might need to be configured in a particular way depending on the printer model." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:193 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:194 msgid "Visit `Epson's ESC * documentation `_ and click on the printer model printer in the table above to see if the printer should set these parameters." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:198 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:199 msgid "The following are examples of proper and improper name formatting:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:200 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:201 msgid "Proper name formatting:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:202 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:203 msgid "`EPSONTMm30II__IMC__`" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:203 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:204 msgid "`EPSON_TM_U220__IMC_LDV_LDH_SCALE80__`" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:205 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:206 msgid "Improper name formatting (this will not prevent printing, but the result might not have the expected printed output):" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:208 -msgid "`EPSON TMm 30II` -> The name can't have spaces." -msgstr "" - #: ../../content/applications/productivity/iot/config/troubleshooting.rst:209 -msgid "`EPSONTMm30II` -> The name itself is correct, but it won't use `ESC *`." +msgid "`EPSON TMm 30II` -> The name cannot have spaces." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:210 -msgid "`EPSONTMm30II__IMC` -> This name is missing the end `__`." +msgid "`EPSONTMm30II` -> The name itself is correct, but it will not use `ESC *`." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:211 -msgid "`EPSONTMm30II__IMC_XDV__` -> The parameter `XDV` does not match any existing parameters." +msgid "`EPSONTMm30II__IMC` -> This name is missing the end `__`." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:212 +msgid "`EPSONTMm30II__IMC_XDV__` -> The parameter `XDV` does not match any existing parameters." +msgstr "" + +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:213 msgid "`EPSONTMm30II__IMC_SCALE__` -> The parameter `SCALE` is missing the scale value." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:214 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:215 msgid "**Finish adding a printer**" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:216 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:217 msgid "After setting the name of the printer with the appropriate naming convention, click :guilabel:`Continue`. Next, set the :guilabel:`Make` value to :guilabel:`Raw` and for the :guilabel:`Model` value, set this to :guilabel:`Raw Queue (en)`." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:220 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:221 msgid "After completing these steps, click :guilabel:`Add Printer`. If everything was done correctly, the page should redirect to the *Banners* page." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:223 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:224 msgid "At this point the printer should have been created, now the :abbr:`IoT (Internet of Things)` box just needs to detect it and then sync to Odoo's server (this could take a few minutes)." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:226 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:227 msgid "**Adding the printer to Odoo PoS**" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:228 -msgid "Once the printer is visible on the Odoo database, don't forget to choose it in the :abbr:`PoS (Point of Sale)`configuration as the :abbr:`IoT (Internet of Things)` printer. Navigate to :menuselection:`Pos App --> Settings --> Connected Devices --> IoT Box --> Receipt Printer --> Save`." +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:229 +msgid "Once the printer is visible on the Odoo database, do not forget to choose it in the :abbr:`PoS (Point of Sale)`configuration as the :abbr:`IoT (Internet of Things)` printer. Navigate to :menuselection:`Pos App --> Settings --> Connected Devices --> IoT Box --> Receipt Printer --> Save`." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:234 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:235 msgid "If the printer was set up incorrectly (it is still printing random text or the printed receipt is too big or small), then it cannot be modified via the printer name with *CUPS*. Instead, the above process can be repeated to set up another printer from scratch to create one with modified parameters." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:239 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:240 msgid "**Example setup of the Epson TM-U220B printer using ESC**" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:244 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:245 msgid "The following is an example of the troubleshooting process for a TM-U220B printer model using the `ESC *` command. The receipt pictured below is an example of a receipt that is printing correctly due to proper formatting (in theory):" msgstr "" @@ -2071,7 +2072,7 @@ msgstr "" msgid "Properly formatted receipt picture from a demo database." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:252 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:253 msgid "Trying to print this receipt right-away prior to the proper formatting will not work as the TM-U220B printer model does not support `GS v 0`. Instead random characters will print:" msgstr "" @@ -2079,11 +2080,11 @@ msgstr "" msgid "Printer paper with seemingly random characters." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:259 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:260 msgid "To properly configure formatting for the Epson TM-U220B printer model take the following steps." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:261 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:262 msgid "After consulting Epson's website for compatibility for both of the commands: `GS v 0 `_ and `ESC * `_, it can be seen that indeed the TM-U220B is not compatible with `GS v 0`, but is compatible with `ESC *`." msgstr "" @@ -2091,7 +2092,7 @@ msgstr "" msgid "Epson compatibility evaluation from Epson website." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:270 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:271 msgid "When adding the printer, *CUPS* will ask which printer should be added:" msgstr "" @@ -2099,27 +2100,27 @@ msgstr "" msgid "Administration menu, add printer selection." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:276 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:277 msgid "In this case, the printer is connected via :abbr:`USB (Universal Serial Bus)` so it won' be part of the :guilabel:`Discovered Network Printers`. Instead it is likely part of the :guilabel:`Unknown` selection under :guilabel:`Local Printers`. By unplugging the printer's :abbr:`USB (Universal Serial Bus)` cable from the :abbr:`IoT (Internet of Things)` box and refreshing the page, the :guilabel:`Unknown` printer disappears. By plugging it back in, the printer reappears, so it can be said that this is the printer in question." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:283 -msgid "For the naming convention, since it will need to print using the `ESC *` command, it is imperative to add `__IMC`. Reference the printer model on `Epson's ESC * site `_ to find out more about the *density* parameters." +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:284 +msgid "For the naming convention, since it needs to print using the `ESC *` command, it is imperative to add `__IMC`. Reference the printer model on `Epson's ESC * site `_ to find out more about the *density* parameters." msgstr "" #: ../../content/applications/productivity/iot/config/troubleshooting.rst:0 msgid "Epson TM-U220 specifications on manufacturer's website." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:292 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:293 msgid "For this particular model, TM-U220, `m` should be equal to 0 or 1. While referencing the :guilabel:`Description` below the pink box in the above picture, the `m` values could be 0, 1, 32 or 33. So in this printers case, the `m` value can NOT be 32 or 33 (otherwise there will be random characters printed)." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:297 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:298 msgid "The table includes the numeric values: 32 and 33, they both occur if the :guilabel:`Number of bits for vertical data` is set to 24. This means that is a *High Vertical Density*. In the case of configuring the Epson TM-U220, the *Low Vertical Density* will need to be forced, as this printer model does not support *High Vertical Density* for this command `ESC *`." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:302 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:303 msgid "To add a *Low Vertical Density*, add the `LDV` parameter to the naming convention." msgstr "" @@ -2127,7 +2128,7 @@ msgstr "" msgid "Add a *Low Vertical Density* (the `LDV` parameter) to the naming convention." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:308 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:309 msgid "Click :guilabel:`Continue` to proceed. Next, set the :guilabel:`Make` value to :guilabel:`Raw` and for the :guilabel:`Model` value, set this to :guilabel:`Raw Queue (en)`." msgstr "" @@ -2135,31 +2136,31 @@ msgstr "" msgid "Epson TM-U220 specifications on manufacturers website." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:315 -msgid "However when trying to print with the naming convention: `EpsonTMU220B__IMC_LDV__`, it will print the receipt, but it will be too big and outside the margin. To resolve this, add a new printer (and naming convention) with the `SCALE` parameter to adapt to our receipt size." +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:316 +msgid "However, when trying to print with the naming convention: `EpsonTMU220B__IMC_LDV__`, it prints the receipt, but it is too big and outside the margin. To resolve this, add a new printer (and naming convention) with the `SCALE` parameter to adapt to our receipt size." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:319 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:320 msgid "Here are some examples:" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:324 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:325 msgid "Printer Naming Convention" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:325 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:326 msgid "`EpsonTMU220B__IMC_LDV__`" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:326 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:327 msgid "`EpsonTMU220B__IMC_LDV_SCALE75__`" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:327 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:328 msgid "`EpsonTMU220B__IMC_LDV_LDH__`" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:328 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:329 msgid "`EpsonTMU220B__IMC_LDV_LDH_SCALE35__`" msgstr "" @@ -2183,43 +2184,43 @@ msgstr "" msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_LDH_SCALE35__." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:346 -msgid "The Zebra printer doesn't print anything" +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:347 +msgid "The Zebra printer does not print anything" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:348 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:349 msgid "Zebra printers are quite sensitive to the format of the Zebra Programming Language (ZPL) code that is printed. If nothing comes out of the printer or blank labels are printed, try changing the format of the report that is sent to the printer by accessing :menuselection:`Settings --> Technical --> User Interface --> Views` in :ref:`developer mode ` and look for the corresponding template." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:355 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:356 msgid "Check out Zebra's instructions on printing :abbr:`ZPL (Zebra Programming Language)` files `here `_." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:362 -msgid "The characters read by the barcode scanner don't match the barcode" +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:363 +msgid "The characters read by the barcode scanner do not match the barcode" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:364 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:365 msgid "By default, most barcode scanners are configured in the US QWERTY format. If the barcode scanner uses a different layout, go to the form view of the device (:menuselection:`IoT App --> Devices --> Barcode Device`) and select the correct format." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:369 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:370 msgid "Nothing happens when a barcode is scanned" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:371 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:372 msgid "Make sure that the correct device is selected in the :menuselection:`Point of Sale` configuration and that the barcode is configured to send an `ENTER` character (keycode 28) at the end of every barcode. To do so, navigate to :menuselection:`PoS app --> 3-Dot Menu on the PoS --> IoT Box section --> Edit`." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:377 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:378 msgid "The barcode scanner is detected as a keyboard" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:380 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:381 msgid "Some barcode scanners do not advertise themselves as barcode scanners but as a USB keyboard instead, and will not be recognized by the :abbr:`IoT (Internet of Things)` box." msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:383 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:384 msgid "The device type can be manually changed by going to its form view (:menuselection:`IoT App --> Devices --> Barcode Device`) and activating the :guilabel:`Is scanner` option." msgstr "" @@ -2227,11 +2228,31 @@ msgstr "" msgid "Modifying the form view of the barcode scanner." msgstr "" +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:392 +msgid "Barcode scanner processes barcode characters individually" +msgstr "" + #: ../../content/applications/productivity/iot/config/troubleshooting.rst:394 +msgid "When accessing the mobile version of Odoo from a mobile device, or tablet, paired with a barcode scanner, via the :abbr:`IoT (Internet of Things)` box, the scanner may process each barcode character as an individual scan. In this case, the *Keyboard Layout* option **must** be filled out with the appropriate language of the barcode scanner on the *Barcode Scanner* form page." +msgstr "" + +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:400 +msgid "Access the barcode scanner form page by navigating to :menuselection:`IoT App --> Devices --> Barcode Scanner`." +msgstr "" + +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:-1 +msgid "Barcode scanner form page, with keyboard layout option highlighted." +msgstr "" + +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:407 +msgid "The :guilabel:`Keyboard Layout` is language based, and the options available vary, depending on the device and the language of the database. For example: :guilabel:`English (UK)`, :guilabel:`English (US)`, etc." +msgstr "" + +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:415 msgid "The cash drawer does not open" msgstr "" -#: ../../content/applications/productivity/iot/config/troubleshooting.rst:396 +#: ../../content/applications/productivity/iot/config/troubleshooting.rst:417 msgid "The cash drawer should be connected to the printer and the :guilabel:`Cash drawer` checkbox should be ticked in the :abbr:`PoS (Point of Sale)` configuration. To do so, navigate to :menuselection:`POS app --> 3-Dot Menu on the POS --> IoT Box section --> Edit --> Receipt Printer --> Cashdrawer checkbox`." msgstr "" @@ -2280,7 +2301,7 @@ msgid "Odoo :abbr:`IoT (Internet of Things)` subscription. Refer to: :ref:`iot/i msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:33 -msgid "Connect the Windows virtual Iot box to an Odoo database" +msgid "Connect the Windows virtual IoT box to an Odoo database" msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:35 @@ -2296,7 +2317,7 @@ msgid "To begin the installation, navigate to the Odoo 16 or higher installation msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:46 -msgid "During the next step of the installation, select :guilabel:`Odoo IoT` from the :guilabel:`Select the type of install` dropdown." +msgid "During the next step of the installation, select :guilabel:`Odoo IoT` from the :guilabel:`Select the type of install` drop-down menu." msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:50 @@ -2336,7 +2357,7 @@ msgid "Choosing ``C:\\odoo`` as the install location will allow for the Nginx se msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:71 -msgid "Odoo's Windows virtual IoT software shouldn't be installed inside any of the Window's User's directories. Doing so won't allow for Nginx to initialize." +msgid "Odoo's Windows virtual IoT software should not be installed inside any of the Window's User's directories. Doing so will not allow for Nginx to initialize." msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:74 @@ -2344,7 +2365,7 @@ msgid "The installation may take a few minutes. When complete, click :guilabel:` msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:76 -msgid "Ensure that the :guilabel:`Start Odoo` box is checked and click :guilabel:`Finish`. After installation, the Odoo server will run and automatically open `http://localhost:8069` on your web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage." +msgid "Ensure that the :guilabel:`Start Odoo` box is checked and click :guilabel:`Finish`. After installation, the Odoo server will run and automatically open `http://localhost:8069` on a web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage." msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:81 @@ -2359,99 +2380,323 @@ msgstr "" msgid "Next, connect the :abbr:`IoT (Internet of Things)` devices to the Windows computer. Windows should automatically detect the device because the driver is pre-installed on the computer. If not, search for and install the Windows driver for the device." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:91 -msgid "Following connecting devices to the computer, refresh the :abbr:`IoT (Internet of Things)` box homepage and verify the device is seen. If not, reload the handlers through the :abbr:`IoT (Internet of Things)` box homepage." +#: ../../content/applications/productivity/iot/config/windows_iot.rst:92 +msgid "Most devices connect to the Windows Machine for Windows IoT automatically through Windows Plug-N-Play (PnP). However, if Windows does not automatically recognize the device after connecting, then the administrator may need to install the corresponding drivers manually." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:95 -msgid "Finally, connect Windows :abbr:`IoT (Internet of Things)` to a database using existing instructions (manually using the Token)." +#: ../../content/applications/productivity/iot/config/windows_iot.rst:96 +msgid "Devices automatically recognized:" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:98 +msgid "Regular ink/toner based printers" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:99 +msgid "Receipt printers (Epson/Star)" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:100 +msgid "Barcode scanners" msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:101 -msgid "Now the installation is complete, the devices connected to :abbr:`IoT (Internet of Things)` can be used to complete processes/actions." +msgid "Measurement devices (although some configuration of the measurement device settings is required) See this documentation: :doc:`../devices/measurement_tool`" msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:110 -msgid "Restart Windows IoT box" +#: ../../content/applications/productivity/iot/config/windows_iot.rst:104 +msgid "Devices not automatically recognized (requires manual driver download):" msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:112 -msgid "In some instances a manual restart of the physical :abbr:`IoT (Internet of Things)` box can resolve the issue of an :abbr:`IoT (Internet of Things)` box not showing up on the database. For the Windows virtual :abbr:`IoT (Internet of Things)` box a manual restart of the Odoo server can resolve database connection issues." +#: ../../content/applications/productivity/iot/config/windows_iot.rst:106 +msgid "Label printers (Zebra)" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:107 +msgid "Scales" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:109 +msgid "Reference the manufacturer's website for the equipment in question. Then, download the drivers and install them on the Windows machine. Reconnect the device in question and Windows will find the device." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:113 +msgid "Following connecting devices to the computer, refresh the :abbr:`IoT (Internet of Things)` box homepage and verify the device is seen. If not, reload the handlers through the :abbr:`IoT (Internet of Things)` box homepage." msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:117 -msgid "To restart the virtual Windows IoT server:" +msgid "Finally, connect Windows :abbr:`IoT (Internet of Things)` to a database using existing instructions (manually using the Token)." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:119 -msgid "Type `Services` into the Windows :guilabel:`Search Bar`." +#: ../../content/applications/productivity/iot/config/windows_iot.rst:123 +msgid "Now the installation is complete, the devices connected to :abbr:`IoT (Internet of Things)` can be used to complete processes/actions." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:120 -msgid "Select the :menuselection:`Services` App and scroll down to the :guilabel:`Odoo` service." -msgstr "" - -#: ../../content/applications/productivity/iot/config/windows_iot.rst:121 -msgid "Right click on :guilabel:`Odoo` and select :guilabel:`Start` or :guilabel:`Restart`. This action will manually restart the Odoo IoT server." -msgstr "" - -#: ../../content/applications/productivity/iot/config/windows_iot.rst:125 -msgid "Firewalls" -msgstr "" - -#: ../../content/applications/productivity/iot/config/windows_iot.rst:127 -msgid "Firewalls keep devices safe and secure. Sometimes they can block connections that should be made though. The Windows virtual :abbr:`IoT (Internet of Things)` box software may not be reachable to the :abbr:`LAN (Local Area Network)` due to a firewall preventing the connection. Consult your local IT support team to make exceptions (network discovery) in the :abbr:`OS (Operating System)` or firewall program. Windows has their own firewall as do other virus protection programs." +#: ../../content/applications/productivity/iot/config/windows_iot.rst:132 +msgid "Restart Windows IoT box" msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:134 -msgid "A client might encounter a time when they are able to reach the homepage of the :abbr:`IoT (Internet of Things)` box, yet they cannot access it from another computer/mobile device/tablet on the same network." +msgid "In some instances a manual restart of the physical :abbr:`IoT (Internet of Things)` box can resolve the issue of an :abbr:`IoT (Internet of Things)` box not showing up on the database. For the Windows virtual :abbr:`IoT (Internet of Things)` box a manual restart of the Odoo server can resolve database connection issues." msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:139 -msgid "Making an exception on Windows Defender" +msgid "To restart the virtual Windows IoT server:" msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:141 -msgid "It's possible to allow other devices to access the Windows virtual :abbr:`IoT (Internet of Things)` box while keeping the firewall on. This is done by creating a rule on *Windows Defender* and allowing communication through port `8069`. The following process describes the steps to take in order to make this exception." +msgid "Type `Services` into the Windows :guilabel:`Search Bar`." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:142 +msgid "Select the :menuselection:`Services` App and scroll down to the :guilabel:`Odoo` service." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:143 +msgid "Right click on :guilabel:`Odoo` and select :guilabel:`Start` or :guilabel:`Restart`. This action will manually restart the Odoo IoT server." msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:147 -msgid "Create a rule in Windows Defender" +msgid "Firewalls" msgstr "" #: ../../content/applications/productivity/iot/config/windows_iot.rst:149 +msgid "Firewalls keep devices safe and secure. Sometimes they can block connections that should be made though. The Windows virtual :abbr:`IoT (Internet of Things)` box software may not be reachable to the :abbr:`LAN (Local Area Network)` due to a firewall preventing the connection. Consult your local IT support team to make exceptions (network discovery) in the :abbr:`OS (Operating System)` or firewall program. Windows has their own firewall as do other virus protection programs." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:156 +msgid "A client might encounter a time when they are able to reach the homepage of the :abbr:`IoT (Internet of Things)` box, yet they cannot access it from another computer/mobile device/tablet on the same network." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:161 +msgid "Making an exception on Windows Defender" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:163 +msgid "It is possible to allow other devices to access the Windows virtual :abbr:`IoT (Internet of Things)` box while keeping the firewall on. This is done by creating a rule on *Windows Defender* and allowing communication through port `8069`. The following process describes the steps to take in order to make this exception." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:169 +msgid "Create a rule in Windows Defender" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:171 msgid "First, open the *Windows Firewall* by navigating to the :menuselection:`Start Menu` and typing in `Firewall`. Then, open the :menuselection:`Windows Defender Firewall` program. In the left-hand menu, navigate to :guilabel:`Advanced Settings`." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:153 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:175 msgid "Once :guilabel:`Advanced Settings` have been selected, click :guilabel:`Inbound Rules` in the left-hand menu. Then, in the right-hand menu column (under :guilabel:`Inbound Rules`), click on :guilabel:`New Rule` to create a new rule." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:158 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:180 msgid "Configure new rule" msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:160 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:182 msgid "On the :menuselection:`Rule Type` screen, select :guilabel:`Port`. Then click :guilabel:`Next`. From the :menuselection:`Protocol and Ports` page leave the rule application to :guilabel:`TCP`. Then, select :guilabel:`Specific Local Ports` for the :guilabel:`ports` option. In the text box, type in `8069`. Finally click :guilabel:`Next` to continue to the next step." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:165 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:187 msgid "On the :menuselection:`Actions` page, select :guilabel:`Allow the connection` and click :guilabel:`Next`. The following page on the :menuselection:`Rule Configuration` wizard is the :guilabel:`Profile` page. On this page, select whichever connection type applies to the network the Windows machine is operating on. Ideally, select :guilabel:`Private` only connections. The *Private* connection type is the most secure connection while allowing the selected port to communicate. Click :guilabel:`Next` to continue." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:172 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:194 msgid "Finally, assign a new, unique name to the rule. For example, this name can be `Odoo`. Optionally, add a brief description in the :guilabel:`Description` field. Click :guilabel:`Finish` to complete the :guilabel:`Rule Configuration` wizard. Now, the new rule is active and devices can connect to the Windows virtual :abbr:`IoT (Internet of Things)` box." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:178 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:200 +msgid "Worldline exception" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:202 +msgid "*Worldline* is a payment terminal that can be connected to Odoo's *PoS* (point of sale) system. It allows for a comprehensive and fluid payment experience for customers. Worldline is available in Benelux (coalition of Belgium, the Netherlands, and Luxembourg)." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:206 +msgid "When using the Windows IoT server to connect the Worldline payment terminal, it is necessary to create an exception in the Windows firewall so that a connection can be made between the Odoo database/:abbr:`IoT (Internet of Things)` box and Worldline." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:211 +msgid ":doc:`../../../sales/point_of_sale/payment_methods/terminals/worldline`" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:213 +msgid "To create the exception, first, open the *Windows Defender Firewall* app on the Windows machine. This can be accomplished by typing `windows defender` in the :guilabel:`Search` bar." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:216 +msgid "Next, click :guilabel:`Advanced settings` in the left menu." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:-1 +msgid "Advanced settings option highlighted in the left pane of the Windows Defender Firewall app." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:222 +msgid "In the left menu, choose :guilabel:`Inbound Rules`." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:-1 +msgid "Windows Defender left window pane with inbound rules menu item highlighted." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:228 +msgid "After selecting :guilabel:`Inbound Rules`, select :guilabel:`New Rule` in the far right menu." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:-1 +msgid "New rule dropdown shown with new rule option highlighted." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:234 +msgid "Then, for the :guilabel:`Rule Type`, select the radio button for :guilabel:`Port`. Click :guilabel:`Next` to continue to the rest of the configuration." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:-1 +msgid "Rule Type window open, with the radio button next to port highlighted." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:241 +msgid "On the :guilabel:`Protocols and Ports` page, choose the radio button for :guilabel:`TCP`, under :guilabel:`Does this rule apply to TCP or UDP?`." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:244 +msgid "Next, under :guilabel:`Does this rule apply to all local ports or specific ports?`, select the radio button for :guilabel:`Specific local ports`. Then, enter `9050`, and click :guilabel:`Next` to continue." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:-1 +msgid "Protocol/port configuration window with TCP, specific port (9050) and Next highlighted." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:252 +msgid "The next screen is the :guilabel:`Action` page. Under :guilabel:`What action should be taken when a connection matches the specified conditions?`, choose the radio button for :guilabel:`Allow the connection`. Then, click :guilabel:`Next` to continue." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:256 +msgid "A :guilabel:`Profile` page appears. Under :guilabel:`When does this rule apply?`, leave the three boxes checked for: :guilabel:`Domain`, :guilabel:`Private`, and :guilabel:`Public`. Click :guilabel:`Next` to continue to the naming convention page." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:260 +msgid "On the :guilabel:`Name` page, enter `Odoo Worldline`, under the :guilabel:`Name` field. Enter a :guilabel:`Description (optional)`. Finally, once ready, click :guilabel:`Finish`." +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:263 +msgid "The final :guilabel:`Inbound rule` should appear as follows:" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:270 +msgid "Odoo Worldline" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:271 +msgid "Profile" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:272 +msgid "All" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:273 +msgid "Enabled" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:274 +msgid "Yes" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:276 +msgid "Allow" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:277 +msgid "Override" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:278 +msgid "No" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:279 +msgid "Program" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:280 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:282 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:284 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:290 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:292 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:294 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:296 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:298 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:302 +msgid "Any" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:281 +msgid "Local Address" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:283 +msgid "Remote Address" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:285 +msgid "Protocol" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:286 +msgid "TCP" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:287 +msgid "Local Port" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:288 +msgid "9050" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:289 +msgid "Remote Port" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:291 +msgid "Authorized Users" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:293 +msgid "Authorized Computers" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:295 +msgid "Authorized Local Principals" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:297 +msgid "Local User Owner" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:299 +msgid "PolicyAppld" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:300 +msgid "None" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:301 +msgid "Application Package" +msgstr "" + +#: ../../content/applications/productivity/iot/config/windows_iot.rst:305 msgid "Uninstalling Windows IoT" msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:180 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:307 msgid "Uninstalling the Windows virtual :abbr:`IoT (Internet of Things)` box is done through the Windows program manager. Using any Windows version, search for `program`. Then, select :guilabel:`Add or Remove Programs` located in the control panel. Search for `Odoo` and click the :guilabel:`three dot menu` to uninstall." msgstr "" -#: ../../content/applications/productivity/iot/config/windows_iot.rst:185 +#: ../../content/applications/productivity/iot/config/windows_iot.rst:312 msgid "Confirm the un-installation and follow the steps to uninstall through the Odoo uninstall guide." msgstr "" @@ -2790,14 +3035,14 @@ msgid "The printer devices listed in the IoT Devices menu." msgstr "" #: ../../content/applications/productivity/iot/devices/printer.rst:111 -msgid "Now, each time :guilabel:`Print` is selected in the control panel, instead of downloading a PDF, Odoo sends the report to the selected printer, and automatically prints it." +msgid "Now, each time :guilabel:`Print` is selected in the control panel, instead of downloading a PDF, a pop-up appears which displays all the printer(s) linked to the report. Then Odoo sends the report to the selected printer(s), and automatically prints it." msgstr "" -#: ../../content/applications/productivity/iot/devices/printer.rst:115 +#: ../../content/applications/productivity/iot/devices/printer.rst:116 msgid ":doc:`POS Order Printing <../../../sales/point_of_sale/restaurant/kitchen_printing>`" msgstr "" -#: ../../content/applications/productivity/iot/devices/printer.rst:118 +#: ../../content/applications/productivity/iot/devices/printer.rst:119 msgid "Reports can also be configured in the :guilabel:`Technical Menu` while in :ref:`debug mode `. To do that, navigate to :menuselection:`Settings App --> Technical Menu --> Actions --> Reports`. From here, the individual report can be found in this list, where the :guilabel:`IoT Device` can be set on the report." msgstr "" diff --git a/locale/sources/sales.pot b/locale/sources/sales.pot index d8e37b5e5..dfa1dd5b8 100644 --- a/locale/sources/sales.pot +++ b/locale/sources/sales.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -53,7 +53,7 @@ msgstr "" #: ../../content/applications/sales/crm/track_leads/prospect_visits.rst:12 #: ../../content/applications/sales/point_of_sale/configuration.rst:6 #: ../../content/applications/sales/point_of_sale/employee_login.rst:13 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:11 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:13 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:13 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:12 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:14 @@ -70,6 +70,7 @@ msgstr "" #: ../../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/point_of_sale/shop/ship_later.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:14 @@ -1201,35 +1202,39 @@ msgstr "" msgid "**Cash** is selected by default if you enter the amount without choosing a payment method." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:52 +#: ../../content/applications/sales/point_of_sale.rst:50 +msgid "The system can only load a limited number of products for effective opening. Click :guilabel:`Search more` if the desired product is not loaded automatically." +msgstr "" + +#: ../../content/applications/sales/point_of_sale.rst:56 msgid "Set customers" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:54 +#: ../../content/applications/sales/point_of_sale.rst:58 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:59 +#: ../../content/applications/sales/point_of_sale.rst:63 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:64 +#: ../../content/applications/sales/point_of_sale.rst:68 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 +#: ../../content/applications/sales/point_of_sale.rst:75 msgid "Customer notes" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:73 +#: ../../content/applications/sales/point_of_sale.rst:77 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:77 +#: ../../content/applications/sales/point_of_sale.rst:81 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:81 +#: ../../content/applications/sales/point_of_sale.rst:85 msgid "Product notes from an :doc:`imported SO ` are displayed identically in the cart." msgstr "" @@ -1237,7 +1242,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:87 +#: ../../content/applications/sales/point_of_sale.rst:91 msgid "Customer notes appear on customers' receipts and invoices similarly to how they appear in the cart, under the related product." msgstr "" @@ -1245,35 +1250,35 @@ msgstr "" msgid "Customer receipt with notes from an SO and from the customer note feature" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:96 +#: ../../content/applications/sales/point_of_sale.rst:100 msgid "Return and refund products" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:98 +#: ../../content/applications/sales/point_of_sale.rst:102 msgid "To return and refund a product," msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:100 +#: ../../content/applications/sales/point_of_sale.rst:104 msgid ":ref:`start a session ` from the **POS dashboard**;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:101 +#: ../../content/applications/sales/point_of_sale.rst:105 msgid "click :guilabel:`Refund` and select the corresponding order;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:102 +#: ../../content/applications/sales/point_of_sale.rst:106 msgid "select the product and the quantity to refund using the keypad;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:103 +#: ../../content/applications/sales/point_of_sale.rst:107 msgid "click :guilabel:`Refund` to go back to the previous screen;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:104 +#: ../../content/applications/sales/point_of_sale.rst:108 msgid "once the order is completed, click :guilabel:`Payment` to proceed to the refund;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:105 +#: ../../content/applications/sales/point_of_sale.rst:109 msgid "click :guilabel:`Validate` and :guilabel:`New Order` to move on to the next customer." msgstr "" @@ -1281,31 +1286,31 @@ msgstr "" msgid "refund view from a POS" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:111 +#: ../../content/applications/sales/point_of_sale.rst:115 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:113 +#: ../../content/applications/sales/point_of_sale.rst:117 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:120 +#: ../../content/applications/sales/point_of_sale.rst:124 msgid "Close the POS session" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:122 +#: ../../content/applications/sales/point_of_sale.rst:126 msgid "To close your session, click :guilabel:`Close` in the upper right corner of your screen; 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:126 +#: ../../content/applications/sales/point_of_sale.rst:130 msgid "the number of orders made and the total amount made during the session;" msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:127 +#: ../../content/applications/sales/point_of_sale.rst:131 msgid "the expected amounts grouped by payment method." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:129 +#: ../../content/applications/sales/point_of_sale.rst:133 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 "" @@ -1313,23 +1318,23 @@ msgstr "" msgid "How to close a POS session." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:138 +#: ../../content/applications/sales/point_of_sale.rst:142 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:142 +#: ../../content/applications/sales/point_of_sale.rst:146 msgid "You can let the session open by clicking :guilabel:`Backend` or abort and keep selling by clicking :guilabel:`Discard`." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:144 +#: ../../content/applications/sales/point_of_sale.rst:148 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:149 +#: ../../content/applications/sales/point_of_sale.rst:153 msgid "It is strongly advised to close your POS session at the end of each day." msgstr "" -#: ../../content/applications/sales/point_of_sale.rst:150 +#: ../../content/applications/sales/point_of_sale.rst:154 msgid "To look at all your previous sessions, go to :menuselection:`Point of Sale --> Orders --> Sessions`." msgstr "" @@ -1870,6 +1875,7 @@ msgid "setting to enable multiple cashiers in POS" msgstr "" #: ../../content/applications/sales/point_of_sale/employee_login.rst:26 +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:32 msgid "Practical application" msgstr "" @@ -1946,6 +1952,10 @@ msgid ":doc:`payment_methods/terminals`." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods.rst:25 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:78 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:45 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:63 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:72 msgid "Once the payment method is created, you can select it in your POS settings. To do so, go to the :ref:`POS' settings `, click :guilabel:`Edit`, and add the payment method under the :guilabel:`Payments` section." msgstr "" @@ -1957,43 +1967,43 @@ msgstr "" msgid "Connecting and integrating a payment terminal with your POS system allows you to accept multiple payment options, including credit and debit cards, making the payment process more efficient." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:13 -msgid "Go to the :doc:`application settings <../configuration>`, scroll down to the :guilabel:`Payment Terminals` section, and tick your terminal's checkbox." +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:15 +msgid "Go to the :ref:`application settings `, scroll down to the :guilabel:`Payment Terminals` section, and tick your terminal's checkbox." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:-1 msgid "checkbox in the settings to enable a payment terminal" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:19 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:21 msgid "Then, follow the corresponding documentation to configure your device:" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:21 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:23 msgid ":doc:`Adyen configuration `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:22 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:24 msgid ":doc:`Ingenico configuration `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:23 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:25 msgid ":doc:`SIX configuration `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:24 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:26 msgid ":doc:`Stripe configuration `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:25 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:27 msgid ":doc:`Vantiv configuration `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:26 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:28 msgid ":doc:`Worldline configuration `" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:28 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals.rst:30 msgid "Once the terminal is configured, you can :doc:`create the corresponding payment method and add it to the POS <../payment_methods>`." msgstr "" @@ -2017,7 +2027,63 @@ msgstr "" msgid "`Adyen Docs - Payment terminal quickstart guides `_." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:23 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:25 +msgid "Generate an Adyen API key" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:27 +msgid "The **Adyen API key** is used to authenticate requests from your Adyen terminal. To generate an API key, go to your :menuselection:`Adyen account --> Developers --> API credentials`, and **create** new credentials or select **existing** ones. Click :guilabel:`Generate an API key` and save the key to paste it into the Odoo :guilabel:`Adyen API key` field at :ref:`the payment method creation `." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:34 +msgid "`Adyen Docs - API credentials `_." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:40 +msgid "Locate the Adyen terminal identifier" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:42 +msgid "The **Adyen Terminal Identifier** is the terminal's serial number, which is used to identify the hardware." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:45 +msgid "To find this number, go to your :menuselection:`Adyen account --> Point of Sale --> Terminals`, select the terminal to link with, and save its serial number to paste it into the Odoo :guilabel:`Adyen Terminal Identifier` field at :ref:`the payment method creation `." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:51 +msgid "Set the Event URLs" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:53 +msgid "For Odoo to know when a payment is made, you must configure the terminal **Event URLs**. To do so," +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:55 +msgid "Log in to `Adyen's website `_;" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:56 +msgid "Go to :menuselection:`Adyen's dashboard --> Point of Sale --> Terminals` and select the connected terminal;" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:58 +msgid "From the terminal settings, click :guilabel:`Integrations`;" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:59 +msgid "Set the :guilabel:`Switch to decrypted mode to edit this setting` field as :guilabel:`Decrypted`;" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:60 +msgid "Click the **pencil icon** button and enter your server address, followed by `/pos_adyen/notification` in the :guilabel:`Event URLs` field;" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:62 +msgid "Click :guilabel:`Save` at the bottom of the screen to save changes." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:67 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:36 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:53 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/stripe.rst:15 @@ -2025,99 +2091,23 @@ msgstr "" msgid "Configure the payment method" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:25 -msgid "First, go to :menuselection:`Point of Sale --> Configuration --> Settings --> Payment Terminals`, and enable :guilabel:`Adyen`. Then, go to :menuselection:`Configuration --> Payment Methods` and create a new payment method. Select :guilabel:`Adyen` in the :guilabel:`Use a Payment Terminal` field." +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:69 +msgid "Enable the payment terminal :ref:`in the application settings ` and :doc:`create the related payment method <../../payment_methods>`. Set the journal type as :guilabel:`Bank` and select :guilabel:`Adyen` in the :guilabel:`Use a Payment Terminal` field." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:31 -msgid "The selected journal **must** be a bank journal for the :guilabel:`Use a payment terminal` field to appear." +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:73 +msgid "Finally, fill in the mandatory fields with your :ref:`Adyen API key `, :ref:`Adyen Terminal Identifier `, and :guilabel:`Adyen Merchant Account`." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:34 -msgid "Finally, fill the mandatory fields with an :guilabel:`Adyen API key`, and an :guilabel:`Adyen Terminal Identifier`." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:38 -msgid "Generate an Adyen API key" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:40 -msgid "The **Adyen API key** is a key used to authenticate your requests. To generate an API key, go to your **Adyen account**." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:43 -msgid "Then, go to :menuselection:`Developers --> API credentials`. Create a new credential or click on an existing one." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:46 -msgid "Click on :guilabel:`Generate an API key` and copy-paste that key onto the Odoo mandatory field." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:49 -msgid "`Adyen Docs - API credentials `_." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:53 -msgid "Locate the Adyen terminal identifier" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:55 -msgid "The **Adyen Terminal Identifier** is your terminal's serial number, which is used to identify the hardware." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:58 -msgid "To find this number, go to your **Adyen account**. Then, go to :menuselection:`Point of Sale --> Terminals`, select the terminal to link, and copy-paste its serial number onto the Odoo mandatory field." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:63 -msgid "Set the Event URLs" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:65 -msgid "For Odoo to know when a payment is made, you must set the terminal **Event URLs**. To do so," -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:67 -msgid "log in to `Adyen's website `_;" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:68 -msgid "go to :menuselection:`Adyen's dashboard --> Point of Sale --> Terminals` and select the connected terminal;" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:70 -msgid "from the terminal settings, click :guilabel:`Integrations`;" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:71 -msgid "set the :guilabel:`Switch to decrypted mode to edit this setting` field as :guilabel:`Decrypted`;" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:72 -msgid "click the **pencil icon** button and enter your server address, followed by `/pos_adyen/notification` in the :guilabel:`Event URLs` field; and" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:74 -msgid "click :guilabel:`Save` at the bottom of the screen to save the changes." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:77 -msgid "Add a new payment method" -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:79 -msgid "To add a new **payment method** to a point of sale, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`. Then, select the POS and go to :menuselection:`Payments --> Payment Methods`, and add your new method for Adyen." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:84 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:53 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:65 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:83 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:50 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:68 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/stripe.rst:86 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:86 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:87 msgid "Pay with a payment terminal" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:86 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:85 msgid "When processing a payment, select :guilabel:`Adyen` as the payment method. Check the amount and click on :guilabel:`Send`. Once the payment is successful, the status changes to :guilabel:`Payment Successful`." msgstr "" @@ -2131,7 +2121,7 @@ msgstr "" msgid "This option is only available after receiving an error message informing you that the connection failed." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:95 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/adyen.rst:94 msgid "To cancel the payment request, click on :guilabel:`cancel`." msgstr "" @@ -2171,30 +2161,26 @@ msgid "Now, click on connection change and TCP/IP. Type the IP of your *IoT Box* msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:38 -msgid "First, go in the general settings of the POS app, and activate the Ingenico setting." +msgid "Enable the payment terminal :ref:`in the application settings ` and :doc:`create the related payment method <../../payment_methods>`. Set the journal type as :guilabel:`Bank` and select :guilabel:`Ingenico` in the :guilabel:`Use a Payment Terminal` field. Then, select your terminal device in the :guilabel:`Payment Terminal Device` field." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:44 -msgid "Go back in :menuselection:`Point of Sale --> Configuration --> Point of Sale`, go in the payments section and access your payment methods. Create a new payment method for Ingenico, select the payment terminal option Ingenico, and select your payment terminal device." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:55 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:52 msgid "In your *PoS interface*, when processing a payment, select a *Payment Method* using a payment terminal. Check that the amount in the tendered column is the one that has to be sent to the payment terminal and click on *Send*. When the payment is successful, the status will change to *Payment Successful*." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:64 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:61 msgid "If you want to cancel the payment request, click on cancel. You can still retry to send the payment request." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:67 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:64 msgid "If there is any issue with the payment terminal, you can still force the payment using the *Force Done*. This will allow you to validate the order in Odoo even if the connection between the terminal and Odoo has issues." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:73 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:70 msgid "This option will only be available if you received an error message telling you the connection failed." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:76 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:73 msgid "Once your payment is processed, on the payment record, you’ll find the type of card that has been used and the transaction ID." msgstr "" @@ -2251,14 +2237,14 @@ msgid "Confirming the connection to the Six payment terminal" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:55 -msgid "From your database, go to :menuselection:`Point of Sale --> Configuration --> Payment Methods` to create a new payment method specifically for Six. Click :guilabel:`New`, enter a :guilabel:`Name`, set the :guilabel:`Journal` field as :guilabel:`Bank`, the :guilabel:`Use a Payment Terminal` field as :guilabel:`SIX IOT`, and select the corresponding device in the :guilabel:`Payment Terminal Device` field." +msgid "Enable the payment terminal :ref:`in the application settings ` and :doc:`create the related payment method <../../payment_methods>`. Set the journal type as :guilabel:`Bank` and select :guilabel:`SIX IOT` in the :guilabel:`Use a Payment Terminal` field. Then, select your terminal device in the :guilabel:`Payment Terminal Device` field." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:-1 msgid "Creating a new payment method for the SIX payment terminal" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:67 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:70 msgid "When processing a payment, select :ref:`your Six payment method ` in the :guilabel:`Payment Method` section and click :guilabel:`Send`. To cancel the payment request, click :guilabel:`Cancel`. Once the payment is successful, the status switches to :guilabel:`Payment Successful`." msgstr "" @@ -2266,20 +2252,20 @@ msgstr "" msgid "Paying with Six" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:76 -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:91 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:79 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:92 msgid "Once your payment is processed, the type of card used and the transaction ID appear on the payment record." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:78 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:81 msgid "The language used for error messages is the same as the Six terminal. Configure the terminal to change the language or contact Six." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:80 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:83 msgid "By default, the port used by the Six terminal is `7784`." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:83 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:86 msgid "If there are connection issues between the payment terminal and Odoo, you can still force the payment validation in Odoo using the :guilabel:`Force Done` button." msgstr "" @@ -2528,42 +2514,38 @@ msgid "On the *Port number* screen, enter **9001** (or **9050** for Windows) and msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:65 -msgid "From the Point of Sale application, go to :menuselection:`Configuration --> Settings --> Payment terminals` and activate the *Worldline* payment terminal." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:71 -msgid "Then, go to :menuselection:`Configuration --> Payment methods` and create a new payment method for *Worldline*. Select the payment terminal *Worldline* and your payment terminal device on your *Payment Method form*." -msgstr "" - -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:78 -msgid "Technician password: `1235789`" +msgid "Enable the payment terminal :ref:`in the application settings ` and :doc:`create the related payment method <../../payment_methods>`. Set the journal type as :guilabel:`Bank` and select :guilabel:`Worldline` in the :guilabel:`Use a Payment Terminal` field. Then, select your terminal device in the :guilabel:`Payment Terminal Device` field." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:79 +msgid "Technician password: `1235789`" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:80 msgid "To reach Wordline's technical assistance, call `02 727 61 11` and choose \"merchant\". Your call is automatically transferred to the desired service." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:81 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:82 msgid "Configure the cashier terminal if you have both a customer and a cashier terminal." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:82 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:83 msgid "To avoid blocking the terminal, check the initial configuration beforehand." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:83 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:84 msgid "Set a fixed IP to your IoT Box’s router to prevent losing the connexion." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:88 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:89 msgid "When processing a payment, select *Worldline* as payment method. Check the amount and click on *Send*. Once the payment is successful, the status changes to *Payment Successful*." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:98 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:99 msgid "In case of connexion issues between Odoo and the payment terminal, force the payment by clicking on *Force Done*, which allows you to validate the order. This option is only available after receiving an error message informing you that the connection failed." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:101 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:102 msgid "To cancel the payment request, click on **cancel**." msgstr "" @@ -3747,6 +3729,70 @@ msgstr "" msgid ":doc:`/applications/inventory_and_mrp/inventory/product_management/product_tracking/lots`" msgstr "" +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:3 +msgid "Ship later" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:5 +msgid "The **Ship Later** feature allows you to sell products and schedule delivery at a later date. It is useful, for example, when a product is out of stock or so voluminous that it requires to be shipped, or if, for any reason, the customer needs their order to be shipped later, etc." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:12 +msgid ":ref:`Go to the POS settings `, scroll down to the :guilabel:`Inventory` section, and enable :guilabel:`Allow Ship Later`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:-1 +msgid "settings to enable and configure the ship later feature" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:19 +msgid "Once activated, you can:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:21 +msgid "Choose the location from where the products are shipped by selecting a :guilabel:`Warehouse`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:22 +msgid "Define a :guilabel:`Specific route`, or leave this field empty to use the default route." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:23 +msgid "Define the :guilabel:`Shipping Policy`; select :guilabel:`As soon as possible` if the products can be delivered separately or :guilabel:`When all products are ready` to ship all the products at once." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:28 +msgid ":doc:`../../../inventory_and_mrp/inventory/shipping_receiving/setup_configuration/delivery_method`" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:29 +msgid ":doc:`../../../inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses_locations`" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:34 +msgid ":ref:`Open a session ` and make a sale." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:35 +msgid "On the payment screen, set a customer and select :guilabel:`Ship Later`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:36 +msgid "On the popup window, set a shipping date and click :guilabel:`Confirm` to proceed to payment." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:-1 +msgid "selecting ship later at checkout." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:42 +msgid "The system instantly creates a delivery order from the warehouse to the shipping address." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/shop/ship_later.rst:45 +msgid "The selected customer must have referenced an address in the system for products to be shipped." +msgstr "" + #: ../../content/applications/sales/rental.rst:3 msgid "Rental" msgstr "" @@ -4402,7 +4448,7 @@ msgid "Click :guilabel:`New` to create a new marketplace record." msgstr "" #: ../../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 `_." +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:140 @@ -4487,88 +4533,88 @@ msgid "To ensure that Odoo's eBay products have all the categories available on msgstr "" #: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:53 -msgid "Navigate to :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`. Click into the scheduled action labeled: :guilabel:`Ebay: update categories` and then click :guilabel:`Run Manually`. This action will populate the :menuselection:`Sales --> Configuration --> eBay Categories` menu item with all standard eBay product categories." +msgid "Navigate to :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`. Click into the scheduled action labeled: :guilabel:`Ebay: update categories` and then click :guilabel:`Run Manually`." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:59 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:58 msgid "Odoo only recognizes eBay category paths up to four layers deep. If a product has a listing of more than four, the category field will only populate up to the fourth layer." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:62 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:61 msgid "If product categories beyond four paths are required, users need to manually add those paths. This has historically been done by getting a list of all product categories beyond 4 paths, manually importing them into the Product Category model in Odoo, then linking them individually to the product." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:67 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:66 msgid "Users can import the remaining product categories into the eBay product categories manually using using the :guilabel:`Action` menu and :guilabel:`Import` feature." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:71 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:70 msgid "Link eBay listings" msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:73 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:72 msgid "To add eBay listings in Odoo, either manually add products, using a listing ID, or establish an automatic listing link between Odoo and eBay." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:77 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:76 msgid "For more information on listing a product from scratch visit: :ref:`How to list a product? `" msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:81 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:80 msgid "Manual listing link" msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:83 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:82 msgid "To add an eBay listing to products in Odoo, begin by going to :menuselection:`Sales app --> Products --> Products` and selecting the desired product. Click on :guilabel:`Sell on eBay` (either in the :guilabel:`eBay` tab or under the :guilabel:`Product name`). Select :guilabel:`Save` if necessary." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:87 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:86 msgid "Still the product form, click :guilabel:`link to listing` in the top menu and enter in listing ID from eBay in the pop up (the listing ID is in the eBay product URL)." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:91 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:90 msgid "An example URL would be as such: `www.ebay.com/itm/272222656444?hash=item3f61bc17bb:g:vJ0AAOSwslJizv8u`. The listing ID is `272222656444` in this case. Once the listing ID has been entered the eBay listing information will sync into Odoo." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:97 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:96 msgid "Turn on eBay scheduled Actions" msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:99 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:98 msgid "The next step is to turn on the eBay notifications in the scheduled actions in Odoo so that orders and data are exchanged. The :guilabel:`Scheduled Actions` can be accessed by first activating :ref:`developer mode ` and go to :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:104 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:103 msgid "Turning on the following scheduled actions allows users to sync and validate eBay data automatically." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:107 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:106 msgid ":guilabel:`eBay: get new orders`: eBay will push all new orders not already in Odoo (based on client_order_reference, or sales order reference field), and will update orders if there has been a change from eBay. Orders will be put in draft mode. Customers will be created if they are not already in Odoo." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:111 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:110 msgid ":guilabel:`eBay: synchronize stock`: eBay will display the stock on hand in Odoo." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:112 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:111 msgid ":guilabel:`eBay: update categories`: eBay will push updated monthly categories (only up to fourth layer, will need to manually update the rest)." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:116 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:115 msgid "If an order comes in and the listing from the order is not linked to a product, eBay will create a consumable product.product in its place. These consumables should be altered on the *Sales Order* while in draft state to represent a storable product, and then the user can link to the listing as they come in." msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:122 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:121 #: ../../content/applications/sales/sales/ebay_connector/troubleshooting.rst:127 msgid ":doc:`/applications/sales/sales/ebay_connector/manage`" msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:123 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:122 #: ../../content/applications/sales/sales/ebay_connector/manage.rst:153 msgid ":doc:`/applications/sales/sales/ebay_connector/troubleshooting`" msgstr "" -#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:124 +#: ../../content/applications/sales/sales/ebay_connector/linking_listings.rst:123 #: ../../content/applications/sales/sales/ebay_connector/manage.rst:155 #: ../../content/applications/sales/sales/ebay_connector/troubleshooting.rst:129 msgid ":doc:`/applications/sales/sales/ebay_connector/setup`" @@ -4583,7 +4629,7 @@ msgid "In order to list a product on eBay and Odoo there are two methods in Odoo msgstr "" #: ../../content/applications/sales/sales/ebay_connector/manage.rst:9 -msgid "Make a product in Odoo and list the item eBay." +msgid "(*Preferred method*) Make a product in Odoo and list the item eBay." msgstr "" #: ../../content/applications/sales/sales/ebay_connector/manage.rst:11 @@ -4591,7 +4637,7 @@ msgid "Click :guilabel:`List Item on eBay` in the top menu of the product templa msgstr "" #: ../../content/applications/sales/sales/ebay_connector/manage.rst:14 -msgid "List the item on eBay, then create the product in Odoo, and finally link product to the item on eBay." +msgid "(*Less preferred method*) List the item on eBay, then create the product in Odoo, and finally link product to the item on eBay." msgstr "" #: ../../content/applications/sales/sales/ebay_connector/manage.rst:17 @@ -10005,7 +10051,7 @@ msgid "If you leave :guilabel:`Payment` unchecked, the customer doesn't have to msgstr "" #: ../../content/applications/sales/subscriptions.rst:72 -msgid "If the online confirmation requires a pre-payment, your customer can select only the :ref:`payment providers ` that have the :ref:`tokenization feature `. This ensures that the customer is automatically charged at each new period." +msgid "If the online confirmation requires a pre-payment, your customer can select only the :ref:`payment providers ` that have the :ref:`tokenization feature `. This ensures that the customer is automatically charged at each new period." msgstr "" #: ../../content/applications/sales/subscriptions/automatic_alerts.rst:3 diff --git a/locale/sources/websites.pot b/locale/sources/websites.pot index 9a9945d94..20743643b 100644 --- a/locale/sources/websites.pot +++ b/locale/sources/websites.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 16.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-01-19 08:39+0000\n" +"POT-Creation-Date: 2024-03-07 13:06+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -230,7 +230,7 @@ msgstr "" #: ../../content/applications/websites/ecommerce.rst:14 #: ../../content/applications/websites/website.rst:14 -msgid "Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as ``www.example.com`` rather than the default ``example.odoo.com``." +msgid "Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as `www.example.com` rather than the default `example.odoo.com`." msgstr "" #: ../../content/applications/websites/ecommerce.rst:19 @@ -238,12 +238,12 @@ msgid ":doc:`Website Documentation `" msgstr "" #: ../../content/applications/websites/ecommerce.rst:20 -#: ../../content/applications/websites/website.rst:20 +#: ../../content/applications/websites/website.rst:19 msgid "`Odoo Tutorials: Website `_" msgstr "" #: ../../content/applications/websites/ecommerce.rst:21 -#: ../../content/applications/websites/website.rst:21 +#: ../../content/applications/websites/website.rst:20 msgid "`Odoo Tutorials: eCommerce `_" msgstr "" @@ -536,7 +536,7 @@ msgid "Odoo supports a multitude of online :doc:`payment providers Configuration --> Settings`. In the :guilabel:`Shop - Payment` section, you can :guilabel:`Configure SEPA Direct Debit` if you wish to use it, as well as :guilabel:`View other providers`. If you use the :guilabel:`Authorize.net` payment provider, the :ref:`Payment Capture Method ` can be configured in that same menu." +msgid "Alternatively, you can access **payment providers** via :menuselection:`Website --> Configuration --> Settings`. In the :guilabel:`Shop - Payment` section, you can :guilabel:`Configure SEPA Direct Debit` if you wish to use it, as well as :guilabel:`View other providers`. If you use the :guilabel:`Authorize.net` payment provider, the :ref:`Payment Capture Method ` can be configured in that same menu." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:27 +#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:26 msgid "If you are using :doc:`/applications/finance/payment_providers/paypal`, you can also enable and configure it here." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:31 +#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:30 msgid "Checkout payment options" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:33 +#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:32 msgid "Once activated, customers can choose the payment provider of their choice during the **checkout process**, at the :guilabel:`Confirm Order` step." msgstr "" @@ -578,15 +578,15 @@ msgstr "" msgid "Payment provider selection at checkout" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:41 +#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:40 msgid "eWallets and gift cards" msgstr "" -#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:43 +#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:42 msgid "When checking out, customers can pay with an eWallet or gift cards. To enable these, go to :menuselection:`Website --> Configuration --> Settings`, and in the :guilabel:`Shop-Products` section, enable :menuselection:`Discounts, Loyalty & Gift Card`." msgstr "" -#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:47 +#: ../../content/applications/websites/ecommerce/checkout_payment_shipping/payments.rst:46 msgid "Once enabled, customers can enter their gift card **code** or pay with their eWallet at the checkout step." msgstr "" @@ -662,7 +662,7 @@ msgid ":doc:`/applications/inventory_and_mrp/inventory/shipping_receiving/advanc msgstr "" #: ../../content/applications/websites/ecommerce/checkout_payment_shipping/shipping.rst:55 -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:204 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:203 msgid "Website availability" msgstr "" @@ -1780,75 +1780,71 @@ msgstr "" msgid ":doc:`../../../websites/website/pages/seo`" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:201 -msgid ":ref:`Multi-language support `" -msgstr "" - -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:206 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:205 msgid "A product can be set available on either *one* or *all* websites, but it is not possible to select *some* websites and not others. To define a product's availability, go to :menuselection:`Website --> eCommerce --> Products`, select your product, and in the :guilabel:`Sales` tab, click the :guilabel:`Website` you wish the product to be available on. Leave the field empty for the products to be available on *all* websites." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:213 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:212 msgid "Stock management" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:215 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:214 msgid "Under the :menuselection:`Website --> Configuration --> Settings --> Shop - Products`, you can enable and configure inventory management options." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:219 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:218 msgid "To display the stock level on the product page, the :guilabel:`Product Type` on the **product's form** must be set to :guilabel:`Storable` (only available when the **Inventory** app is installed)." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:224 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:223 msgid "Inventory" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:226 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:225 msgid "In the :guilabel:`Inventory Defaults` sub-section, you can select the eCommerce selling strategy of products:" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:229 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:228 msgid ":guilabel:`Warehouse`: if you have multiple warehouses, you can define the warehouse associated to your website. If you have multiple websites, you can select a different one per website;" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:231 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:230 msgid ":guilabel:`Out-of-Stock (Continue Selling)`: enabling it allows customers to continue placing orders even when the product is **out-of-stock**. Leave it unchecked to **prevent orders**;" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:234 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:233 msgid ":guilabel:`Show Available Qty`: enabling it displays the available quantity left under a specified threshold on the product page. The available quantity is calculated based on the 'On hand' quantity minus the quantity already reserved for outgoing transfers." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:239 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:238 msgid ":ref:`Allow only selected customers to buy `" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:242 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:241 msgid "Selling as kit" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:244 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:243 msgid "If you are selling non-prepackaged kits (i.e., the kits are made of individual products), we recommend you read the related documentation to keep track of your stock." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:248 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:247 msgid ":doc:`../../../inventory_and_mrp/manufacturing/management/kit_shipping`" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:251 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:250 msgid "Product comparison" msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:253 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:252 msgid "You can enable a **product comparison tool** for your eCommerce by going to :menuselection:`Website --> Configuration --> Settings --> Shop - Products`, and ticking :guilabel:`Product Comparison Tool`. This tool allows to save products' **specifications** and compare them against each other on a single page." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:258 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:257 msgid "On the product page, scroll down to the :guilabel:`Specifications` section and click :guilabel:`Compare`. Repeat the same process for all products you wish to compare. Then, click the :guilabel:`Compare` button of the pop-up window at the bottom of the page to reach the comparison summary." msgstr "" -#: ../../content/applications/websites/ecommerce/managing_products/products.rst:264 +#: ../../content/applications/websites/ecommerce/managing_products/products.rst:263 msgid "The :guilabel:`Product Comparison Tool` can only be used if :doc:`attributes ` are set on the **product's template**." msgstr "" @@ -4036,11 +4032,11 @@ msgstr "" msgid "Address autocomplete example" msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:13 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:14 msgid "`Google Maps Platform `_" msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:14 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:15 msgid "`Google Developers Documentation: Google Places API `_" msgstr "" @@ -4056,59 +4052,47 @@ msgstr "" msgid "Insert your :guilabel:`Google Places API key` in the :guilabel:`API Key` field. If you don't have one, create yours on the `Google Cloud Console `_ and follow these steps." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:28 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:31 msgid "Step 1: Enable the Google Places API" msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:30 -msgid "**Create a New Project:**" +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:33 +msgid "**Create a New Project:** To enable the **Google Places API**, you first need to create a project. To do so, click :guilabel:`Select a project` in the top left corner, :guilabel:`New Project`, and follow the prompts to set up your project." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:32 -msgid "To enable the **Google Places API**, you first need to create a project. To do so, click :guilabel:`Select a project` in the top left corner, :guilabel:`New Project`, and follow the prompts to set up your project." +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:38 +msgid "**Enable the Google Places API:** Go to the :guilabel:`Enabled APIs & Services` and click :guilabel:`+ ENABLE APIS AND SERVICES.` Search for :guilabel:`\"Places API\"` and select it. Click on the :guilabel:`\"Enable\"` button." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:34 -msgid "**Enable the Google Places API:**" -msgstr "" - -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:36 -msgid "Go to the :guilabel:`Enabled APIs & Services` and click :guilabel:`+ ENABLE APIS AND SERVICES.` Search for :guilabel:`\"Places API\"` and select it. Click on the :guilabel:`\"Enable\"` button." -msgstr "" - -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:39 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:43 msgid "Google's pricing depends on the number of requests and their complexity." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:42 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:46 msgid "Step 2: Create API Credentials" msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:44 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:48 msgid "Go to `APIs & Services --> Credentials `_." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:46 -msgid "**Create credentials:**" -msgstr "" - -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:48 -msgid "To create your credentials, go to :guilabel:`Credentials`, click :guilabel:`Create Credentials`, and select :guilabel:`API key`." -msgstr "" - #: ../../content/applications/websites/website/configuration/address_autocomplete.rst:50 +msgid "**Create credentials:** To create your credentials, go to :guilabel:`Credentials`, click :guilabel:`Create Credentials`, and select :guilabel:`API key`." +msgstr "" + +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:54 msgid "Restrict the API Key (Optional)" msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:52 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:56 msgid "For security purposes, you can restrict the usage of your API key. You can go to the :guilabel:`API restrictions` section to specify which APIs your key can access. For the Google Places API, you can restrict it to only allow requests from specific websites or apps." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:57 -msgid "Save Your API Key: Copy your API key and securely store it." +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:61 +msgid "Save Your API Key: copy your API key and securely store it." msgstr "" -#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:58 +#: ../../content/applications/websites/website/configuration/address_autocomplete.rst:62 msgid "Do not share it publicly or expose it in client-side code." msgstr "" @@ -5252,715 +5236,203 @@ msgid "To customize the appearance of your website's menu, click :guilabel:`Edit msgstr "" #: ../../content/applications/websites/website/pages/seo.rst:3 -msgid "Search Engine Optimisation (SEO)" +msgid "Search Engine Optimization (SEO)" msgstr "" #: ../../content/applications/websites/website/pages/seo.rst:5 -msgid "Search Engine Optimization (SEO) is a set of good practices to optimize your website so that you get a better ranking in search engines like Google. In short, a good SEO allows you to get more visitors." +msgid "Search Engine Optimization, often abbreviated as SEO, is a digital marketing strategy to improve a website's visibility and ranking in search engine results (e.g., in Google). It involves optimizing various elements on your website, including its content, social sharing, URLs, images, and page speed." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:9 -msgid "Some examples of SEO rules: your web pages should load fast, your page should have one and only one title ``

``, meta tags (alt-tag, title-tag) should be consistent with the content, your website should have a ``/sitemap.xml`` file, etc." +#: ../../content/applications/websites/website/pages/seo.rst:11 +msgid "Odoo provides several modules to help you build your website content, such as :doc:`eCommerce <../../ecommerce>`, :doc:`Blog <../../blog>`, :doc:`eLearning <../../elearning>`, and :doc:`Forum <../../forum>`." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:15 -msgid "To guarantee Odoo Website and Odoo eCommerce users have a great SEO, Odoo abstracts all the technical complexities of SEO and handles everything for you, in the best possible way. This will be explained here below." +#: ../../content/applications/websites/website/pages/seo.rst:14 +msgid "All Odoo themes rely on the CSS Framework `Bootstrap `_ to render efficiently according to the device: desktop, tablet, or mobile, which positively impacts ranking in search engines." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:20 -msgid "But first, let see how you can easily boost your ranking by finetuning the content and the meta tags of your website." +#: ../../content/applications/websites/website/pages/seo.rst:19 +msgid "Content optimization" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:24 -msgid "Meta Tags" +#: ../../content/applications/websites/website/pages/seo.rst:21 +msgid "To optimize a webpage's SEO, access the page, then go to :menuselection:`Website --> Site --> Optimize SEO`." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:27 -msgid "Title, Description" +#: ../../content/applications/websites/website/pages/seo.rst:-1 +msgid "Optimize SEO" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:29 -msgid "Every web page should define the ```` and ``<description>`` meta data. These information elements are used by search engines to promote your website. They are automatically generated based on page title & content, but you can finetune them. Make sure they fit the content of the page, otherwise you will be downgraded by search engines." +#: ../../content/applications/websites/website/pages/seo.rst:28 +msgid "Meta tags" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:39 +#: ../../content/applications/websites/website/pages/seo.rst:30 +msgid "Meta tags are HTML elements that provide information about a webpage to search engines and website visitors. They play a crucial role in SEO by helping search engines understand the content and context of a webpage and attract visitors with appealing content. There are two types of meta tags in Odoo:" +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:35 +msgid ":guilabel:`Title` tags specify a webpage's title and are displayed as a clickable link in search engine results. They should be concise, descriptive, and relevant to the page's content. You can update the title tag of your webpage or keep it empty to use the default value based on the page’s content." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:40 +msgid ":guilabel:`Description` tags summarize the webpage's content, often displayed in search engine results below the title. They are used to encourage the user to visit the page. You can update the description tag of your webpage or keep it empty to use the default value based on the page’s content." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:46 +msgid "The :guilabel:`Preview` card displays how the title and description tags should appear in search results. It also includes the URL of your page." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:50 msgid "Keywords" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:41 -msgid "In order to write quality content and boost your traffic, Odoo provides a ``<keyword>`` finder. Those keywords are the searches you want to head towards your website. For each keyword, you see how it is used in the content (H1, H2, page title, page description, page content) and what are the related searches in Google. The more keywords are used the better." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:51 -msgid "If your website is in multiple languages, you can use the Promote tool for every language of a single page and set specific title, description and search tags." +#: ../../content/applications/websites/website/pages/seo.rst:52 +msgid "Keywords are one of the main elements of SEO. A website that is well optimized for search engines speaks the same language as potential visitors, with keywords for SEO helping them to connect to your site." msgstr "" #: ../../content/applications/websites/website/pages/seo.rst:56 -msgid "Content is King" +msgid "You can enter the keywords you consider essential in the :guilabel:`Keyword` field and click :guilabel:`ADD` to see how they are used at different levels in your content (H1, H2, page title, page description, page content) and the related searches in Google. The tool also suggests relevant keywords to drive your web traffic. The more keywords are present on your webpage, the better." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:58 -msgid "When it comes to SEO, content is usually king. Odoo provides several modules to help you build your website content:" +#: ../../content/applications/websites/website/pages/seo.rst:62 +msgid "It is strongly recommended to only use one H1 title per page for SEO." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:61 -msgid "**Odoo Blogs**: write great contents." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:63 -msgid "**Odoo Slides**: publish all your Powerpoint or PDF presentations. Their content is automatically indexed on the web page. Example: `odoo.com/slides/public-channel-1 <https://www.odoo.com/slides/public-channel-1>`_" +#: ../../content/applications/websites/website/pages/seo.rst:65 +msgid "Image for social share" msgstr "" #: ../../content/applications/websites/website/pages/seo.rst:67 -msgid "**Odoo Forum**: let your community create contents for you. Example: `odoo.com/forum/1 <https://odoo.com/forum/1>`_ (accounts for 30% of Odoo.com landing pages)" +msgid "When you share your page on social media, your logo image is selected, but you can upload any other image by clicking the upward arrow." msgstr "" #: ../../content/applications/websites/website/pages/seo.rst:71 -msgid "**Odoo Mailing List Archive**: publish mailing list archives on your website. Example: `odoo.com/groups/community-59 <https://www.odoo.com/groups/community-59>`_ (1000 pages created per month)" +msgid "The :guilabel:`Social Preview` card displays how the page's information would appear when shared." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:77 -msgid "The 404 page is a regular page, that you can edit like any other page in Odoo. That way, you can build a great 404 page to redirect to the top content of your website when visitors get lost in invalid URLs." +#: ../../content/applications/websites/website/pages/seo.rst:73 +msgid "If you change the title of a blog post or the name of a product, the changes apply automatically everywhere on your website. The old link still functions when external websites use a :ref:`301 redirect <website/URL-redirection>`, maintaining the SEO link juice." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:82 -msgid "Use Social Networks" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:84 -msgid "Social media is built for mass sharing. If lots of people share your content on social media, then it's likely more people will link to it, and links are a huge factor for SEO ranking." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:88 -msgid "Odoo embeds several tools to share content through social media:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:91 -msgid "Social Network" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:93 -msgid "Odoo allows to link all your social network accounts in your website footer. All you have to do is to refer all your accounts in your company settings." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:100 -msgid "Social Share" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:102 -msgid "Drop the building block *Share* on any page you want your visitors to share. By clicking the icon, they are prompted to share the page in their social media wall." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:109 -msgid "Most social media use a picture of the picture to decorate the share post. Odoo uses the website logo by default but you can choose any other image of your page in the Promote tool." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:117 -msgid "Facebook Page" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:119 -msgid "Drop the building block *Facebook Page* to display a widget of your Facebook business page and encourage visitors to follow it. You can display the timeline, the next events and the messages." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:124 -msgid "Twitter Scroller" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:126 -msgid "Display the Twitter feeds with customer satifaction on your website. This will increase the number of tweets and shares." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:130 -msgid "Test Your Website" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:132 -msgid "You can compare how your website rank, in terms of SEO, against Odoo using WooRank free services: `woorank.com <https://www.woorank.com>`_" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:137 -msgid "URLs Handling" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:139 -msgid "This section sheds some light on how Odoo makes URLs SEO-friendly." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:142 -msgid "URLs Structure" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:144 -msgid "A typical Odoo URL will look like this:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:146 -msgid "https://www.mysite.com/fr\\_FR/shop/product/my-great-product-31" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:148 -msgid "With the following components:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:150 -msgid "**https://** = Protocol" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:152 -msgid "**www.mysite.com** = your domain name" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:154 -msgid "**/fr\\_FR** = page language. This part of the URL is removed if the visitor browses the main language of the website Thus, the main version of this page is: https://www.mysite.com/shop/product/my-great-product-31" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:159 -msgid "**/shop/product** = every module defines its own namespace (/shop is for the catalog of the eCommerce module, /shop/product is for a product page)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:163 -msgid "**my-great-product** = by default, this is the slugified title of the product this page refers to. But you can customize it for SEO purposes. A product named \"Pain carré\" will be slugified to \"pain-carre\". Depending on the namespace, this could be different objects (blog post, page title, forum post, forum comment, product category, etc.)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:170 -msgid "**-31** = the unique ID of the product" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:172 -msgid "Note that any dynamic component of an URL can be reduced to its ID. As an example, the following URLs all do a 301 redirect to the above URL:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:175 -msgid "https://www.mysite.com/fr\\_FR/shop/product/31 (short version)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:177 -msgid "http://mysite.com/fr\\_FR/shop/product/31 (even shorter version)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:179 -msgid "http://mysite.com/fr\\_FR/shop/product/other-product-name-31 (old product name)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:182 -msgid "Some URLs have several dynamic parts, like this one (a blog category and a post):" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:185 -msgid "https://www.odoo.com/blog/company-news-5/post/the-odoo-story-56" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:187 -msgid "In the above example:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:189 -msgid "*Company News* is the title of the blog" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:191 -msgid "*The Odoo Story* is the title of a specific blog post" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:193 -msgid "When an Odoo page has a pager, the page number is set directly in the URL (does not have a GET argument). This allows every page to be indexed by search engines. Example:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:197 -msgid "https://www.odoo.com/blog/page/3" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:200 -msgid "Changes in URLs & Titles" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:202 -msgid "When the URL of a page changes (e.g. a more SEO friendly version of your product name), you don't have to worry about updating all links:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:205 -msgid "Odoo will automatically update all its links to the new URL." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:207 -msgid "If external websites still points to the old URL, a 301 redirect will be done to route visitors to the new address of the page." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:210 -msgid "As an example, this URL:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:212 -msgid "http://mysite.com/shop/product/old-product-name-31" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:214 -msgid "Will automatically redirect to:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:216 -msgid "http://mysite.com/shop/product/new-and-better-product-name-31" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:218 -msgid "In short, just change the title of a blog post or the name of a product, and the changes will apply automatically everywhere in your website. The old link still functions when used by external websites, via a 301 redirect, maintaining the SEO link juice." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:224 -msgid "HTTPS" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:226 -msgid "Search engines boost ranking of secure HTTPS/SSL websites. So, by default all Odoo Online instances are fully based on HTTPS. If the visitor accesses your website through a non HTTPS url, it gets a 301 redirect to its HTTPS equivalent." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:232 -msgid "Links: Nofollow Strategy" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:234 -msgid "The more a page is linked from external and quality websites, the better it is for your SEO." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:237 -msgid "Here are Odoo strategies to manage links:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:239 -msgid "Every link you add to your website is \"dofollow\", which means that this link will contribute to the SEO Juice for the linked page." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:243 -msgid "Every link posted by a contributor (forum post, blog comment, etc.) that links to your own website is \"dofollow\" too." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:246 -msgid "But every link posted by a contributor that links to an external website is \"nofollow\". In that way, you do not run the risk of people posting links on your website to third-party websites which have a bad reputation." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:251 -msgid "Note that, when using the forum, contributors having a lot of Karma can be trusted. In such case, their links will not have any ``rel=\"nofollow\"`` attribute." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:256 -msgid "Multi-Language Support" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:261 -msgid "Multi-Language URLs" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:263 -msgid "If you run a website in multiple languages, the same content will be available in different URLs, depending on the language used:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:266 -msgid "https://www.mywebsite.com/shop/product/my-product-1 (main language, English here)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:268 -msgid "https://www.mywebsite.com\\/fr\\_FR/shop/product/mon-produit-1 (French version)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:270 -msgid "In this example, fr\\_FR is the language of the page. You can even have several variations of the same language: pt\\_BR (Portuguese from Brazil) , pt\\_PT (Portuguese from Portugal)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:275 -msgid "Language Annotation" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:277 -msgid "To let search engines know that the second URL is the French translation of the first URL, Odoo will add an HTML link element in the header. In the HTML <head> section of the main version, Odoo automatically adds a link element pointing to the translated versions of that webpage;" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:282 -msgid "<link rel=\"alternate\" hreflang=\"fr\" href=\"https://www.mywebsite.com\\/fr\\_FR/shop/product/mon-produit-1\"/>" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:285 -msgid "With this approach:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:287 -msgid "Search engines will redirect to the right language according to the visitor language." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:290 -msgid "You do not get penalized by search engines if your page is not translated yet. Indeed, it's not a duplicated content, but a different version of the same content." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:295 -msgid "Language Detection" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:297 -msgid "When a visitor lands for the first time on your website (e.g. yourwebsite.com/shop), they may automatically be redirected to a translated version according to their browser language preference (e.g. yourwebsite.com/fr\\_FR/shop)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:302 -msgid "Next time, it keeps a cookie of the current language to avoid any redirection." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:305 -msgid "To force a visitor to stick to the default language, you can use the code of the default language in your link, example: yourwebsite.com/en\\_US/shop. This will always land visitors to the English version of the page, without using the browser language preferences." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:312 -msgid "Page Speed" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:315 -msgid "Introduction" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:317 -msgid "The time to load a page is an important criteria for search engines. A faster website not only improves your visitor's experience, but gives you a better page ranking. Some studies have shown that, if you divide the time to load your pages by two (e.g. 2 seconds instead of 4 seconds), the visitor abandonment rate is also divided by two. (25% to 12.5%). One extra second to load a page could `cost $1.6b to Amazon in sales <http://www.fastcompany.com/1825005/how-one-second-could-cost-amazon-16-billion-sales>`__." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:328 -msgid "Fortunately, Odoo does all the magic for you. Below, you will find the tricks Odoo uses to speed up your page loading time. You can compare how your website ranks using these two tools:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:332 -msgid "`Google Page Speed <https://developers.google.com/speed/pagespeed/insights/>`__" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:334 -msgid "`Pingdom Website Speed Test <http://tools.pingdom.com/fpt/>`__" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:337 +#: ../../content/applications/websites/website/pages/seo.rst:78 msgid "Images" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:339 -msgid "When you upload new images, Odoo automatically compresses them to reduce their sizes (lossless compression for .PNG and .GIF and lossy compression for .JPG)." +#: ../../content/applications/websites/website/pages/seo.rst:80 +msgid "The size of images has a significant impact on page speed, which is an essential criterion for search engines to optimize SEO ranking." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:343 -msgid "From the upload button, you have the option to keep the original image unmodified if you prefer to optimize the quality of the image rather than performance." +#: ../../content/applications/websites/website/pages/seo.rst:84 +msgid "Compare how your website ranks using `Google Page Speed <https://pagespeed.web.dev/?utm_source=psi&utm_medium=redirect>`_ or `Pingdom Website Speed Test <https://tools.pingdom.com/>`_." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:351 -msgid "Odoo compresses images when they are uploaded to your website, not when requested by the visitor. Thus, it's possible that, if you use a third-party theme, it will provide images that are not compressed efficiently. But all images used in Odoo official themes have been compressed by default." +#: ../../content/applications/websites/website/pages/seo.rst:87 +msgid "Odoo automatically compresses uploaded images to reduce their weight and improve the page loading speed. All images used in Odoo official themes are also compressed by default. If you are using a third-party theme, it may provide images that are not compressed efficiently." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:357 -msgid "When you click on an image, Odoo shows you the Alt and title attributes of the ``<img>`` tag. You can click on it to set your own title and Alt attributes for the image." +#: ../../content/applications/websites/website/pages/seo.rst:91 +msgid "**To modify an image** from your website, select the image, click :guilabel:`Edit`, then go to the :guilabel:`Customize` tab, and adapt the :guilabel:`width` in the :guilabel:`Image` section." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:364 -msgid "When you click on this link, the following window will appear:" +#: ../../content/applications/websites/website/pages/seo.rst:-1 +msgid "automated image compression" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:369 -msgid "Odoo's pictograms are implemented using a font (`Font Awesome <https://fortawesome.github.io/Font-Awesome/icons/>`__ in most Odoo themes). Thus, you can use as many pictograms as you want in your page, they will not result in extra requests to load the page." +#: ../../content/applications/websites/website/pages/seo.rst:98 +msgid "Alt tags are used to provide context to what an image is displaying, informing search engine crawlers and allowing them to index an image correctly. Adding alt tags keywords in the :guilabel:`Description` field is essential from an SEO perspective. This description is added to the HTML code of your image, and it is shown when the image cannot be displayed." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:378 -msgid "Static Resources: CSS" +#: ../../content/applications/websites/website/pages/seo.rst:104 +msgid "Advanced features" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:380 -msgid "All CSS files are pre-processed, concatenated, minified, compressed and cached (server-side and browser-side). The result:" +#: ../../content/applications/websites/website/pages/seo.rst:107 +msgid "Structured data markup" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:383 -msgid "only one CSS file request is needed to load a page" +#: ../../content/applications/websites/website/pages/seo.rst:109 +msgid "Structured data markup is used to generate rich snippets in search engine results. It is a way for websites to send structured data to search engine robots, helping them understand your content and create well-presented search results." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:385 -msgid "this CSS file is shared and cached amongst pages, so that when the visitor clicks on another page, the browser doesn't have to even load a single CSS resource." +#: ../../content/applications/websites/website/pages/seo.rst:113 +msgid "By default, Google supports many `rich snippets <https://developers.google.com/search/blog/2009/05/introducing-rich-snippets>`_ for content types, including Reviews, People, Products, Businesses, Events, and Organizations." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:389 -msgid "this CSS file is optimized to be small" +#: ../../content/applications/websites/website/pages/seo.rst:116 +msgid "Microdata is a set of tags, introduced with HTML5, that help search engines better understand your content and display it in a relevant way. Odoo implements microdata as defined in the schema.org `specification <https://schema.org/docs/gs.html>`_ for events, eCommerce products, forum posts, and contact addresses. This allows your product pages to be displayed in Google using extra information like the price and rating of a product:" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:391 -msgid "**Pre-processed:** The CSS framework used by Odoo is Bootstrap. Although a theme might use another framework, most of `Odoo themes <https://www.odoo.com/apps/themes>`__ extend and customize Bootstrap directly. Since Odoo supports Less and Sass, you can modify CSS rules instead of overwriting them through extra CSS lines, resulting in a smaller file." +#: ../../content/applications/websites/website/pages/seo.rst:-1 +msgid "snippets in search engine results" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:398 -msgid "**Concatenated:** every module or library you might use in Odoo has its own set of CSS, Less or Sass files (eCommerce, blogs, themes, etc.). Having several CSS files is great for the modularity, but not good for the performance because most browsers can only perform 6 requests in parallel resulting in lots of files loaded in series. The latency time to transfer a file is usually much longer than the actual data transfer time, for small files like .JS and .CSS. Thus, the time to load CSS resources depends more on the number of requests to be done than the actual file size." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:408 -msgid "To address this issue, all CSS / Less / Sass files are concatenated into a single .CSS file to send to the browser. So a visitor has **only one .CSS file to load** per page, which is particularly efficient. As the CSS is shared amongst all pages, when the visitor clicks on another page, the browser does not even have to load a new CSS file!" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:415 -msgid "**Both files in the <head>**" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:415 -msgid "**What the visitor gets (only one file)**" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:417 -msgid "/\\* From bootstrap.css \\*/" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:417 -#: ../../content/applications/websites/website/pages/seo.rst:418 -#: ../../content/applications/websites/website/pages/seo.rst:424 -#: ../../content/applications/websites/website/pages/seo.rst:450 -msgid ".text-muted {" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:418 -#: ../../content/applications/websites/website/pages/seo.rst:425 -#: ../../content/applications/websites/website/pages/seo.rst:451 -msgid "color: #666;" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:419 -msgid "color: #777;" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:419 -msgid "background: yellow" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:420 -msgid "background: yellow;" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:420 -#: ../../content/applications/websites/website/pages/seo.rst:421 -#: ../../content/applications/websites/website/pages/seo.rst:426 -#: ../../content/applications/websites/website/pages/seo.rst:452 -msgid "}" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:423 -msgid "/\\* From my-theme.css \\*/" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:429 -msgid "The CSS sent by Odoo includes all CSS / Less / Sass of all pages / modules. By doing this, additional page views from the same visitor will not have to load CSS files at all. But some modules might include huge CSS/Javascript resources that you do not want to prefetch at the first page because they are too big. In this case, Odoo splits this resource into a second bundle that is loaded only when the page using it is requested. An example of this is the backend that is only loaded when the visitor logs in and accesses the backend (/web)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:439 -msgid "If the CSS file is very big, Odoo will split it into two smaller files to avoid the 4095 selectors limit per sheet of Internet Explorer. But most themes fit below this limit." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:443 -msgid "**Minified:** After being pre-processed and concatenated, the resulting CSS is minified to reduce its size." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:447 -msgid "**Before minification**" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:447 -msgid "**After minification**" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:449 -msgid "/\\* some comments \\*/" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:449 -msgid ".text-muted {color: #666}" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:455 -msgid "The final result is then compressed, before being delivered to the browser." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:458 -msgid "Then, a cached version is stored server-side (so we do not have to pre-process, concatenate, minify at every request) and browser-side (so the same visitor will load the CSS only once for all pages they visit)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:464 -msgid "Static Resources: Javascript" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:466 -msgid "As with CSS resources, Javascript resources are also concatenated, minified, compressed and cached (server-side and browser-side)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:469 -msgid "Odoo creates three Javascript bundles:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:471 -msgid "One for all pages of the website (including code for parallax effects, form validation, etc.)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:474 -msgid "One for common Javascript code shared among frontend and backend (Bootstrap)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:477 -msgid "One for backend specific Javascript code (Odoo Web Client interface for your employees using Odoo)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:480 -msgid "Most visitors of your website will only need the first two bundles, resulting in a maximum of two Javascript files to load to render one page. As these files are shared across all pages, further clicks by the same visitor will not load any other Javascript resource." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:486 -msgid "If you work on :ref:`developer mode <developer-mode>`, the CSS and Javascript are neither concatenated, nor minified. Thus, it's much slower. But it allows you to easily debug with the Chrome debugger as CSS and Javascript resources are not transformed from their original versions." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:491 -msgid "CDN" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:493 -msgid "If you activate the CDN feature in Odoo, static resources (Javascript, CSS, images) are loaded from a Content Delivery Network. Using a Content Delivery Network has three advantages:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:497 -msgid "Load resources from a nearby server (most CDN have servers in main countries around the globe)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:500 -msgid "Cache resources efficiently (no computation resources usage on your own server)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:503 -msgid "Split the resource loading on different services allowing to load more resources in parallel (since the Chrome limit of 6 parallel requests is by domain)" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:507 -msgid "You can configure your CDN options from the **Website Admin** app, using the Configuration menu. Here is an example of configuration you can use:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:514 -msgid "HTML Pages" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:516 -msgid "The HTML pages can be compressed, but this is usually handled by your web server (NGINX or Apache)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:519 -msgid "The Odoo Website builder has been optimized to guarantee clean and short HTML code. Building blocks have been developed to produce clean HTML code, usually using Bootstrap and the HTML editor." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:523 -msgid "As an example, if you use the color picker to change the color of a paragraph to the primary color of your website, Odoo will produce the following code:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:527 -msgid "``<p class=\"text-primary\">My Text</p>``" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:529 -msgid "Whereas most HTML editors (such as CKEditor) will produce the following code:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:532 -msgid "``<p style=\"color: #AB0201\">My Text</p>``" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:535 -msgid "Responsive Design" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:537 -msgid "Websites that are not mobile-friendly are negatively impacted in search engine rankings. All Odoo themes rely on Bootstrap to render efficiently according to the device: desktop, tablet or mobile." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:544 -msgid "As all Odoo modules share the same technology, absolutely all pages in your website are mobile friendly." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:548 -msgid "Browser Caching" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:550 -msgid "Javascript, images and CSS resources have an URL that changes dynamically when their content change. As an example, all CSS files are loaded through this URL: `localhost:8069/web/content/457-0da1d9d/web.assets\\_common.0.css <http://localhost:8069/web/content/457-0da1d9d/web.assets_common.0.css>`__. The ``457-0da1d9d`` part of this URL will change if you modify the CSS of your website." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:557 -msgid "This allows Odoo to set a very long cache delay (XXX) on these resources: XXX secs, while being updated instantly if you update the resource." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:562 -msgid "Scalability" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:564 -msgid "In addition to being fast, Odoo is also more scalable than traditional CMS and eCommerce (Drupal, Wordpress, Magento, Prestashop)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:567 -msgid "Here is the slide that summarizes the scalability of Odoo Website & eCommerce." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:573 -msgid "Search Engines Files" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:576 -msgid "Sitemap" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:578 -msgid "The sitemap points out pages to index to search engine robots. Odoo generates a ``/sitemap.xml`` file automatically for you. For performance reasons, this file is cached and updated every 12 hours." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:582 -msgid "By default, all URLs will be in a single ``/sitemap.xml`` file, but if you have a lot of pages, Odoo will automatically create a Sitemap Index file, respecting the `sitemaps.org protocol <http://www.sitemaps.org/protocol.html>`__ grouping sitemap URL's in 45000 chunks per file." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:588 -msgid "Every sitemap entry has 4 attributes that are computed automatically:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:590 -msgid "``<loc>`` : the URL of a page" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:592 -msgid "``<lastmod>`` : last modification date of the resource, computed automatically based on related object. For a page related to a product, this could be the last modification date of the product or the page." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:597 -msgid "``<priority>`` : modules may implement their own priority algorithm based on their content (example: a forum might assign a priority based on the number of votes on a specific post). The priority of a static page is defined by it's priority field, which is normalized (16 is the default)." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:604 -msgid "Structured Data Markup" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:606 -msgid "Structured Data Markup is used to generate Rich Snippets in search engine results. It is a way for website owners to send structured data to search engine robots; helping them understand your content and create well-presented search results." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:611 -msgid "Google supports a number of rich snippets for content types, including: Reviews, People, Products, Businesses, Events and Organizations." -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:614 -msgid "Odoo implements micro data as defined in the `schema.org <http://schema.org>`__ specification for events, eCommerce products, forum posts and contact addresses. This allows your product pages to be displayed in Google using extra information like the price and rating of a product:" -msgstr "" - -#: ../../content/applications/websites/website/pages/seo.rst:624 +#: ../../content/applications/websites/website/pages/seo.rst:126 msgid "robots.txt" msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:626 -msgid "When indexing your website, search engines take a first look at the general indexing rules of the ``/robots.txt`` file (allowed robots, sitemap path, etc.). Odoo automatically creates it. Its content is:" +#: ../../content/applications/websites/website/pages/seo.rst:128 +msgid "A robots.txt file tells search engine crawlers which URLs the crawler can access on your site, to index its content. This is used mainly to avoid overloading your site with requests." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:630 -msgid "User-agent: \\* Sitemap: https://www.odoo.com/sitemap.xml" +#: ../../content/applications/websites/website/pages/seo.rst:131 +msgid "When indexing your website, search engines take a first look at the robots.txt file. Odoo automatically creates one robot.txt file available on `mydatabase.odoo.com/robots.txt`." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:633 -msgid "It means that all robots are allowed to index your website and there is no other indexing rule than specified in the sitemap to be found at following address." +#: ../../content/applications/websites/website/pages/seo.rst:134 +msgid "By editing a robots.txt file, you can control which site pages are accessible to search engine crawlers. To add custom instructions to the file, go to :menuselection:`Website --> Configuration --> Settings`, scroll down to the :guilabel:`SEO` section, and click :guilabel:`Edit robots.txt`." msgstr "" -#: ../../content/applications/websites/website/pages/seo.rst:637 -msgid "You can customize the file *robots* in :ref:`developer mode <developer-mode>` from *Settings --> Technical --> User Interface --> Views* (exclude robots, exclude some pages, redirect to a custom Sitemap). Make the Model Data of the view *Non Updatable* to not reset the file after system upgrades." +#: ../../content/applications/websites/website/pages/seo.rst:139 +msgid "If you do not want the robots to crawl the `/about-us` page of your site, you can edit the robots.txt file to add `Disallow: /about-us`." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:143 +msgid "Sitemap" +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:145 +msgid "The sitemap points out website pages and their relation to each other to search engine robots. Odoo generates a `/sitemap.xml` file, including all URLs. For performance reasons, this file is cached and updated every 12 hours." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:150 +msgid "If your website has a lot of pages, Odoo automatically creates a Sitemap Index file, respecting the `sitemaps.org protocol <http://www.sitemaps.org/protocol.html>`_, grouping sitemap URLs in 45000 chunks per file." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:154 +msgid "Every sitemap entry has three attributes that are computed automatically:" +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:156 +msgid "`<loc>`: the URL of a page." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:157 +msgid "`<lastmod>`: last modification date of the resource, computed automatically based on the related object. For a page related to a product, this could be the last modification date of the product or the page." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:160 +msgid "`<priority>`: modules may implement their priority algorithm based on their content (for example, a forum might assign a priority based on the number of votes on a specific post). The priority of a static page is defined by its priority field, which is normalized (16 is the default)." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:165 +msgid "To prevent pages from appearing in a sitemap, go to :menuselection:`Site --> Properties`, click the :guilabel:`Publish` tab, and turn off the :guilabel:`Indexed` feature." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:0 +msgid "disabling the “Indexed” checkbox" +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:172 +msgid "Hreflang HTML tags" +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:174 +msgid "Odoo automatically includes `hreflang` and `x-default` tags in the code of your website's multilingual pages. These HTML attributes are crucial in informing search engines about a specific page's language and geographical targeting." +msgstr "" + +#: ../../content/applications/websites/website/pages/seo.rst:179 +msgid ":doc:`../configuration/translate`" msgstr "" #: ../../content/applications/websites/website/reporting/analytics.rst:3 @@ -5968,7 +5440,7 @@ msgid "Website analytics" msgstr "" #: ../../content/applications/websites/website/reporting/analytics.rst:5 -msgid "Website analytics helps website owners understand how people use their site. It provides data on visitor demographics, behavior, and interactions, helping improve websites and marketing strategies." +msgid "Website analytics helps website owners monitor how people use their site. It provides data on visitor demographics, behavior, and interactions, helping improve websites and marketing strategies." msgstr "" #: ../../content/applications/websites/website/reporting/analytics.rst:8 @@ -5984,54 +5456,54 @@ msgid "Plausible.io" msgstr "" #: ../../content/applications/websites/website/reporting/analytics.rst:20 -msgid "Odoo hosts its own Plausible.io server and provides a free and ready-to-work Plausible.io solution for **Odoo Online** databases. Go to :menuselection:`Website --> Configuration --> Settings`, and enable the feature in the :guilabel:`SEO` section. Odoo automatically creates and sets up your account. You can start using it by going to :menuselection:`Website --> Reporting --> Analytics`." +msgid "Odoo hosts its own Plausible.io server and provides a free and ready-to-work Plausible.io solution for **Odoo Online** databases. Odoo automatically creates and sets up your account. You can start using it by going to :menuselection:`Website --> Reporting --> Analytics`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:26 +#: ../../content/applications/websites/website/reporting/analytics.rst:25 msgid "**If you already have a Plausible.io account** and you want to connect it to your Odoo Online database, you must create two `ir.config.parameters` to use Plausible.io's servers. To do so, enable the :ref:`developer mode <developer-mode>` and go to :menuselection:`General Settings --> Technical -- System Parameters`. Click :guilabel:`New` and fill in the following :guilabel:`Key` and :guilabel:`Value` fields:" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:35 +#: ../../content/applications/websites/website/reporting/analytics.rst:34 msgid "Key" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:36 +#: ../../content/applications/websites/website/reporting/analytics.rst:35 msgid "Value" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:37 +#: ../../content/applications/websites/website/reporting/analytics.rst:36 msgid "`website.plausible_script`" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:38 +#: ../../content/applications/websites/website/reporting/analytics.rst:37 msgid "`https://plausible.io/js/plausible.js`" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:39 +#: ../../content/applications/websites/website/reporting/analytics.rst:38 msgid "`website.plausible_server`" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:40 +#: ../../content/applications/websites/website/reporting/analytics.rst:39 msgid "`https://plausible.io`" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:42 +#: ../../content/applications/websites/website/reporting/analytics.rst:41 msgid "Then, follow the steps below to connect your existing account with Plausible.io servers." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:44 +#: ../../content/applications/websites/website/reporting/analytics.rst:43 msgid "If your database is hosted on **Odoo.sh** or **On-premise**, or if you wish to use your own Plausible.io account, proceed as follows:" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:47 +#: ../../content/applications/websites/website/reporting/analytics.rst:46 msgid "Create or sign in to a Plausible account using the following link: `<https://plausible.io/register>`_." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:48 +#: ../../content/applications/websites/website/reporting/analytics.rst:47 msgid "If you are creating a new account, go through the registration and activation steps. When asked to provide your website details, add its :guilabel:`Domain` without including `www` (e.g., `example.odoo.com`) and change the :guilabel:`Reporting Timezone` if necessary. Click :guilabel:`Add snippet` to proceed to the next step. Ignore the :guilabel:`Add JavaScript snippet` instructions and click :guilabel:`Start collecting data`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:53 +#: ../../content/applications/websites/website/reporting/analytics.rst:52 msgid "Once done, click the Plausible logo in the upper-left part of the page to access your `list of websites <https://plausible.io/sites>`_, then click the gear icon next to the website." msgstr "" @@ -6039,11 +5511,11 @@ msgstr "" msgid "Click the gear icon in the list of websites." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:59 +#: ../../content/applications/websites/website/reporting/analytics.rst:58 msgid "In the sidebar, select :guilabel:`Visibility`, then click :guilabel:`+ New link`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:60 +#: ../../content/applications/websites/website/reporting/analytics.rst:59 msgid "Enter a :guilabel:`Name`, leave the :guilabel:`Password` field empty, as the Plausible analytics dashboard integration in Odoo doesn't support it, then click :guilabel:`Create shared link`." msgstr "" @@ -6051,7 +5523,7 @@ msgstr "" msgid "Credentials creation for the new shared link" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:66 +#: ../../content/applications/websites/website/reporting/analytics.rst:65 msgid "Copy the shared link." msgstr "" @@ -6059,44 +5531,44 @@ msgstr "" msgid "Copy the shared link URL from Plausible.io" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:71 -#: ../../content/applications/websites/website/reporting/analytics.rst:118 +#: ../../content/applications/websites/website/reporting/analytics.rst:70 +#: ../../content/applications/websites/website/reporting/analytics.rst:117 msgid "In Odoo, go to :menuselection:`Website --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:72 +#: ../../content/applications/websites/website/reporting/analytics.rst:71 msgid "In the :guilabel:`SEO` section, enable :guilabel:`Plausible Analytics`, then paste the :guilabel:`Shared Link` and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:76 +#: ../../content/applications/websites/website/reporting/analytics.rst:75 msgid "If you have :doc:`multiple websites <../configuration/multi_website>`, add your websites to your Plausible.io account by going to `<https://plausible.io/sites>`_ and clicking :guilabel:`+ Add website`. In Odoo, in the **Website settings**, make sure to select the website in the :guilabel:`Settings of Website` field before pasting the :guilabel:`Shared link`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:82 +#: ../../content/applications/websites/website/reporting/analytics.rst:81 msgid "Odoo automatically pushes two custom goals: `Lead Generation` and `Shop`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:85 +#: ../../content/applications/websites/website/reporting/analytics.rst:84 msgid "`Plausible Analytics documentation <https://plausible.io/docs>`_" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:90 +#: ../../content/applications/websites/website/reporting/analytics.rst:89 msgid "Google Analytics" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:92 +#: ../../content/applications/websites/website/reporting/analytics.rst:91 msgid "To follow your Odoo website's traffic with Google Analytics:" msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:94 +#: ../../content/applications/websites/website/reporting/analytics.rst:93 msgid "Create or sign in to a Google account using the following link: `<https://analytics.google.com>`_." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:95 +#: ../../content/applications/websites/website/reporting/analytics.rst:94 msgid "If you are setting up Google Analytics for the first time, click :guilabel:`Start measuring` and go through the account creation step." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:97 +#: ../../content/applications/websites/website/reporting/analytics.rst:96 msgid "If you already have a Google Analytics account, sign in and click the gear icon in the bottom-left corner of the page to access the **Admin** page. Then, click :guilabel:`+ Create Property`." msgstr "" @@ -6104,11 +5576,11 @@ msgstr "" msgid "Measurement ID in Google Analytics." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:104 +#: ../../content/applications/websites/website/reporting/analytics.rst:103 msgid "Complete the next steps: `property creation <https://support.google.com/analytics/answer/9304153?hl=en/&visit_id=638278591144564289-3612494643&rd=2#property>`_, business details, and business objectives." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:106 +#: ../../content/applications/websites/website/reporting/analytics.rst:105 msgid "When you reach the **Data collection** step, choose the :guilabel:`Web` platform." msgstr "" @@ -6116,26 +5588,66 @@ msgstr "" msgid "Choose a platform for your Google Analytics property." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:111 +#: ../../content/applications/websites/website/reporting/analytics.rst:110 msgid "Set up your data stream: Specify your :guilabel:`Website URL` and a :guilabel:`Stream name`, then click :guilabel:`Create stream`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:113 +#: ../../content/applications/websites/website/reporting/analytics.rst:112 msgid "Copy the :guilabel:`Measurement ID`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:119 +#: ../../content/applications/websites/website/reporting/analytics.rst:118 msgid "In the :guilabel:`SEO` section, enable :guilabel:`Google Analytics`, then paste the :guilabel:`Measurement ID` and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:123 +#: ../../content/applications/websites/website/reporting/analytics.rst:122 msgid "If you have :doc:`multiple websites <../configuration/multi_website>` with separate domains, it is recommended to create `one property <https://support.google.com/analytics/answer/9304153?hl=en/&visit_id=638278591144564289-3612494643&rd=2#property>`_ per domain. In Odoo, in the **Website settings**, make sure to select the website in the :guilabel:`Settings of Website` field before pasting the :guilabel:`Measurement ID`." msgstr "" -#: ../../content/applications/websites/website/reporting/analytics.rst:129 +#: ../../content/applications/websites/website/reporting/analytics.rst:128 msgid "`Google documentation on setting up Analytics for a website <https://support.google.com/analytics/answer/1008015?hl=en/>`_" msgstr "" +#: ../../content/applications/websites/website/reporting/analytics.rst:131 +msgid "Google Tag Manager" +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:133 +msgid ":abbr:`GTM (Google Tag Manager)` is a tag management system that allows you to easily update measurement codes and related code fragments, collectively known as tags on your website or mobile app, directly through the code injector. To use GTM, proceed as follows:" +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:137 +msgid "Create or sign in to a Google account by going to https://tagmanager.google.com/." +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:139 +msgid "In the :guilabel:`Accounts` tab, click :guilabel:`Create account`." +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:141 +msgid "Enter an :guilabel:`Account Name` and select the account's :guilabel:`Country`." +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:143 +msgid "Enter your website's URL in the :guilabel:`Container name` field and select the :guilabel:`Target platform`." +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:146 +msgid "Click :guilabel:`Create` and agree to the Terms of Service." +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:148 +msgid "Copy the `<head>` and `<body>` codes from the popup window. Then, go to your website, click :guilabel:`Edit`, go to the :guilabel:`Themes` tab, scroll down to the :guilabel:`Website Settings` section, then click :guilabel:`<head>` and :guilabel:`</body>` to paste the codes." +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:0 +msgid "Install Google Tag Manager" +msgstr "" + +#: ../../content/applications/websites/website/reporting/analytics.rst:157 +msgid "The data is collected in the marketing tools used to monitor the website (e.g., Google Analytics, Plausible, Facebook Pixel), not in Odoo." +msgstr "" + #: ../../content/applications/websites/website/reporting/link_tracker.rst:3 msgid "Link trackers" msgstr ""