From 35084591022ef5ca3b13202193c67799f79d7f7f Mon Sep 17 00:00:00 2001 From: "Tiffany Chang (tic)" Date: Thu, 20 Feb 2025 13:22:24 +0100 Subject: [PATCH] [I18N] *: re-export pot files As per usual, leave off developer.pot and contributing.pot since we don't translate them (not useful, can't really contribute to/dev in Odoo without knowing English) closes odoo/documentation#12124 Signed-off-by: Tiffany Chang (tic) --- locale/sources/administration.pot | 4 +- locale/sources/finance.pot | 794 ++++-- locale/sources/general.pot | 3580 +++++++++++--------------- locale/sources/inventory_and_mrp.pot | 1244 +++++---- locale/sources/marketing.pot | 114 +- locale/sources/productivity.pot | 635 +++-- locale/sources/sales.pot | 174 +- locale/sources/studio.pot | 12 +- locale/sources/websites.pot | 6 +- 9 files changed, 3472 insertions(+), 3091 deletions(-) diff --git a/locale/sources/administration.pot b/locale/sources/administration.pot index 57e22bb65..48fae7e80 100644 --- a/locale/sources/administration.pot +++ b/locale/sources/administration.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-28 08:10+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4392,7 +4392,7 @@ msgid "The `num2words` Python package - needed to render textual amounts - does msgstr "" #: ../../content/administration/on_premise/packages.rst:135 -msgid "Odoo 17 'rpm' package supports Fedora 36." +msgid "Odoo 17 'rpm' package supports Fedora 38." msgstr "" #: ../../content/administration/on_premise/packages.rst:137 diff --git a/locale/sources/finance.pot b/locale/sources/finance.pot index f34129a72..b224027cd 100644 --- a/locale/sources/finance.pot +++ b/locale/sources/finance.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-28 08:10+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -355,7 +355,7 @@ msgid "To connect your bank account to your database, go to :menuselection:`Acco msgstr "" #: ../../content/applications/finance/accounting/bank.rst:37 -#: ../../content/applications/finance/accounting/bank.rst:137 +#: ../../content/applications/finance/accounting/bank.rst:139 #: ../../content/applications/finance/accounting/get_started.rst:182 msgid ":doc:`bank/bank_synchronization`" msgstr "" @@ -463,6 +463,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/germany.rst:58 #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:6 #: ../../content/applications/finance/fiscal_localizations/italy.rst:8 +#: ../../content/applications/finance/fiscal_localizations/italy.rst:647 #: ../../content/applications/finance/fiscal_localizations/kenya.rst:8 #: ../../content/applications/finance/fiscal_localizations/luxembourg.rst:6 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:10 @@ -484,6 +485,8 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_states.rst:34 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:644 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:42 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:61 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:240 #: ../../content/applications/finance/payment_providers/adyen.rst:17 #: ../../content/applications/finance/payment_providers/alipay.rst:12 #: ../../content/applications/finance/payment_providers/authorize.rst:9 @@ -510,7 +513,7 @@ msgid ":doc:`get_started/multi_currency`" msgstr "" #: ../../content/applications/finance/accounting/bank.rst:88 -#: ../../content/applications/finance/accounting/bank.rst:138 +#: ../../content/applications/finance/accounting/bank.rst:140 msgid ":doc:`bank/transactions`" msgstr "" @@ -538,11 +541,11 @@ msgstr "" msgid "You can edit the currency used to enter the statements." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:114 +#: ../../content/applications/finance/accounting/bank.rst:116 msgid "Account number" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:116 +#: ../../content/applications/finance/accounting/bank.rst:118 msgid "If you need to **edit your bank account details**, click on the external link arrow next to your :guilabel:`Account Number`. On the new page, click on the external link arrow next to your :guilabel:`Bank` and update your bank information accordingly. These details are used when registering payments." msgstr "" @@ -550,67 +553,67 @@ msgstr "" msgid "Edit your bank information" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:125 +#: ../../content/applications/finance/accounting/bank.rst:127 msgid "Bank feeds" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:127 +#: ../../content/applications/finance/accounting/bank.rst:129 msgid ":guilabel:`Bank Feeds` defines how the bank statements are registered. Three options are available:" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:129 +#: ../../content/applications/finance/accounting/bank.rst:131 msgid ":guilabel:`Undefined yet`, which should be selected when you don’t know yet if you will synchronize your bank account with your database or not." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:131 +#: ../../content/applications/finance/accounting/bank.rst:133 msgid ":guilabel:`Import (CAMT, CODA, CSV, OFX, QIF)`, which should be selected if you want to import your bank statement using a different format." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:133 +#: ../../content/applications/finance/accounting/bank.rst:135 msgid ":guilabel:`Automated Bank Synchronization`, which should be selected if your bank is synchronized with your database." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:143 +#: ../../content/applications/finance/accounting/bank.rst:145 msgid "Outstanding accounts" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:145 +#: ../../content/applications/finance/accounting/bank.rst:147 msgid "By default, payments are registered through transitory accounts named **outstanding accounts**, before being recorded in your bank account." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:148 +#: ../../content/applications/finance/accounting/bank.rst:150 msgid "An **outstanding payments account** is where outgoing payments are posted until they are linked with a withdrawal from your bank statement." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:150 +#: ../../content/applications/finance/accounting/bank.rst:152 msgid "An **outstanding receipts account** is where incoming payments are posted until they are linked with a deposit from your bank statement." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:153 +#: ../../content/applications/finance/accounting/bank.rst:155 msgid "These accounts should be of :ref:`type ` :guilabel:`Current Assets`." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:156 +#: ../../content/applications/finance/accounting/bank.rst:158 msgid "The movement from an outstanding account to a bank account is done automatically when you reconcile the bank account with a bank statement." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:160 +#: ../../content/applications/finance/accounting/bank.rst:162 msgid "Default accounts configuration" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:162 +#: ../../content/applications/finance/accounting/bank.rst:164 msgid "The outstanding accounts are defined by default. If necessary, you can update them by going to :menuselection:`Accounting --> Configuration --> Settings --> Default Accounts` and update your :guilabel:`Outstanding Receipts Account` and :guilabel:`Outstanding Payments Account`." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:167 +#: ../../content/applications/finance/accounting/bank.rst:169 msgid "Bank and cash journals configuration" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:169 +#: ../../content/applications/finance/accounting/bank.rst:171 msgid "You can also set specific outstanding accounts for any journal with the :ref:`type ` :guilabel:`Bank` or :guilabel:`Cash`." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:172 +#: ../../content/applications/finance/accounting/bank.rst:174 msgid "From your :guilabel:`Accounting Dashboard`, click on the menu selection ⋮ of the journal you want to configure, and click on :guilabel:`Configuration`, then open the :guilabel:`Incoming/Outgoing Payments` tab. To display the outstanding accounts column, click on the toggle button and check the :guilabel:`Outstanding Receipts/Payments accounts`, then update the account." msgstr "" @@ -618,11 +621,11 @@ msgstr "" msgid "Select the toggle button and click on outstanding Accounts" msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:182 +#: ../../content/applications/finance/accounting/bank.rst:184 msgid "If you do not specify an outstanding payments account or an outstanding receipts account for a specific journal, Odoo uses the default outstanding accounts." msgstr "" -#: ../../content/applications/finance/accounting/bank.rst:184 +#: ../../content/applications/finance/accounting/bank.rst:186 msgid "If your main bank account is added as an outstanding receipts account or outstanding payments account, when a payment is registered, the invoice or bill's status is directly set to :guilabel:`Paid`." msgstr "" @@ -1391,7 +1394,6 @@ msgid "The search bar within the :guilabel:`Match Existing Entries` tab allows y msgstr "" #: ../../content/applications/finance/accounting/bank/reconciliation.rst:103 -#: ../../content/applications/finance/accounting/payments.rst:104 msgid "Batch payments" msgstr "" @@ -1582,27 +1584,27 @@ msgid "Odoo supports multiple file formats to import transactions:" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:24 -msgid "SEPA recommended Cash Management format (CAMT.053);" +msgid "SEPA recommended Cash Management format (CAMT.053)" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:25 -msgid "Comma-separated values (.CSV);" +msgid "Comma-separated values (CSV)" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:26 -msgid "Open Financial Exchange (.OFX);" +msgid "Open Financial Exchange (OFX)" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:27 -msgid "Quicken Interchange Format (.QIF);" +msgid "Quicken Interchange Format (QIF)" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:28 -msgid "Belgium: Coded Statement of Account (.CODA)." +msgid "Belgium: Coded Statement of Account (CODA)" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:30 -msgid "To import a file, go to the **Accounting Dashboard**, and in the :guilabel:`Bank` journal, click on :guilabel:`Import File`." +msgid "To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal, click on :guilabel:`Import File`." msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:34 @@ -1610,55 +1612,51 @@ msgid "Alternatively, you can also:" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:36 -msgid "click :guilabel:`⋮` on the :guilabel:`Bank` journal and select :guilabel:`Import file`;" +msgid "click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon on the :guilabel:`Bank` journal and select :guilabel:`Import file`;" msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:37 -msgid "or access the transaction list by clicking :guilabel:`⋮` on the :guilabel:`Bank` journal and selecting :guilabel:`Transactions`, then click the gear icon :guilabel:`(⚙)` and select :guilabel:`Import records`." +#: ../../content/applications/finance/accounting/bank/transactions.rst:38 +msgid "or access the transaction list by clicking the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon on the :guilabel:`Bank` journal and selecting :guilabel:`Transactions`, then click the :icon:`fa-cog` :guilabel:`(gear)` icon and select :guilabel:`Import records`." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:0 -msgid "Import bank transactions from the bank journal" -msgstr "" - -#: ../../content/applications/finance/accounting/bank/transactions.rst:44 +#: ../../content/applications/finance/accounting/bank/transactions.rst:42 msgid "Next, select the file and upload it." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:46 +#: ../../content/applications/finance/accounting/bank/transactions.rst:44 msgid "After setting the necessary formatting options and mapping the file columns with their related Odoo fields, you can run a :guilabel:`Test` and :guilabel:`Import` your bank transactions." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:50 +#: ../../content/applications/finance/accounting/bank/transactions.rst:48 msgid ":doc:`/applications/essentials/export_import_data`" msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:55 +#: ../../content/applications/finance/accounting/bank/transactions.rst:53 msgid "Register bank transactions manually" msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:57 +#: ../../content/applications/finance/accounting/bank/transactions.rst:55 msgid "You can also record your bank transactions manually. To do so, go to :guilabel:`Accounting Dashboard`, click on the :guilabel:`Bank` journal, and then on :guilabel:`New`. Make sure to fill out the :guilabel:`Partner` and :guilabel:`Label` fields to ease the reconciliation process." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:64 +#: ../../content/applications/finance/accounting/bank/transactions.rst:62 msgid "Statements" msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:66 +#: ../../content/applications/finance/accounting/bank/transactions.rst:64 msgid "A **bank statement** is a document provided by a bank or financial institution that lists the transactions that have occurred in a particular bank account over a specified period of time." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:69 +#: ../../content/applications/finance/accounting/bank/transactions.rst:67 msgid "In Odoo Accounting, it is optional to group transactions by their related statement, but depending on your business flow, you may want to record them for control purposes." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:73 +#: ../../content/applications/finance/accounting/bank/transactions.rst:71 msgid "If you want to compare the ending balances of your bank statements with the ending balances of your financial records, *don't forget to create an opening transaction* to record the bank account balance as of the date you begin synchronizing or importing transactions. This is necessary to ensure the accuracy of your accounting." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:78 -msgid "To access a list of statements, go to your :guilabel:`Accounting Dashboard`, click on the vertical ellipsis (:guilabel:`⋮`) button next to the bank or cash journal you want to check, then on :guilabel:`Statements`" +#: ../../content/applications/finance/accounting/bank/transactions.rst:76 +msgid "To access a list of existing statements, go to the :guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon next to the bank or cash journal you want to check, then click :guilabel:`Statements`." msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:83 @@ -1666,25 +1664,53 @@ msgid "Statement creation from the kanban view" msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:85 -msgid "Open the bank reconciliation view by clicking on the name of the bank journal, and identify the transaction corresponding to the last transaction of your bank statement. Click on the :guilabel:`STATEMENT` button when hovering on the upper separator line." +msgid "Open the bank reconciliation (kanban) view from the :guilabel:`Accounting Dashboard` by clicking on the name of the bank journal and identify the transaction corresponding to the last (most recent) transaction of your bank statement. Click on the :guilabel:`Statement` button when hovering on the upper separator line to create a statement from that transaction down to the oldest transaction that is not yet part of a statement." msgstr "" #: ../../content/applications/finance/accounting/bank/transactions.rst:-1 -msgid "A \"STATEMENT\" button is visible when hovering on the line separating two transactions." +msgid "A \"Statement\" button is visible when hovering on the line separating two transactions." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:92 -msgid "Fill out the statement's details and save. The newly created statement includes the previous transactions following the last statement." +#: ../../content/applications/finance/accounting/bank/transactions.rst:94 +msgid "In the :guilabel:`Create Statement` window, fill out the statement's :guilabel:`Reference`, verify its :guilabel:`Starting Balance` and :guilabel:`Ending Balance`, and click :guilabel:`Save`." msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:96 +#: ../../content/applications/finance/accounting/bank/transactions.rst:100 msgid "Statement creation from the list view" msgstr "" -#: ../../content/applications/finance/accounting/bank/transactions.rst:98 +#: ../../content/applications/finance/accounting/bank/transactions.rst:102 msgid "Open the list of transactions by clicking on the name of the bank journal and switching to the list view. Select all the transactions corresponding to the bank statement, and, in the :guilabel:`Statement` column, select an existing statement or create a new one by typing its reference, clicking on :guilabel:`Create and edit...`, filling out the statement's details, and saving." msgstr "" +#: ../../content/applications/finance/accounting/bank/transactions.rst:111 +msgid "Statement viewing, editing, and printing" +msgstr "" + +#: ../../content/applications/finance/accounting/bank/transactions.rst:113 +msgid "To view an existing statement, click on the statement amount in the reconciliation (kanban) view or click on the statement name in the bank transaction list view. From here, you can edit the :guilabel:`Reference`, :guilabel:`Starting Balance`, or :guilabel:`Ending Balance`." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/transactions.rst:118 +msgid "Manually updating the :guilabel:`Starting Balance` automatically updates the :guilabel:`Ending Balance` based on the new value of the :guilabel:`Starting Balance` and the value of the statement's transactions." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/transactions.rst:123 +msgid "If the :guilabel:`Starting Balance` doesn't equal the previous statement's :guilabel:`Ending Balance`, or if the :guilabel:`Ending Balance` doesn't equal the running balance (:guilabel:`Starting Balance` plus the statement's transactions), a warning appears explaining the issue. To maintain flexibility, it is still possible to save without first resolving the issue." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/transactions.rst:129 +msgid "To attach a digital copy (i.e., JPEG, PNG, or PDF) of the bank statement for enhanced recordkeeping, click the :icon:`fa-paperclip` :guilabel:`Attachments` button and select the file to attach." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/transactions.rst:132 +msgid "To generate and print a PDF of the bank statement, click the :guilabel:`Print` button (if accessed via the reconciliation view) or click on the :icon:`fa-cog`:guilabel:`(gear)` icon and click :icon:`fa-print`:guilabel:`Statement` (if accessed via the list view)." +msgstr "" + +#: ../../content/applications/finance/accounting/bank/transactions.rst:137 +msgid "When a bank statement is generated to be printed, it is automatically added to the :guilabel:`Attachments`." +msgstr "" + #: ../../content/applications/finance/accounting/customer_invoices.rst:5 #: ../../content/applications/finance/accounting/payments/batch_sdd.rst:90 #: ../../content/applications/finance/fiscal_localizations/brazil.rst:444 @@ -5860,146 +5886,178 @@ msgid "Registering payment from an invoice or bill" msgstr "" #: ../../content/applications/finance/accounting/payments.rst:28 -msgid "When clicking :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a new journal entry and changes the amount due according to the payment amount. The counterpart is reflected in an :ref:`outstanding ` **receipts** or **payments** account. At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when the outstanding account is reconciled with a bank transaction line, the invoice or vendor bill changes to the :guilabel:`Paid` status." +msgid "Clicking :guilabel:`Register payment` in a customer invoice or vendor bill generates a new journal entry and sets the amount due according to the payment amount. The counterpart is reflected in an :ref:`outstanding ` **receipts** or **payments** account. At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment` or :ref:`Partially paid `. Then, when the outstanding account is reconciled with a bank transaction, the invoice or vendor bill changes to the :guilabel:`Paid` status." msgstr "" #: ../../content/applications/finance/accounting/payments.rst:35 -msgid "The :icon:`fa-info-circle` information icon next to the payment line displays more information about the payment. To access additional information, such as the related journal, click :guilabel:`View`." +msgid "To open the :guilabel:`Journal Entry Info` window and display more information about the payment, click the :icon:`fa-info-circle` :guilabel:`(information)` icon in the footer of the :guilabel:`Invoice Lines` tab. To access additional information, such as the related journal entry, click :guilabel:`View`." msgstr "" #: ../../content/applications/finance/accounting/payments.rst:-1 msgid "See detailed information of a payment." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:43 +#: ../../content/applications/finance/accounting/payments.rst:44 msgid "The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the payment." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:45 +#: ../../content/applications/finance/accounting/payments.rst:46 msgid "If a payment is unreconciled, it still appears in the books but is no longer linked to the invoice." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:47 +#: ../../content/applications/finance/accounting/payments.rst:48 msgid "If a payment is (un)reconciled in a different currency, a journal entry is automatically created to post the currency exchange gains/losses (reversal) amount." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:49 -msgid "If a payment is (un)reconciled and an invoice with cash-basis taxes, a journal entry is automatically created to post the cash-basis tax (reversal) amount." +#: ../../content/applications/finance/accounting/payments.rst:50 +msgid "If a payment is (un)reconciled on an invoice with cash-basis taxes, a journal entry is automatically created to post the cash-basis tax (reversal) amount." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:53 -msgid "If the main bank account is set as an :ref:`outstanding account `, and the payment is registered in Odoo (not through a related bank transaction), invoices and bills are directly registered as :guilabel:`Paid`." +#: ../../content/applications/finance/accounting/payments.rst:54 +msgid "If the main bank account is set as the :ref:`outstanding account ` on the bank journal's payment method, registering the full payment on an invoice or bill moves the invoice/bill directly to the :guilabel:`Paid` status without requiring bank reconciliation." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:60 +#: ../../content/applications/finance/accounting/payments.rst:61 msgid "Registering payments not tied to an invoice or bill" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:62 -msgid "When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not directly linked to an invoice or bill. Instead, the account receivable or the account payable is matched with the **outstanding account** until it is manually matched with its related invoice or bill." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:70 -msgid "Matching invoices and bills with payments" +#: ../../content/applications/finance/accounting/payments.rst:63 +msgid "When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not directly linked to an invoice or bill. Instead, the account receivable or the account payable is matched with the **outstanding account** until it is manually matched with its related invoice or bill. Then, :doc:`reconciling ` the payment with the bank transaction completes the payment workflow." msgstr "" #: ../../content/applications/finance/accounting/payments.rst:72 -msgid "A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:-1 -msgid "Shows the ADD option to reconcile an invoice or a bill with a payment." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:79 -msgid "The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its corresponding bank transaction." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:85 -msgid "Group payments" -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:87 -msgid "Group payments allow combining outgoing and incoming payments from the same contact into a single payment to simplify the process and improve payment usability. To register a group payment:" -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:90 -msgid "Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or :menuselection:`Accounting --> Vendors --> Bills/Refunds`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:92 -msgid "Select the relevant invoices/credit notes or bills/refunds linked to a specific contact." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:93 -msgid "Click the :icon:`fa-cog` (:guilabel:`Action menu`) icon and select :guilabel:`Register Payment`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:94 -msgid "In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the :guilabel:`Payment Method`, and the :guilabel:`Payment Date`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:96 -msgid "Enable the :guilabel:`Group Payments` option and click :guilabel:`Create payment`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:98 -msgid "The invoices or bills are now marked as :guilabel:`In payment` until they are reconciled with the corresponding bank transactions. The credit notes or refunds are marked as :guilabel:`Paid`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:106 -msgid "Batch payments allow grouping payments from multiple contacts to ease :doc:`reconciliation `. They are also useful when depositing :doc:`checks ` to the bank or for :doc:`SEPA payments `. To do so, go to :menuselection:`Accounting --> Customers --> Batch Payments` or :menuselection:`Accounting --> Vendors --> Batch Payments`. In the list view of payments, to group several payments in a batch, select them and click :menuselection:`Action --> Create Batch Payment`." -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:114 -msgid ":doc:`payments/batch`" -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:115 -msgid ":doc:`payments/batch_sdd`" -msgstr "" - -#: ../../content/applications/finance/accounting/payments.rst:120 msgid "Payments matching" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:122 -msgid "The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and allows them to be processed individually, matching all payments and invoices in one place. Go to the :guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`) button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor Bills` journals, and select :guilabel:`Payments Matching`, or go to :menuselection:`Accounting --> Accounting --> Reconciliation`." +#: ../../content/applications/finance/accounting/payments.rst:75 +msgid "During the :doc:`bank reconciliation ` process, a remaining balance is identified if the total debits and credits do not match when records are compared with bank transactions. This balance must either be reconciled later or written off immediately." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:82 +msgid "For a single invoice or bill" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:84 +msgid "A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`Add` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`." msgstr "" #: ../../content/applications/finance/accounting/payments.rst:-1 -msgid "Payments matching menu in the drop-down menu." +msgid "Shows the Add option to reconcile an invoice or a bill with a payment." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:91 +msgid "The invoice or bill is then marked as :guilabel:`In payment` until the payment is :doc:`reconciled ` with its corresponding :doc:`bank transaction(s) `." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:97 +msgid "Matching payments" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:99 +msgid "The :guilabel:`Payments matching` or :guilabel:`Auto-reconcile` tool allows reconciling journal items with each other (i.e., payments with customer invoices or vendor bills) either individually or in batches. Access the :guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`) button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor Bills` journals, and select :guilabel:`Payments Matching`. Alternatively, go to :menuselection:`Accounting --> Accounting --> Reconcile`." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:106 +msgid "To manually :guilabel:`Reconcile` journal items, select the individual items from the list view and click :guilabel:`Reconcile`." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:110 +msgid "Auto-Reconcile Feature" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:112 +msgid "To use the :guilabel:`Auto-Reconcile` feature, follow these steps:" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:114 +msgid "In the :guilabel:`Journal Items to reconcile` list view, click :guilabel:`Auto-Reconcile` next to the receivable or payable account (or a specific contact's journal item in that account)." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:116 +msgid "In the :guilabel:`Find Entries to Reconcile Automatically` window, set the :guilabel:`Reconcile` field depending on how you want to match journal items:" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:119 +msgid ":guilabel:`Opposite balances one by one`: Each debit journal item will be matched with the corresponding credit journal item of the same value." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:121 +msgid ":guilabel:`Accounts with zero balances`: All reconciled journal items will have the same matching number." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:124 +msgid "Click :guilabel:`Launch`." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:126 +msgid "Invoices and bills are automatically matched to their corresponding payments and marked as :guilabel:`In payment` until they are :doc:`reconciled ` with their corresponding :doc:`bank transactions `." msgstr "" #: ../../content/applications/finance/accounting/payments.rst:133 -msgid "During the :doc:`reconciliation `, if the sum of the debits and credits does not match, there is a remaining balance. This either needs to be reconciled at a later date or written off directly." +msgid "Registering payments on multiple invoices or bills (group payments)" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:135 +msgid "To register payments on multiple invoices/bills, follow these steps:" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:137 +msgid "Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or :menuselection:`Accounting --> Vendors --> Bills/Refunds`." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:139 +msgid "In the list view, select the relevant invoices/credit notes or bills/refunds." msgstr "" #: ../../content/applications/finance/accounting/payments.rst:140 -msgid "Batch payments matching" +msgid "Click :icon:`fa-cog` :guilabel:`Actions` and select :guilabel:`Register Payment`." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:142 -msgid "Use the batch reconciliation feature to reconcile several outstanding payments or invoices simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting --> Aged Receivable / Aged Payable`. All transactions that have not yet been reconciled for that contact are visible, and when a customer or vendor is selected, the :guilabel:`Reconcile` option is displayed." +#: ../../content/applications/finance/accounting/payments.rst:141 +msgid "In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the :guilabel:`Payment Method`, and the :guilabel:`Payment Date`." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:-1 -msgid "The batch payment reconcile option." +#: ../../content/applications/finance/accounting/payments.rst:143 +msgid "To combine all payments from the same contact into a single payment, enable the :guilabel:`Group Payments` option, or leave it unchecked to create separate payments." msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:154 +#: ../../content/applications/finance/accounting/payments.rst:145 +msgid "Click :guilabel:`Create payment`." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:147 +msgid "The invoices or bills are then marked as :guilabel:`In payment` until the bank transactions are :doc:`reconciled ` with the payments." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:153 +msgid "Registering a single payment for multiple customers or vendors (batch payments)" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:155 +msgid "Batch payments allow grouping payments from multiple contacts to ease :doc:`reconciliation `. They are also useful when depositing :doc:`checks ` to the bank or for generating bank payment files such as :doc:`SEPA ` or :ref:`NACHA `. To do so, go to :menuselection:`Accounting --> Customers --> Payments` or :menuselection:`Accounting --> Vendors --> Payments`. In the payments list view, select the payments to be grouped in a batch, click :icon:`fa-cog` :guilabel:`Actions`, and select :guilabel:`Create Batch Payment`." +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:164 +msgid ":doc:`payments/batch`" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:165 +msgid ":doc:`payments/batch_sdd`" +msgstr "" + +#: ../../content/applications/finance/accounting/payments.rst:170 msgid "Registering a partial payment" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:156 +#: ../../content/applications/finance/accounting/payments.rst:172 msgid "To register a partial payment, click on :guilabel:`Register Payment` from the related invoice or bill. In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field displays the outstanding balance. There are two options:" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:161 +#: ../../content/applications/finance/accounting/payments.rst:177 msgid ":guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a :guilabel:`Partial` banner;" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:163 +#: ../../content/applications/finance/accounting/payments.rst:179 msgid ":guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In` field and change the :guilabel:`Label` if needed. A journal entry will be created to balance the accounts payable or receivable with the selected account." msgstr "" @@ -6008,12 +6066,12 @@ msgstr "" msgid "register a partial payment" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:173 +#: ../../content/applications/finance/accounting/payments.rst:189 msgid "Reconciling payments with bank transactions" msgstr "" -#: ../../content/applications/finance/accounting/payments.rst:175 -msgid "Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The next step is :doc:`reconciling ` it with the related bank transaction line to finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`." +#: ../../content/applications/finance/accounting/payments.rst:191 +msgid "Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The next step is :doc:`reconciling ` the payment with the related :doc:`bank transaction ` line to finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`." msgstr "" #: ../../content/applications/finance/accounting/payments/batch.rst:3 @@ -8656,7 +8714,7 @@ msgid "Audit all accounts, being sure to fully understand all transactions and t msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:65 -msgid "Optionally, run :ref:`payments matching ` to validate any open vendor bills and customer invoices with their payments. While this step is optional, it could assist the year-end closing process if all outstanding payments and invoices are reconciled, potentially finding errors or mistakes in the system." +msgid "Optionally, :ref:`match payments ` to validate any open vendor bills and customer invoices with their payments. While this step is optional, it could assist the year-end closing process if all outstanding payments and invoices are reconciled, potentially finding errors or mistakes in the system." msgstr "" #: ../../content/applications/finance/accounting/reporting/year_end.rst:70 @@ -9548,6 +9606,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:16 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:62 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:54 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:17 msgid "Name" msgstr "" @@ -9575,6 +9634,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:17 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:63 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:55 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:18 msgid "Technical name" msgstr "" @@ -9605,6 +9665,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/united_kingdom.rst:18 #: ../../content/applications/finance/fiscal_localizations/united_states.rst:64 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:56 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:19 msgid "Description" msgstr "" @@ -10993,7 +11054,7 @@ msgid ":guilabel:`Vendor`: Odoo automatically fills some information based on th msgstr "" #: ../../content/applications/finance/accounting/vendor_bills.rst:39 -msgid ":guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do the :ref:`matching ` when you receive the products." +msgid ":guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do the :ref:`matching ` when you receive the products." msgstr "" #: ../../content/applications/finance/accounting/vendor_bills.rst:41 @@ -16588,7 +16649,7 @@ msgid "the Mac address of your IoT Box." msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:588 -msgid "Once your IoT box is certified, :doc:`connect <../../general/iot/config/connect>` it to your database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the :guilabel:`IOT Device` section, which should display the FDM." +msgid "Once your IoT box is certified, :doc:`connect <../../general/iot/connect>` it to your database. To verify that the IoT Box recognizes the FDM, go to the IoT homepage and scroll down the :guilabel:`IOT Device` section, which should display the FDM." msgstr "" #: ../../content/applications/finance/fiscal_localizations/belgium.rst:-1 @@ -16726,6 +16787,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:97 #: ../../content/applications/finance/fiscal_localizations/ecuador.rst:290 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:48 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:42 msgid ":guilabel:`Name`" msgstr "" @@ -16736,12 +16798,14 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:87 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:52 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:46 msgid "In the :guilabel:`Street` field, enter the street name, number, and any additional address information." msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:89 #: ../../content/applications/finance/fiscal_localizations/brazil.rst:330 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:54 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:48 msgid "In the :guilabel:`Street 2` field, enter the neighborhood." msgstr "" @@ -17337,6 +17401,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/brazil.rst:511 #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:215 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:221 msgid "Invoice cancellation" msgstr "" @@ -18012,6 +18077,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/chile.rst:22 #: ../../content/applications/finance/fiscal_localizations/peru.rst:13 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:10 msgid "Modules" msgstr "" @@ -23037,7 +23103,6 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:40 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:12 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:125 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:12 msgid "Activate QR codes" msgstr "" @@ -23068,27 +23133,24 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:62 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:26 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:138 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:27 msgid "The account holder's city is mandatory." msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:63 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:27 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:28 msgid "You could also include the invoice number in the QR code by checking the :guilabel:`Include Reference` checkbox." msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:67 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:34 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:145 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:35 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:262 msgid ":doc:`../accounting/bank`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/hong_kong.rst:70 #: ../../content/applications/finance/fiscal_localizations/singapore.rst:37 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:148 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:38 msgid "Bank journal configuration" msgstr "" @@ -25411,6 +25473,82 @@ msgstr "" msgid "If the :abbr:`PA (Public Administration)` business doesn't reply within 15 days, you need to contact the :abbr:`PA (Public Administration)` business directly, sending them both the invoice and the received deadline notification by email. You can make an arrangement with them and manually set the correct :guilabel:`SdI State` on your invoice." msgstr "" +#: ../../content/applications/finance/fiscal_localizations/italy.rst:633 +msgid "Ri.Ba. (Ricevuta Bancaria)" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:635 +msgid ":abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request payments through their bank, which forwards the request to the customer's own bank and takes responsibility for the collection. This enables payment automation and reduces risks for the vendor." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:639 +msgid "The vendor generally uploads a fixed-format text file with the list of payments to the bank's web portal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:643 +msgid "Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:649 +msgid "Check that the `l10n_it_riba` module is :ref:`installed `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:650 +msgid "Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that will use Ri.Ba." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:652 +msgid "Fill out the required :guilabel:`SIA Code`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:0 +msgid "The company's SIA code" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:658 +msgid "The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used to receive money through specific payment methods. It consists of one letter and four digits (e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:662 +msgid "Ensure the Company's bank account has an Italian IBAN." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:665 +msgid "How to configure :doc:`Bank Accounts <../accounting/bank>`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:668 +msgid "Accept Ri.Ba. for your invoices" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:670 +msgid "Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices` (:menuselection:`Accounting --> Customers --> Invoices`)." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:674 +msgid "Make sure that your invoice involves a Partner that has a bank account with an Italian IBAN." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:676 +msgid "Then, all Payments must be grouped in a **Batch Payment**." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:679 +msgid ":doc:`Batch Payments <../accounting/payments>`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:680 +msgid ":doc:`Create a Batch Payment <../accounting/payments/batch>`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:682 +msgid "Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it through your bank's web portal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/italy.rst:-1 +msgid "The Ri.Ba. file attached" +msgstr "" + #: ../../content/applications/finance/fiscal_localizations/kenya.rst:3 msgid "Kenya" msgstr "" @@ -26082,6 +26220,7 @@ msgid "`l10n_my`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:28 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:22 msgid "This module includes the default :ref:`fiscal localization package `." msgstr "" @@ -26126,6 +26265,7 @@ msgid "To configure your company information, go to the :guilabel:`Contacts` app msgstr "" #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:49 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:43 msgid ":guilabel:`Address`, including the :guilabel:`City`, :guilabel:`State`, :guilabel:`Zip Code`, and :guilabel:`Country`." msgstr "" @@ -26260,6 +26400,7 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/malaysia.rst:153 #: ../../content/applications/finance/fiscal_localizations/romania.rst:45 #: ../../content/applications/finance/fiscal_localizations/uruguay.rst:77 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:37 msgid "Company" msgstr "" @@ -29580,7 +29721,6 @@ msgstr "" #: ../../content/applications/finance/fiscal_localizations/singapore.rst:14 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:127 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:14 msgid "Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer Payments` section, activate the :guilabel:`QR Codes` feature." msgstr "" @@ -29598,13 +29738,11 @@ msgid "The account holder's country must be set to `Singapore` on its contact fo msgstr "" #: ../../content/applications/finance/fiscal_localizations/singapore.rst:39 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:40 msgid "Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab." msgstr "" #: ../../content/applications/finance/fiscal_localizations/singapore.rst:-1 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:-1 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:-1 msgid "Bank Account's journal configuration" msgstr "" @@ -29613,13 +29751,11 @@ msgid "Issue invoices with PayNow QR codes" msgstr "" #: ../../content/applications/finance/fiscal_localizations/singapore.rst:48 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:49 msgid "When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment QR-code` option to *EMV Merchant-Presented QR-code*." msgstr "" #: ../../content/applications/finance/fiscal_localizations/singapore.rst:-1 #: ../../content/applications/finance/fiscal_localizations/thailand.rst:-1 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:-1 msgid "Select EMV Merchant-Presented QR-code option" msgstr "" @@ -32209,33 +32345,349 @@ msgstr "" msgid "Vietnam" msgstr "" -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:6 -msgid "Add Vietnamese QR banking codes to invoices" -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:8 -msgid "Vietnamese QR banking is a payment service platform that allows customers to make instant domestic payments to individuals and merchants in Vietnamese dong via online and mobile banking." -msgstr "" - -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:18 -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:-1 -msgid "Vietnamese QR banking bank account configuration" +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:12 +msgid "The following modules are installed automatically with the Vietnamese localization:" msgstr "" #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:20 -msgid "Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for which you want to activate Vietnamese QR banking. Set the :guilabel:`Bank Identifier Code` on the bank. Then set the :guilabel:`Proxy Type` and fill in the :guilabel:`Proxy Value` field depending on the type you chose." +msgid ":guilabel:`Vietnam - Accounting`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:21 +msgid "`l10n_vn`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:24 +msgid ":guilabel:`Vietnam - E-invoicing`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:25 +msgid "`l10n_vn_edi_viettel`" msgstr "" #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:26 -msgid "The account holder's country must be set to `Vietnam` on its contact form." +msgid "This module includes the features required for integration with :ref:`SInvoice `." msgstr "" -#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:47 -msgid "Issue invoices with Vietnamese QR banking QR codes" +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:30 +msgid "In some cases, such as when upgrading to a version with additional modules, it is possible that modules may not be installed automatically. Any missing modules can be manually :ref:`installed `." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:39 +msgid "To use all the features of this fiscal localization, the following fields are required on the :doc:`company record `:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:50 +msgid ":guilabel:`Tax ID`: tax identification number." msgstr "" #: ../../content/applications/finance/fiscal_localizations/vietnam.rst:55 -msgid "Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to generate the Vietnamese QR banking QR code." +msgid "E-invoicing with SInvoice" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:57 +msgid "SInvoice_ is an e-invoice service platform provided by Viettel, one of the biggest e-invoice service providers in Vietnam. Odoo supports integration with SInvoice to submit invoices generated in Odoo." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:64 +msgid "SInvoice platform" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:66 +msgid "To send electronic invoices to SInvoice, the following must be created on SInvoice_:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:68 +msgid ":ref:`SInvoice account `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:69 +msgid ":ref:`Invoice template `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:70 +msgid ":ref:`Invoice symbol `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:71 +msgid ":ref:`Invoice issuance notice `" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:76 +msgid "SInvoice registration" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:78 +msgid "To create an account, go to SInvoice_ and register for the desired plan. Fill in the form that opens to be contacted by SInvoice_ to create an account." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:81 +msgid "Once you have an account, log into SInvoice_ using your :guilabel:`Username` and :guilabel:`Password`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:87 +msgid "Invoice template creation" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:89 +msgid "On the left side of the overview page, in the :guilabel:`Release management` menu, click :guilabel:`Create business information`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:91 +msgid "In the :guilabel:`Update key information` step, fill in the following fields and other optional information if needed: :guilabel:`Unit name`, :guilabel:`Address`, :guilabel:`Contact person`, :guilabel:`Type of representative documents`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:94 +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:111 +msgid "Click :guilabel:`Update`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:95 +msgid "In the :guilabel:`Look up digital certificate` step, click :guilabel:`Add new` to add a digital certificate." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:97 +msgid "Select the :guilabel:`Branch/Enterprise` and the :guilabel:`Type of digital certificate`, then fill in the required fields for each type:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:100 +msgid ":guilabel:`Supplier`: CloudCA" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:101 +msgid ":guilabel:`Signer ID`: CloudCA" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:102 +msgid ":guilabel:`Digital Certificate`: CloudCA" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:103 +msgid ":guilabel:`How to download file`: HSM" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:104 +msgid ":guilabel:`File Upload`: HSM, USB-TOKEN" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:106 +msgid "Click :guilabel:`Generate key pair` to generate encryption keys for authentication, and :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:108 +msgid "In the :guilabel:`Manage invoice templates` step, add a new :guilabel:`Invoice template`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:109 +msgid "Select the :guilabel:`Invoice type` and fill in the :guilabel:`Invoice template code`, :guilabel:`Invoice template name`, and other optional information if needed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:114 +msgid "`SInvoice documentation on electronic invoice template creation `_" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:120 +msgid "Invoice symbol creation" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:122 +msgid "On the left side of the main screen, in the :guilabel:`Release management` menu, click :guilabel:`Invoice symbol` and follow these steps:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:125 +msgid "Click :guilabel:`Add new` and select the :guilabel:`Invoice template`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:126 +msgid "Set the :guilabel:`Status` to :guilabel:`Active` to activate the symbol and fill in the :guilabel:`Invoice symbol`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:128 +msgid "Enable :guilabel:`Stop automatic sending to tax authorities` and :guilabel:`Default for built-in API` based on preference." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:130 +msgid "Click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:135 +msgid "Invoice issuance notice" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:137 +msgid "On the left side of the main screen, in the :guilabel:`Release management` menu, click :guilabel:`Create issuance notice` and follow these steps:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:140 +msgid "Click :guilabel:`Add new`, select the :guilabel:`Name of the business unit to issue an e-invoice` and the :guilabel:`Tax agency name`. Based on the business unit and tax agency selected, the :guilabel:`Tax code`, :guilabel:`Address`, :guilabel:`Phone number`, and :guilabel:`Separator used` are automatically filled and uneditable." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:144 +msgid "Click :guilabel:`Select the invoice type for issuance`, and then select and fill in the following information :" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:147 +msgid ":guilabel:`Invoice type`: The invoice type on which to declare an issuance notice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:148 +msgid ":guilabel:`Invoice template`: Select from the list of templates available based on the invoice type." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:150 +msgid ":guilabel:`Symbol`: Select from the list of symbols available based on the invoice type." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:151 +msgid ":guilabel:`Quantity`: Total number of invoices to issue for the selected type. Based on the type and template selected, this field is filled in automatically. It can be changed if needed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:153 +msgid ":guilabel:`Start date of use`: The date from which the invoice template, range, and quantity are used for the issuance notice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:156 +msgid "Click :guilabel:`Save` and select more invoice types if necessary by repeating the steps above. Click :guilabel:`Save` to finish drafting the notice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:158 +msgid "Click :guilabel:`Send to tax authorities` for approval. Once approved, the notice's :guilabel:`Status` is changed to :guilabel:`Active`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:164 +msgid "Odoo database" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:167 +msgid "Link Odoo to SInvoice" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:169 +msgid "To connect Odoo with SInvoice, go to :menuselection:`Accounting --> Configuration --> Settings`. In the :guilabel:`Vietnamese Integration` section, fill in your SInvoice :guilabel:`Username` and :guilabel:`Password`. Add a :guilabel:`Default symbol` to generate a prefix for the invoice number managed in SInvoice if needed." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:175 +msgid "Invoice template" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:177 +msgid "To create SInvoice templates, go to :menuselection:`Accounting --> Configuration --> Templates`. Click :guilabel:`New` and add a :guilabel:`Template code` and a :guilabel:`Template Invoice Type`. The :guilabel:`Template code` is the initial sequence of digits in the name assigned by SInvoice. For example, if the invoice template is `1/001 - Hóa đơn GTGT - ND123`, the :guilabel:`Template code` is `1/001`. The SInvoice templates in Odoo must match the ones in SInvoice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:183 +msgid "To add :guilabel:`Invoice Symbols`, click :guilabel:`Add a new line`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:186 +msgid "Sending invoices to SInvoice" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:188 +msgid "Invoices can be sent to SInvoice once they have been confirmed. To do so, follow the :ref:`invoice sending ` steps. In the :guilabel:`Send` popup, enable :guilabel:`Send to SInvoice` and click :guilabel:`Send & Print`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:192 +msgid "Once the invoice has been successfully submitted to SInvoice, the :guilabel:`SInvoice Status` field in the :guilabel:`SInvoice` tab of the invoice is updated to :guilabel:`Sent`. The :guilabel:`SInvoice Number`, :guilabel:`Issue Date`, :guilabel:`Secret Code` and :guilabel:`eInvoice Number` fields are also updated. The same information is available on SInvoice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:198 +msgid "Replacement or adjustment invoices" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:200 +msgid "A replacement invoice is issued to correct an invoice that has **yet to be tax declared**, whereas an adjustment invoice is issued to correct one that has **already been tax declared**. Follow these steps to issue a replacement or adjustment invoice:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:204 +msgid "Open the invoice and click :guilabel:`Credit Note`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:205 +msgid "In the :guilabel:`Credit Note` popup, fill in the following fields:" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:207 +msgid ":guilabel:`Reason displayed on Credit Note`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:208 +msgid ":guilabel:`Adjustment type`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:209 +msgid ":guilabel:`Agreement Name`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:210 +msgid ":guilabel:`Agreement Date`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:211 +msgid ":guilabel:`Journal`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:212 +msgid ":guilabel:`Reversal date`" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:214 +msgid "Click :guilabel:`Reverse and Create Invoice` to issue a replacement invoice, or :guilabel:`Reverse` to issue an adjustment invoice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:217 +msgid "The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to :guilabel:`Replaced` for a replacement invoice or :guilabel:`Adjusted` for an adjustment invoice." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:223 +msgid "If an invoice needs to be canceled, open the invoice and click :guilabel:`Request Cancel`. In the :guilabel:`Invoice Cancellation` popup, enter the cancellation :guilabel:`Reason`, :guilabel:`Agreement Name`, and :guilabel:`Agreement Date`, and click :guilabel:`Request Cancellation`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:228 +msgid "The :guilabel:`SInvoice Status` in the :guilabel:`SInvoice` invoice tab is updated to :guilabel:`Canceled`." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:234 +msgid "QR banking codes" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:236 +msgid "Vietnamese QR banking is a payment service platform that allows customers to make instant domestic payments to individuals and merchants in Vietnamese dong via online and mobile banking." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:242 +msgid "To activate QR banking codes, go to :menuselection:`Accounting --> Configuration --> Settings` and enable :guilabel:`QR Codes` in the :guilabel:`Customer Payments` section." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:246 +msgid "Bank account" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:248 +msgid "To activate QR banking for a bank account, go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account. Fill in the :guilabel:`Bank Identifier Code`, :guilabel:`Proxy Type` (based on the information used to identify the :guilabel:`Merchant Account`, such as the card number and bank account numbers), and :guilabel:`Proxy Value` fields." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:253 +msgid "Enable :guilabel:`Include Reference` to include the invoice number in the QR code." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:256 +msgid "The account holder's country must be set to `Vietnam`, and their city must be specified on the contact form." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:258 +msgid "The :ref:`account number ` and bank must be set on the :guilabel:`Bank` journal." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:265 +msgid "Generating QR codes on invoices" +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:267 +msgid "When creating a new invoice, open the :guilabel:`Other Info` tab and select :guilabel:`EMV Merchant-Presented QR-code` in the :guilabel:`Payment QR-code` field." +msgstr "" + +#: ../../content/applications/finance/fiscal_localizations/vietnam.rst:271 +msgid "Ensure the :guilabel:`Recipient Bank` is configured, as Odoo uses this field to generate QR codes." msgstr "" #: ../../content/applications/finance/payment_providers.rst:28 diff --git a/locale/sources/general.pot b/locale/sources/general.pot index d9d9abebd..abb5ab041 100644 --- a/locale/sources/general.pot +++ b/locale/sources/general.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-30 16:06+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -1738,8 +1738,6 @@ msgid "This configuration is the more difficult of the two Microsoft Azure confi msgstr "" #: ../../content/applications/general/email_communication/azure_oauth.rst:241 -#: ../../content/applications/general/iot/config/pos.rst:21 -#: ../../content/applications/general/iot/config/troubleshooting.rst:604 msgid "Setup" msgstr "" @@ -4030,7 +4028,6 @@ msgid "Outlook allows for third-party applications to connect in order to execut msgstr "" #: ../../content/applications/general/integrations/mail_plugins/outlook.rst:10 -#: ../../content/applications/general/iot/config.rst:5 #: ../../content/applications/general/users/azure.rst:22 #: ../../content/applications/general/users/google.rst:24 msgid "Configuration" @@ -4233,2110 +4230,289 @@ msgstr "" msgid "As a non-Odoo Online user, you are limited to a test key with a maximum of 50 Unsplash requests per hour." msgstr "" -#: ../../content/applications/general/iot.rst:8 +#: ../../content/applications/general/iot.rst:7 msgid "Internet of Things (IoT)" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:3 -msgid "Connect an IoT box to Odoo" +#: ../../content/applications/general/iot.rst:9 +msgid "Odoo Internet of Things (IoT) allows to connect physical devices such as barcode scanners, receipt printers, payment terminals, measurement tools, etc. to an Odoo database using an IoT system." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:5 -msgid "An Internet of Things (IoT) box is a micro-computer device that allows for the connection of input and output devices to an Odoo database. An :abbr:`IoT (Internet of Things)` box subscription is required in order to use the :abbr:`IoT (Internet of Things)` box with a secured connection. A computer is also required to set up the :abbr:`IoT (Internet of Things)` box." +#: ../../content/applications/general/iot.rst:12 +msgid "The following IoT systems are supported:" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:11 -msgid "`IoT Box FAQ `_" +#: ../../content/applications/general/iot.rst:14 +msgid ":doc:`IoT box `: micro-computer, plug-and-play device (i.e., the Odoo IoT program is pre-installed);" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:13 -msgid "Begin the :abbr:`IoT (Internet of Things)` configuration process by :ref:`installing the IoT app ` on the Odoo database through the :menuselection:`Apps` application." +#: ../../content/applications/general/iot.rst:16 +msgid ":doc:`Windows virtual IoT `: Odoo IoT program for Windows that can be installed on a Windows computer." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "The Internet of Things (IoT) app on the Odoo database." +#: ../../content/applications/general/iot.rst:20 +#: ../../content/applications/general/iot/windows_iot.rst:25 +msgid ":abbr:`MRP (Material Requirement Planning)` devices, including cameras and measurement tools, are not compatible with Windows virtual IoT." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:20 -msgid "Next, after the *IoT app* is installed, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the :guilabel:`Connect` button located in the upper-left corner of the :menuselection:`IoT Boxes` dashboard." +#: ../../content/applications/general/iot.rst:22 +msgid "Multiple IoT systems can be used at the same time." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "Connecting an IoT box to the Odoo database." +#: ../../content/applications/general/iot.rst:23 +#: ../../content/applications/general/iot/windows_iot.rst:27 +msgid "It is also possible to create a Windows Virtual Machine on a MacOS/Linux computer. However, this option is not supported by Odoo, and no troubleshooting assistance will be provided." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:28 -msgid "There are two recommended ways to connect the :abbr:`IoT (Internet of Things)` box to the database once the *IoT app* is installed. Follow the steps in either of the next two sections to connect the :abbr:`IoT (Internet of Things)` box via :ref:`wired ethernet connection ` or via :ref:`WiFi `." +#: ../../content/applications/general/iot.rst:29 +msgid "IoT box subscription" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "Connection steps for a wired connection or WiFi connection." +#: ../../content/applications/general/iot.rst:31 +msgid "An IoT box subscription is required for production use of IoT systems. If you have issues related to your subscription, contact the database's account manager or Odoo partner for assistance." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:38 -msgid "The disk image that the :abbr:`IoT (Internet of Things)` box SD card is formatted with is unique to the version of the Odoo database that the :abbr:`IoT (Internet of Things)` box is running on. Ensure that the :abbr:`IoT (Internet of Things)` box is :ref:`flashed ` with the most up-to-date disk image." +#: ../../content/applications/general/iot.rst:35 +msgid "If the subscription is linked to an `Odoo.com `_ portal user, check the information on the portal's subscription page." msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:46 -msgid "Ethernet connection" +#: ../../content/applications/general/iot.rst:39 +msgid "`Odoo's compatible IoT devices `_" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:48 -msgid "The following is the process to connect the :abbr:`IoT (Internet of Things)` box via an ethernet cable to the Odoo database (by way of the ethernet port; RJ-45)." +#: ../../content/applications/general/iot.rst:40 +msgid "`Odoo Tutorials: Internet of Things (IoT) Tutorials `_" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:51 -msgid "First, connect all wired devices to the :abbr:`IoT (Internet of Things)` box (ethernet, :abbr:`USB (Universal Serial Bus)` devices, etc.). At minimum, an HDMI screen should be connected. Then, plug the :abbr:`IoT (Internet of Things)` box into a power source." +#: ../../content/applications/general/iot.rst:42 +msgid "`IoT system FAQ `_" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:55 -msgid "Immediately after the unit powers on and boots up, read the *pairing code* from the screen or from the printout of a receipt printer connected to the :abbr:`IoT (Internet of Things)` box." +#: ../../content/applications/general/iot/connect.rst:3 +msgid "IoT system connection to Odoo" msgstr "" -#: ../../content/applications/general/iot/config/connect.rst:59 -msgid "By default, the :abbr:`IoT (Internet of Things)` box will display the *pairing code* for a maximum of 5 minutes after the unit boots up. After 5 minutes, the *pairing code* will disappear for security purposes and the :abbr:`IoT (Internet of Things)` box will need to be rebooted manually by unplugging the unit from the power source for ten seconds and re-plugging it back in." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:65 -msgid "If no screen is attached to the :abbr:`IoT (Internet of Things)` box, then the *pairing code* can be accessed from the :abbr:`IoT (Internet of Things)` box homepage by clicking on the :guilabel:`POS Display` button. For instructions on how to access the :abbr:`IoT (Internet of Things)` box homepage visit :ref:`iot_connect/token`." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:70 -msgid "On the computer, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the :guilabel:`Connect` button located in the upper-left corner of the the :menuselection:`IoT Boxes` dashboard. Input the *pairing code* in the :guilabel:`Pairing Code` field and click on the :guilabel:`Pair` button. The database will now link to the :abbr:`IoT (Internet of Things)` box and it will appear on the :menuselection:`IoT Boxes` page." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:79 -msgid "WiFi connection" -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:81 -msgid "The following is the process to connect the :abbr:`IoT (Internet of Things)` box via a WiFi connection to the Odoo database." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:84 -msgid "First, ensure there is no ethernet cable plugged into the :abbr:`IoT (Internet of Things)` box. Then, connect all wired devices to the :abbr:`IoT (Internet of Things)` box (:abbr:`USB (Universal Serial Bus)` devices, etc.)." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:88 -msgid "After connecting the devices, plug the :abbr:`IoT (Internet of Things)` box into to a power source. On the computer, navigate to :menuselection:`IoT app --> IoT Boxes`, and then click on the :guilabel:`Connect` button located in the upper-left corner of the the :menuselection:`IoT Boxes` dashboard. Then copy the :guilabel:`Token` from the :guilabel:`WiFi connection` section as this will later be used to link the Odoo database to the :abbr:`IoT (Internet of Things)` box." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:94 -msgid "Back on the computer, navigate to the available WiFi networks and connect to the :abbr:`IoT (Internet of Things)` box WiFi network. The WiFi network dispersed by the :abbr:`IoT (Internet of Things)` box will start with `IoTBox-xxxxxxxxxx`." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "WiFi networks available on the computer." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:102 -msgid "Upon connecting to the :abbr:`IoT (Internet of Things)` box WiFi, a browser will automatically redirect to the :menuselection:`Configure Iot Box` wizard. Name the :abbr:`IoT (Internet of Things)` box, then paste the previously copied *token* into the :guilabel:`Server Token` field, and then click on :guilabel:`Next`." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "Enter the server token into the IoT box." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:112 -msgid "If the :abbr:`IoT (Internet of Things)` box WiFi connection wizard doesn't start, then see the documentation on :ref:`connecting with a token `." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:115 -msgid "Now, choose the WiFi network that the :abbr:`IoT (Internet of Things)` box will connect with (enter the password if there is one) and click on :guilabel:`Connect`. Wait a few seconds and the browser will redirect to the :abbr:`IoT (Internet of Things)` box homepage. The computer may need to be manually re-connected back to the original WiFi connection, if this does not happen automatically." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "Configuring the WiFi for the IoT box." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:124 -msgid "After completing each step, the :abbr:`IoT (Internet of Things)` box should appear when navigating to :menuselection:`IoT app --> IoT Boxes` on the Odoo database." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:-1 -msgid "The IoT box has been successfully configured on the Odoo database." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:132 -msgid "The :abbr:`IoT (Internet of Things)` box may need to be manually rebooted upon successfully connecting via WiFi for the box to appear in the *IoT app* on the Odoo database. To do so, simply unplug the device and plug it back into the power source after ten seconds." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:139 -msgid "Manually connecting the IoT box using the token" -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:141 -msgid "A manual connection of the :abbr:`IoT (Internet of Things)` box to the :abbr:`IoT (Internet of Things)` app can be made using the *token*, from a computer. The *token* can be found by navigating to :menuselection:`IoT app --> IoT Boxes` and clicking on :guilabel:`Connect`." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:145 -msgid "Under the :guilabel:`WiFi Connection` section of the :guilabel:`Connect an IoT Box` page that appears, click :guilabel:`Copy` to the right of the :guilabel:`Token`. This token will be entered into the :abbr:`IoT (Internet of Things)` box homepage." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:149 -msgid "Access the :abbr:`IoT (Internet of Things)` box homepage by entering the :abbr:`IP (Internet Protocol)` address of the :abbr:`IoT (Internet of Things)` box into a browser window from a computer on the same network as the :abbr:`IoT (Internet of Things)` box (preferably by ethernet connection)." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:154 -msgid "The :abbr:`IP (Internet Protocol)` address can be accessed by the router admin console that the :abbr:`IoT (Internet of Things)` box is connected to, or by connecting a receipt printer to the :abbr:`IoT (Internet of Things)` box. A receipt will print out with the :abbr:`IoT (Internet of Things)` box's :abbr:`IP (Internet Protocol)` address on it." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:159 -msgid "On the :abbr:`IoT (Internet of Things)` box homepage, enter the *token* under the :guilabel:`Server` section by clicking on :guilabel:`Configure`. Then, paste the *token* into the :guilabel:`Server Token` field and click :guilabel:`Connect`. The :abbr:`IoT (Internet of Things)` box will then link to the Odoo database." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:167 -msgid "IoT box schema" -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:170 -msgid "Raspberry Pi 4" -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:174 -msgid "The Odoo IoT box (Raspberry Pi 4) schema with labels." -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:177 -msgid "Raspberry Pi 3" -msgstr "" - -#: ../../content/applications/general/iot/config/connect.rst:181 -msgid "The Odoo IoT box (Raspberry Pi 3) schema with labels." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:5 -msgid "HTTPS certificate (IoT)" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:8 -msgid "What is HTTPS?" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:10 -msgid "*Hypertext Transfer Protocol Secure* (HTTPS) is the secure version of *Hypertext Transfer Protocol* (HTTP), which is the primary protocol used to send data back and forth between a web browser and a website. :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is encrypted in order to increase the security of data transfer." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:15 -msgid ":abbr:`HTTPS (Hypertext Transfer Protocol Secure)` uses an encryption protocol to encrypt communications. The protocol is called *Transport Layer Security* (TLS), although formerly it was known as *Secure Sockets Layer* (SSL)." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:19 -msgid ":abbr:`HTTPS (Hypertext Transfer Protocol Secure)` occurs based upon the transmission of :abbr:`TLS (Transport Layer Security)`/:abbr:`SSL (Secure Sockets Layer)` certificates, which verify that a particular provider is who they say they are." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:24 -msgid "In this documentation and throughout Odoo the term \"HTTPS certificate\" will be used to define the fact that the :abbr:`SSL (Secure Sockets Layer)` certificate is valid and allows a :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` connection." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:29 -msgid "Why is it needed?" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:31 -msgid "In order to communicate with certain network devices (in particular for payment terminals), the usage of :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is mandatory. If the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate isn't valid, some devices won't be able to interact with the :abbr:`IoT (Internet of Things)` Box." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:37 -msgid "How to obtain a Hypertext Transfer Protocol Secure (HTTPS) certificate" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:39 -msgid "The generation of the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate is automatic." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:41 -msgid "The :abbr:`IoT (Internet of Things)` Box will send a specific request to ``_ which will send back the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate if the :abbr:`IoT (Internet of Things)` box and database are eligible." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:48 -msgid "Internet of Things (IoT) eligibility" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:50 -msgid "The database should be a **production** instance. The database instance should not be a copy, a duplicate, a staging, or a development environment." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:52 -msgid "The Odoo subscription must:" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:54 -msgid "Have an :guilabel:`IoT Box Subscription` line." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:55 -msgid ":guilabel:`Status` must be :guilabel:`In Progress`." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:57 -msgid "If the subscription is linked to a ``_ portal user check the information on the portal subscription page." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:0 -msgid "Odoo.com portal subscriptions filtered by \"in progress\"." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:64 -msgid "In this case, both subscriptions are considered \"in progress\" as the :guilabel:`Filter By\\: In Progress` was used." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:68 -msgid "If the subscription is in question, contact the database's Account Manager or Partner regarding the matter." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:72 -msgid "Troubleshooting Hypertext Transfer Protocol Secure (HTTPS) certificate errors" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:74 -msgid "If anything goes wrong during the process of the \"HTTPS certificate\" generation or reception, a specific error will code be given on the :abbr:`IoT (Internet of Things)` box home page." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:78 -msgid "Accessing the :abbr:`IoT (Internet of Things)` box homepage will check for the presence of the \"HTTPS certificate\" and will attempt its generation if it is missing. As such, if there is an error on the :abbr:`IoT (Internet of Things)` box home page, refresh the :abbr:`IoT (Internet of Things)` home page to see if the error disappears." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:84 -msgid "`ERR_IOT_HTTPS_CHECK_NO_SERVER`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:88 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:101 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:110 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:132 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:149 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:166 -msgid "Reason:" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:87 -msgid "The configuration regarding the server is missing. In other words, the Odoo instance is not connected with the IoT box." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:91 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:104 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:114 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:137 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:159 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:170 -msgid "Solution:" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:91 -msgid "Ensure that the server is configured." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:94 -#: ../../content/applications/general/iot/config/windows_iot.rst:121 -msgid ":doc:`/applications/general/iot/config/connect`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:97 -msgid "`ERR_IOT_HTTPS_CHECK_CERT_READ_EXCEPTION`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:100 -msgid "An unhandled error happened when trying to read the existing :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:104 -msgid "Ensure that the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate file is readable." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:107 -msgid "`ERR_IOT_HTTPS_LOAD_NO_CREDENTIAL`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:110 -msgid "The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:113 -msgid "Ensure that both values are configured as intended. To modify them, go to the :abbr:`IoT (Internet of Things)` box home page, and navigate to :guilabel:`Credential`." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:117 -msgid "`ERR_IOT_HTTPS_LOAD_REQUEST_EXCEPTION`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:120 -msgid "An unexpected error happened when the :abbr:`IoT (Internet of Things)` box tried to reach ``_. The causes are likely due to the network infrastructure/configuration:" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:124 -msgid "The :abbr:`IoT (Internet of Things)` box does not have access to internet." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:125 -msgid "The network does not allow the :abbr:`IoT (Internet of Things)` box to communicate with ``_. This may be due to network devices preventing the communication (firewalls, etc.) or the network configuration (:abbr:`VPN (Virtual Private Network)`, etc.)." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:131 -msgid "More information regarding the error that occurred can be found in the full request exception details, which are in the :abbr:`IoT (Internet of Things)` box logs." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:136 -msgid "Consult with your system or network administrator should this issue arise. This error code depends on the network infrastructure and goes beyond Odoo support's service scope." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:140 -msgid "`ERR_IOT_HTTPS_LOAD_REQUEST_STATUS`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:143 -msgid "The IoT-box was able to reach ``_ but received an unusual `HTTP response (status codes) `_." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:147 -msgid "This error code will also give the HTTP response status codes. For example, if the error reads `ERR_IOT_HTTPS_LOAD_REQUEST_STATUS 404` it means that the page returned a 404 error, which is the \"Page Not Found\" code." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:152 -msgid "Check if ``_ is down using a web browser, as it's possible that it is down due to maintenance." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:155 -msgid "If ``_ is down due to maintenance, unfortunately there is nothing that can be done but instead wait for it to recover." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:157 -msgid "If ``_ is not down due to maintenance, open a `support ticket `_ on the matter. Ensure that the 3 digits status code next to the code error is included in the support ticket." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:162 -msgid "`ERR_IOT_HTTPS_LOAD_REQUEST_NO_RESULT`" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:165 -msgid "The :abbr:`IoT (Internet of Things)` box was able to reach ``_ but it refused to deliver the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:169 -msgid "Ensure that the :abbr:`IoT (Internet of Things)` box and database are eligible for a certificate: :ref:`Internet of Things (IoT) eligibility `." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:173 -msgid "How to ensure that the HTTPS certificate is correct" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:175 -msgid "If the certificate has been applied successfully, a new :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` :abbr:`URL (Uniform Resource Locator)` for the :abbr:`IoT (Internet of Things)` box ending with `.odoo-iot.com` will appear on the Odoo database, inside of the :menuselection:`IoT` application on that specific device's form." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:-1 -msgid "Odoo IoT app IoT box with .odoo-iot.com domain." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:184 -msgid "When navigating to the :abbr:`URL (Uniform Resource Locator)` in a browser a secured :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` connection will be established." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:191 -msgid "Example of valid SSL certificate details on the browser." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:191 -msgid "Padlock in Chrome on Windows 10 attesting the fact that the connection is secured in :abbr:`HTTPS (Hypertext Transfer Protocol Secure)`." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:194 -msgid "The IoT-box homepage will now display an `OK` status next to `HTTPS certificate`. The drop-down menu icon, when clicked, will reveal information regarding the certificate." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:-1 -msgid "IoT box homepage with HTTPS certificate OK status." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:202 -msgid "Domain Name System (DNS) issue" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:204 -msgid "If the :abbr:`IoT (Internet of Things)` box can be accessed from its :abbr:`IP (Intrernet Protocol)` address but not the Odoo assigned domain: `.odoo-iot.com`; then the :abbr:`IoT (Internet of Things)` box is likely running into a :abbr:`DNS (Domain Name System)` issue. On some browsers, it will give an error code mentioning :abbr:`DNS (Domain Name System)` (like `DNS_PROBE_FINISHED_NXDOMAIN`)." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:209 -msgid "These :abbr:`DNS (Domain Name System)` issues may appear as the following in different browsers:" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:213 -msgid "Chrome" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:0 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:219 -msgid "DNS issue on Chrome browser on Windows 10." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:222 -msgid "Firefox" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:0 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:228 -msgid "DNS issue on Firefox browser on Windows 10." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:230 -msgid "Edge" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:0 -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:236 -msgid "DNS issue on Edge browser on Windows 10." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:240 -msgid "Domain Name System (DNS) issue solution" -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:242 -msgid "Should the router allow the :abbr:`DNS (Domain Name System)` to be manually changed, change the DNS to use `Google DNS `_." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:244 -msgid "If your router doesn't allow for this, then a change will need to be made on the :abbr:`DNS (Domain Name System)` settings of each of the devices using `Google DNS `_. This will need to occur on **every** device that plans to interact with the :abbr:`IoT (Internet of Things)` box (e.g. computer, tablet or phone). The individual device configuration processes can be found on the website of the device's manufacturer." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:252 -msgid "Other :abbr:`IoT (Internet of Things)` devices such as payment terminals likely won't need their :abbr:`DNS (Domain Name System)` settings changed as they are already configured with custom :abbr:`DNS (Domain Name System)`." -msgstr "" - -#: ../../content/applications/general/iot/config/https_certificate_iot.rst:257 -msgid "Consult with your system or network administrator should this issue arise. This error code depends on the network infrastructure, and it goes beyond Odoo support's service scope." -msgstr "" - -#: ../../content/applications/general/iot/config/pos.rst:3 -msgid "Use an IoT box with a PoS" -msgstr "" - -#: ../../content/applications/general/iot/config/pos.rst:6 +#: ../../content/applications/general/iot/connect.rst:6 +#: ../../content/applications/general/iot/windows_iot.rst:16 msgid "Prerequisites" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:8 -msgid "Before starting, make sure the following equipment is available:" +#: ../../content/applications/general/iot/connect.rst:8 +msgid "To connect the IoT system to an Odoo database, the following prerequisites must be met:" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:10 -msgid "An :abbr:`IoT (Internet of Things)` box, with its power adapter." +#: ../../content/applications/general/iot/connect.rst:10 +msgid "The Internet of Things (IoT) app must be :ref:`installed `." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:11 -msgid "A computer or tablet with an up-to-date web browser." +#: ../../content/applications/general/iot/connect.rst:11 +msgid "The IoT system must be connected to the network." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:12 -msgid "Odoo Online or an Odoo instance with the *Point of Sale* and *IoT* applications installed." +#: ../../content/applications/general/iot/connect.rst:12 +msgid "The computer connecting to Odoo must be on the same network as the IoT system." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:13 -msgid "A local network set up with :abbr:`DHCP (Dynamic Host Configuration Protocol)` (this is the default setting)." +#: ../../content/applications/general/iot/connect.rst:15 +msgid "It is recommended to connect the IoT system to a **production** instance, as other types of environments may cause issues (e.g., with :ref:`HTTPS certificate generation `)." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:15 -msgid "An RJ45 Ethernet Cable (optional, but preferred over WiFi, which is already built in)." +#: ../../content/applications/general/iot/connect.rst:20 +msgid ":doc:`iot_box`" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:16 -msgid "Any of the supported hardware (receipt printer, barcode scanner, cash drawer, payment terminal, scale, customer display, etc.). The list of supported hardware can be found on the `POS Hardware page `_." +#: ../../content/applications/general/iot/connect.rst:21 +msgid ":doc:`windows_iot`" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:25 -msgid "A suggested configuration for a point of sale system." +#: ../../content/applications/general/iot/connect.rst:24 +#: ../../content/applications/general/iot/devices/camera.rst:12 +#: ../../content/applications/general/iot/devices/footswitch.rst:14 +#: ../../content/applications/general/iot/devices/printer.rst:16 +#: ../../content/applications/general/iot/devices/screen.rst:18 +msgid "Connection" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:27 -msgid "To connect hardware to the :abbr:`PoS (Point of Sale)`, the first step is to connect an :abbr:`IoT (Internet of Things)` box to the database. To do this, follow these instructions: :doc:`Connect an Internet of Things (IoT) box to the Odoo database `." +#: ../../content/applications/general/iot/connect.rst:26 +msgid "The IoT system can be connected to the Odoo database using a :ref:`pairing code ` or a :ref:`connection token `." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:31 -msgid "Then, connect the peripheral devices to the :abbr:`IoT (Internet of Things)` box." +#: ../../content/applications/general/iot/connect.rst:32 +msgid "Connection using a pairing code" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:37 -msgid "Device Name" +#: ../../content/applications/general/iot/connect.rst:35 +msgid "The pairing code is displayed for up to 5 minutes after the IoT system starts. If the code is no longer visible, reboot the IoT box or :ref:`restart the Windows virtual IoT service ` to display the pairing code again. Alternatively, connect the IoT system to the database using a :ref:`connection token `." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:38 -msgid "Instructions" +#: ../../content/applications/general/iot/connect.rst:39 +msgid "The pairing code is not displayed if the IoT system is already connected to a database (e.g., a test database)." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:39 -#: ../../content/applications/general/iot/config/troubleshooting.rst:66 -msgid "Printer" +#: ../../content/applications/general/iot/connect.rst:42 +msgid "Retrieve the IoT's system pairing code:" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:40 -msgid "Connect a supported receipt printer to a :abbr:`USB (Universal Serial Bus)` port or to the network, and power it on. Refer to :doc:`/applications/sales/point_of_sale/restaurant/kitchen_printing`." +#: ../../content/applications/general/iot/connect.rst:46 +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:17 +#: ../../content/applications/general/iot/iot_box.rst:3 +msgid "IoT box" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:43 -#: ../../content/applications/general/iot/config/troubleshooting.rst:560 -msgid "Cash drawer" +#: ../../content/applications/general/iot/connect.rst:48 +msgid "Connect the IoT box to an external monitor or printer. If the IoT box was already plugged prior to this, reboot it by unplugging it for a few seconds and replugging it." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:44 -msgid "The cash drawer should be connected to the printer with an RJ25 cable." +#: ../../content/applications/general/iot/connect.rst:51 +msgid "External monitor: The pairing code should be displayed on the screen a few minutes after rebooting the IoT box." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:45 -#: ../../content/applications/general/iot/config/troubleshooting.rst:508 -msgid "Barcode scanner" +#: ../../content/applications/general/iot/connect.rst:53 +msgid "Printer: The pairing code should be printed automatically." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:46 -msgid "In order for the barcode scanner to be compatible it must end barcodes with an `ENTER` character (keycode 28). This is most likely the default configuration of the barcode scanner." +#: ../../content/applications/general/iot/connect.rst:56 +msgid "If no external monitor or printer is connected to the IoT box, access the :ref:`IoT box's homepage `; the code is displayed in the :guilabel:`Pairing Code` section." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:48 -#: ../../content/applications/general/iot/config/troubleshooting.rst:571 -msgid "Scale" +#: ../../content/applications/general/iot/connect.rst:60 +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:60 +#: ../../content/applications/general/iot/windows_iot.rst:3 +msgid "Windows virtual IoT" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:49 -msgid "Connect the scale and power it on. Refer to :doc:`../devices/scale`." +#: ../../content/applications/general/iot/connect.rst:62 +msgid "On the computer with the Windows virtual IoT installed, open the IoT system's homepage in a web browser by navigating to the URL `http://localhost:8069`. Then, scroll to the :guilabel:`Pairing Code` section." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:51 -msgid "Customer display" +#: ../../content/applications/general/iot/connect.rst:66 +#: ../../content/applications/general/iot/connect.rst:75 +msgid "In Odoo, open the IoT app and click :guilabel:`Connect`." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:52 -msgid "Connect a screen to the :abbr:`IoT (Internet of Things)` box to display the :abbr:`PoS (Point of Sale)` order. Refer to :doc:`../devices/screen`." +#: ../../content/applications/general/iot/connect.rst:67 +msgid "In the :guilabel:`Connect an IoT Box` popup that opens, enter the :guilabel:`Pairing code`." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:54 -msgid "Payment terminal" +#: ../../content/applications/general/iot/connect.rst:68 +msgid "Click :guilabel:`Pair`." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:55 -msgid "The connection process depends on the terminal. Refer to the :doc:`payment terminals documentation `." +#: ../../content/applications/general/iot/connect.rst:73 +msgid "Connection using a connection token" msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:58 -msgid "Once this is completed, connect the :abbr:`IoT (Internet of Things)` box to the :menuselection:`PoS` application. To do this, go to :menuselection:`Point of Sale --> Configuration --> PoS`, tick the :guilabel:`IoT Box` option, and select the devices to be used in this :abbr:`PoS (Point of Sale)`. :guilabel:`Save` the the changes." +#: ../../content/applications/general/iot/connect.rst:76 +msgid "In the :guilabel:`Connect an IoT Box` popup that opens, copy the :guilabel:`Token`." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:-1 -msgid "Configuring the connected devices in the POS application." +#: ../../content/applications/general/iot/connect.rst:77 +#: ../../content/applications/general/iot/devices/printer.rst:177 +msgid "Access the :ref:`IoT box's ` or :ref:`Windows virtual IoT's ` homepage." msgstr "" -#: ../../content/applications/general/iot/config/pos.rst:67 -msgid "Once set up is done, a new :abbr:`PoS (Point of Sale)` session can be launched." +#: ../../content/applications/general/iot/connect.rst:79 +msgid "In the :guilabel:`Odoo database connected` section, click :guilabel:`Configure`." msgstr "" -#: ../../content/applications/general/iot/config/ssh_connect.rst:3 -msgid "Connect an IoT box via SSH" +#: ../../content/applications/general/iot/connect.rst:80 +msgid "Paste the token into the :guilabel:`Server Token` field and click :guilabel:`Connect`." msgstr "" -#: ../../content/applications/general/iot/config/ssh_connect.rst:8 -msgid "To provide an |SSH| connection to an Internet of Things (IoT) box, a password needs to be generated." +#: ../../content/applications/general/iot/connect.rst:85 +msgid "IoT system form" msgstr "" -#: ../../content/applications/general/iot/config/ssh_connect.rst:11 -msgid "This feature should **only** be utilized with trusted parties, as it provides administrative access to the |iot| box, which can create security issues." +#: ../../content/applications/general/iot/connect.rst:87 +msgid "Once the IoT system is connected to the Odoo database, it is displayed as a card in the IoT app. Click the IP address on the card to access the :ref:`IoT box's ` or :ref:`Windows virtual IoT's ` homepage. Click the card to access the list of :doc:`devices ` connected to the IoT system." msgstr "" -#: ../../content/applications/general/iot/config/ssh_connect.rst:14 -msgid "Managing an |SSH| connection is **not** covered under the standard scope of Odoo support. Visit the `Odoo Support `_ page for additional information about what is covered." +#: ../../content/applications/general/iot/connect.rst:93 +msgid ":ref:`Enable the developer mode ` to access the IoT system's :guilabel:`Technical Information`, such as its :guilabel:`Identifier`, :guilabel:`Domain address`, and :guilabel:`Image version`." msgstr "" -#: ../../content/applications/general/iot/config/ssh_connect.rst:18 -msgid "First, navigate to the :menuselection:`IoT app --> IoT Boxes`. Click on the IP address of the appropriate |iot| box." +#: ../../content/applications/general/iot/connect.rst:98 +msgid "By default, drivers are automatically :ref:`udpated ` every time the IoT system is restarted. To disable automatic updates, uncheck the :guilabel:`Automatic drivers update` option." msgstr "" -#: ../../content/applications/general/iot/config/ssh_connect.rst:22 -msgid "If the desired |iot| box does not appear, see :doc:`troubleshooting` for additional steps." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:24 -msgid "At the bottom of the |iot| box pop-up window, click :guilabel:`Remote Debug`. This opens the :guilabel:`Remote Debugging` pop-up window." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:-1 -msgid "The Remote Debugging password generation window." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:31 -msgid "Click :guilabel:`Generate password`." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:34 -msgid "After the password has been generated from the :guilabel:`Remote Debugging` pop-up window, the information **must** be recorded immediately. Once this window is closed, there is no current method for looking up this information." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:38 -msgid "Enter the :guilabel:`Authentication Token` provided by the user attempting to connect to the |iot| box." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:41 -msgid "Click :guilabel:`Enable Remote Debugging`." -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:44 -msgid ":doc:`connect`" -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:45 -msgid ":doc:`troubleshooting`" -msgstr "" - -#: ../../content/applications/general/iot/config/ssh_connect.rst:46 -msgid ":doc:`updating_iot`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:3 -#: ../../content/applications/general/iot/config/windows_iot.rst:127 +#: ../../content/applications/general/iot/connect.rst:105 msgid "Troubleshooting" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:6 -msgid "IoT box connection" +#: ../../content/applications/general/iot/connect.rst:108 +msgid "The pairing code does not appear or does not work" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:9 -msgid "Unable to locate the pairing code to connect the IoT box" +#: ../../content/applications/general/iot/connect.rst:110 +msgid "The :ref:`pairing code ` might not be displayed or printed under the following circumstances:" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:11 -msgid "The pairing code should be printed on receipt printers connected to the :abbr:`IoT (Internet of Things)` box and should also be displayed on connected monitors." +#: ../../content/applications/general/iot/connect.rst:113 +msgid "The IoT system is not connected to the Internet." msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:14 -msgid "The pairing code does not show under the following circumstances:" +#: ../../content/applications/general/iot/connect.rst:114 +msgid "The IoT system is already connected to an Odoo database." msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:16 -msgid "The :abbr:`IoT (Internet of Things)` box is already connected to an Odoo database." +#: ../../content/applications/general/iot/connect.rst:115 +msgid "The :ref:`pairing code ` display time has expired. Reboot the IoT box or :ref:`restart the Windows virtual IoT service ` to display the pairing code again." msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:17 -msgid "The :abbr:`IoT (Internet of Things)` box is not connected to the Internet." +#: ../../content/applications/general/iot/connect.rst:118 +msgid "The IoT system's image version is too old and needs to be :ref:`updated `." msgstr "" -#: ../../content/applications/general/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 is automatically removed from connected displays when this time has expired." +#: ../../content/applications/general/iot/connect.rst:122 +msgid "The IoT system is connected but does not appear in the database" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:20 -msgid "The version of the :abbr:`IoT (Internet of Things)` box image is too old. If the :abbr:`IoT (Internet of Things)` box image is from an earlier version, then the SD card of the :abbr:`IoT (Internet of Things)` box needs to be re-flashed to update the image (see :ref:`Flashing the SD Card `)." +#: ../../content/applications/general/iot/connect.rst:124 +msgid "The IoT system might take a few minutes to restart when it connects to a database. If it still does not appear after a few minutes:" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:25 -msgid "If none of the cases listed above correct the issue, then make sure the :abbr:`IoT (Internet of Things)` box has correctly started, by checking that a fixed green LED is showing next to the power port." +#: ../../content/applications/general/iot/connect.rst:127 +msgid "Verify that the IoT system can reach the database and the server does not use a multi-database environment." msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:30 -msgid "IoT box is connected but it is not showing in the database" +#: ../../content/applications/general/iot/connect.rst:129 +msgid "Reboot the IoT box or :ref:`restart the Windows virtual IoT service `." msgstr "" -#: ../../content/applications/general/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 does not use a multi-database environment." +#: ../../content/applications/general/iot/connect.rst:132 +msgid "The IoT box is connected to the Odoo database but cannot be reached" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:37 -msgid "To access the database from the :abbr:`IoT (Internet of Things)` box, open a browser and type in the database address." +#: ../../content/applications/general/iot/connect.rst:134 +msgid "Verify that the IoT system and the computer running the Odoo database are connected to the same network." msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:41 -msgid "The IoT box is connected to the Odoo database, but cannot be reached" +#: ../../content/applications/general/iot/connect.rst:138 +msgid "The Windows virtual IoT's homepage cannot be accessed from another device" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:43 -msgid "Make sure that the :abbr:`IoT (Internet of Things)` box and the computer running the browser are located on the same network, as the :abbr:`IoT (Internet of Things)` box cannot be reached from outside the local network." +#: ../../content/applications/general/iot/connect.rst:140 +msgid "Check the :ref:`iot/windows-iot/firewall`." msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:48 -msgid "The HTTPS certificate does not generate" +#: ../../content/applications/general/iot/connect.rst:143 +msgid "The IoT system is disconnected from the database after an Odoo upgrade" msgstr "" -#: ../../content/applications/general/iot/config/troubleshooting.rst:50 -msgid "In order to generate a :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate, an IoT box subscription is required for the :abbr:`IoT (Internet of Things)` box. Connecting the :abbr:`IoT (Internet of Things)` box prior to configuring an :abbr:`IoT (Internet of Things)` subscription for the database and :abbr:`IoT (Internet of Things)` box with the Account Manager will result in an unsecured connection." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:56 -msgid "In addition, a firewall can also prevent the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate from generating correctly. In this case, deactivate the firewall until the certificate is successfully generated. It should also be noted that certain devices, such as a router that has a built-in firewall, can prevent the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate from generating." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:63 -msgid ":doc:`HTTPS certificate (IoT) `" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:69 -msgid "The printer is not detected" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:71 -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/general/iot/config/troubleshooting.rst:-1 -msgid "The IoT box Home Page landing page." -msgstr "" - -#: ../../content/applications/general/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 is likely not connected properly." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:83 -msgid "The printer outputs random text" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:85 -msgid "For most printers, the correct driver should be automatically detected and selected. However, in some cases, the automatic detection mechanism might not be enough, and if no driver is found, the printer might print random characters." -msgstr "" - -#: ../../content/applications/general/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` drop-down menu, click on :guilabel:`Modify Printer`. Follow the steps and select the *make* and *model* corresponding to the printer." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Edit the printer connected to the IoT box." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:100 -msgid "Epson 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/general/iot/config/troubleshooting.rst:104 -msgid "Epson configuration special case" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:109 -msgid "TM-U220" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:110 -msgid "TM-U230" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:111 -msgid "TM-P60" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:112 -msgid "TMP-P60II" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:114 -msgid "Bypass this issue by configuring the printer to use the `ESC *` command instead." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:117 -msgid "Process to force ESC * command" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:120 -msgid "Epson printer compatibility" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:126 -msgid "`Epson GS v 0 documentation `_ for `GS v 0` compatible printers." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:128 -msgid "`Epson ESC * documentation `_ for `ESC *` compatible printers." -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:136 -msgid "IoT box configuration for ESC *" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:143 -msgid "**Choosing the printer**" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:150 -msgid "If the name of the printer is still uncertain, take the following steps:" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:152 -msgid "Take note of the listed printers on the *CUPS* page." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:153 -msgid "Turn the printer off and refresh the page." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:154 -msgid "Now compare the difference with the first list to see which printer disappeared." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:155 -msgid "Turn the printer back on and refresh the page again." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:156 -msgid "Double-check the list again to see if the printer re-appears." -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:161 -msgid "This can be :guilabel:`Unknown` under :guilabel:`Local printers`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:163 -msgid "**CUPS naming convention**" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:170 -msgid "The :guilabel:`Name` should match this convention: `__IMC___...___`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:173 -msgid "A breakdown of the naming convention:" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:177 -msgid "`IMC`: This stands for *Image Mode Column* (the simplified name for `ESC *`)." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:178 -msgid "`param_1`: This stands for the specific parameter:" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:184 -msgid "`100` is the original size, `50` is half the size, `200` is twice the size." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:186 -msgid "`LDV`: *Low Density Vertical* (will be set to *High Density Vertical* if not specified)." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:187 -msgid "`LDH`: *Low Density Horizontal* (will be set to *High Density Horizontal* if not specified)." -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/troubleshooting.rst:199 -msgid "The following are examples of proper and improper name formatting:" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:201 -msgid "Proper name formatting:" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:203 -msgid "`EPSONTMm30II__IMC__`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:204 -msgid "`EPSON_TM_U220__IMC_LDV_LDH_SCALE80__`" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:209 -msgid "`EPSON TMm 30II` -> The name cannot have spaces." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:210 -msgid "`EPSONTMm30II` -> The name itself is correct, but it will not use `ESC *`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:211 -msgid "`EPSONTMm30II__IMC` -> This name is missing the end `__`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:212 -msgid "`EPSONTMm30II__IMC_XDV__` -> The parameter `XDV` does not match any existing parameters." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:213 -msgid "`EPSONTMm30II__IMC_SCALE__` -> The parameter `SCALE` is missing the scale value." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:215 -msgid "**Finish adding a printer**" -msgstr "" - -#: ../../content/applications/general/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/general/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/general/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/general/iot/config/troubleshooting.rst:227 -msgid "**Adding the printer to Odoo PoS**" -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/troubleshooting.rst:240 -msgid "**Example setup of the Epson TM-U220B printer using ESC**" -msgstr "" - -#: ../../content/applications/general/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 "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Properly formatted receipt picture from a demo database." -msgstr "" - -#: ../../content/applications/general/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 "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Printer paper with seemingly random characters." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:260 -msgid "To properly configure formatting for the Epson TM-U220B printer model take the following steps." -msgstr "" - -#: ../../content/applications/general/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 "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Epson compatibility evaluation from Epson website." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:271 -msgid "When adding the printer, *CUPS* will ask which printer should be added:" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Administration menu, add printer selection." -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/troubleshooting.rst:0 -msgid "Epson TM-U220 specifications on manufacturer's website." -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/troubleshooting.rst:303 -msgid "To add a *Low Vertical Density*, add the `LDV` parameter to the naming convention." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Add a *Low Vertical Density* (the `LDV` parameter) to the naming convention." -msgstr "" - -#: ../../content/applications/general/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 "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Epson TM-U220 specifications on manufacturers website." -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/troubleshooting.rst:320 -msgid "Here are some examples:" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:325 -msgid "Printer Naming Convention" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:326 -msgid "`EpsonTMU220B__IMC_LDV__`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:327 -msgid "`EpsonTMU220B__IMC_LDV_SCALE75__`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:328 -msgid "`EpsonTMU220B__IMC_LDV_LDH__`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:329 -msgid "`EpsonTMU220B__IMC_LDV_LDH_SCALE35__`" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Receipt example format." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV__." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_SCALE75__." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_LDH__." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:0 -msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_LDH_SCALE35__." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:347 -msgid "DYMO LabelWriter print issue" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:349 -msgid "The DYMO LabelWriter has a known issue in printing with the :abbr:`IoT (Internet of Things)` box. The OpenPrinting CUPS server installs the printer using :guilabel:`Local RAW Printer` drivers. In order to print anything, the correct :guilabel:`Make and Model` needs to be set, so the correct driver is referenced when using the device." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:354 -msgid "Additionally, a new printer needs to be added to reduce a print delay that occurs after updating the driver." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:358 -msgid "The DYMO LabelWriter 450 DUO printer is the recommended DYMO printer for use with Odoo and the :abbr:`IoT (Internet of Things)` box. It **must** already be connected to, and recognized on, the :abbr:`IoT (Internet of Things)` box." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:362 -msgid "The DYMO LabelWriter 450 DUO printer contains two printers in one: a label printer and a tape printer. Choosing the correct model (either DYMO LabelWriter 450 DUO Label (en) or DYMO LabelWriter 450 DUO Tape (en)) is crucial when configuring the following processes." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:366 -msgid "To keep things consistent, both of the following processes detail the configuration for the DYMO LabelWriter 450 DUO Label (en) model. Change the model when needed." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:372 -msgid "DYMO LabelWriter not printing" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:374 -msgid "In the case where the DYMO LabelWriter is not printing anything, a new driver needs to be installed." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:376 -msgid "First, open the OpenPrinting CUPS console by clicking :menuselection:`Printers server` at the bottom of the :abbr:`IoT (Internet of Things)` box homepage. Next, click on :menuselection:`Printers` in the top menu. Click into the printer in question, and select :guilabel:`Maintenance` in the first drop-down menu. Then, select :guilabel:`Modify Printer` in the second drop-down menu." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Modify the make and model of the DYMO LabelWriter. Maintenance and Modify drop-down menus\n" -"highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:386 -msgid "Next, select the specific network connection/printer that the modification should be made on. Click :guilabel:`Continue`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Printer selection screen with Continue highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:393 -msgid "On the next page, click :guilabel:`Continue` to proceed to set the :guilabel:`Make` of the printer." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Printer modification screen with Continue highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:399 -msgid "Under :guilabel:`Make` select :guilabel:`DYMO` from the menu. Click on :guilabel:`Continue` to set the :guilabel:`Model`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Setting the make page, with DYMO and continue highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:406 -msgid "On the following page, set the :guilabel:`Model` to :guilabel:`DYMO LabelWriter 450 DUO Label (en)` (or whichever DYMO printer model is being used). Click on :guilabel:`Modify Printer` to complete setting the new driver, a confirmation page will appear." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Setting the printer model page with DYMO LabelWriter 450 DUO Label (en) highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:414 -msgid "After being redirected to a confirmation page, acknowledging a successful update, click on the :menuselection:`Printers` button in the top menu." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:417 -msgid "All the printers installed on the OpenPrinting CUPS server appear, including the newly updated: :guilabel:`DYMO LabelWriter 450 DUO Label` (or whichever DYMO printer model is being used). Click into the printer that was just updated." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:421 -msgid "To print a test label, click on the :guilabel:`Maintenance` drop-down menu to the left of the :guilabel:`Administration` drop-down menu, and select :guilabel:`Print Test Page`. The test label will print out with a ten-second delay if the driver update was successful." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Printing a test page from the administration drop-down menu in the OpenPrinting CUPs\n" -"server." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:430 -msgid "To reduce this delay a new printer will need to be added, follow the process below." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:433 -msgid "DYMO LabelWriter print delay" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:435 -msgid "To resolve the delay issue after modifying the driver, the printer **must** be reinstalled. To reinstall the printer, open the OpenPrinting CUPS administration page by clicking :menuselection:`Printers server`, at the bottom of the :abbr:`IoT (Internet of Things)` box homepage. Then, click on :menuselection:`Administration` in the top menu, then click :guilabel:`Add a Printer`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:442 -msgid "If the DYMO LabelWriter 450 DUO printer is not printing at all, or is not recognizable (has a RAW driver type), then update the drivers on the device. See :ref:`troubleshooting/dymo/update_drivers`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Add a printer button highlighted on the Printer CUPS management page." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:450 -msgid "On the next screen, in the :guilabel:`Local Printers` section, select the :guilabel:`DYMO LabelWriter 450 DUO Label (DYMO LabelWriter 450 DUO Label)` (or whichever DYMO printer model is being used) pre-installed printer. Click :guilabel:`Continue`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Add a printer screen on OpenPrinting CUPS with DYMO LabelWriter 450 DUO Label highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:458 -msgid "On the following screen, modify the :guilabel:`Name` to something recognizable, as the original printer will still be present. Click :guilabel:`Continue` to be taken to the next screen." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Rename printer page in the 'Add a Printer' flow, with the name field highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:465 -msgid "Next, choose the :guilabel:`Model`. Select :guilabel:`DYMO LabelWriter 450 DUO Label (en)` (or whichever DYMO printer model is being used), and finally, click :guilabel:`Add Printer` to complete the installation." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Choose model screen on the OpenPrinting CUPS console with model and add a printer\n" -"highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:474 -msgid "After being redirected to a confirmation page, acknowledging a successful installation, click on the :menuselection:`Printers` button in the top menu." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:477 -msgid "All the printers installed on the OpenPrinting CUPS server appear, including the newly installed: :guilabel:`DYMO LabelWriter 450 DUO Label` (or whichever DYMO printer model is being used). Click into the printer that was just installed." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Printer page with newly installed printer highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:485 -msgid "To print a test label, click on the :guilabel:`Maintenance` drop-down menu to the left of the :guilabel:`Administration` drop-down menu, and select :guilabel:`Print Test Page`. The test label should print out immediately (one-to-two seconds delay)." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:495 -msgid "The Zebra printer does not print anything" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:497 -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/general/iot/config/troubleshooting.rst:504 -msgid "Check out Zebra's instructions on printing :abbr:`ZPL (Zebra Programming Language)` files `here `_." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:511 -msgid "The characters read by the barcode scanner do not match the barcode" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:513 -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/general/iot/config/troubleshooting.rst:518 -msgid "Nothing happens when a barcode is scanned" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:520 -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/general/iot/config/troubleshooting.rst:526 -msgid "The barcode scanner is detected as a keyboard" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:529 -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/general/iot/config/troubleshooting.rst:532 -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 "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Modifying the form view of the barcode scanner." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:540 -msgid "Barcode scanner processes barcode characters individually" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:542 -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/general/iot/config/troubleshooting.rst:548 -msgid "Access the barcode scanner form page by navigating to :menuselection:`IoT App --> Devices --> Barcode Scanner`." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Barcode scanner form page, with keyboard layout option highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:555 -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/general/iot/config/troubleshooting.rst:563 -msgid "The cash drawer does not open" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:565 -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 "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:573 -msgid "Scales play a crucial role in the checkout process, especially for products sold by weight, rather than fixed pricing." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:577 -msgid "Set up Ariva S scales" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:579 -msgid "Odoo has determined that a specific setting in Ariva S series scales (manufactured by Mettler-Toledo, LLC.) needs modification, and a dedicated Mettler :abbr:`USB (Universal Serial Bus)`-to-proprietary RJ45 cable is required for the scale to function with Odoo's :abbr:`IoT (Internet of Things)` box." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:584 -msgid "To correctly configure the scale for recognition by the :abbr:`IoT (Internet of Things)` box, follow this setup process for the Ariva S series scales." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:588 -msgid "It is crucial to use the official Mettler :abbr:`USB (Universal Serial Bus)`-to-RJ45 cable during this process." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:592 -msgid "Cable" -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:594 -msgid "The Mettler part number is 72256236 - :abbr:`USB (Universal Serial Bus)`-to-:abbr:`POS (Point of Sale)` cable. Contact Mettler, or a partner, to purchase an authentic cable. Note that **no other** cable outside of this Mettler cable works for this configuration. Using a serial-only cable attached to a serial-to-:abbr:`USB (Universal Serial Bus)` adapter is **not** effective." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:-1 -msgid "Authentic Mettler USB to POS cable, part number 72256236." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:606 -msgid "Refer to Mettler's Setup Guide for Ariva S series scales during the following configuration: `Ariva Checkout Scale User's Guide `_." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:609 -msgid "To begin, go to page 17 in the above manual for *Setup*. This guide lists potential settings for the Ariva S series scales." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:612 -msgid "Follow the instructions, along with the following process, to set the scale to setup mode. First, hold the **>T<** button for eight seconds, or until :guilabel:`CONF` appears." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:615 -msgid "Next, press **>T<** until :guilabel:`GRP 3` appears, then press **>0<** to confirm." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:617 -msgid "Under :guilabel:`3.1`, ensure the setting is set to :guilabel:`1` (USB Virtual COM ports). Press **>T<** to cycle through the options under group 3.1." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:620 -msgid "Once :guilabel:`3.1` is set to :guilabel:`1`, press **>0<** to confirm the selection. Continue to press **>0<** until :guilabel:`GRP 4` appears." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:623 -msgid "Now, press **>T<** until :guilabel:`EXIT` appears." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:626 -msgid "Do **not** make any other changes unless otherwise needed." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:628 -msgid "Once :guilabel:`EXIT` appears, press **>0<**. Following this, press **>0<** again to :guilabel:`SAVE`. Now the scale restarts." -msgstr "" - -#: ../../content/applications/general/iot/config/troubleshooting.rst:631 -msgid "Finally, restart the :abbr:`IoT (Internet of Things)` box to recognize the changes made on the scale's configuration. After restarting, the scale appears as `Toledo 8217`, as opposed to the previous display, where it appeared as `Adam Equipment Serial`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:3 -msgid "Updating (IoT)" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:5 -msgid "Due to the complexity of the :abbr:`IoT (Internet of Things)` box, and virtual Windows :abbr:`IoT (Internet of Things)` box, the term 'updating' can mean several different things." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:8 -msgid "The actual drivers can be updated, the core code on the :abbr:`IoT (Internet of Things)` box can be updated, or a new image can be flashed (using a physical :abbr:`IoT (Internet of Things)` box)." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:11 -msgid "This document explores the various ways to update :abbr:`IoT (Internet of Things)` boxes to ensure smooth operation of :abbr:`IoT (Internet of Things)` box processes and devices." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:17 -msgid "Flashing the SD card on IoT box" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:20 -msgid "This update does **not** apply to the Windows :abbr:`IoT (Internet of Things)` box (Odoo 16 and higher)." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:23 -msgid "To update the Windows :abbr:`IoT (Internet of Things)`, first, uninstall the previous version of the Odoo Windows program, and then reinstall it using the most up-to-date installation package." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:26 -msgid "To begin the installation, navigate to the Odoo 16 (or higher) installation package for Enterprise or Community - Windows edition, at `Odoo's download page `_." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:30 -msgid "In some circumstances, the :abbr:`IoT (Internet of Things)` box's micro SD Card may need to be re-flashed with *Etcher* software to benefit from Odoo's latest :abbr:`IoT (Internet of Things)` image update. This means the Odoo :abbr:`IoT (Internet of Things)` box software may need to be updated in instances of a new :abbr:`IoT (Internet of Things)` box, or when a handler's update, or an update from the :abbr:`IoT (Internet of Things)` box home page, does not resolve issues." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:38 -msgid "It is often necessary to re-flash the :abbr:`IoT (Internet of Things)` box's image after upgrading the Odoo database to a new version." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:40 -msgid "A computer with a micro SD card reader/adapter is **required** to re-flash the micro SD card." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:42 -msgid "First, begin by downloading `Etcher `_. It is a free, open-source utility, used for burning image files onto drives. After the download completes, install and launch the program on the computer." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:46 -msgid "Then, download the latest :abbr:`IoT (Internet of Things)` image from `nightly `_, which will be labeled as `iotbox-latest.zip`. This particular image is compatible with *all* supported versions of Odoo." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:50 -msgid "After this step is complete, insert the :abbr:`IoT (Internet of Things)` box's micro SD card into the computer or reader. Open *Etcher*, and select :guilabel:`Flash from file`, then find and select the `iotbox-latest.zip` image and extract it. Next, select the drive the image should be burned to." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:54 -msgid "Lastly, click :guilabel:`Flash`, and wait for the process to finish." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:-1 -msgid "Balena's Etcher software dashboard." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:61 -msgid "Balena's *Etcher* software also allows for the administrator to flash the :abbr:`SD (Secure Digital)` card from a :abbr:`URL (Uniform Resource Locator)`. To flash from a :abbr:`URL (Uniform Resource Locator)`, simply click :guilabel:`Flash from URL`, instead of :guilabel:`Flash from file`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:66 -msgid "Then, enter the following: `http://nightly.odoo.com/master/iotbox/iotbox-latest.zip`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:0 -msgid "A view of Balena's Etcher software, with the flash from URL option highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:73 -msgid "An alternative software for flashing the micro SD card is `Raspberry Pi Imager `_." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:77 -msgid "Windows IoT update" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:79 -msgid "Windows virtual :abbr:`IoT (Internet of Things)` box may occasionally need an update to work properly." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:82 -msgid "The following processes cover the :ref:`uninstallation ` and :ref:`re-installation ` of the Windows virtual :abbr:`IoT (Internet of Things)` box." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:89 -#: ../../content/applications/general/iot/config/windows_iot.rst:307 -msgid "Uninstalling Windows IoT" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:91 -msgid "Prior to upgrading the Windows virtual :abbr:`IoT (Internet of Things)` box, the previous version should be uninstalled first." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:95 -msgid "Before uninstalling a previous version of the Windows virtual :abbr:`IoT (Internet of Things)` box, ensure that there is a newer version of Windows virtual :abbr:`IoT (Internet of Things)` box available, compared to the version currently installed. To do so, navigate to the `Odoo Nightly builds `_ page." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:100 -msgid "On the :guilabel:`Odoo Nightly builds` page, navigate to :menuselection:`Builds (stable version) --> windows/` to view the date next to the :file:`odoo_(version).latest.exe` file; where *(version)* is equal to the version of Odoo (e.g. 16.0, 17.0). The latest version of the Windows virtual :abbr:`IoT (Internet of Things)` box can be downloaded by selecting this file, or it is always available at the `Odoo Download `_ page." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:106 -msgid "Uninstalling the Windows virtual :abbr:`IoT (Internet of Things)` box is done through the Windows program manager." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:109 -msgid "On any version of Windows, search for `program` to open the :menuselection:`Programs --> Programs and Features` section of the :guilabel:`Control Panel`. Then, select :guilabel:`Uninstall or change a program`. Next, search for `Odoo`, and click the :guilabel:`... (three dot)` menu on the :guilabel:`Odoo.exe` program to uninstall." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:114 -msgid "Confirm the uninstallation, and follow the steps to uninstall through the Odoo uninstall wizard." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:119 -msgid "Download and re-install" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:121 -msgid "The latest version of the Windows virtual :abbr:`IoT (Internet of Things)` box can be downloaded from the `Odoo Nightly builds `_ page or it is always available at the `Odoo Download `_ page." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:125 -msgid "To download from the :guilabel:`Odoo Nightly builds` page, navigate to :menuselection:`Builds (stable version) --> windows/` to and select the :file:`odoo_(version).latest.exe` file; where *(version)* is equal to the version of Odoo (e.g. 16.0, 17.0)." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:129 -msgid "To download from the :guilabel:`Odoo Download` page, find the section for the version of Odoo (e.g. 16.0, 17.0), and select the :guilabel:`Download` button for :guilabel:`Windows`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:132 -msgid "Next, install and setup the downloaded Odoo :file:`.exe` file. After the instructions screen, click :guilabel:`Next` to start the installation, and agree to the :abbr:`TOS (Terms of Service)`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:135 -msgid "During the next step of the re-installation, select :guilabel:`Odoo IoT` from the :guilabel:`Select the type of install` drop-down menu." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:139 -#: ../../content/applications/general/iot/config/windows_iot.rst:50 -msgid "For reference, the following should be installed:" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:141 -msgid ":guilabel:`Odoo server`" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:142 -msgid ":guilabel:`Odoo IoT`" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:143 -msgid ":guilabel:`Nginx WebServer`" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:144 -msgid ":guilabel:`Ghostscript interpreter`" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:146 -msgid "Ensure there is enough space on the computer for the installation, then click :guilabel:`Next`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:149 -msgid "Set the destination and complete the installation" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:151 -msgid "To complete the re-installation, select the :guilabel:`Destination Folder`, and click :guilabel:`Install`." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:155 -msgid "Choosing `C:\\\\odoo` as the install location allows for the *Nginx* server to start. Odoo's Windows virtual :abbr:`IoT (Internet of Things)` box software should **not** be installed inside any of the Windows user's directories. Doing so does **not** allow for *Nginx* to initialize." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:159 -#: ../../content/applications/general/iot/config/windows_iot.rst:74 -msgid "The installation may take a few minutes. When complete, click :guilabel:`Next` to continue." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:161 -msgid "Then, ensure that the :guilabel:`Start Odoo` box is checked, and click :guilabel:`Finish`. After installation, the Odoo server runs, and automatically opens `http://localhost:8069` on a web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:166 -msgid "A :ref:`restart ` of the Windows IoT program may be necessary if the web browser does not display anything." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:172 -msgid "Update from the IoT box home page" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:174 -msgid "In the background, the :abbr:`IoT (Internet of Things)` box uses a version of Odoo code to run and connect to the Odoo database. This code may need to be updated in order for the :abbr:`IoT (Internet of Things)` box to operate effectively. This operation should be completed on a routine basis, to ensure the :abbr:`IoT (Internet of Things)` system, and its processes, stay up-to-date." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:179 -msgid "Go to the :abbr:`IoT (Internet of Things)` box home page by navigating to :menuselection:`IoT app --> IoT Boxes`, and clicking on the :guilabel:`IP address` of the :abbr:`IoT (Internet of Things)` box. Then, click on :guilabel:`Update` (next to the version number)." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:183 -msgid "If a new version of the :abbr:`IoT (Internet of Things)` box image is available, an :guilabel:`Upgrade to _xx.xx_` button appears at the bottom of the page. Click this button to upgrade the unit, at which point the :abbr:`IoT (Internet of Things)` box flashes itself to the newer version. All of the previous configurations are then saved." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:189 -msgid "This process can take more than 30 minutes. Do **not** turn off, or unplug, the :abbr:`IoT (Internet of Things)` box, as it would leave it in an inconsistent state. This means the :abbr:`IoT (Internet of Things)` box needs to be :ref:`re-flashed ` with a new image." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:-1 -msgid "IoT box software upgrade in the IoT Box Home Page." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:199 -msgid "Handler (driver) update" -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:201 -msgid "There may be some instances where drivers or interfaces need to be updated for individual devices (e.g. scales, measurement tools, etc.). The IoT handler's (drivers and interfaces) code can be modified by syncing them with the configured server handler's code." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:205 -msgid "This can be helpful in instances where :abbr:`IoT (Internet of Things)` devices (e.g. scales, measurement tools, etc.) are not working properly with the :abbr:`IoT (Internet of Things)` box." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:208 -msgid "For both the Windows :abbr:`IoT (Internet of Things)` (Odoo 16 and higher) and physical :abbr:`IoT (Internet of Things)` box, this process can be performed manually from the :abbr:`IoT (Internet of Things)` box home page. Go to the :abbr:`IoT (Internet of Things)` box home page by navigating to :menuselection:`IoT app --> IoT Boxes`, and clicking on the :guilabel:`IP address` of the :abbr:`IoT (Internet of Things)` box." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:214 -msgid "Next, click :guilabel:`Handlers list`, and then select :guilabel:`Load Handlers` at the bottom of the page." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:-1 -msgid "Handlers list on an IoT box with the load handlers button highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:222 -msgid "Handler's code is fetched from the configured server, and it needs to be up-to-date to have the latest fixes and patches." -msgstr "" - -#: ../../content/applications/general/iot/config/updating_iot.rst:226 -msgid "A handler update is also performed automatically each time the :abbr:`IoT (Internet of Things)` box is restarted. The only exception to this process is if the *Automatic drivers update* is unchecked in the form view of the :abbr:`IoT (Internet of Things)` box on the Odoo server. This setting can be reached by going to :menuselection:`IoT App --> Select the IoT box --> Automatic drivers update`." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:3 -msgid "Connect Windows IoT Odoo" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:5 -msgid "A Virtual IoT box is a computer program that needs to be downloaded and installed on a Windows computer. This requires a Windows operating system with an Odoo 16 or later database." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:8 -msgid "The Windows virtual :abbr:`IoT (Internet of Things)` box works the same way as a physical :abbr:`IoT (Internet of Things)` box, with the ability to run most of the same devices. All :abbr:`POS (Point of Sale)` devices work with it, such as a scale or printer. Payment terminals will also work, but it should be noted that :abbr:`MRP (Material Requirement Planning)` devices are not compatible. *These include cameras or measurement tools.*" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:15 -msgid "Pre-requisites" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:17 -msgid "The following items will be needed to complete the Windows :abbr:`IoT (Internet of Things)` installation." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:20 -msgid "Odoo 16 database or any version above." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:21 -msgid ":abbr:`IoT (Internet of Things)` compatible devices (except those mentioned above). Refer to: `Odoo's compatible IoT devices `_." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:23 -msgid "Device drivers for Windows." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:26 -msgid "Odoo recommends using an updated, recent version of Windows (Windows 10/11) as some older operating systems can cause the Windows virtual :abbr:`IoT (Internet of Things)` to not work." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:29 -msgid "Windows computer (laptop, desktop, or server)." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:30 -msgid "Odoo :abbr:`IoT (Internet of Things)` subscription. Refer to: :ref:`iot/iot-eligibility`." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:33 -msgid "Connect the Windows virtual IoT box to an Odoo database" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:35 -msgid "The Windows virtual IoT box is simple to setup in just a few easy steps. Follow this process when installing the Windows virtual IoT software for the first time." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:39 -msgid "Download and initial installation" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:41 -msgid "To begin the installation, navigate to the Odoo 16 or higher installation package for Community - Windows edition at `Odoo's download page `_. Next, install and setup the Odoo :file:`.exe` file. After the instructions screen, click :guilabel:`Next` to start the installation and agree to the :abbr:`TOS (Terms of Service)`." -msgstr "" - -#: ../../content/applications/general/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` drop-down menu." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:52 -msgid "**Odoo server**" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:53 -msgid "**Odoo IoT**" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:54 -msgid "**Nginx WebServer**" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:55 -msgid "**Ghostscript interpreter**" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:57 -msgid "Ensure there is enough space on the computer for the installation and click :guilabel:`Next`." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:60 -msgid "Setting the destination and completing the installation" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:62 -msgid "To complete the installation, select the :guilabel:`Destination Folder` and click :guilabel:`Install`." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:66 -msgid "Choosing ``C:\\odoo`` as the install location will allow for the Nginx server to start. If the folder doesn't exist, then create it. Otherwise the installation files will be spread throughout the hard drive." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:71 -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/general/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 a web browser. The webpage should display the :abbr:`IoT (Internet of Things)` box homepage." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:81 -msgid "A restart of the Windows IoT program may be necessary should the web browser not display anything. :ref:`iot/restart_windows_iot`" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:85 -msgid "Connecting devices" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:87 -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/general/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/general/iot/config/windows_iot.rst:96 -msgid "Devices automatically recognized:" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:98 -msgid "Regular ink/toner based printers" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:99 -msgid "Receipt printers (Epson/Star)" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:100 -msgid "Barcode scanners" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:101 -msgid "Measurement devices (although some configuration of the measurement device settings is required) See this documentation: :doc:`../devices/measurement_tool`" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:104 -msgid "Devices not automatically recognized (requires manual driver download):" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:106 -msgid "Label printers (Zebra)" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:107 -msgid "Scales" -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/windows_iot.rst:117 -msgid "Finally, connect Windows :abbr:`IoT (Internet of Things)` to a database using existing instructions (manually using the Token)." -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/windows_iot.rst:132 -msgid "Restart Windows IoT box" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:134 -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/general/iot/config/windows_iot.rst:139 -msgid "To restart the virtual Windows IoT server:" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:141 -msgid "Type `Services` into the Windows :guilabel:`Search Bar`." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:142 -msgid "Select the :menuselection:`Services` App and scroll down to the :guilabel:`Odoo` service." -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/windows_iot.rst:147 -msgid "Firewalls" -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/windows_iot.rst:161 -msgid "Making an exception on Windows Defender" -msgstr "" - -#: ../../content/applications/general/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/general/iot/config/windows_iot.rst:169 -msgid "Create a rule in Windows Defender" -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/windows_iot.rst:180 -msgid "Configure new rule" -msgstr "" - -#: ../../content/applications/general/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, 443`. Finally, click :guilabel:`Next` to continue to the next step." -msgstr "" - -#: ../../content/applications/general/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/general/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/general/iot/config/windows_iot.rst:202 -msgid "Worldline exception" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:204 -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 Belgium, the Netherlands, and Luxembourg." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:208 -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/general/iot/config/windows_iot.rst:213 -msgid ":doc:`../../../sales/point_of_sale/payment_methods/terminals/worldline`" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:215 -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/general/iot/config/windows_iot.rst:218 -msgid "Next, click :guilabel:`Advanced settings` in the left menu." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:-1 -msgid "Advanced settings option highlighted in the left pane of the Windows Defender Firewall app." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:224 -msgid "In the left menu, choose :guilabel:`Inbound Rules`." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:-1 -msgid "Windows Defender left window pane with inbound rules menu item highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:230 -msgid "After selecting :guilabel:`Inbound Rules`, select :guilabel:`New Rule` in the far right menu." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:-1 -msgid "New rule dropdown shown with new rule option highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:236 -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/general/iot/config/windows_iot.rst:-1 -msgid "Rule Type window open, with the radio button next to port highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:243 -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/general/iot/config/windows_iot.rst:246 -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/general/iot/config/windows_iot.rst:-1 -msgid "Protocol/port configuration window with TCP, specific port (9050) and Next highlighted." -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:254 -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/general/iot/config/windows_iot.rst:258 -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/general/iot/config/windows_iot.rst:262 -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/general/iot/config/windows_iot.rst:265 -msgid "The final :guilabel:`Inbound rule` should appear as follows:" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:272 -msgid "Odoo Worldline" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:273 -msgid "Profile" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:274 -msgid "All" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:275 -msgid "Enabled" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:276 -msgid "Yes" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:277 -msgid "Action" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:278 -msgid "Allow" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:279 -msgid "Override" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:280 -msgid "No" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:281 -msgid "Program" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:282 -#: ../../content/applications/general/iot/config/windows_iot.rst:284 -#: ../../content/applications/general/iot/config/windows_iot.rst:286 -#: ../../content/applications/general/iot/config/windows_iot.rst:292 -#: ../../content/applications/general/iot/config/windows_iot.rst:294 -#: ../../content/applications/general/iot/config/windows_iot.rst:296 -#: ../../content/applications/general/iot/config/windows_iot.rst:298 -#: ../../content/applications/general/iot/config/windows_iot.rst:300 -#: ../../content/applications/general/iot/config/windows_iot.rst:304 -msgid "Any" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:283 -msgid "Local Address" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:285 -msgid "Remote Address" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:287 -msgid "Protocol" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:288 -msgid "TCP" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:289 -msgid "Local Port" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:290 -msgid "9050" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:291 -msgid "Remote Port" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:293 -msgid "Authorized Users" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:295 -msgid "Authorized Computers" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:297 -msgid "Authorized Local Principals" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:299 -msgid "Local User Owner" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:301 -msgid "PolicyAppld" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:302 -msgid "None" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:303 -msgid "Application Package" -msgstr "" - -#: ../../content/applications/general/iot/config/windows_iot.rst:309 -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/general/iot/config/windows_iot.rst:314 -msgid "Confirm the un-installation and follow the steps to uninstall through the Odoo uninstall guide." +#: ../../content/applications/general/iot/connect.rst:145 +msgid ":ref:`Update the IoT system's image ` by flashing the IoT box's card or :ref:`uninstalling the Windows virtual IoT program ` and :ref:`reinstalling ` the latest package for Windows **matching your database's version**." msgstr "" #: ../../content/applications/general/iot/devices.rst:7 msgid "Devices" msgstr "" -#: ../../content/applications/general/iot/devices.rst:21 -msgid ":doc:`Worldline payment terminal <../../sales/point_of_sale/payment_methods/terminals/worldline>`" +#: ../../content/applications/general/iot/devices.rst:10 +msgid ":doc:`Connect a Worldline payment terminal <../../sales/point_of_sale/payment_methods/terminals/worldline>`" msgstr "" -#: ../../content/applications/general/iot/devices.rst:23 -msgid ":doc:`Ingenico payment terminal <../../sales/point_of_sale/payment_methods/terminals/ingenico>`" +#: ../../content/applications/general/iot/devices.rst:12 +msgid ":doc:`Connect an Ingenico payment terminal <../../sales/point_of_sale/payment_methods/terminals/ingenico>`" msgstr "" #: ../../content/applications/general/iot/devices/camera.rst:3 @@ -6347,14 +4523,6 @@ msgstr "" msgid "A camera can be connected to an :abbr:`IoT (Internet of Things)` box with an Odoo database in just a few steps. Once a camera is connected to an :abbr:`IoT (Internet of Things)` box, it can be used in a manufacturing process, or it can be linked to a quality control point/quality check. Doing so allows for the taking of pictures when a chosen quality control point/check has been reached, or when a specific key is pressed during manufacturing." msgstr "" -#: ../../content/applications/general/iot/devices/camera.rst:12 -#: ../../content/applications/general/iot/devices/footswitch.rst:14 -#: ../../content/applications/general/iot/devices/printer.rst:21 -#: ../../content/applications/general/iot/devices/scale.rst:22 -#: ../../content/applications/general/iot/devices/screen.rst:18 -msgid "Connection" -msgstr "" - #: ../../content/applications/general/iot/devices/camera.rst:14 msgid "To connect a camera to an :abbr:`IoT (Internet of Things)` box, simply connect the two via cable. This is usually done with a :abbr:`USB (Universal Serial Bus)` cable of some sort." msgstr "" @@ -6400,10 +4568,12 @@ msgid "On a quality check form, the :guilabel:`Type` of check can also be specif msgstr "" #: ../../content/applications/general/iot/devices/camera.rst:58 +#: ../../content/applications/general/iot/devices/printer.rst:65 msgid ":doc:`/applications/inventory_and_mrp/quality/quality_management/quality_control_points`" msgstr "" #: ../../content/applications/general/iot/devices/camera.rst:59 +#: ../../content/applications/general/iot/devices/printer.rst:66 msgid ":doc:`/applications/inventory_and_mrp/quality/quality_management/quality_alerts`" msgstr "" @@ -6538,7 +4708,6 @@ msgid "Measurement tool input in the Odoo database." msgstr "" #: ../../content/applications/general/iot/devices/measurement_tool.rst:58 -#: ../../content/applications/general/iot/devices/printer.rst:69 msgid "Quality control points can also be accessed by navigating to :menuselection:`IoT App --> Devices`, then select the device. There is a :guilabel:`Quality Control Points` tab, where they can be added with the device." msgstr "" @@ -6547,12 +4716,10 @@ msgid "On a quality check detail form, the :guilabel:`Type` of check can also be msgstr "" #: ../../content/applications/general/iot/devices/measurement_tool.rst:68 -#: ../../content/applications/general/iot/devices/printer.rst:80 msgid ":doc:`../../../inventory_and_mrp/quality/quality_management/quality_control_points`" msgstr "" #: ../../content/applications/general/iot/devices/measurement_tool.rst:69 -#: ../../content/applications/general/iot/devices/printer.rst:81 msgid ":doc:`../../../inventory_and_mrp/quality/quality_management/quality_alerts`" msgstr "" @@ -6580,103 +4747,107 @@ msgstr "" msgid "Connect a printer" msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:8 +#: ../../content/applications/general/iot/devices/printer.rst:5 msgid "Printer installation can be done in a few easy steps. The printer can be used to print receipts, labels, orders, or even reports from the different Odoo apps. In addition, printer actions can be assigned as an *action on a trigger* during the manufacturing process, or added onto a quality control point or a quality check." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:14 -msgid "The **only** way to connect a printer directly to an Odoo database is through the use of an |iot| box." +#: ../../content/applications/general/iot/devices/printer.rst:11 +msgid "The **only** way to connect a printer directly to an Odoo database is through the use of an IoT system. Without an IoT system, printing can still occur, but it is managed through the printer itself, which is not the recommended process." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:17 -msgid "Without an |iot| box, printing can still occur, but it is managed through the printer itself, which is not the recommended process." -msgstr "" - -#: ../../content/applications/general/iot/devices/printer.rst:23 -msgid "The |iot| box supports printers connected through |usb|, network connection, or Bluetooth. `Supported printers `__ are detected automatically, and appear in the :guilabel:`Devices` list of the *IoT* app." +#: ../../content/applications/general/iot/devices/printer.rst:18 +msgid "IoT systems support printers connected through USB, network connection, or Bluetooth. `Supported printers `__ are detected automatically, and appear in the :guilabel:`Devices` list of the IoT app." msgstr "" #: ../../content/applications/general/iot/devices/printer.rst:-1 msgid "The printer as it would appear in the IoT app devices list." msgstr "" +#: ../../content/applications/general/iot/devices/printer.rst:26 +msgid "Printers can take up to two minutes to appear in the IoT app :guilabel:`Devices` list." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:29 +msgid "Link a printer" +msgstr "" + #: ../../content/applications/general/iot/devices/printer.rst:32 -msgid "Printers can take up to two minutes to appear in the *IoT* app :guilabel:`Devices` list." +msgid "Link work orders to a printer" msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:35 -msgid "Link printer" +#: ../../content/applications/general/iot/devices/printer.rst:34 +msgid "Work orders can be linked to printers, via a quality control point, to print labels for manufactured products." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:38 -msgid "Link printer to work orders" +#: ../../content/applications/general/iot/devices/printer.rst:37 +msgid "In the :doc:`Quality app `, a device can be set up on a quality control point. To do so, go to the :menuselection:`Quality --> Quality Control --> Control Points`, and open the desired control point." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:40 -msgid "*Work Orders* can be linked to printers, via a quality control point, to print labels for manufactured products." +#: ../../content/applications/general/iot/devices/printer.rst:42 +msgid "A manufacturing operation and work order operation need to be attached to a quality control point before the :guilabel:`Type` field allows for the :guilabel:`Print Label` option to be selected." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:43 -msgid "In the *Quality app*, a device can be set up on a quality control point. To do that, go to the :menuselection:`Quality app --> Quality Control --> Control Points`, and open the desired control point to which the printer will be linked." +#: ../../content/applications/general/iot/devices/printer.rst:46 +msgid "From here, edit the control point by selecting the :guilabel:`Type` field, and selecting :guilabel:`Print Label` from the dropdown menu of options. Doing so reveals the :guilabel:`Device` field, where the attached device can be selected." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:48 -msgid "A *Manufacturing Operation* and *Work Order Operation* need to be attached to a quality control point before the :guilabel:`Type` field allows for the :guilabel:`Print Label` option to be selected." -msgstr "" - -#: ../../content/applications/general/iot/devices/printer.rst:52 -msgid "From here, edit the control point, by selecting the :guilabel:`Type` field, and selecting :guilabel:`Print Label` from the drop-down menu of options. Doing so reveals a field called :guilabel:`Device`, where the attached *device* can be selected. :guilabel:`Save` the changes, if required." -msgstr "" - -#: ../../content/applications/general/iot/devices/printer.rst:-1 -msgid "This is the quality control point setup." -msgstr "" - -#: ../../content/applications/general/iot/devices/printer.rst:61 +#: ../../content/applications/general/iot/devices/printer.rst:50 msgid "The printer can now be used with the selected quality control point. When the quality control point is reached during the manufacturing process, the database presents the option to print labels for a specific product." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:74 -msgid "On a quality check detail form, the :guilabel:`Type` of check can also be specified to :guilabel:`Print Label`. To create :doc:`new quality checks <../../../inventory_and_mrp/quality/quality_management/quality_checks>`, navigate to :menuselection:`Quality app --> Quality Control --> Quality Checks --> New`." +#: ../../content/applications/general/iot/devices/printer.rst:55 +msgid "Quality control points can also be accessed by navigating to :menuselection:`IoT --> Devices`, then selecting the device. Go to the :guilabel:`Quality Control Points` tab to add them to the device." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:86 -msgid "Link printer to reports" +#: ../../content/applications/general/iot/devices/printer.rst:60 +msgid "On a :doc:`quality check form `, the :guilabel:`Type` of check can also be set to :guilabel:`Print Label`." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:88 -msgid "It is possible to link report types to a specific printer. In the *IoT* app, go to the :guilabel:`Devices` menu, and select the desired printer to be configured." +#: ../../content/applications/general/iot/devices/printer.rst:71 +msgid "Link reports to a printer" msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:91 -msgid "From here, go to the :guilabel:`Printer Reports` tab, and click :guilabel:`Add a line`. In the window that appears, check all the types of :guilabel:`Reports` that should be linked to this printer." +#: ../../content/applications/general/iot/devices/printer.rst:73 +msgid "It is possible to link report types to a specific printer. To do so:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:75 +msgid "Go to :menuselection:`IoT --> Devices` and select the desired printer." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:76 +msgid "Go to the :guilabel:`Printer Reports` tab and click :guilabel:`Add a line`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:77 +msgid "In the pop-up that opens, select the types of reports to be linked to the printer and click :guilabel:`Select`." msgstr "" #: ../../content/applications/general/iot/devices/printer.rst:-1 msgid "The list of reports assigned to a printer in the IoT app." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:100 -msgid "Reports can also be configured in the *Technical* menu of the *Settings* app, while in :ref:`debug mode `. To do that, navigate to :menuselection:`Settings App --> Technical --> Actions: Reports`. From here, select the desired report from the list. Then, an :guilabel:`IoT Device` can be set on the report." +#: ../../content/applications/general/iot/devices/printer.rst:84 +msgid "Reports can also be configured by :ref:`enabling the developer mode ` and going to :menuselection:`Settings --> Technical --> Reports`. Select the desired report from the list and set an :guilabel:`IoT Device`." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:105 +#: ../../content/applications/general/iot/devices/printer.rst:88 msgid "The first time a linked report is selected to print, a :guilabel:`Select Printers` pop-up window appears. Tick the checkbox next to the correct printer for the report, and click :guilabel:`Print`. At that point, the report is linked to the printer." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:110 +#: ../../content/applications/general/iot/devices/printer.rst:93 msgid "Clear device printer cache" msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:112 +#: ../../content/applications/general/iot/devices/printer.rst:95 msgid "After a printer is linked to print a report, the setting is saved in a browser's cache. This means a user can have different devices saved in their cache for different reports, based on the device they use to access Odoo. It also means different users can have a report automatically printed from different printers, based on their preferences." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:117 -msgid "To unlink a report from a printer, navigate to :menuselection:`IoT app --> Clear Selected Devices`. This generates a list of reports that are linked to a printer on the current device. Click the :guilabel:`Unlink` button next to each report to remove the link." +#: ../../content/applications/general/iot/devices/printer.rst:100 +msgid "To unlink a report from a printer, navigate to :menuselection:`IoT --> Configuration --> Reset Linked Printers`. This generates a list of reports that are linked to a printer on the current device. Click the :guilabel:`Unlink` button next to each report to remove the link." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:122 +#: ../../content/applications/general/iot/devices/printer.rst:105 msgid "This step **only** prevents the report from automatically printing to the listed printer from the current browser. The report is still :ref:`linked ` on the device, under the :guilabel:`Printer Reports` tab." msgstr "" @@ -6684,86 +4855,639 @@ msgstr "" msgid "A list of reports currently linked to a printer in the IoT app." msgstr "" -#: ../../content/applications/general/iot/devices/printer.rst:131 +#: ../../content/applications/general/iot/devices/printer.rst:113 msgid ":doc:`POS Order Printing <../../../sales/point_of_sale/restaurant/kitchen_printing>`" msgstr "" +#: ../../content/applications/general/iot/devices/printer.rst:116 +msgid "Potential issues" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:119 +msgid "The printer is not detected" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:121 +msgid "If a printer does not appear in the devices list, go to the :ref:`IoT box's ` or :ref:`Windows virtual IoT's ` homepage, click :guilabel:`Show` in the :guilabel:`Devices` section, and make sure the printer is listed." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:125 +msgid "If the printer does not appear on the IoT system's homepage, click :guilabel:`Printer Server`, then :guilabel:`Administration`, and :guilabel:`Add Printer`. If the printer is not in the list, it is likely not connected properly." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:130 +msgid "The printer outputs random text" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:132 +msgid "For most printers, the correct driver should be automatically detected and selected. However, in some cases, the automatic detection mechanism might not be enough, and if no driver is found, the printer might print random characters." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:136 +msgid "The solution is to manually select the corresponding driver. On the IoT system's homepage, click :guilabel:`Printer Server`, then :guilabel:`Printers`, and select the printer in the list. In the :guilabel:`Administration` dropdown menu, click :guilabel:`Modify Printer`. Follow the steps and select the printer's *make* and *model*." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:-1 +msgid "Edit the printer connected to the IoT system." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:146 +msgid "Epson 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/general/iot/devices/printer.rst:150 +msgid "The printer is detected but is not recognized correctly" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:152 +msgid "If Odoo and the IoT system do not recognize the printer correctly, go to :menuselection:`IoT --> Devices`, click the device's card to access its form, and set the :guilabel:`Subtype` field to the appropriate option: :guilabel:`Receipt Printer`, :guilabel:`Label Printer`, or :guilabel:`Office Printer`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:158 +msgid "Epson configuration special case" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:160 +msgid "Most Epson printers support printing receipts in Odoo Point of Sale using the `GS v 0` command. However, the following Epson printer models do not support this command:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:163 +msgid "TM-U220" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:164 +msgid "TM-U230" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:165 +msgid "TM-P60" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:166 +msgid "TMP-P60II" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:168 +msgid "To bypass this issue, you can configure the printer to use the `ESC *` command." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:170 +msgid "First, review Epson's website for compatibility for both the `GS v 0 `_ and `ESC * `_ commands." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:174 +msgid "If the printer is incompatible with `GS v 0` but supports `ESC *`, configure the IoT system to use the `ESC *` command as follows:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:179 +msgid "Click the :guilabel:`Printer server` button, then click :guilabel:`Administration` on the CUPS page." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:181 +msgid "Click :guilabel:`Add Printer` in the :guilabel:`Printers` section, select the printer, and click :guilabel:`Continue`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:185 +msgid "If the printer's name is still uncertain, take the following steps:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:187 +msgid "Take note of the listed printers on the CUPS page." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:188 +msgid "Turn the printer off and refresh the page." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:189 +msgid "Compare the difference with the first list to see which printer disappeared." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:190 +msgid "Turn the printer back on and refresh the page again." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:191 +msgid "Double-check the list again to see if the printer re-appears." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:192 +msgid "The printer that disappeared and reappears again on the listed printers is the name of the printer in question. It can be :guilabel:`Unknown` under :guilabel:`Local printers`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:195 +msgid "On the :guilabel:`Add Printer` page, specify the printer's :guilabel:`Name` using the following convention: `__IMC___...___`, where:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:198 +msgid "`printer_name` is the printer's name. It can contain any character except `_`, `/`, `#`, or ` ` (space character)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:200 +msgid "`IMC`: This stands for *Image Mode Column* (the simplified name for `ESC *`)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:201 +msgid "`param_1`: This stands for the specific parameter:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:203 +msgid "`SCALE`: Scale of the picture (with the same aspect ratio). `X` should be an integer describing the scale percentage that should be used. For example, `100` is the original size, `50` is half the size, and `200` is twice the size." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:206 +msgid "`LDV`: *Low Density Vertical* (will be set to *High Density Vertical* if not specified)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:207 +msgid "`LDH`: *Low Density Horizontal* (will be set to *High Density Horizontal* if not specified)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:210 +msgid "*Density* parameters might need to be configured in a particular way, depending on the printer model." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:212 +msgid "Refer to `Epson's ESC * documentation `_ to determine if the printer requires these parameters to be set." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:216 +msgid "The following are examples of proper and improper name formatting:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:218 +msgid "Proper name formatting:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:220 +msgid "`EPSONTMm30II__IMC__`" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:221 +msgid "`EPSON_TM_U220__IMC_LDV_LDH_SCALE80__`" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:223 +msgid "Improper name formatting (this will not prevent printing, but the result might not have the expected printed output):" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:226 +msgid "`EPSON TMm 30II`: The name cannot contain spaces." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:227 +msgid "`EPSONTMm30II`: The name itself is correct, but it will not use `ESC *`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:228 +msgid "`EPSONTMm30II__IMC`: This name is missing the end `__`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:229 +msgid "`EPSONTMm30II__IMC_XDV__`: The parameter `XDV` does not match any existing parameters." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:230 +msgid "`EPSONTMm30II__IMC_SCALE__`: The parameter `SCALE` is missing the scale value." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:232 +msgid "Once the printer's name has been defined using the appropriate naming convention, click :guilabel:`Continue`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:234 +msgid "Set the :guilabel:`Make` value to :guilabel:`Raw` and the :guilabel:`Model` value to :guilabel:`Raw Queue (en)`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:236 +msgid "Click :guilabel:`Add Printer`. If everything was done correctly, the page should redirect to the :guilabel:`Banners` page." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:238 +msgid "Wait a few minutes for the IoT system to detect the printer and sync to Odoo's server." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:239 +msgid ":ref:`Access the POS settings ` and select your POS, or click the vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. Scroll down to the :guilabel:`Connected Devices` section, enable :guilabel:`IoT Box`, and select the printer in the :guilabel:`Receipt Printer` field. Click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:245 +msgid "If the printer was set up incorrectly (e.g., it continues to print random text, or the printed receipt is too large or too small), it cannot be modified via the printer's name in CUPS. Instead, configure a new printer from scratch with modified parameters, following the steps above." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:253 +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 "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Properly formatted receipt picture from a demo database." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:261 +msgid "Printing this receipt immediately without proper formatting will not work, as the TM-U220B printer model does not support the `GS v 0` command. Instead, random characters will be printed:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Printer paper with seemingly random characters." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:268 +msgid "To properly configure formatting for the Epson TM-U220B printer model, follow these steps:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:270 +msgid "After checking Epson's website for compatibility with both the `GS v 0 `_ and `ESC * `_ commands, the TM-U220B printer is indeed incompatible with `GS v 0` but supports `ESC *`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Epson compatibility evaluation from Epson website." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:278 +msgid "When adding the printer, CUPS displays the list of available printers:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Administration menu, add printer selection." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:284 +msgid "In this case, the printer is connected via USB, so it is not 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 USB cable from the IoT system and refreshing the page, the :guilabel:`Unknown` printer disappears. By plugging it back in, the printer reappears." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:290 +msgid "For the naming convention, since the printer must print using the `ESC *` command, it is imperative to add `__IMC`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Epson TM-U220 specifications on manufacturer's website." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:296 +msgid "For this particular model (TM-U220) `m` should be equal to 0 or 1. While referencing the :guilabel:`Description` table on `Epson's ESC * website `_, the `m` values could be 0, 1, 32, or 33. So, in this case, the `m` value **cannot** be 32 or 33 (otherwise, random characters will be printed)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:302 +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, i.e. it has 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/general/iot/devices/printer.rst:307 +msgid "To add a *Low Vertical Density*, add the `LDV` parameter to the naming convention." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Add a *Low Vertical Density* (the `LDV` parameter) to the naming convention." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:312 +msgid "Click :guilabel:`Continue` to proceed. Next, set the :guilabel:`Make` value to :guilabel:`Raw` and the :guilabel:`Model` value to :guilabel:`Raw Queue (en)`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Epson TM-U220 specifications on manufacturers website." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:318 +msgid "However, when trying to print with the naming convention `EpsonTMU220B__IMC_LDV__`, the receipt is printed, but it is too large and outside the margin. To resolve this, add a new printer (and naming convention) with the `SCALE` parameter to adapt to the receipt's size." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:322 +msgid "Here are some examples:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:327 +msgid "Printer Naming Convention" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:328 +msgid "`EpsonTMU220B__IMC_LDV__`" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:329 +msgid "`EpsonTMU220B__IMC_LDV_SCALE75__`" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:330 +msgid "`EpsonTMU220B__IMC_LDV_LDH__`" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:331 +msgid "`EpsonTMU220B__IMC_LDV_LDH_SCALE35__`" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Receipt example format." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV__." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_SCALE75__." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_LDH__." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Receipt format using naming convention: EpsonTMU220B__IMC_LDV_LDH_SCALE35__." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:344 +msgid "DYMO LabelWriter print issue" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:346 +msgid "The DYMO LabelWriter has a known issue in printing with IoT systems. The OpenPrinting CUPS server installs the printer using :guilabel:`Local RAW Printer` drivers. In order to print anything, the correct :guilabel:`Make and Model` needs to be set to reference the correct driver when using the device." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:351 +msgid "Additionally, a new printer needs to be added to reduce the print delay that occurs after updating the driver." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:355 +msgid "The DYMO LabelWriter 450 DUO printer is the recommended DYMO printer for use with Odoo and IoT systems. This device combines two printers: a label printer and a tape printer. When configuring the following processes, it is essential to select the correct model (either DYMO LabelWriter 450 DUO Label (en) or DYMO LabelWriter 450 DUO Tape (en)). For consistency, the following processes outline configuration steps for the DYMO LabelWriter 450 DUO Label (en) model. Adjust the model selections as needed." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:365 +msgid "DYMO LabelWriter not printing" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:367 +msgid "If the DYMO LabelWriter fails to print, install a new driver:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:369 +#: ../../content/applications/general/iot/devices/printer.rst:405 +msgid "Access the IoT system's homepage and click :menuselection:`Printer server` to open the OpenPrinting CUPS console." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:371 +msgid "Click :menuselection:`Printers` in the top menu, then click the printer in the list." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:372 +msgid "Select :guilabel:`Maintenance` in the first dropdown menu." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:373 +msgid "Select :guilabel:`Modify Printer` in the second dropdown menu." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Modify the make and model of the DYMO LabelWriter. Maintenance and Modify dropdown\n" +"menus highlighted." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:379 +msgid "Select the specific network connection/printer on which the modification should be made and click :guilabel:`Continue`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:381 +msgid "On the next page, click :guilabel:`Continue`, then select :guilabel:`DYMO` from the :guilabel:`Make` dropdown list." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:383 +msgid "Click on :guilabel:`Continue` and set the :guilabel:`Model` to :guilabel:`DYMO LabelWriter 450 DUO Label (en)` (or whichever DYMO printer model is being used)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:385 +msgid "Click :guilabel:`Modify Printer` to set the new driver; a confirmation page appears." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:386 +msgid "Click :menuselection:`Printers` in the top menu; all printers installed on the OpenPrinting CUPS server appear, including the newly updated :guilabel:`DYMO LabelWriter 450 DUO Label` (or whichever DYMO printer model is being used)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:389 +msgid "Click the newly updated printer, then click the :guilabel:`Maintenance` dropdown menu and select :guilabel:`Print Test Page` to print a test label. The test label is printed after a few seconds if the driver update was successful." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:393 +msgid "To reduce this delay, add a new printer using the steps below." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:396 +msgid "DYMO LabelWriter print delay" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:399 +msgid "If the DYMO LabelWriter 450 DUO printer is not printing at all, or is not recognized (i.e., it has a :guilabel:`RAW` driver type), then :ref:`update the drivers on the device `." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:403 +msgid "To resolve the delay issue after modifying the driver, reinstall the printer:" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:407 +msgid "Click :menuselection:`Administration` in the top menu, then click :guilabel:`Add a Printer`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:408 +msgid "On the next page, in the :guilabel:`Local Printers` section, select :guilabel:`DYMO LabelWriter 450 DUO Label (DYMO LabelWriter 450 DUO Label)` (or whichever DYMO printer model is being used) pre-installed printer. Click :guilabel:`Continue`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Add a printer screen on OpenPrinting CUPS with DYMO LabelWriter 450 DUO Label\n" +"highlighted." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:416 +msgid "On the following screen, update the :guilabel:`Name` to something easily identifiable, as the original printer will remain in the list. Then, click :guilabel:`Continue`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Rename printer page in the 'Add a Printer' flow, with the name field highlighted." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:422 +msgid "Set the :guilabel:`Model` field to :guilabel:`DYMO LabelWriter 450 DUO Label (en)` (or whichever DYMO printer model is being used), then click :guilabel:`Add Printer` to complete the installation." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Choose model screen on the OpenPrinting CUPS console with model and add a printer\n" +"highlighted." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:430 +msgid "Click :menuselection:`Printers` in the top menu and click the newly installed printer :guilabel:`DYMO LabelWriter 450 DUO Label` (or whichever DYMO printer model is being used) from in the list." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:0 +msgid "Printer page with newly installed printer highlighted." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:437 +msgid "Click the :guilabel:`Maintenance` dropdown list and select :guilabel:`Print Test Page` to print a test label. The test label should print out immediately, or after one or two seconds." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:441 +msgid "The Zebra printer does not print anything" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:443 +msgid "Zebra printers are quite sensitive to the format of the printed Zebra Programming Language (ZPL) code. If nothing comes out of the printer or blank labels are printed, try changing the format of the report sent to the printer. To do so, activate the :ref:`developer mode `, go to :menuselection:`Settings --> Technical --> User Interface --> Views`, and search for the corresponding template." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:450 +msgid "`Zebra's instructions on printing ZPL files `_" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:454 +msgid "Barcode scanner issues" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:457 +msgid "The characters read by the barcode scanner do not match the barcode" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:459 +msgid "By default, most barcode scanners are configured in the US QWERTY format. If the barcode scanner uses a different layout, go to :menuselection:`IoT --> Devices` and click the barcode device's card. Then, select the correct language in the :guilabel:`Keyboard Layout` field." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:464 +#: ../../content/applications/general/iot/devices/printer.rst:494 +msgid "The :guilabel:`Keyboard Layout` is language-specific, with available options varying based on the device and the language of the database (e.g., :guilabel:`English (UK)`, :guilabel:`English (US)`, etc.)." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:469 +msgid "Nothing happens when a barcode is scanned" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:471 +msgid "Make sure the correct device is selected in the :doc:`Point of Sale settings ` (when applicable) and the barcode is configured to send an `ENTER` character (keycode 28) at the end of every barcode." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:476 +msgid "The barcode scanner is detected as a keyboard" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:479 +msgid "Some barcode scanners are identified as USB keyboards rather than barcode scanners and are not recognized by IoT systems." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:482 +msgid "To change the device type manually, go to :menuselection:`IoT --> Devices` and click the barcode device's card. Then, enable :guilabel:`Is scanner`." +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:486 +msgid "The barcode scanner processes barcode characters individually" +msgstr "" + +#: ../../content/applications/general/iot/devices/printer.rst:488 +msgid "When accessing the mobile version of Odoo from a mobile device or tablet paired with a barcode scanner via the IoT system, the scanner might interpret each character in a barcode as a separate scan. To resolve this, go to :menuselection:`IoT --> Devices` and click the barcode device's card. Then, select the correct language in the :guilabel:`Keyboard Layout` field." +msgstr "" + #: ../../content/applications/general/iot/devices/scale.rst:3 msgid "Connect a scale" msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:5 -msgid "A scale can be connected to the :abbr:`IoT (Internet of Things)` box on an Odoo database in a few easy steps. After setup, the *Point of Sale* app can be used to weigh products, which is helpful if their prices are calculated based on weight." -msgstr "" - -#: ../../content/applications/general/iot/devices/scale.rst:10 +#: ../../content/applications/general/iot/devices/scale.rst:6 msgid "In EU member states, `certification is legally required `_ to use a scale as an integrated device." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:12 -msgid "Odoo is not certified in several countries, including France, Germany, and Switzerland. If you reside in one of these countries, you can still use a scale but without integration to your Odoo database." +#: ../../content/applications/general/iot/devices/scale.rst:9 +msgid "Odoo is not certified in several countries, including France, Germany, and Switzerland. If you reside in one of these countries, you can still use a scale but without integration into your Odoo database. Alternatively, you can acquire a *non-integrated* certified scale that prints certified labels, which can then be scanned into your Odoo database." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:15 -msgid "Alternatively, you have the option to acquire a *non-integrated* certified scale that prints certified labels, which can then be scanned into your Odoo database." +#: ../../content/applications/general/iot/devices/scale.rst:14 +msgid "To connect a scale to the IoT system, use a USB cable. In some cases, you may need a serial-to-US adapter to complete the connection. If the scale is `compatible with an IoT system `_, no additional setup is required; the scale is automatically detected as soon as it is connected. If the scale is not detected, reboot the IoT box or :ref:`restart the Windows virtual IoT service ` and :ref:`update the scale's drivers `." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:19 -msgid "`Directive 2014/31/EU of the European Parliament `_" +#: ../../content/applications/general/iot/devices/scale.rst:22 +msgid "If the scale still does not function after updating the drivers, it might not be `compatible with the Odoo IoT system `_. In such cases, a different scale must be used." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:24 -msgid "To link the scale to the :abbr:`IoT (Internet of Things)` box, connect it with a :abbr:`USB (Universal Serial Bus)` cable." +#: ../../content/applications/general/iot/devices/scale.rst:26 +msgid "Once the scale is connected to the IoT system, follow these steps to configure it in the POS settings:" msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:28 -msgid "In some cases, a serial port to :abbr:`USB (Universal Serial Bus)` adapter may be needed." +#: ../../content/applications/general/iot/devices/scale.rst:29 +msgid ":ref:`Access the POS settings ` and select your POS, or click the vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:30 -msgid "If the scale is `compatible with Odoo IoT Box `_, there is no need to set up anything because it will be automatically detected as soon as it is connected." +#: ../../content/applications/general/iot/devices/scale.rst:31 +msgid "Scroll down to the :guilabel:`Connected Devices` section and enable :guilabel:`IoT Box`." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:-1 -msgid "IOT box auto detection." +#: ../../content/applications/general/iot/devices/scale.rst:32 +msgid "Select the scale in the :guilabel:`Electronic Scale` field." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:37 -msgid "The :abbr:`IoT (Internet of Things)` box may need to be restarted and the scale's drivers may need to be downloaded to the box in some cases. To update the drivers, go to the :abbr:`IoT (Internet of Things)` box homepage and click on :guilabel:`Drivers List`. Then, click on :guilabel:`Load Drivers`." +#: ../../content/applications/general/iot/devices/scale.rst:33 +msgid "Click :guilabel:`Save`." msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:-1 -msgid "View of the IoT box settings and driver list." +#: ../../content/applications/general/iot/devices/scale.rst:36 +msgid ":doc:`Connect an IoT system to a POS `" msgstr "" -#: ../../content/applications/general/iot/devices/scale.rst:46 -msgid "If loading the drivers still doesn't allow for the scale to function, it may be that the scale is not compatible with the Odoo :abbr:`IoT (Internet of Things)` box. In this case, a different scale will need to be used." -msgstr "" - -#: ../../content/applications/general/iot/devices/scale.rst:51 -msgid "Use a scale in a point of sale (POS) system" -msgstr "" - -#: ../../content/applications/general/iot/devices/scale.rst:53 -msgid "To use the scale in the *Point of Sale app*, go to :menuselection:`PoS app --> 3-Dot Menu on the PoS --> Settings`, then enable the :abbr:`IoT (Internet of Things)` box feature. After this is complete, the scale device can be set." -msgstr "" - -#: ../../content/applications/general/iot/devices/scale.rst:57 -msgid "Select the scale from the :guilabel:`Electronic Scale` drop-down menu. Then click :guilabel:`Save` to save the changes, if required." -msgstr "" - -#: ../../content/applications/general/iot/devices/scale.rst:-1 -msgid "List of the external tools that can be used with PoS and the IoT box." -msgstr "" - -#: ../../content/applications/general/iot/devices/scale.rst:64 -msgid "The scale is now available in all the :abbr:`PoS (Point of Sale)` sessions. Now, if a product has a price per weight set, clicking on it on the :guilabel:`PoS` screen opens the scale screen, where the cashier can weigh the product and add the correct price to the cart." +#: ../../content/applications/general/iot/devices/scale.rst:38 +msgid "The scale is then available in all the :doc:`POS's sessions `. If a product is configured with a price per weight, selecting it on the :guilabel:`PoS screen` opens the scale popup. The cashier can then weigh the product to automatically add the correct price to the cart." msgstr "" #: ../../content/applications/general/iot/devices/scale.rst:-1 msgid "Electronic Scale dashboard view when no items are being weighed." msgstr "" +#: ../../content/applications/general/iot/devices/scale.rst:48 +msgid "Ariva S scales" +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:50 +msgid "For Ariva S series scales (manufactured by Mettler-Toledo, LLC.) to function with IoT systems, a specific setting must be modified, and a dedicated Mettler USB-to-proprietary RJ45 cable is required." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:54 +msgid "The official Mettler USB-to-RJ45 cable (Mettler part number 72256236) must be used. Contact Mettler or a partner to purchase an authentic cable. **No other** cable works for this configuration." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:58 +msgid "To configure the Ariva S scale for IoT system recognition, refer to page 17 of `Mettler's Setup Guide for Ariva S series scales `_ and follow these steps:" +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:61 +msgid "Hold the **>T<** button for eight seconds, or until :guilabel:`CONF` appears." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:62 +msgid "Press **>T<** until :guilabel:`GRP 3` appears, then press **>0<** to confirm." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:63 +msgid "Under :guilabel:`3.1`, ensure the setting is set to :guilabel:`1` (USB Virtual COM ports) and press **>T<** to cycle through the options under group 3.1." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:65 +msgid "Once :guilabel:`3.1` is set to :guilabel:`1`, press **>0<** to confirm the selection." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:66 +msgid "Continue to press **>0<** until :guilabel:`GRP 4` appears." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:67 +msgid "Press **>T<** until :guilabel:`EXIT` appears." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:70 +msgid "Do **not** make any other changes unless otherwise needed." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:72 +msgid "Press **>0<**." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:73 +msgid "Press **>0<** again to :guilabel:`SAVE`; the scale restarts." +msgstr "" + +#: ../../content/applications/general/iot/devices/scale.rst:74 +msgid "Reboot the IoT box or :ref:`restart the Windows virtual IoT service `. The scale should then appear as `Toledo 8217`, as opposed to the previous display, where it appeared as `Adam Equipment Serial`." +msgstr "" + #: ../../content/applications/general/iot/devices/screen.rst:3 msgid "Connect a screen" msgstr "" @@ -6801,7 +5525,7 @@ msgid "Connect the screen with an HDMI cable on the side of the :abbr:`IoT (Inte msgstr "" #: ../../content/applications/general/iot/devices/screen.rst:36 -msgid ":ref:`See the Raspberry Pi Schema `." +msgid ":ref:`See the Raspberry Pi Schema `." msgstr "" #: ../../content/applications/general/iot/devices/screen.rst:39 @@ -6882,6 +5606,714 @@ msgstr "" msgid "Open the screen form view by accessing :menuselection:`IoT app --> Devices --> Customer Display`. This allows the user to choose a particular website URL to display on the screen using the :guilabel:`Display URL` field." msgstr "" +#: ../../content/applications/general/iot/iot_advanced.rst:5 +msgid "Advanced" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:5 +msgid "HTTPS certificate (IoT)" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:7 +msgid "*Hypertext Transfer Protocol Secure* (HTTPS) is the secure and encrypted version of *Hypertext Transfer Protocol* (HTTP), which is the primary protocol used for data communication between a web browser and a website. It secures communications by using an encryption protocol known as *Transport Layer Security* (TLS), previously called *Secure Sockets Layer* (SSL). The security of :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` relies on :abbr:`TLS (Transport Layer Security)` /:abbr:`SSL (Secure Sockets Layer)` certificates, which authenticate the provider and verify their identity." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:15 +msgid "The use of HTTPS is required to communicate with certain network devices, particularly payment terminals. If the HTTPS certificate is not valid, some devices cannot interact with the IoT system." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:20 +msgid "In this documentation and throughout Odoo, the term *HTTPS certificate* refers to a valid SSL certificate that allows an HTTPS connection." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:26 +msgid "HTTPS certificate generation" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:28 +msgid "The HTTPS certificate is generated automatically. When the IoT system is (re-)started (e.g., after it is connected to the Odoo database), a request is sent to ``_, which returns the HTTPS certificate if the IoT system and database meet the eligibility criteria:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:34 +msgid "The database must be a **production** instance. The database instance should not be a copy, a duplicate, a staging, or a development environment." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:36 +msgid "The Odoo subscription must be ongoing (:guilabel:`In Progress` status) and have an :ref:`IoT box subscription ` line." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:39 +msgid "When the certificate has been received:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:41 +msgid "The IoT system's homepage address is updated to a new HTTPS URL ending with `.odoo-iot.com`. Click the URL to establish a secure HTTPS connection." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:0 +msgid "Odoo IoT app IoT box with .odoo-iot.com domain." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:47 +msgid "The :guilabel:`HTTPS certificate` banner displays the certificate's validity period. To view this information, click the :icon:`fa-cogs` (:guilabel:`cogs`) button on the IoT system's homepage." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:0 +msgid "IoT box homepage with HTTPS certificate validity date." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:54 +msgid "HTTPS certificate generation issues and errors" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:57 +msgid "The HTTPS certificate does not generate" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:59 +msgid "Potential causes include the following:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:61 +msgid "No :ref:`IoT box subscription ` is linked to your account." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:62 +msgid "The :ref:`IoT box subscription ` was added *after* connecting the IoT system to the database. In this case, refresh the IoT system's homepage or reboot/:ref:`restart ` the IoT system to regenerate the HTTPS certificate." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:65 +msgid "The firewall is preventing the HTTPS certificate from generating correctly. In this case, deactivate the firewall until the certificate is successfully generated." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:69 +msgid "Some devices, such as routers with a built-in firewall, can prevent the HTTPS certificate from generating." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:73 +msgid "The IoT system's homepage can be accessed using its IP address but not the `xxx.odoo-iot.com` URL" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:75 +msgid "Contact your system or network administrator to address the issue. Network-related problems are beyond the scope of Odoo support services." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:78 +msgid "If the router allows manual :abbr:`DNS (Domain Name System)` configuration, update the settings to use `Google DNS `_." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:80 +msgid "If the router does not support this, you need to update the DNS settings directly on each device that interacts with the IoT system to use `Google DNS `_. Instructions for configuring DNS on individual devices can be found on the respective manufacturer's website." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:86 +msgid "Some IoT devices, such as payment terminals, likely do not require DNS changes, as they are typically pre-configured with custom DNS settings." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:88 +msgid "On some browsers, an error code mentioning the DNS (such as `DNS_PROBE_FINISHED_NXDOMAIN`) is displayed." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:92 +msgid "Errors" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:94 +msgid "A specific error code is displayed on the IoT system's homepage if any issues occur during the generation or reception of the HTTPS certificate." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:98 +msgid "When you access the IoT system's homepage, it automatically checks for an HTTPS certificate and attempts to generate one if it is missing. If an error appears, refresh the page to see if the issue is resolved." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:103 +msgid "`ERR_IOT_HTTPS_CHECK_NO_SERVER`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:105 +msgid "The server configuration is missing, i.e., the Odoo instance is not :doc:`connected <../connect>` to the IoT system." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:109 +msgid "`ERR_IOT_HTTPS_CHECK_CERT_READ_EXCEPTION`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:111 +msgid "An error occurred while attempting to read the existing HTTPS certificate. Verify that the HTTPS certificate file is readable." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:115 +msgid "`ERR_IOT_HTTPS_LOAD_NO_CREDENTIAL`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:117 +msgid "The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing form the IoT." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:119 +msgid "Verify that both values are correctly configured. To update them, :ref:`access the IoT box's ` or :ref:`Windows virtual IoT's homepage `, click the :icon:`fa-cogs` (:guilabel:`cogs`) button, then click :guilabel:`Credential`." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:124 +msgid "`ERR_IOT_HTTPS_LOAD_REQUEST_EXCEPTION`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:126 +msgid "An unexpected error occurred while the IoT system tried to reach ``_. This is likely due to network-related issues, such as:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:129 +msgid "The IoT system does not have Internet access." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:130 +msgid "Network restrictions (e.g., firewalls or VPNs) are preventing communication with https://www.odoo.com." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:134 +msgid "To access the full request exception details with information regarding the error, :ref:`enable the developer mode `, click the IoT system's card in the IoT app, and click :guilabel:`Download logs` on the :ref:`IoT system's form `. To define the log levels recorded in the IoT system's log file, :ref:`access the IoT box's ` or :ref:`Windows virtual IoT's ` homepage, click the :icon:`fa-cogs` (:guilabel:`cogs`) button, then :guilabel:`Log level` at the bottom of the page." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:141 +msgid "To address network-related issues, contact your system or network administrator; these issues are beyond the scope of Odoo support services." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:145 +msgid "`ERR_IOT_HTTPS_LOAD_REQUEST_STATUS`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:147 +msgid "The IoT system successfully reached ``_ but received an unexpected `HTTP response (status codes) `_." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:150 +msgid "This error code includes the HTTP status. For example, `ERR_IOT_HTTPS_LOAD_REQUEST_STATUS 404` means the server returned a \"Page Not Found\" response." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:153 +msgid "To solve this issue:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:155 +msgid "Open ``_ in a web browser to check if the website is temporarily down for maintenance." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:0 +msgid "If ``_ is down for maintenance, wait for it to resume." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:0 +msgid "If the website is operational, open a `support ticket `_ and make sure to include the 3-digit HTTPS status code in the ticket." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:162 +msgid "`ERR_IOT_HTTPS_LOAD_REQUEST_NO_RESULT`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:164 +msgid "The IoT system successfully connected to ``_, but the server refused to provide the HTTPS certificate." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/https_certificate_iot.rst:167 +msgid "Check that the IoT system and database meet the :ref:`eligibility requirements ` for an HTTPS certificate." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:3 +msgid "IoT box SSH connection" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:6 +msgid "SSH connections are only available for :doc:`IoT boxes <../iot_box>`, not the :doc:`Windows virtual IoT <../windows_iot>`." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:10 +msgid "This feature should **only** be used with trusted parties, as it provides administrative access to the IoT box, which can create security issues." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:12 +msgid "Managing an SSH connection is **not** covered under the standard Odoo support scope. Visit the `Odoo Support `_ page for additional information about what is covered." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:16 +msgid "To provide an :abbr:`SSH (secure shell protocol)` connection to an IoT box, you must generate a password:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:19 +msgid "Access the IoT box's homepage by opening the IoT app and clicking the IP address displayed on the IoT box's card." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:21 +msgid "Click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the top-right, then :guilabel:`Remote Debug`." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:23 +msgid "In the :guilabel:`Remote Debugging` popup that opens, click :guilabel:`Generate` and save the password securely. Once you close the popup, the password will no longer be available." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:0 +msgid "The Remote Debugging password generation window." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:29 +msgid "Enter the :guilabel:`Authentication Token` provided by the user attempting to connect to the IoT box." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:31 +msgid "Click :guilabel:`Enable Remote Debugging`." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:34 +msgid ":doc:`../iot_box`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/ssh_connect.rst:35 +msgid ":doc:`../connect`" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:3 +msgid "IoT system updates" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:5 +msgid "Due to the complexity of IoT systems, the term *updating* can refer to several processes, including:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:7 +msgid ":ref:`Updating the IoT system's image and/or core code `;" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:8 +msgid ":ref:`Updating the handlers `, which include the interfaces and drivers." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:13 +msgid "Image and core code update" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:19 +msgid "To check if the IoT box is up-to-date (and update it if needed), :ref:`access the IoT box's homepage `, click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the top-right, then :guilabel:`Update` in the :guilabel:`Version` section." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:24 +msgid ":ref:`Enable the developer mode ` to view the current versions of the IoT box's image and core code." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:27 +msgid "**Image update**" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:29 +msgid "To update the IoT box's image, flash its SD card. Flashing can be performed using `balenaEtcher `_, a free and open-source tool for writing disk images to SD cards." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:34 +msgid "Updating the IoT system's image is often required after upgrading the Odoo database to a newer version." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:36 +msgid "A computer with a micro SD card reader/adapter is required to flash the micro SD card." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:37 +msgid "An alternative software for flashing the micro SD card is `Raspberry Pi Imager `_." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:40 +msgid "`Download balenaEtcher. `_" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:41 +msgid "Insert the IoT box's micro SD card into the computer or adapter." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:42 +msgid "Open balenaEtcher, click :guilabel:`Flash from URL`, and enter the following URL: `http://nightly.odoo.com/master/iotbox/iotbox-latest.zip`." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:44 +msgid "Click :guilabel:`Select target` and select the SD card." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:45 +msgid "Click :guilabel:`Flash` and wait for the process to finish." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:0 +msgid "Flashing the SD card with balenaEtcher" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:50 +msgid "**Core code update**" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:52 +msgid "To update the IoT box's core code, click :guilabel:`Update` under :guilabel:`IoT Box Update` in the :guilabel:`Update` popup." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:56 +msgid "This process may take over 30 minutes. **Do not turn off or unplug the IoT box** during this time, as doing so could leave the device in an inconsistent state, requiring the IoT box to be reflashed with a new image." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:62 +msgid "To update the Windows virtual IoT's image and code, :ref:`uninstall the program ` and :ref:`reinstall ` the latest package." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:69 +msgid "Handler (driver) update" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:71 +msgid "To update the IoT system's handlers (i.e., drivers and interfaces) and synchronize them with the configured server handler's code, for example, to resolve issues where :doc:`devices <../devices>` are not functioning properly with the IoT system, proceed as follows:" +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:75 +msgid "Access the :ref:`IoT box's ` or :ref:`Windows virtual IoT's ` homepage and click the :icon:`fa-cogs` (:guilabel:`cogs`) button at the top-right." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:78 +msgid "Click :guilabel:`Update` in the :guilabel:`Version` section." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:79 +msgid "In the :guilabel:`Update` popup that opens, click :guilabel:`Force Drivers Update`." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:82 +msgid "If you have an :doc:`on-premise ` or :doc:`Odoo.sh ` database, the configured server must be up-to-date to ensure the handlers' code includes the latest fixes and patches." +msgstr "" + +#: ../../content/applications/general/iot/iot_advanced/updating_iot.rst:87 +msgid "A handler update is also performed automatically every time the IoT system is restarted unless the :guilabel:`Automatic drivers update` option is disabled in the :guilabel:`Technical information` tab in the :ref:`IoT system's form ` in Odoo." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:5 +msgid "To start using an IoT box:" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:7 +msgid "Make sure you have a :ref:`valid IoT box subscription ` in addition to your Odoo subscription." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:9 +msgid "Connect your :doc:`devices ` to the IoT box." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:10 +msgid ":ref:`Connect the IoT box to the network `." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:11 +msgid ":doc:`Connect the IoT box to your Odoo database `." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:14 +msgid "Devices can also be connected after the IoT box is added to the network and/or connected to the database; however, a reboot of the IoT box might be required." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:20 +msgid "Network connection" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:22 +msgid "The IoT box can be connected to the network via :ref:`Ethernet ` or :ref:`Wi-Fi `." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:26 +msgid "**All** devices must be connected to the **same network**: the IoT box, the device(s) connected to the IoT box, and the computer connected to Odoo." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:32 +msgid "Ethernet" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:34 +msgid "Plug the Ethernet cable into the IoT box's Ethernet port and an available port on your router, then connect the IoT box to a power source." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:40 +msgid "Wi-Fi" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:42 +msgid "Make sure no Ethernet cable is connected to the IoT box and follow these steps:" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:44 +msgid "Connect the IoT box to a power source and wait a few minutes for it to power on." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:45 +msgid "Access your computer's Wi-Fi settings and select the IoT box's network. The network name is in the format `IoTBox-xxxxxxxxxxxx` (where `xxxxxxxxxxxx` is a unique identifier)." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:47 +msgid "Connect to the IoT box's Wi-Fi network and sign into it; your browser should automatically open and redirect to the :ref:`IoT box's homepage `." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:51 +msgid "Depending on your operating system, the browser might not open and redirect to the IoT box's homepage. In this case, open your browser manually and navigate to `http://10.11.12.1`." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:54 +msgid "On the IoT box's homepage, click :guilabel:`Configure` next to the :guilabel:`Internet Status` section." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:56 +msgid "Wait a few minutes for the available networks to be scanned, select the network, enter the Wi-Fi's password, and click :guilabel:`Connect`." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:60 +msgid "Once connected to the Wi-Fi network, the IoT box stops emitting its Wi-Fi signal, and the computer should automatically reconnect to its original network. If it does not, reconnect to it manually." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:67 +msgid "IoT box homepage" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:69 +msgid "To access the IoT box's homepage, open a web browser **on the same network as the IoT box** and navigate to the IoT box's IP address." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:-1 +msgid "IoT box's homepage" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:76 +msgid "The IoT box's IP address can be retrieved by:" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:78 +msgid "connecting the IoT box to an external monitor: the IP address is displayed on the screen." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:0 +msgid "POS display with IoT box's IP address" +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:84 +msgid "connecting the IoT box to a printer: the IP address is automatically printed." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:85 +msgid "accessing the administrator interface of the router to which the IoT box is connected or using third-party software to scan the network." +msgstr "" + +#: ../../content/applications/general/iot/iot_box.rst:88 +msgid "Once the IoT box is :doc:`connected to the Odoo database `, its homepage can be accessed from Odoo by opening the IoT app and clicking the URL displayed on the IoT box's card." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:5 +msgid "To start using the Windows virtual IoT:" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:7 +msgid "Make sure all :ref:`prerequisites ` are met." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:8 +msgid ":ref:`Install the Windows virtual IoT ` on a Windows computer." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:9 +msgid ":ref:`Configure the Windows Firewall `." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:10 +msgid "Connect your :doc:`devices ` to the Windows virtual IoT." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:11 +msgid ":doc:`Connect the Windows virtual IoT to your Odoo database `." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:18 +msgid "The following prerequisites must be met before setting up and using the Windows virtual IoT:" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:20 +msgid "A valid :ref:`IoT box subscription `." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:21 +msgid "An updated and recent version of Windows (i.e., Windows 10 or Windows 11) installed on a Windows computer (laptop, desktop, or server)." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:33 +msgid "Installation" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:35 +msgid "To install the Windows virtual IoT on a Windows computer:" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:37 +msgid "Access `Odoo's download page `_ and download the Odoo installation package for Windows **matching your database's version**." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:39 +msgid "Open the downloaded :file:`.exe` file, allow the app to make changes to your device, select a language, and click :guilabel:`OK`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:41 +msgid "Click :guilabel:`Next`, then :guilabel:`I Agree` to accept the terms and conditions and continue." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:42 +msgid "Select :guilabel:`Odoo IoT` from the :guilabel:`Select the type of install` dropdown list. The following components should be selected: Odoo Server, Odoo IoT, Nginx WebServer, and Ghostscript interpreter." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:45 +msgid "Verify you have the required space on your computer and click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:46 +msgid "In the :guilabel:`Destination folder`, enter C:\\\\odoo and click :guilabel:`Install`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:49 +msgid "Do not install Odoo's Windows virtual IoT in any Windows user directory, as this can cause issues with :ref:`iot/https_certificate_iot/generation`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:52 +msgid "Once the installation is complete, click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:53 +msgid "Set up GPL Ghostscript: Click :guilabel:`Next`, agree to the terms and conditions, click :guilabel:`Install`, then :guilabel:`Finish`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:55 +msgid "Click :guilabel:`Next`, :guilabel:`Next`, and :guilabel:`Finish` to complete the setup. The :ref:`IoT system's homepage ` automatically opens in a web browser with the URL `http://localhost:8069`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:60 +msgid "If the web browser does not show anything, :ref:`restart ` the Windows virtual IoT service." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:63 +msgid "Check that you can access the :ref:`IoT system's homepage ` in a web browser:" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:66 +msgid "on the Windows virtual IoT computer, and" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:67 +msgid "on another device **on the same network as the IoT system** by navigating to the URL `http://xxx:8069` (where `xxx` is the IoT system's IP address)." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:69 +msgid "on another device **on the same network as the IoT system** by navigating to the URL `https://xxx` (where `xxx` is the IoT system's IP address) to test for :doc:`HTTPS ` connection." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:74 +msgid "If you cannot access the :ref:`IoT system's homepage ` from another device, create a :ref:`Windows Firewall ` rule to allow communication through port `8069`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:81 +msgid "Windows Firewall configuration" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:83 +msgid "Firewalls help keep devices secure but can sometimes block legitimate connections. If the Windows virtual IoT isn't accessible on the :abbr:`LAN (Local Area Network)`, for example from another device, it could be due to a firewall blocking the connection. To prevent this issue, configure exceptions for network discovery in the :abbr:`OS (Operating System)` or firewall settings." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:89 +msgid "If third-party firewall software is installed on the Windows computer, refer to the software's documentation to configure firewall exceptions." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:92 +msgid "To create a rule on Windows Defender and allow communication through port `8069`, follow these steps:" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:95 +msgid "Search the Windows start menu for `firewall` and select the :guilabel:`Windows Defender Firewall with Advanced Security` app." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:97 +msgid "In the left part of the window, select :guilabel:`Inbound Rules`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:98 +msgid "In the right part of the window, under :guilabel:`Actions`, click :guilabel:`New Rule`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:99 +msgid "In the :guilabel:`New Inbound Rule Wizard` that opens, select the :guilabel:`Port` type of rule and click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:101 +msgid "On the :guilabel:`Protocols and Ports` page, make sure :guilabel:`TCP` and :guilabel:`Specified local ports` are selected, enter the following in the field: `8069, 80, 443`, and click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:106 +msgid "Other ports may be necessary depending on your IoT devices. For example, for the :doc:`/applications/sales/point_of_sale/payment_methods/terminals/worldline` payment terminal, add the `9050` port." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:110 +msgid "On the :guilabel:`Action` page, select :guilabel:`Allow the connection` and click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:112 +msgid "On the :guilabel:`Profile` page, disable any connection type(s) that don't apply to your Windows computer and click :guilabel:`Next`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:114 +msgid "On the :guilabel:`Name` page, provide a :guilabel:`Name` (e.g., `Odoo`) and, optionally, a brief :guilabel:`Description`, then click :guilabel:`Finish`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:118 +msgid "`Windows Firewall rules documentation `_" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:124 +msgid "Windows virtual IoT homepage" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:126 +msgid "To access the Windows virtual IoT's homepage, navigate to the URL `http://localhost:8069` on the Windows virtual IoT computer or open a web browser from another computer **on the same network as the IoT system** and navigate to the URL `http://xxx:8069` (where `xxx` is the IoT system's IP address)." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:131 +msgid "Once the Windows virtual IoT is :doc:`connected to the Odoo database `, its homepage can be accessed from Odoo by opening the IoT app and clicking the URL displayed on the IoT system's card." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:-1 +msgid "Windows virtual IoT's homepage" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:140 +msgid "Make sure the :ref:`Windows Firewall is configured ` to allow access." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:143 +msgid "Device connection" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:145 +msgid "Most :doc:`devices ` automatically connect to the Windows computer used for the Windows Virtual IoT through `Windows Plug and Play (PnP) `_. However, if Windows does not recognize the device automatically upon connection, the administrator may need to manually install the appropriate drivers." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:152 +msgid "After connecting the devices to the computer, refresh the :ref:`IoT system's homepage ` to verify that the device is listed. If the device does not appear, :ref:`reload the handlers ` from the :ref:`IoT system's homepage `." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:160 +msgid "Windows virtual IoT restart" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:162 +msgid "To manually restart the Windows IoT server, search the Windows start menu for `services` and select the :guilabel:`Services` app. Scroll down to the :guilabel:`odoo-server-xxx` service (where `xxx` is the odoo version), right-click it, and select :guilabel:`Start` or :guilabel:`Restart`." +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:169 +msgid "Windows virtual IoT uninstall" +msgstr "" + +#: ../../content/applications/general/iot/windows_iot.rst:171 +msgid "To uninstall the Windows virtual IoT, `uninstall `_ the Odoo program on your Windows computer. Confirm the uninstallation and complete the steps in the :guilabel:`Odoo Uninstall` dialog." +msgstr "" + #: ../../content/applications/general/multi_company.rst:3 msgid "Multi-company" msgstr "" diff --git a/locale/sources/inventory_and_mrp.pot b/locale/sources/inventory_and_mrp.pot index 3fbd05905..acca52946 100644 --- a/locale/sources/inventory_and_mrp.pot +++ b/locale/sources/inventory_and_mrp.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-28 08:10+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -276,7 +276,6 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/cycle_counts.rst:15 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/use_locations.rst:8 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/inventory_management/warehouses.rst:13 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:56 #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst:22 #: ../../content/applications/inventory_and_mrp/manufacturing/advanced_configuration/work_order_dependencies.rst:13 #: ../../content/applications/inventory_and_mrp/manufacturing/reporting/allocation.rst:21 @@ -4098,7 +4097,7 @@ msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:372 #: ../../content/applications/inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config.rst:391 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:241 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:263 msgid "Manual" msgstr "" @@ -6462,7 +6461,7 @@ msgid "Sales order of consignment stock." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:77 -msgid "Once the :abbr:`RFQ (Request for Quotation)` has been confirmed, it will become a sales order. From here, the products can be delivered by clicking on the :guilabel:`Delivery` smart button, and selecting :guilabel:`Validate` to validate the delivery." +msgid "Once the quotation has been confirmed, it becomes a sales order. From here, the products can be delivered by clicking on the :guilabel:`Delivery` smart button, and selecting :guilabel:`Validate` to validate the delivery." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:82 @@ -6478,7 +6477,7 @@ msgid "To find inventory reports, go to :menuselection:`Inventory --> Reporting` msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:91 -msgid "Since the consignee does not actually own consigment stock, these products are *not* reflected in the :guilabel:`Stock Valuation` report, and have no impact on the consignee's inventory valuation." +msgid "Since the consignee does not actually own consignment stock, these products are *not* reflected in the :guilabel:`Stock Valuation` report, and have no impact on the consignee's inventory valuation." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:96 @@ -6486,7 +6485,7 @@ msgid "Product moves report" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:98 -msgid "To view all information about on-hand stock moves, navigate to the the :guilabel:`Product Moves` dashboard by going to :menuselection:`Inventory --> Reporting --> Product Moves`. For consignment products, the information in this report is the same as any other product: the history of its product moves can be reviewed; the :guilabel:`Quantity Done` and :guilabel:`Reference` document are available; and its :guilabel:`Locations` are available, as well. The consignment stock will originate from :guilabel:`Partner Location/Vendors`." +msgid "To view all information about on-hand stock moves, navigate to the :guilabel:`Product Moves` dashboard by going to :menuselection:`Inventory --> Reporting --> Product Moves`. For consignment products, the information in this report is the same as any other product: the history of its product moves can be reviewed; the :guilabel:`Quantity Done` and :guilabel:`Reference` document are available; and its :guilabel:`Locations` are available, as well. The consignment stock will originate from :guilabel:`Partner Location/Vendors`." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:106 @@ -6506,7 +6505,7 @@ msgid "Stock on hand report" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/owned_stock.rst:121 -msgid "View the :guilabel:`Stock On Hand` dashboard by navigating to :menuselection:`Inventory --> Reporting --> Inventory Report`. From this report, the :guilabel:`Locations` of all stock on-hand are displayed, in addition to the quantities per location. For consigment products, the :guilabel:`Owner` column will be populated with the owner of those products, or the original vendor who supplied the products in the first place." +msgid "View the :guilabel:`Stock On Hand` dashboard by navigating to :menuselection:`Inventory --> Reporting --> Inventory Report`. From this report, the :guilabel:`Locations` of all stock on-hand are displayed, in addition to the quantities per location. For consignment products, the :guilabel:`Owner` column will be populated with the owner of those products, or the original vendor who supplied the products in the first place." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/shipping_receiving/daily_operations/putaway.rst:3 @@ -14230,260 +14229,112 @@ msgstr "" msgid "Example warehouse form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:13 -msgid "In Odoo, there are two strategies for automatically replenishing inventory: *reordering rules* and the *make to order (MTO)* route. Although these strategies differ slightly, they both have similar consequences: triggering the automatic creation of a |PO| or |MO|. The choice of which strategy to use depends on the business's manufacturing and delivery processes." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:15 +msgid "In Odoo, stock can be replenished one of three ways: *reordering rules*, the *make to order* (MTO) route, or using the *master production schedule* (MPS)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:19 -msgid "Terminology" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:18 +msgid "Each replenishment mechanism triggers the creation or suggestion of a purchase order (PO) or manufacturing order (MO), with the best choice depending on the business process." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:22 -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:59 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:42 +msgid "Replenishment strategies" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:45 msgid "Replenishment report and reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:24 -msgid "The replenishment report is a list of all products that have a negative forecast quantity." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:47 +msgid "Reordering rules are rules that can be set up to maintain a minimum stock level. They are often configured to support manufacturing or sales requirements. When a product's stock falls at or below the minimum level, Odoo generates (or suggests) a purchase or manufacturing order to replenish stock to the maximum level." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:26 -msgid "*Reordering rules* are used to ensure there's always a minimum amount of a product in-stock, in order to manufacture products and/or fulfill sales orders. When the stock level of a product reaches its minimum, Odoo automatically generates a purchase order with the quantity needed to reach the maximum stock level." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:52 +msgid "When using automatic reordering rules, Odoo generates a new order. When using manual, Odoo suggests orders on the replenishment report. For detailed guidance, refer to the :doc:`replenishment report ` and :doc:`reordering rules `." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:31 -msgid "Reordering rules can be created and managed in the replenishment report, or from the product form." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:56 +msgid "Key points include:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:36 -msgid "Make to order" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:38 -msgid "*Make to order (MTO)* is a procurement route that creates a draft purchase order (or manufacturing order) each time a sales order is confirmed, **regardless of the current stock level**." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:41 -msgid "Unlike products replenished using reordering rules, Odoo automatically links the sales order to the |PO| or |MO| generated by the |MTO| route." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:44 -msgid "Another difference between reordering rules and |MTO| is, with |MTO|, Odoo generates a draft |PO| or |MO| immediately after the |SO| is confirmed. With reordering rules, Odoo generates a draft |PO| or |MO| when the product's forecasted stock falls below the set minimum quantity." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:48 -msgid "In addition, Odoo automatically adds quantities to the |PO| or |MO| as the forecast changes, so long as the |PO| or |MO| is not confirmed." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:51 -msgid "The |MTO| route is the best replenishment strategy for products that are customized, and/or for products that have no stock kept on-hand." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:58 +msgid ":ref:`Automatic reordering rules `: Automatically create |POs| or |MOs| when stock falls below the minimum level. While this is convenient, it is less flexible." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:61 -msgid "To access the replenishment report, go to :menuselection:`Inventory app --> Operations --> Replenishment.`" +msgid ":ref:`Manual reordering rules `: Generate suggestions in the replenishment report for user review, allowing adjustments and batch orders while meeting deadlines." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:64 -msgid "By default, the replenishment report dashboard shows every product that needs to be manually reordered. If there is no specific rule for a product, Odoo assumes the :guilabel:`Min Quantity` and :guilabel:`Max Quantity` stock are both `0.00`" +msgid ":ref:`Just-in-time logic `: A strategy to replenish only what is needed to prevent overstocking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:68 +msgid ":doc:`replenishment/reordering_rules`" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:69 -msgid "For products that don't have a set reordering rule, Odoo calculates the forecast based on confirmed sales orders, deliveries, and receipts. For products that have a set reordering rule, Odoo calculates the forecast normally, but also takes into account the purchase/manufacturing lead time and security lead time." +msgid ":doc:`replenishment/report`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:75 -msgid "Before creating a new reordering rule, make sure the product has a *vendor* or a *bill of materials* configured on the product form. To check this, go to :menuselection:`Inventory app --> Products --> Products`, and select the product to open its product form. The vendor, if configured, is listed in the :guilabel:`Purchase` tab, and the bill on materials, if configured, is found in the :guilabel:`Bill of Materials` smart button at the top of the form." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:74 +msgid "Make to order" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:76 +msgid "An |MTO| strategy means that procurement or production is triggered only after a sales order has been confirmed. This strategy is recommended when products are customizable, demand is unpredictable, there is limited storage capacity, and when products are high in value and low in demand. In such cases, it does not make sense to keep on-hand inventory." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:81 -msgid "The :guilabel:`Product Type`, located in the :guilabel:`General Information` tab on the product form, **must** be set to :guilabel:`Storable Product`. By definition, a consumable product does not have its inventory levels tracked, so Odoo cannot account for a consumable product in the replenishment report." +msgid "Unlike products replenished using reordering rules, Odoo automatically links the sales order to the |PO| or |MO| generated by the |MTO| route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:-1 -msgid "Replenishment report listing all items needing to be purchased to meet current needs." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:84 +msgid "Another difference between reordering rules and |MTO| is, with |MTO|, Odoo generates a draft |PO| or |MO| immediately after the |SO| is confirmed. With reordering rules, Odoo generates a draft |PO| or |MO| when the product's forecasted stock falls below the set minimum quantity." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:90 -msgid "To create a new reordering rule from the replenishment report, go to :menuselection:`Inventory app --> Operations --> Replenishment`, click :guilabel:`Create`, and select the desired product from the drop-down menu in the :guilabel:`Product` column. If necessary, a :guilabel:`Min Quantity` and a :guilabel:`Max Quantity` can be configured in the corresponding columns on the :guilabel:`Replenishment` report page, as well." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:88 +msgid "In addition, Odoo automatically adds quantities to the |PO| or |MO| as the forecast changes, so long as the |PO| or |MO| is not confirmed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:96 -msgid "To create a new reordering rule from the product form, go to :menuselection:`Inventory app --> Products --> Products`, and select a product to open its product form. Click the :guilabel:`Reordering Rules` smart button, click :guilabel:`Create`, and fill out the fields." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:91 +msgid "The |MTO| route is the best replenishment strategy for products that are customized, and/or for products that have no stock kept on-hand." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:101 -msgid "Replenishment report fields" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:95 +msgid ":doc:`replenishment/mto`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:103 -msgid "The following fields are on the :guilabel:`Replenishment` report. If any of these fields are not visible, click the :guilabel:`⋮ (additional options)` icon on the far right side of the report, then click the checkbox next to a field to make it visible." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:98 +#: ../../content/applications/inventory_and_mrp/manufacturing/workflows/use_mps.rst:3 +msgid "Master production schedule" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:107 -msgid ":guilabel:`Product`: the product that requires a replenishment." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:100 +msgid "The :abbr:`MPS (Master Production Schedule)` is a dashboard where products and their forecasted quantities are entered. Based on confirmed manufacturing and purchase orders, the dashboard recommends amounts to order or produce." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:108 -msgid ":guilabel:`Location`: the specific location where the product is stored." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:104 +msgid "This a useful **manual** tool for keeping track of quantities. The :abbr:`MPS (Master Production Schedule)` **should absolutely not** be used alongside reordering rules, as the automated workflow disrupts its manual replenishment method." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:109 -msgid ":guilabel:`Warehouse`: the warehouse where the product is stored." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:110 -msgid ":guilabel:`On Hand`: the amount of product currently available." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:111 -msgid ":guilabel:`Forecast`: the amount of product available after all current orders (sales, manufacturing, purchase, etc.) are taken into account." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:113 -msgid ":guilabel:`Preferred Route`: how the product is procured, either :guilabel:`Buy`, :guilabel:`Manufactured`, :guilabel:`Dropship`, etc." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:115 -msgid ":guilabel:`Vendor`: the company from which the product is acquired." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:116 -msgid ":guilabel:`Bill of Materials`: the bill of materials for the product (if one is configured)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:117 -msgid ":guilabel:`Trigger`: how the replenishment is created, either :guilabel:`Auto` (automatically, once the :guilabel:`On Hand` quantity goes below the :guilabel:`Min Quantity`) or :guilabel:`Manual` (only when the replenishment is requested)." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:120 -msgid ":guilabel:`Procurement Group`: the reference number for how the product is being acquired, such as a sales order, purchase order, or manufacturing order." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:122 -msgid ":guilabel:`Min Quantity`: the minimum amount of product that should be available. When inventory levels goes below this number, the replenishment is triggered." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:124 -msgid ":guilabel:`Max Quantity`: the amount of product that should be available after replenishing the product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:126 -msgid ":guilabel:`Multiple Quantity`: if the product should be ordered in specific quantities, enter the number that should be ordered. For example, if the :guilabel:`Multiple Quantity` is set to `5`, and only 3 are needed, 5 products are replenished." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:129 -msgid ":guilabel:`To Order`: the amount of product that is currently needed, and will be ordered, if the :guilabel:`Order Once` or :guilabel:`Automate Orders` button is clicked." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:131 -msgid ":guilabel:`UoM`: the unit of measure used to acquire the product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:132 -msgid ":guilabel:`Company`: the company for which the product is acquired." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:134 -msgid "By default, the quantity in the :guilabel:`To Order` field is the quantity required to reach the set :guilabel:`Max Quantity`. However, the :guilabel:`To Order` quantity can be adjusted by clicking on the field and changing the value. To replenish a product manually, click :guilabel:`Order Once`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:138 -msgid "To automate a replenishment from the :guilabel:`Replenishment` page, click :guilabel:`Automate Orders` on the right-side of the line, represented by a :guilabel:`🔄 (circular arrow)` icon." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:141 -msgid "When this button is clicked, Odoo will automatically generate a draft |PO|/|MO| every time the forecasted stock level falls below the set :guilabel:`Min Quantity` of the reordering rule." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:144 -msgid "On the :guilabel:`Replenishment` page, a reordering rule or manual replenishment can be temporarily deactivated for a given period, by clicking the :guilabel:`🔕 (snooze)` icon on the far-right of the line." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:-1 -msgid "Snooze options to turn off notifications for reordering for a period of time." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:152 -msgid "A |PO| or |MO| created by a manual replenishment has a :guilabel:`Replenishment Report` as the source document. A |PO| or |MO| created by an automated reordering rule has the |SO| reference number(s) that triggered the rule as the source document." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:-1 -msgid "Quote request list shows which quotes are directly from the replenishment report." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:161 -msgid "Make to order (MTO) route" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:163 -msgid "Since the |MTO| route is recommended for customized products, the route is hidden by default." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:172 -msgid "To activate the |MTO| route in Odoo:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:166 -msgid "Go to :menuselection:`Inventory app --> Configuration --> Settings`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:167 -msgid "Activate the :guilabel:`Multi-Step Routes` setting, located under the :guilabel:`Warehouse` section, and click :guilabel:`Save`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:169 -msgid "Then, go to :menuselection:`Inventory app --> Configuration --> Routes`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:170 -msgid "Click on :menuselection:`Filters --> Archived` to show archived routes." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:171 -msgid "Select the checkbox next to :guilabel:`Replenish on Order (MTO)`, and click on :menuselection:`Action --> Unarchive`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:175 -msgid "Activating the :guilabel:`Multi-Step Routes` setting also activates :guilabel:`Storage Locations`. If these features aren't applicable to the warehouse, disable these settings after unarchiving the |MTO| route." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:179 -msgid "To set a product's procurement route to |MTO|, go to :menuselection:`Inventory app --> Products --> Products`, and click on the desired product to open its product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:182 -msgid "Then, click the :guilabel:`Inventory` tab, and in the :guilabel:`Routes` section of options, select :guilabel:`Replenish on Order (MTO)`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:185 -msgid "For products purchased directly from a vendor, make sure the :guilabel:`Buy` route is selected, in addition to the :guilabel:`Replenish on Order (MTO)` route. Also, make sure a vendor is configured in the :guilabel:`Purchase` tab of the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:189 -msgid "For products manufactured in-house, make sure the :guilabel:`Manufacture` route is selected, in addition to the :guilabel:`Replenish on Order (MTO)` route. Also, make sure a bill of materials is configured for the product, which is accessible via the :guilabel:`Bill of Materials` smart button on the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:195 -msgid "The |MTO| route cannot be selected alone. |MTO| **only** works if the :guilabel:`Manufacture` or :guilabel:`Buy` route is also selected." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment.rst:-1 -msgid "Replenish on Order selected on the product form." +msgid ":doc:`../../manufacturing/workflows/use_mps`" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:3 msgid "Lead times" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:10 -msgid "Accurately forecasting delivery dates is vital for fulfilling customer expectations. In Odoo, the *Inventory* app allows for comprehensive lead time configuration, allowing coordination and planning of manufacturing orders, deliveries, and receptions." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:11 +msgid "Accurately forecasting delivery dates is vital for fulfilling customer expectations. In Odoo, the **Inventory** app allows for comprehensive lead time configuration, allowing coordination and planning of manufacturing orders, deliveries, and receipts." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:15 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:16 msgid "Lead time types" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:17 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:18 msgid "Different lead times for different operations can impact various stages of the order fulfillment process. Here's a summary of the types of lead times in Odoo:" msgstr "" @@ -14492,50 +14343,50 @@ msgid "Show graphic of all lead times working together." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:24 -msgid ":ref:`Customer lead time `: default time frame for fulfilling customer orders. The customer lead time is the number of days from the date the sales order (SO) is confirmed to the date the products are shipped from the warehouse. This is also known as *delivery lead time*." +msgid ":ref:`Customer lead time `: default time frame for fulfilling customer orders. The customer lead time is the number of days from the date the sales order (SO) is confirmed to the date the products are shipped from the warehouse. This is also known as *delivery lead time*." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:29 -msgid ":ref:`Sales security lead time `: moves the *scheduled delivery date* forward by a specified number of days. This serves as a buffer to allow ample time to prepare the outgoing shipment earlier, considering the possibility of delays in the fulfillment process." +msgid ":ref:`Sales security lead time `: moves the *scheduled delivery date* forward by a specified number of days. This serves as a buffer to allow ample time to prepare the outgoing shipment earlier, considering the possibility of delays in the fulfillment process." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:34 -msgid ":ref:`Purchase lead time `: number of days from the confirmation of a purchase order (PO) to the receipt of products. It provides insight on the time it takes for products to arrive at the warehouse, facilitating effective scheduling and planning of supplier deliveries." +msgid ":ref:`Purchase lead time `: number of days from the confirmation of a purchase order (PO) to the receipt of products. It provides insight on the time it takes for products to arrive at the warehouse, facilitating effective scheduling and planning of supplier deliveries." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:39 -msgid ":ref:`Purchase security lead time `: advances the order deadline on a :abbr:`PO (Purchase Order)` by a specified number of days. This proactive approach of placing orders earlier mitigates the risk of vendor or shipping delays. Thus, for products that are set to replenish to order, the need appears on the *Replenishment report* earlier, according to the specified number of days." +msgid ":ref:`Purchase security lead time `: advances the order deadline on a :abbr:`PO (Purchase Order)` by a specified number of days. This proactive approach of placing orders earlier mitigates the risk of vendor or shipping delays. Thus, for products that are set to replenish to order, the need appears on the *Replenishment report* earlier, according to the specified number of days." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:45 -msgid ":ref:`Days to Purchase `: days needed for the vendor to receive a request for quotation (RFQ) and confirm it. It advances the deadline to schedule a |RFQ| by a specified number of days." +msgid ":ref:`Days to Purchase `: days needed for the vendor to receive a request for quotation (RFQ) and confirm it. It advances the deadline to schedule a |RFQ| by a specified number of days." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:49 -msgid ":ref:`Manufacturing lead time `: number of days needed to complete a manufacturing order (MO) from the date of confirmation. This lead time includes weekends (non-working hours in Odoo), and is used to forecast an approximate production date for a finished good." +msgid ":ref:`Manufacturing lead time `: number of days needed to complete a manufacturing order (MO) from the date of confirmation. This lead time includes weekends (non-working hours in Odoo), and is used to forecast an approximate production date for a finished good." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:54 -msgid ":ref:`Days to prepare manufacturing order `: number of days needed to replenish components, or manufacture sub-assemblies of the product. Either set one directly on the bill of materials (BoM), or click *Compute* to sum up purchase and manufacturing lead times of components in the |BoM|." +msgid ":ref:`Days to prepare manufacturing order `: number of days needed to replenish components, or manufacture sub-assemblies of the product. Either set one directly on the bill of materials (BoM), or click *Compute* to sum up purchase and manufacturing lead times of components in the |BoM|." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:60 -msgid ":ref:`Manufacturing security lead time `: moves the scheduled date of the :abbr:`MO (Manufacturing Order)` forward by a specified number of days. When used in conjunction with :ref:`replenish to order `, the security lead time makes the need appear earlier on the replenishment report." +msgid ":ref:`Manufacturing security lead time `: moves the scheduled date of the |MO| forward by a specified number of days. When used in conjunction with :ref:`replenish to order `, the security lead time makes the need appear earlier on the replenishment report." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:69 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:68 msgid "Sales lead times" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:71 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:70 msgid "Customer lead times and sales security lead times can be configured to automatically compute an *expected delivery date* on a :abbr:`SO (Sales Order)`. The expected delivery date ensures a realistic *delivery dates* setting for shipments from the warehouse." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:75 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:74 msgid "Odoo issues a warning message if the set delivery date is earlier than the expected date, as it may not be feasible to fulfill the order by that time, which would impact other warehouse operations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:79 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:78 msgid "A :abbr:`SO (Sales Order)` containing a `Coconut-scented candle` is confirmed on July 11th. The product has a customer lead time of 14 days, and the business uses a sales security lead time of 1 day. Based on the lead time inputs, Odoo suggests a delivery date in 15 days, on July 26th." msgstr "" @@ -14543,19 +14394,19 @@ msgstr "" msgid "Set *Delivery Date* in a sales order. Enables delivery lead times feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:87 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:85 msgid "The following sections demonstrate how to automatically compute expected delivery dates." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:90 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:88 msgid "Customer lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:92 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:90 msgid "Set the customer lead time on each product form, by navigating to the products page. To do so, go to :menuselection:`Sales app --> Products --> Products`. From there, select the desired product, and switch to the :guilabel:`Inventory` tab. Then, under the :guilabel:`Customer Lead Time` field, fill in the number of calendar days required to fulfill the delivery order from start to finish." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:98 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:96 msgid "Set a 14-day customer lead time for the `Coconut-scented candle` by navigating to its product form. Then, in the :guilabel:`Inventory` tab, type `14.00` days into the :guilabel:`Customer Lead Time` field." msgstr "" @@ -14563,23 +14414,23 @@ msgstr "" msgid "Set *Customer Lead Time* on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:109 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:106 msgid "Sales security lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:111 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:108 msgid "*Sales security lead time* is set globally for the business in :menuselection:`Inventory app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:114 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:111 msgid "On the configuration page, under the :guilabel:`Advanced Scheduling` heading, locate the box for :guilabel:`Security Lead Time for Sales`, and click the checkbox to enable the feature." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:117 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:114 msgid "Next, enter the desired number of calendar days. This security lead time is a buffer notifying the team to prepare for outgoing shipments earlier than the scheduled date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:121 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:118 msgid "Setting the :guilabel:`Security Lead Time for Sales` to `1.00` day, pushes the :guilabel:`Scheduled Date` of a delivery order (DO) forward by one day. In that case, if a product is initially scheduled for delivery on April 6th, but with a one-day security lead time, the new scheduled date for the delivery order would be April 5th." msgstr "" @@ -14587,19 +14438,19 @@ msgstr "" msgid "View of the security lead time for sales configuration from the sales settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:131 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:127 msgid "Deliver several products" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:133 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:129 msgid "For orders that include multiple products with different lead times, the lead times can be configured directly from the quotation itself. On a quotation, click the :guilabel:`Other Info` tab, and set the :guilabel:`Shipping Policy` to:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:137 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:133 msgid ":guilabel:`As soon as possible` to deliver products as soon as they are ready. The :guilabel:`Scheduled Date` of the :abbr:`DO (Delivery Order)` is determined by adding today's date to the shortest lead time among the products in the order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:141 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:137 msgid ":guilabel:`When all products are ready` to wait to fulfill the entire order at once. The :guilabel:`Scheduled Date` of the :abbr:`DO (Delivery Order)` is determined by adding today's date to the longest lead time among the products in the order." msgstr "" @@ -14607,27 +14458,27 @@ msgstr "" msgid "Show *Shipping Policy* field in the *Other Info* tab of a quotation." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:150 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:145 msgid "In a quotation containing 2 products, `Yoga mat` and `Resistance band,` the products have a lead time of 8 days and 5 days, respectively. Today's date is April 2nd." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:153 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:148 msgid "When the :guilabel:`Shipping Policy` is set to :guilabel:`As soon as possible`, the scheduled delivery date is 5 days from today: April 7th. On the other hand, selecting :guilabel:`When all products are ready` configures the scheduled date to be 8 days from today: April 10th." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:155 msgid "Purchase lead times" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:162 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:157 msgid "Automatically determining the dates on which to place orders from suppliers can help simplify the procurement process." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:165 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:160 msgid "Odoo calculates the supplier shipment *receipt date*, and :abbr:`PO (Purchase Order)` deadline, based on the required date the product is needed in the warehouse. By working backwards from the receipt date, vendor lead times and purchase security lead times are taken into account, in order to determine the :abbr:`PO (Purchase Order)` deadline." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:170 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:165 msgid "This deadline is the date by which the order should be confirmed, in order to ensure timely arrival by the expected receipt date." msgstr "" @@ -14635,27 +14486,27 @@ msgstr "" msgid "Visualization of PO deadline and receipt date used with vendor lead times." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:178 -msgid ":ref:`PO scheduling with reordering rules `" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:172 +msgid ":doc:`PO scheduling with reordering rules `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:181 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:175 msgid "Vendor lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:183 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:177 msgid "To set a vendor lead time for orders arriving in the warehouse from a vendor location, begin by navigating to a product form through :menuselection:`Purchase app --> Products --> Products`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:186 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:180 msgid "Next, select the desired product, and switch to the :guilabel:`Purchase` tab. In the editable vendor pricelist, click the :guilabel:`Add a line` button to add vendor details, such as the :guilabel:`Vendor` name, :guilabel:`Price` offered for the product, and lastly, the :guilabel:`Delivery Lead Time`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:192 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:186 msgid "Multiple vendors and lead times can be added to the vendor pricelist. The default vendor and lead time selected will be the entry at the top of the list." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:196 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:190 msgid "On the vendor pricelist of the product form, the :guilabel:`Delivery Lead Time` for the selected vendor is set to `10 days.`" msgstr "" @@ -14663,11 +14514,11 @@ msgstr "" msgid "Add delivery lead times to vendor pricelist on a product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:203 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:196 msgid "By setting the vendor lead time, the expected arrival date of the item is automatically determined as the date of the :abbr:`PO (Purchase Order)` confirmation, plus the vendor lead time. This ensures that warehouse employees are notified, if the products do **not** arrive within the expected timeframe." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:209 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:202 msgid "On a :abbr:`PO (Purchase Order)` confirmed on July 11th, for a product configured with a 10-day vendor lead time, Odoo automatically sets the :guilabel:`Receipt Date` to July 21st. The receipt date also appears as the :guilabel:`Scheduled Date` on the warehouse receipt form, accessible from the :guilabel:`Receipt` smart button, located on the :guilabel:`PO (Purchase Order)`." msgstr "" @@ -14679,23 +14530,23 @@ msgstr "" msgid "Show expected *Scheduled Date* of arrival of the product from the vendor." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:225 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:216 msgid "Purchase security lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:227 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:218 msgid "*Purchase security lead time* is set globally for the business in :menuselection:`Inventory app --> Configuration --> Settings`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:230 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:221 msgid "On the :guilabel:`Settings` page, under the :guilabel:`Advanced Scheduling` heading, tick the checkbox for :guilabel:`Security Lead Time for Purchase`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:233 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:224 msgid "Next, enter the desired number of calendar days. By configuring the security lead time, a buffer is set to account for potential delays in supplier deliveries. Then, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:237 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:228 msgid "Setting the :guilabel:`Security Lead Time for Purchase` to `2.00` days, pushes the :guilabel:`Scheduled Date` of receipt back by two days. In that case, if a product is initially scheduled to arrive on April 6th, with a two-day security lead time, the new scheduled date for the receipt would be April 8th." msgstr "" @@ -14703,47 +14554,43 @@ msgstr "" msgid "Set security lead time for purchase from the Inventory > Configuration > Settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:249 -msgid "Days to purchase" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:239 +msgid "Days to purchase lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:251 -msgid "To set up the *days to purchase* lead time, go to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Advanced Scheduling` section, in the :guilabel:`Days to Purchase` field, specify the number of days required for the vendor to confirm a |RFQ| after receiving it from the company." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:241 +msgid "To set it up, go to :menuselection:`Inventory app --> Configuration --> Settings`. Under the :guilabel:`Advanced Scheduling` section, in the :guilabel:`Days to Purchase` field, specify the number of days required for the vendor to confirm a |RFQ| after receiving it from the company." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:-1 -msgid "Show \"Days to Purchase\" configuration in the Settings page." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:263 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:248 msgid "Manufacturing lead times" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:265 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:250 msgid "Lead times can help simplify the procurement process for consumable materials and components used in manufactured products with bills of materials (BoMs)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:268 -msgid "The :abbr:`MO (Manufacturing Order)` deadline, which is the deadline to begin the manufacturing process to complete the product by the scheduled delivery date, can be determined by configuring the manufacturing lead times and manufacturing security lead times." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:253 +msgid "The |MO| deadline, which is the deadline to begin the manufacturing process to complete the product by the scheduled delivery date, can be determined by configuring the manufacturing lead times and manufacturing security lead times." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:-1 msgid "Visualization of the determination of planned MO date manufacturing lead times." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:277 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:261 msgid "Manufacturing lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:279 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:263 msgid "Manufacturing lead times for products are configured from a product's bill of materials (BoM) form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:281 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:265 msgid "To add a lead time to a |BoM|, navigate to :menuselection:`Manufacturing app --> Products --> Bills of Materials`, and select the desired |BoM| to edit." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:284 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:268 msgid "On the |BoM| form, click the :guilabel:`Miscellaneous` tab. Change the value (in days) in the :guilabel:`Manuf. Lead Time` field to specify the calendar days needed to manufacture the product." msgstr "" @@ -14751,75 +14598,75 @@ msgstr "" msgid "Manuf. Lead Time value specified on a product's Bill of Material form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:292 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:275 msgid "If the selected |BoM| is a multi-level |BoM|, the manufacturing lead times of the components are added." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:295 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:278 msgid "If the |BoM| product is subcontracted, the :guilabel:`Manuf. Lead Time` can be used to determine the date at which components should be sent to the subcontractor." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:298 -msgid "Establish a :abbr:`MO (Manufacturing Order)` deadline, based on the *expected delivery date*, indicated in the :guilabel:`Scheduled Date` field of the :abbr:`DO (Delivery Order)`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:281 +msgid "Establish a |MO| deadline, based on the *expected delivery date*, indicated in the :guilabel:`Scheduled Date` field of the :abbr:`DO (Delivery Order)`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:301 -msgid "The :abbr:`MO (Manufacturing Order)` deadline, which is the :guilabel:`Scheduled Date` field on the :abbr:`MO (Manufacturing Order)`, is calculated as the *expected delivery date* subtracted by the manufacturing lead time." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:284 +msgid "The |MO| deadline, which is the :guilabel:`Scheduled Date` field on the |MO|, is calculated as the *expected delivery date* subtracted by the manufacturing lead time." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:305 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:287 msgid "This ensures the manufacturing process begins on time, in order to meet the delivery date." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:307 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:289 msgid "However, it is important to note that lead times are based on calendar days. Lead times do **not** consider weekends, holidays, or *work center capacity* (:dfn:`the number of operations that can be performed at the work center simultaneously`)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:312 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:294 msgid ":doc:`Manufacturing planning <../../../manufacturing/workflows/use_mps>`" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:313 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:295 msgid ":doc:`Schedule MOs with reordering rules `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:316 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:298 msgid "A product's scheduled shipment date on the :abbr:`DO (Delivery Order)` is August 15th. The product requires 14 days to manufacture. So, the latest date to start the :abbr:`MO (Manufacturing Order)` to meet the commitment date is August 1st." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:323 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:305 msgid "Days to prepare manufacturing order" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:325 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:307 msgid "Configure the days required to gather components to manufacture a product by going to its |BoM|. To do that, go to :menuselection:`Manufacturing app --> Products --> Bills of Materials`, and select the desired |BoM|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:329 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:311 msgid "In the :guilabel:`Miscellaneous` tab of the |BoM|, specify the calendar days needed to obtain components of the product in the :guilabel:`Days to prepare Manufacturing Order` field. Doing so creates |MOs| in advance, and ensures there is enough time to either replenish components, or manufacture semi-finished products." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:335 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:317 msgid "Clicking :guilabel:`Compute`, located next to the :guilabel:`Days to prepare Manufacturing Order` field, calculates the longest lead time among all the components listed on the |BoM|." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:338 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:320 msgid "*Purchase security lead times* that impact this specific |BoM| are also added to this value." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:342 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:324 msgid "A |BoM| has two components, one has a manufacturing lead time of two days, and the other has a purchase lead time of four days. The :guilabel:`Days to prepare Manufacturing Order` is four days." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:349 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:331 msgid "Manufacturing security lead time" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:351 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:333 msgid "*Manufacturing security lead time* is set globally for the business in :menuselection:`Manufacturing app --> Configuration --> Settings`. Under the :guilabel:`Planning` heading, tick the checkbox for :guilabel:`Security Lead Time`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:355 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:337 msgid "Next, enter the desired number of calendar days. By configuring the security lead time, a buffer is set to account for potential delays in the manufacturing process. Then, click :guilabel:`Save`." msgstr "" @@ -14827,39 +14674,39 @@ msgstr "" msgid "View of the security lead time for manufacturing from the manufacturing app settings." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:363 -msgid "A product has a scheduled shipment date on the :abbr:`DO (Delivery Order)` set for August 15th. The manufacturing lead time is 7 days, and manufacturing security lead time is 3 days. So, the :guilabel:`Scheduled Date` on the :abbr:`MO (Manufacturing Order)` reflects the latest date to begin the manufacturing order. In this example, the planned date on the :abbr:`MO (Manufacturing Order)` is August 5th." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:344 +msgid "A product has a scheduled shipment date on the :abbr:`DO (Delivery Order)` set for August 15th. The manufacturing lead time is 7 days, and manufacturing security lead time is 3 days. So, the :guilabel:`Scheduled Date` on the |MO| reflects the latest date to begin the manufacturing order. In this example, the planned date on the |MO| is August 5th." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:370 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:350 msgid "Global example" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:372 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:352 msgid "See the following example to understand how all the lead times work together to ensure timely order fulfillment:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:375 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:355 msgid "**Sales security lead time**: 1 day" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:376 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:356 msgid "**Manufacturing security lead time**: 2 days" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:377 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:357 msgid "**Manufacturing lead time**: 3 days" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:378 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:358 msgid "**Purchase security lead time**: 1 day" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:379 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:359 msgid "**Vendor lead time**: 4 days" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:381 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:361 msgid "The customer places an order for a manufactured product on September 1st, and the scheduled delivery date from the warehouse is on September 20th. Odoo uses lead times and automated reordering rules to schedule the necessary operations, based on the outgoing shipment delivery date, September 20th:" msgstr "" @@ -14867,27 +14714,27 @@ msgstr "" msgid "Show timeline of how lead times work together to schedule warehouse operations." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:389 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:368 msgid "**September 1st**: Sales order created, confirmed by salesperson." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:391 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:370 msgid "**September 9th**: Deadline to order components to ensure they arrive in time when manufacturing begins (4-day supplier lead time)." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:394 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:373 msgid "**September 13th**: Scheduled date of receipt for components. Initially, it was set to 9/14, but the 1-day purchase security lead time pushed the date earlier by 1 day." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:397 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:376 msgid "**September 14th**: Deadline to begin manufacturing. Calculated by subtracting the manufacturing lead time of 3 days, and the manufacturing security lead time of 2 days, from the expected delivery date of September 19th." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:401 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:380 msgid "**September 19th**: :guilabel:`Scheduled Date` on the delivery order form indicates the updated expected delivery date, which was originally set as September 20th. But the sales security lead time pushed the date forward by a day." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:405 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/lead_times.rst:384 msgid "Odoo's replenishment planning maps a business' order fulfillment process, setting pre-determined deadlines and raw material order dates, including buffer days for potential delays. This ensures products are delivered on time." msgstr "" @@ -15039,47 +14886,94 @@ msgstr "" msgid "Reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:9 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:16 msgid "*Reordering rules* are used to keep forecasted stock levels above a certain threshold without exceeding a specified upper limit. This is accomplished by specifying a minimum quantity that stock should not fall below and a maximum quantity that stock should not exceed." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:13 -msgid "Reordering rules can be configured for each product based on the route used to replenish it. If a product uses the *Buy* route, then a Request for Quotation (RFQ) is created when the reordering rule is triggered. If a product uses the *Manufacture* route, then a Manufacturing Order (MO) is created instead. This is the case regardless of the selected replenishment route." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:20 +msgid "Reordering rules can be configured for each product based on the route used to replenish it. If a product uses the *Buy* route, then a *request for quotation* (RFQ) is created when the reordering rule is triggered. If a product uses the *Manufacture* route, then a *manufacturing order* (MO) is created instead. This is the case regardless of the selected replenishment route." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:19 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:26 msgid "`Odoo Tutorials: Automatic Reordering Rules `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:20 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:27 msgid "`Odoo Tutorials: Manual Reordering Rules `_" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:23 -msgid "Configure products for reordering rules" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:25 -msgid "In order to use reordering rules for a product, it must first be correctly configured. Begin by navigating to :menuselection:`Inventory app --> Products --> Products`, then select an existing product, or create a new one by clicking :guilabel:`New`." -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:29 -msgid "On the product form, under the :guilabel:`General Information` tab, make sure the :guilabel:`Product Type` is set to :guilabel:`Storable Product`. This is necessary because Odoo only tracks stock quantities for storable products, and this number is used to trigger reordering rules." +msgid "To set up reordering rules for the first time, refer to:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:31 +msgid ":ref:`Reordering rules setup `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:32 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:124 +msgid ":ref:`Trigger `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:33 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:125 +msgid ":ref:`Preferred route `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:35 +msgid "To understand and optimize replenishment using advanced features, see:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:37 +msgid ":ref:`Just-in-time logic `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:38 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:129 +msgid ":ref:`Visibility days `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:43 +msgid "Reordering rules setup" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:45 +msgid "To configure automatic and manual reordering rules, complete the following:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:47 +msgid ":ref:`Product type configuration `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:48 +msgid ":ref:`Create rule `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:53 +msgid "Product type configuration" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:55 +msgid "A product must be configured correctly to use reordering rules. Begin by navigating to :menuselection:`Inventory app --> Products --> Products`, then select an existing product, or create a new one by clicking :guilabel:`New`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:59 +msgid "On the product form, under the :guilabel:`General Information` tab, set the :guilabel:`Product Type` to :guilabel:`Storable Product`. This is necessary because Odoo only tracks stock quantities for storable products, and quantities are needed to trigger reordering rules." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 msgid "Set the Product Type as Storable." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:36 -msgid "Next, click on the :guilabel:`Inventory` tab and select one or more routes from the :guilabel:`Routes` section. Doing so tells Odoo which route to use to replenish the product." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:66 +msgid "Next, click the :guilabel:`Inventory` tab and select one or more routes from the :guilabel:`Routes` section. Doing so tells Odoo which route to use to replenish the product." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 msgid "Select one or more routes on the Inventory tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:42 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:72 msgid "If the product is reordered using the :guilabel:`Buy` route, confirm that the :guilabel:`Can be Purchased` checkbox is enabled under the product name. This makes the :guilabel:`Purchase` tab appear. Click on the :guilabel:`Purchase` tab, and specify at least one vendor, and the price that they sell the product for, so that Odoo knows which company the product should be purchased from." msgstr "" @@ -15087,123 +14981,123 @@ msgstr "" msgid "Specify a vendor and price on the Purchase tab." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:50 -msgid "If the product is replenished using the :guilabel:`Manufacture` route, it needs to have at least one Bill of Materials (BoM) associated with it. This is necessary because Odoo only creates manufacturing orders for products with a :abbr:`BoM (Bill of Materials)`. If a :abbr:`BoM (Bill of Materials)` does not already exist for the product, select the :guilabel:`Bill of Materials` smart button at the top of the product form, then click :guilabel:`New` to configure a new :abbr:`BoM (Bill of Materials)`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:80 +msgid "If the product is replenished using the :guilabel:`Manufacture` route, it needs to have at least one *bill of materials* (BoM) associated with it. This is necessary because Odoo only creates manufacturing orders for products with a |BoM|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:84 +msgid "If a |BoM| does not already exist for the product, select the :guilabel:`Bill of Materials` smart button at the top of the product form, then click :guilabel:`New` to configure a new |BoM|." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 msgid "The Bill of Materials smart button on a product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:61 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:93 msgid "Create new reordering rules" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:63 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:95 msgid "To create a new reordering rule, navigate to :menuselection:`Inventory app --> Operations --> Replenishment`, then click :guilabel:`New`, and fill out the following fields for the new reordering rule line item:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:67 -msgid ":guilabel:`Product`: The product that is replenished by the rule." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:99 +msgid ":guilabel:`Product`: The product that requires replenishment." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:68 -msgid ":guilabel:`Route`: The :doc:`supply chain route <../../shipping_receiving/daily_operations/use_routes>` for this product" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:100 +msgid ":guilabel:`Location`: The specific location where the product is stored." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:70 -msgid ":guilabel:`Min Quantity`: The minimum quantity that can be forecasted without the rule being triggered. When forecasted stock falls below this number, a replenishment order for the product is created." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:101 +msgid ":guilabel:`Min Quantity`: The minimum amount of product that should be available. When inventory levels goes below this number, the replenishment is triggered." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:73 -msgid ":guilabel:`Max Quantity`: The maximum quantity at which the stock is replenished." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:103 +msgid ":guilabel:`Max Quantity`: The amount of product that should be available after replenishing the product." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:74 -msgid ":guilabel:`To Order`: The number of units, according to the *UoM* that should be replenished for this reordering rule." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:76 -msgid ":guilabel:`UoM`: The *unit of measurement* used for reordering the product. This value can simply be `Units` or a more specific unit of measurement for weight, length, etc." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:80 -msgid "Two other fields are automatically populated: :guilabel:`On Hand` (the number of units currently available in inventory) and :guilabel:`Forecast` (the number of units expected to be available in inventory after all orders are taken into account). These numbers will only change when an :doc:`inventory adjustment <../inventory_management/count_products>` is made." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:86 -msgid "Additional fields can be accessed by clicking the :icon:`oi-settings-adjust` :guilabel:`(additional options slider icon)`. For example, :guilabel:`Multiple Quantity` specifies if the product should be replenished in batches of a certain quantity (e.g., a product could be replenished in batches of 20)." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:105 +msgid ":guilabel:`Multiple Quantity`: If the product should be ordered in specific quantities, enter the number that should be ordered. For example, if the :guilabel:`Multiple Quantity` is set to `5`, and only 3 are needed, 5 products are replenished." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 msgid "The form for creating a new reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:96 -msgid "Reordering rules can also be created from each product form. To do so, navigate to :menuselection:`Inventory app --> Products --> Products`, and select a product. Then, click the :guilabel:`Reordering Rules` smart button, and click :guilabel:`New` to fill out the new line, as detailed above." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:114 +msgid "Reordering rules can also be created from the :guilabel:`Reordering Rules` smart button on the product form." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:101 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:118 +msgid "To learn how the :guilabel:`On Hand`, :guilabel:`Forecast`, and :guilabel:`To Order` fields are calculated using on-hand quantities and future demand, see the :ref:`Just-in-time logic ` section." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:122 msgid "For advanced usage of reordering rules, learn about the following reordering rule fields:" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:103 -msgid ":ref:`Trigger `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:104 -msgid ":ref:`Visibility days `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:105 -msgid ":ref:`Route `" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:110 -msgid "0/0/1 reordering rule" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:112 -msgid "The *0/0/1* reordering rule is a specialty rule used to replenish a product that is not kept on-hand, each time a sales order (SO) is confirmed for that product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:116 -msgid "The 0/0/1 reordering rule is similar to the *Replenish on Order (MTO)* route, in that both workflows are used to replenish a product upon confirmation of an |SO|." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:119 -msgid "The main difference between the two methods is that the *Replenish on Order* route automatically reserves the product for the |SO| that caused it to be replenished. This means the product **cannot** be used for a different |SO|." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:123 -msgid "The 0/0/1 reordering rule does not have this limitation. A product replenished using the rule is not reserved for any specific |SO|, and can be used as needed." -msgstr "" - #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:126 -msgid "Another key difference is that replenishment orders created by the *Replenish on Order* route are linked to the original |SO| by a smart button at the top of the order. When using the 0/0/1 reordering rule, a replenishment order is created, but is not linked to the original |SO|." +msgid ":ref:`Vendor `" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:130 -msgid "See the :doc:`Replenish on Order (MTO) ` documentation for a full overview of the MTO route." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:127 +msgid ":ref:`Bill of materials `" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:128 +msgid ":ref:`Procurement group `" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:132 -msgid "To create a 0/0/1 reordering rule, navigate to :menuselection:`Inventory app --> Products --> Products`, and select a product." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:135 -msgid "At the top of the product's page, click the :icon:`fa-refresh` :guilabel:`Reordering Rules` smart button to open the :guilabel:`Reordering Rules` page for the product. On the resulting page, click :guilabel:`New` to begin configuring a new reordering rule." +msgid "The fields above are not available by default, and must be enabled by selecting the :icon:`oi-settings-adjust` :guilabel:`(adjust)` icon in the far-right corner and selecting the desired column from the drop-down menu." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:139 -msgid "In the :guilabel:`Location` field of the new reordering rule, select the location in which replenished products should be stored. By default, this location is set to :guilabel:`WH/Stock`." +msgid "0/0/1 reordering rule" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:142 -msgid "In the :guilabel:`Route` field, select the route the rule should use to replenish the item. For example, if the product should be purchased from a vendor, select the :guilabel:`Buy` route." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:141 +msgid "The *0/0/1* reordering rule is a specialty rule used to replenish a product that is not kept on-hand, each time a sales order (SO) is confirmed for that product." msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:145 +msgid "The 0/0/1 reordering rule is similar to the *Replenish on Order (MTO)* route, in that both workflows are used to replenish a product upon confirmation of an |SO|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:148 +msgid "The main difference between the two methods is that the *Replenish on Order* route automatically reserves the product for the |SO| that caused it to be replenished. This means the product **cannot** be used for a different |SO|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:152 +msgid "The 0/0/1 reordering rule does not have this limitation. A product replenished using the rule is not reserved for any specific |SO|, and can be used as needed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:155 +msgid "Another key difference is that replenishment orders created by the *Replenish on Order* route are linked to the original |SO| by a smart button at the top of the order. When using the 0/0/1 reordering rule, a replenishment order is created, but is not linked to the original |SO|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:159 +msgid "See the :doc:`Replenish on Order (MTO) ` documentation for a full overview of the MTO route." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:161 +msgid "To create a 0/0/1 reordering rule, navigate to :menuselection:`Inventory app --> Products --> Products`, and select a product." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:164 +msgid "At the top of the product's page, click the :icon:`fa-refresh` :guilabel:`Reordering Rules` smart button to open the :guilabel:`Reordering Rules` page for the product. On the resulting page, click :guilabel:`New` to begin configuring a new reordering rule." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:168 +msgid "In the :guilabel:`Location` field of the new reordering rule, select the location in which replenished products should be stored. By default, this location is set to :guilabel:`WH/Stock`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:171 +msgid "In the :guilabel:`Route` field, select the route the rule should use to replenish the item. For example, if the product should be purchased from a vendor, select the :guilabel:`Buy` route." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:174 msgid "In the :guilabel:`Min Quantity` field and :guilabel:`Max Quantity` field, leave the values set to `0.00`. In the :guilabel:`To Order` field, enter a value of `1.00`." msgstr "" @@ -15211,83 +15105,87 @@ msgstr "" msgid "A 0/0/1 reordering rule." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:151 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:180 msgid "With the reordering rule configured using these values, each time an |SO| causes the forecasted quantity of the product to fall below the :guilabel:`Min Quantity` of `0.00`, the selected :guilabel:`Route` is used to replenish the product in one-unit increments, back up to the :guilabel:`Max Quantity` of `0.00`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:157 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:186 msgid "A picture frame is configured with a 0/0/1 reordering rule that uses the *Buy* route. Zero units of the picture frame are kept on-hand at any given time." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:160 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:189 msgid "An |SO| is confirmed for one unit of the picture frame, which causes the forecasted quantity to drop to `-1.00`. This triggers the reordering rule, which automatically creates a |PO| for one unit of the picture frame." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:164 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:193 msgid "Once the product is received from the vendor, the forecasted quantity of the picture frame returns to `0.00`. There is now one picture frame on-hand, but it is not reserved for the |SO| which triggered its purchase. It can be used to fulfill that |SO|, or reserved for a different order." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:172 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:201 msgid "Trigger" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:174 -msgid "When stock falls below the reordering rule's minimum, set the reordering rule's *trigger* to *automatic* to automatically create purchase or manufacturing orders to replenish stock." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:177 -msgid "Alternatively, setting the reordering rule's trigger to *manual* displays the product and forecasted stock on the *replenishment dashboard*, where the procurement manager can review the stock levels, lead times, and forecasted dates of arrival." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:182 -msgid ":doc:`../replenishment`" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:185 -msgid "The replenishment dashboard is accessible by going to :menuselection:`Inventory app --> Operations --> Replenishment`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:188 -msgid "To enable the :guilabel:`Trigger` field, go to :menuselection:`Inventory app --> Configuration --> Reordering Rules`. Then, click the :guilabel:`(slider)` icon, located to the far-right of the column titles, and enable the :guilabel:`Trigger` option from the additional options drop-down menu that appears." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 -msgid "Enable the Trigger field by toggling it in the additional options menu" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:196 -msgid "In the :guilabel:`Trigger` column, select :guilabel:`Auto` or :guilabel:`Manual`. Refer to the sections below to learn about the different types of reordering rules." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:200 -msgid "Auto" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:202 -msgid "Automatic reordering rules, configured by setting the reordering rule's :guilabel:`Trigger` field to :guilabel:`Auto`, generates purchase or manufacturing orders when:" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:205 -msgid "the scheduler runs, and the *On Hand* quantity is below the minimum" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:203 +msgid "A reordering rule's *trigger* can be set to *automatic* or *manual*. While both function the same way, the difference between the two types of reordering rules is how the rule is launched:" msgstr "" #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:206 -msgid "a sales order is confirmed, and lowers the *Forecasted* quantity of the product below the minimum" +msgid ":ref:`Auto `: A purchase or manufacturing order is automatically created when the forecasted stock falls below the reordering rule's minimum quantity. By default, the :guilabel:`Auto` trigger is selected." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:210 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:209 +msgid ":ref:`Manual `: The :doc:`Replenishment report ` lists products needing replenishment, showing current/forecasted stock, lead times, and arrival dates. Users can review forecasts before clicking *Order Once*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:213 +msgid "To enable the :guilabel:`Trigger` field, go to :menuselection:`Inventory app --> Operations --> Replenishment` or :menuselection:`Inventory app --> Configuration --> Reordering Rules`. Then, click the :icon:`oi-settings-adjust` :guilabel:`(adjust)` icon, located to the far-right of the column titles, and tick the :guilabel:`Trigger` checkbox." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:218 +msgid "In the :guilabel:`Trigger` column, select :guilabel:`Auto` or :guilabel:`Manual`. Refer to the sections below to learn about the different types of reordering rules." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:224 +msgid "Auto" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:226 +msgid "*Automatic reordering rules*, enabled by setting the reordering rule's :guilabel:`Trigger` field to :guilabel:`Auto`, generate purchase or manufacturing orders when either:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:229 +msgid "The scheduler runs, and the *Forecasted* quantity is below the minimum, or" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:230 +msgid "A sales order is confirmed, and lowers the *Forecasted* quantity of the product below the minimum." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:233 +msgid "If the :guilabel:`Buy` route is selected, then an |RFQ| is generated. To view and manage |RFQs|, navigate to :menuselection:`Purchase app --> Orders --> Requests for Quotation`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:236 +msgid "If the :guilabel:`Manufacture` route is selected, then an |MO| is generated. To view and manage |MOs|, navigate to :menuselection:`Manufacturing app --> Operations --> Manufacturing Orders`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:239 +msgid "When no route is selected, Odoo selects the :guilabel:`Route` specified in the :guilabel:`Inventory` tab of the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:243 msgid "The scheduler is set to run once a day, by default." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:212 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:245 msgid "To manually trigger a reordering rule before the scheduler runs, ensure :ref:`developer mode ` is enabled, and select :menuselection:`Inventory app --> Operations --> Run Scheduler`. Then, click the purple :guilabel:`Run Scheduler` button on the pop-up window that appears." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:217 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:250 msgid "Be aware that this also triggers any other scheduled actions." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:220 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:253 msgid "The product, `Office Lamp`, has an automatic reordering rule set to trigger when the forecasted quantity falls below the :guilabel:`Min Quantity` of `5.00`. Since the current :guilabel:`Forecast` is `55.00`, the reordering rule is **not** triggered." msgstr "" @@ -15295,31 +15193,15 @@ msgstr "" msgid "Show automatic reordering rule from the Reordering Rule page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:227 -msgid "If the :guilabel:`Buy` route is selected, then an :abbr:`RFQ (Request for Quotation)` is generated. To view and manage :abbr:`RFQs (Requests for Quotation)`, navigate to :menuselection:`Purchase app --> Orders --> Requests for Quotation`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:265 +msgid "*Manual reordering rules*, configured by setting the reordering rule's :guilabel:`Trigger` field to :guilabel:`Manual`, list a product on the :doc:`replenishment dashboard ` when the forecasted quantity falls below a specified minimum. Products on this dashboard are called *needs*, because they are needed to fulfill upcoming sales orders, for which the forecasted quantity is not enough." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:231 -msgid "If the :guilabel:`Manufacture` route is selected, then an :abbr:`MO (Manufacturing Order)` is generated. To view and manage :abbr:`MOs (Manufacturing Orders)`, navigate to :menuselection:`Manufacturing app --> Operations --> Manufacturing Orders`." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:271 +msgid "The replenishment dashboard, accessible by navigating to :menuselection:`Inventory app --> Operations --> Replenishment`, considers sales order deadlines, forecasted stock levels, and vendor lead times. It displays needs **only** when it is time to reorder items, thanks to the :guilabel:`To Reorder` filter." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:235 -msgid "When no route is selected, Odoo selects the :guilabel:`Route` specified in the :guilabel:`Inventory` tab of the product form." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:243 -msgid "Manual reordering rules, configured by setting the reordering rule's :guilabel:`Trigger` field to :guilabel:`Manual`, lists a product on the replenishment dashboard when the forecasted quantity falls below a specified minimum. Products on this dashboard are called *needs*, because they are needed to fulfill upcoming sales orders, but the forecasted quantity is not enough." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:248 -msgid "The replenishment dashboard, accessible by navigating to :menuselection:`Inventory app --> Operations --> Replenishment`, considers sales order deadlines, forecasted stock levels, and vendor lead times. It displays needs **only** when it is time to reorder items." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:253 -msgid "If the one-day window for ordering products is too short, skip to the :ref:`visibility days ` section to make the need appear on the replenishment dashboard a specified number of days in advance." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:257 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:276 msgid "When a product appears on the replenishment dashboard, clicking the :guilabel:`Order Once` button generates the purchase or manufacturing order with the specified amounts :guilabel:`To Order`." msgstr "" @@ -15327,87 +15209,27 @@ msgstr "" msgid "Click the Order Once button on the replenishment dashboard to replenish stock." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:266 -msgid "Visibility days" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:269 -msgid "Ensure :doc:`lead times ` are understood before proceeding with this section." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:271 -msgid "When :ref:`manual reordering rules ` are assigned to a product, *visibility days* make the product appear on the replenishment dashboard (:menuselection:`Inventory app --> Operations --> Replenishment`) a certain number of days in advance." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:277 -msgid "A product has a manual reordering rule set to trigger when the stock level falls below four units. The current on-hand quantity is ten units." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:280 -msgid "The current date is February 20th, and the *delivery date* on a sales order (in the :guilabel:`Other Info` tab) is March 3rd — twelve days from the current date." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:283 -msgid "The :ref:`vendor lead time ` is four days, and the :ref:`purchase security lead time ` is one day." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:287 -msgid "When the :guilabel:`Visibility Days` field of the reordering rule is set to zero, the product appears on the replenishment dashboard five days before the delivery date, which, in this case, is February 27th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 -msgid "Graphic representing when the need appears on the replenishment dashboard: Feb 27th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:294 -msgid "To see the product on the replenishment dashboard for the current date, February 20, set the :guilabel:`Visibility Days` to `7.00`." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:297 -msgid "To determine the amount of visibility days needed to see a product on the replenishment dashboard, subtract *today's date* from the *date the need appears* on the replenishment dashboard." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:300 -msgid "Visibility~days = Need~appears~date - Today's~date" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:305 -msgid "Referring to the example above, today's date is February 20th, and the need for the product appears on February 27th." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:308 -msgid "(February 27 - February 20 = 7 days)" -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:310 -msgid "Incorrectly setting the :guilabel:`Visibility Days` fewer than seven days in this case results in the need **not** appearing on the replenishment dashboard." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 -msgid "Show the replenishment dashboard with the correct and incorrect visibility days set." -msgstr "" - -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:319 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:285 msgid "Route" msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:321 -msgid "Odoo allows for multiple routes to be selected under the :guilabel:`Inventory` tab on each product form. For instance, it is possible to select both :guilabel:`Buy` and :guilabel:`Manufacture`, thus enabling the functionality of both routes." +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:287 +msgid "Odoo allows for multiple routes to be selected as replenishment methods under the :guilabel:`Inventory` tab on each product form. For instance, it is possible to select both :guilabel:`Buy` and :guilabel:`Manufacture`, indicating to Odoo that the product can be bought or manufactured." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:325 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:292 msgid "Odoo also enables users to set a preferred route for a product's reordering rule. This is the route that the rule defaults to, if multiple are selected. To select a preferred route, begin by navigating to :menuselection:`Inventory app --> Configuration --> Reordering Rules`." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:329 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:296 msgid "By default, the :guilabel:`Route` column is hidden on the :guilabel:`Reordering Rules` page." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:331 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:298 msgid "Reveal the :guilabel:`Route` column by selecting the :guilabel:`(slider)` icon to the far-right of the column titles, and checking the :guilabel:`Route` option from the drop-down menu that appears." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:334 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:301 msgid "Click inside of the column on the row of a reordering rule, and a drop-down menu shows all available routes for that rule. Select one to set it as the preferred route." msgstr "" @@ -15415,10 +15237,366 @@ msgstr "" msgid "Select a preferred route from the drop-down." msgstr "" -#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:341 +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:308 msgid "If multiple routes are enabled for a product but no preferred route is set for its reordering rule, the product is reordered using the selected route that is listed first on the :guilabel:`Inventory` tab of the product form." msgstr "" +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:313 +msgid "Advanced uses" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:315 +msgid "Pairing :guilabel:`Preferred Route` with one of the following fields on the replenishment report unlocks advanced configurations of reordering rules. Consider the following:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:320 +msgid ":guilabel:`Vendor`: When the selected :guilabel:`Preferred Route` is :guilabel:`Buy`, setting the :guilabel:`Vendor` field to one of the multiple vendors on the vendor pricelist indicates to Odoo that the vendor is automatically populated on |RFQs| when a reordering rule triggers the creation of a purchase order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:327 +msgid ":guilabel:`Bill of Materials`: When the :guilabel:`Preferred Route` is set to :guilabel:`Manufacture`, and there are multiple |BoMs| in use, specifying the desired |BoM| in the replenishment report, draft manufacturing orders are created with this |BoM| in use." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:333 +msgid ":guilabel:`Procurement Group`: This is a way to group related |POs| or |MOs| that are tied to fulfilling a specific demand, like an |SO| or a project. It helps organize and track which orders are linked to a particular demand." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:338 +msgid "Procurement groups link replenishment methods to demand, enabling smart buttons to appear when using the :doc:`MTO route `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 +msgid "Showing smart button to PO." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:344 +msgid "Sales order (demand) with a linked purchase order (replenishment method)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:346 +msgid "In the context of reordering rules:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:348 +msgid "Reordering rules do not automatically assign a procurement group, which is why there are no smart buttons that link |SOs| to |POs|, unlike the :abbr:`MTO (Make to Order)` route." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:350 +msgid "To enable smart buttons for products replenished by reordering rules (not :abbr:`MTO (Make to Order)`), with specific quantities linked to specific demands (e.g. |SOs|), assign a procurement group." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:353 +msgid "Without a procurement group, demands for the same product can be combined into a single |RFQ|, even if the reordering rule is executed multiple times for those demands. This allows for more efficient procurement by consolidating demands into fewer orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:357 +msgid "Selecting a procurement group in the :guilabel:`Procurement Group` field on the replenishment report ensures that all linked orders are grouped under the same demand, based on the defined route." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:362 +msgid "How can you set the *Procurement Group*, *Vendor*, and *Preferred Route* fields on the replenishment report to generate a single |RFQ| for five different products in sales order SO35, given they share the same vendor, Azure Interior, and ensure other demands for these products are handled separately?" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:369 +msgid "Set the :guilabel:`Procurement Group` to `SO35`, in the reordering rule for all five products. This groups the demands for `SO35` in the same |RFQ| or |MO|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:371 +msgid "Set the :guilabel:`Vendor` to `Azure Interior` to ensure the |RFQ| is created for the same supplier." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:373 +msgid "Set the :guilabel:`Preferred Route` to :guilabel:`Buy` to generate an |RFQ|." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:374 +msgid "Click the :guilabel:`Order Once` button to generate a single |RFQ| for the five products tied to `SO35`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 +msgid "After placing the order, remove `SO35` from the :guilabel:`Procurement Group` field of the five products' reordering rules. This ensures future demands for these products are managed separately and assigned to different |RFQs| (the usual behavior)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:384 +msgid "Just-in-time logic" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:386 +msgid "*Just-in-time logic* in Odoo minimizes storage costs by placing orders precisely to meet deadlines. This is achieved using the :ref:`forecasted date `, which determines when replenishment is necessary to avoid overstocking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:390 +msgid "The forecasted date is the **earliest possible date** to receive a product if the replenishment process starts immediately. It is calculated by summing the lead times linked to the replenishment process, such as :ref:`vendor lead times ` and :ref:`purchasing delays ` for purchases, or :ref:`manufacturing lead times ` for production. Both automatic and manual reordering rules work this way." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:398 +msgid "For a product with a 5-day total lead time and a sales order delivery date in 10 days, Odoo waits 5 days to place the order, ensuring it arrives just in time for delivery." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:401 +msgid "Important considerations:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:403 +msgid "**If this feels risky**, consider adding buffer time or :doc:`adjusting lead times ` for more flexibility." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:405 +msgid "While lead times and just-in-time logic provide additional control, **reordering rules work perfectly fine without them**. Keeping delivery dates on sales orders as their *creation date* ensures purchases are immediately triggered when needed" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:412 +msgid "Forecasted date and To Order quantity" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:414 +msgid "To view the *forecasted date*, go to the replenishment report and click the :icon:`fa-info-circle` :guilabel:`(info)` icon for the desired reordering rule. The :guilabel:`Replenishment Information` pop-up window displays the :guilabel:`Forecasted Date` and various lead times." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:418 +msgid "The *forecasted date* is the total time needed to procure a product in Odoo. It is calculated by summing the lead times linked to the product's replenishment process. The total of these lead times, added to the current date, determines when Odoo checks for demanded stock." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:423 +msgid "The forecasted date is the **earliest possible date** the customer can receive the product if the replenishment process began right **now**. It is calculated by adding all lead times related to the product to the current date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:428 +msgid "A manual reordering rule is set up with no minimum or maximum quantities." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:430 +msgid "Vendor lead time is 4 days, the purchase security lead time is 1 day, and the days to purchase is 2 days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:432 +msgid "Today's date is November 26." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:433 +msgid "These add up to 7 days, making the forecasted date, December 3rd." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:435 +msgid "A confirmed |SO| for 5 units has a delivery date of December 3rd (7 days from today). This demand will appear on the replenishment report today, in the **To Order** field." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:438 +msgid "However, if the delivery date were later than December 3rd, it would not yet appear on the report. Odoo only displays quantities to replenish when they fall within the forecasted date window, ensuring orders are placed precisely when needed." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 +msgid "Show forecasted date in Odoo." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:445 +msgid "The *just-in-time* logic ensures replenishment happens only when it's necessary for the forecasted date's demand, helping avoid overstocking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:448 +msgid "For example:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:450 +msgid "If the forecasted quantity drops below the minimum **on** the forecasted date, replenishment must begin immediately to avoid shortages." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:452 +msgid "If the quantity drops below the minimum **after** the forecasted date, replenishment can wait." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:454 +msgid "The **To Order** quantity is the total demand on the forecasted date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:456 +msgid "By timing purchase orders based on the combined lead times, Odoo optimizes stock levels, keeping inventory minimal while ensuring future requirements are ordered at the last possible moment—strategic procrastination without the stress!" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:461 +msgid "Common confusion about forecasted quantities" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:463 +msgid "|SOs| due **after** the :guilabel:`Forecasted Date` are not accounted for in the :guilabel:`Forecast` quantities of the reordering rule." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:466 +msgid "They are, however, accounted for on the forecasted report that is opened by clicking the :icon:`fa-area-chart` :guilabel:`(graph)` icon on the replenishment report, as this one represents the **long-term forecasted quantity**." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 +msgid "Forecast and To Order quantities is zero." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:475 +msgid "Continuing the above example, when the sales order's deadline is adjusted to December 4th, the :guilabel:`Forecast` and :guilabel:`To Order` quantities are zero." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:0 +msgid "Show forecasted report." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:481 +msgid "Opening the :guilabel:`Forecasted Report` shows the :guilabel:`Forecasted` units is `5.00`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:486 +msgid "Visibility days" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:488 +msgid "*Visibility days* enable the ability to determine if additional quantities should be added to the planned replenishment. Odoo checks if forecasted stock on the forecasted date will drop below the minimum in the reordering rule. **Only if** it is time to reorder, visibility days check additional future demand by the specified number of days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:493 +msgid "This feature helps consolidate orders by grouping immediate and near-future needs, reducing transport costs and enabling supplier discounts for larger orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:496 +msgid "To set visibility days to incorporate orders for a specified number of days in the future, navigate to :menuselection:`Inventory app --> Operations --> Replenishment`, or by clicking the *Reordering Rules* smart button from the product form." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:500 +msgid "Next, enable the :guilabel:`Visibility Days` field by clicking the :icon:`oi-settings-adjust` :guilabel:`(adjust)` icon to the far right and choosing the feature from the drop-down menu. Then, enter the desired visibility days." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:505 +msgid "The forecasted date is never pushed forward or extended; Odoo only checks the extra visibility days if the stock falls below the minimum threshold on the forecasted date." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:509 +msgid "Example where visibility days is triggered" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:511 +msgid "A product shipped from Asia has a combined vendor lead time of 30 days and a shipping cost of $100 (including :doc:`landed costs <../../product_management/inventory_valuation/landed_costs>` and tariffs)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:515 +msgid "November 4: Current date. The forecasted date is December 4 (30 days later)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:516 +msgid "|SO| 1: Requires the product by Dec 4. Odoo places the order today, costing $100." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:517 +msgid "|SO| 2: Requires the product by Dec 19. Normally, Odoo would order on Nov 19, costing an additional $100." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:519 +msgid "|SO| 3: Requires the product by Dec 25. Normally, Odoo would order on Nov 25, costing another $100." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:522 +msgid "Ordering separately for these sales orders totals $300 in shipping costs." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 +msgid "Show forecasted date visualization." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:527 +msgid "Setting :guilabel:`Visibility Days` to `20.0` allows Odoo to \"look ahead\" 20 days from December 4 (|SO| 1's forecasted date) to December 24." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:530 +msgid "It groups |SO| 2's order with |SO| 1, reducing shipping costs by consolidating orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:531 +msgid "|SO| 3, which is due on Dec 25, is one day late and is not grouped with the other two orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 +msgid "Visibility days visualization." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:537 +msgid "Counterexample where visibility days is not triggered" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:539 +msgid "Considering the example above, if |SO| 1 does not exist, then:" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:541 +msgid "**November 4**: Current date. The forecasted date is December 4 (30 days later)." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:542 +msgid "**November 5**: The forecasted date shifts to December 5." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:543 +msgid "|SO| 2: Requires the product by December 19. Odoo will only trigger the order on November 19, meaning the user will not see a replenishment notification until then." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:546 +msgid "This shows that visibility days complement just-in-time logic by optimizing it to balance replenishment costs more effectively." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/reordering_rules.rst:-1 +msgid "Example where the visibility days does not trigger." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:3 +msgid "Replenishment report" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:8 +msgid "The *replenishment report* is an interactive dashboard that uses :doc:`manual reordering rules `, lead times, and upcoming demands to forecast quantities of products that need restocking." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:12 +msgid "Reordering rules used on this dashboard are normal reordering rules, but the user benefits from a monitoring menu with extra options to manage suggestions for replenishment." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:15 +msgid "This enables users to anticipate future needs, keep less products on hand without the risk of running out, plan and consolidate orders." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:18 +msgid "To access the replenishment report, go to :menuselection:`Inventory app --> Operations --> Replenishment.`" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:21 +msgid "The fields and features unique to the replenishment dashboard are displayed below. For definitions of the other fields, go to the :ref:`Create reordering rules section `." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:25 +msgid "By default, the quantity in the :guilabel:`To Order` field is the quantity required to reach the set :guilabel:`Max Quantity`. However, the :guilabel:`To Order` quantity can be adjusted by clicking on the field and changing the value. To replenish a product manually, click :icon:`fa-truck` :guilabel:`Order Once`." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:30 +msgid "Clicking :icon:`fa-bell-slash` :guilabel:`Snooze` temporarily deactivates the reordering rule for the set period, hiding the entry from the replenishment dashboard, when it is supposed to appear." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:34 +msgid "Defining a :guilabel:`Vendor` allows filtering or grouping demands by the vendor. This simplifies the process of identifying products to order and can reduce shipment costs." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:-1 +msgid "Replenishment report that displays recommended quantities to order." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:41 +msgid "Automatic reordering rules appear on this menu, too but are hidden by default." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:44 +msgid "Replenishment information" +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:46 +msgid "In each line of the replenishment report, clicking the :icon:`fa-info-circle` :guilabel:`(info)` icon opens the :guilabel:`Replenishment Information` pop-up window, which displays the *lead times* and *forecasted date*." +msgstr "" + +#: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/report.rst:50 +msgid "For detailed information on how to use this feature for replenishment, go to the :ref:`Just in time logic ` section." +msgstr "" + #: ../../content/applications/inventory_and_mrp/inventory/warehouses_storage/replenishment/resupply_warehouses.rst:3 msgid "Inter-warehouse replenishment" msgstr "" @@ -21805,10 +21983,6 @@ msgstr "" msgid "In some cases, components may be unusable after the unbuilding process is completed. To ensure that inventory counts accurately reflect the quantity of usable components on-hand, any component that can no longer be used should be removed from inventory using a :doc:`scrap order <../../inventory/warehouses_storage/inventory_management/scrap_inventory>`." msgstr "" -#: ../../content/applications/inventory_and_mrp/manufacturing/workflows/use_mps.rst:3 -msgid "Master production schedule" -msgstr "" - #: ../../content/applications/inventory_and_mrp/manufacturing/workflows/use_mps.rst:16 msgid "In Odoo's *Manufacturing* app, the *master production schedule* (MPS) is used to manually plan manufacturing orders (MOs) and purchase orders (POs), based on forecasted quantities of products and components." msgstr "" @@ -24897,7 +25071,7 @@ msgid "The minimum quantity required to receive the product at the specified pri msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:146 -msgid ":guilabel:`Quantity` field in the vendor pricelist. (If not visible, enable it by clicking the :icon:`oi-settings-adjust` :guilabel:`(settings)` icon, and tick the :guilabel:`Quantity` checkbox)" +msgid ":guilabel:`Quantity` field in the vendor pricelist. (If not visible, enable it by clicking the :icon:`oi-settings-adjust` :guilabel:`(adjust)` icon, and tick the :guilabel:`Quantity` checkbox)" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:149 @@ -24925,7 +25099,7 @@ msgid "Delivery Lead Time" msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:155 -msgid ":ref:`Number of days ` before receiving the product after confirming a purchase order." +msgid ":ref:`Number of days ` before receiving the product after confirming a purchase order." msgstr "" #: ../../content/applications/inventory_and_mrp/purchase/products/pricelist.rst:157 diff --git a/locale/sources/marketing.pot b/locale/sources/marketing.pot index 474767702..180d1e17e 100644 --- a/locale/sources/marketing.pot +++ b/locale/sources/marketing.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-28 08:10+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4465,11 +4465,11 @@ msgid "Marketing Automation" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:7 -msgid "The Odoo *Marketing Automation* application enables users to create dynamic campaigns with actions that automatically occur within a defined duration, such as sending a series of timed mass emails or engaging with leads based on their interactions with marketing campaigns." +msgid "Use the Odoo **Marketing Automation** application to create dynamic campaigns with actions that automatically occur within a defined duration, such as sending a series of timed mass emails or engaging with leads based on their interactions with marketing campaigns." msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:11 -msgid "While the application is designed to be user-friendly for quickly creating, launching, and reviewing marketing campaigns, it also provides advanced features to automate repetitive tasks throughout the database." +msgid "While the application is designed to be user-friendly for creating, launching, and reviewing marketing campaigns, it also provides advanced features to automate repetitive tasks throughout the database." msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:15 @@ -4483,57 +4483,53 @@ msgid "`Odoo Tutorials: Marketing `_" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:46 -msgid "To install the *Marketing Automation* application, navigate to the :menuselection:`Apps application` and search for `Marketing Automation`." +msgid "To begin, make sure the **Marketing Automation** application is :ref:`installed `." msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:49 -msgid "In the list of results, click the :guilabel:`Activate` button on the :guilabel:`Marketing Automation` application to install it." +msgid "Installing the **Marketing Automation** application also installs the :doc:`Email Marketing ` app, as most features of Odoo **Marketing Automation** are dependent on that specific application." msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:53 -msgid "Installing the *Marketing Automation* application also installs the :doc:`Email Marketing ` app, as most features of Odoo *Marketing Automation* are dependent on that specific application." +msgid "Additionally, install the :doc:`CRM <../sales/crm>` and :doc:`SMS Marketing ` applications to access *all* of the features available in **Marketing Automation**." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:57 -msgid "Additionally, install the :doc:`CRM <../sales/crm>` and :doc:`SMS Marketing ` applications to access *all* of the features available in *Marketing Automation*." -msgstr "" - -#: ../../content/applications/marketing/marketing_automation.rst:60 +#: ../../content/applications/marketing/marketing_automation.rst:56 msgid "The following documentation assumes that all three of these dependent applications are installed on the database." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:66 +#: ../../content/applications/marketing/marketing_automation.rst:62 msgid "Campaigns" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:68 +#: ../../content/applications/marketing/marketing_automation.rst:64 msgid "A *campaign* refers to a workflow of activities that are automatically executed to a target audience, based on predefined filters, triggers, and durations of activities." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:71 +#: ../../content/applications/marketing/marketing_automation.rst:67 msgid "A new campaign can be created from scratch or from a :ref:`template `." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:74 -msgid "To create a campaign, navigate to the :menuselection:`Marketing Automation` application, from the main Odoo dashboard, to open the :guilabel:`Campaigns` dashboard. From here, click the :guilabel:`New` button to reveal a new campaign form." +#: ../../content/applications/marketing/marketing_automation.rst:70 +msgid "To create a campaign, navigate to the :menuselection:`Marketing Automation` application and click the :guilabel:`New` button to reveal a new campaign form." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:81 +#: ../../content/applications/marketing/marketing_automation.rst:76 #: ../../content/applications/marketing/marketing_automation/campaign_templates.rst:5 #: ../../content/applications/marketing/sms_marketing/marketing_campaigns.rst:82 msgid "Campaign templates" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:83 +#: ../../content/applications/marketing/marketing_automation.rst:78 msgid "Odoo provides six campaign templates to help users get started. The campaign template cards **only** display when there are no existing campaigns in the database. Once a campaign has been created, the template cards on the *Campaigns* dashboard are replaced with a Kanban view of the existing campaigns." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:88 +#: ../../content/applications/marketing/marketing_automation.rst:83 msgid "To get started with a template, navigate to the :menuselection:`Marketing Automation` application, from the main Odoo dashboard, to open the :guilabel:`Campaigns` dashboard, which displays six :doc:`campaign template ` cards:" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 -msgid ":guilabel:`🏷️ Tag Hot Contacts`" +msgid ":icon:`fa-tag` :guilabel:`Tag Hot Contacts`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 @@ -4541,7 +4537,7 @@ msgid ":guilabel:`Send a welcome email to contacts and tag them if they click it msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 -msgid ":guilabel:`✌️ Welcome Flow`" +msgid ":icon:`fa-hand-peace-o` :guilabel:`Welcome Flow`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 @@ -4557,7 +4553,7 @@ msgid ":guilabel:`Send an email to new recipients to confirm their consent.`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 -msgid ":guilabel:`🔍 Commercial prospection`" +msgid ":icon:`fa-search` :guilabel:`Commercial prospection`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 @@ -4565,7 +4561,7 @@ msgid ":guilabel:`Send a free catalog and follow-up according to reactions.`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 -msgid ":guilabel:`📞 Schedule Calls`" +msgid ":icon:`fa-phone` :guilabel:`Schedule Calls`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 @@ -4573,7 +4569,7 @@ msgid ":guilabel:`If a lead is created for existing contact, schedule a call wit msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 -msgid ":guilabel:`⭐️ Prioritize Hot leads`" +msgid ":icon:`fa-star` :guilabel:`Prioritize Hot leads`" msgstr "" #: ../../content/applications/marketing/marketing_automation.rst:0 @@ -4584,145 +4580,145 @@ msgstr "" msgid "Six campaign template cards on the Campaigns dashboard of the Marketing Automation app." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:110 +#: ../../content/applications/marketing/marketing_automation.rst:104 msgid "These templates are designed to be used as starting points for creating new campaigns. Click one of the template cards to open the campaign form." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:114 -msgid "To display the campaign template cards again after a campaign has been created, type the name of a campaign that does **not** exist in the database into the :guilabel:`Search...` bar, then press :kbd:`Enter`." +#: ../../content/applications/marketing/marketing_automation.rst:108 +msgid "To display the campaign template cards again after a campaign has been created, type the name of a campaign that does **not** exist in the database into the search bar, then press :kbd:`Enter`." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:118 +#: ../../content/applications/marketing/marketing_automation.rst:111 #: ../../content/applications/marketing/marketing_automation/campaign_templates/double_optin.rst:33 msgid "For example, searching for `empty` displays the campaign template cards again, as long as there is not a campaign with the name \"empty\" in the database." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:122 +#: ../../content/applications/marketing/marketing_automation.rst:115 msgid "Targets and filters" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:124 +#: ../../content/applications/marketing/marketing_automation.rst:117 msgid "On the campaign form, the :guilabel:`Target` and :guilabel:`Filter` section, also referred to as the domain, contains the fields used to define the target audience for the campaign's reach (i.e., the unique contact records in the database)." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:128 +#: ../../content/applications/marketing/marketing_automation.rst:121 msgid "The target audience specifies the type of records available for use in the campaign, such as *Lead/Opportunity*, *Event Registration*, *Contact*, and more." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:132 +#: ../../content/applications/marketing/marketing_automation.rst:125 msgid "Records" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:134 +#: ../../content/applications/marketing/marketing_automation.rst:127 msgid "The contacts in the system that fit the specified criteria for a campaign are referred to as *records*." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:137 +#: ../../content/applications/marketing/marketing_automation.rst:130 msgid "The number of records that are displayed next to the campaign :guilabel:`Filter` represent the total number of records the campaign is targeting." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:141 +#: ../../content/applications/marketing/marketing_automation.rst:134 #: ../../content/applications/marketing/marketing_automation/understanding_metrics.rst:157 msgid "Participants" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:143 +#: ../../content/applications/marketing/marketing_automation.rst:136 msgid "The records that are engaged by the campaign are referred to as *participants*." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:145 +#: ../../content/applications/marketing/marketing_automation.rst:138 msgid "The number of participants engaged in a test run are shown in the *Tests* smart button, which displays on the top of the campaign form after a test has been run." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:148 +#: ../../content/applications/marketing/marketing_automation.rst:141 msgid "The number of participants engaged in a running, or stopped, campaign are shown in the *Participants* smart button at the top of the campaign form." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:152 +#: ../../content/applications/marketing/marketing_automation.rst:145 msgid ":doc:`Audience targeting `" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:155 +#: ../../content/applications/marketing/marketing_automation.rst:148 msgid "Workflow" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:157 +#: ../../content/applications/marketing/marketing_automation.rst:150 msgid "A *workflow* consists of an activity, many activities, or a sequence of activities organized in a campaign. A campaign's workflow is defined in the :guilabel:`Workflow` section of the campaign form." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:161 +#: ../../content/applications/marketing/marketing_automation.rst:154 #: ../../content/applications/marketing/marketing_automation/workflow_activities.rst:19 msgid "Activities" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:163 +#: ../../content/applications/marketing/marketing_automation.rst:156 msgid "*Activities* are the methods of communication or server actions, organized in a workflow, that are executed within a campaign. Once running, each activity displays the number of participants that are engaged by the activity as *Success* and *Rejected* counts." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:167 +#: ../../content/applications/marketing/marketing_automation.rst:160 msgid "To create one of the following activities, click :guilabel:`Add new activity` in the :guilabel:`Workflow` section of the campaign form:" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:170 +#: ../../content/applications/marketing/marketing_automation.rst:163 #: ../../content/applications/marketing/marketing_automation/workflow_activities.rst:53 msgid ":ref:`Email `: an email that is sent to the target audience." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:172 +#: ../../content/applications/marketing/marketing_automation.rst:165 #: ../../content/applications/marketing/marketing_automation/workflow_activities.rst:55 msgid ":ref:`Server action `: an internal action within the database that is executed." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:174 +#: ../../content/applications/marketing/marketing_automation.rst:167 #: ../../content/applications/marketing/marketing_automation/workflow_activities.rst:57 msgid ":ref:`SMS `: a text message that is sent to the target audience." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:178 +#: ../../content/applications/marketing/marketing_automation.rst:171 msgid ":doc:`marketing_automation/workflow_activities`" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:181 +#: ../../content/applications/marketing/marketing_automation.rst:174 msgid "Testing and running" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:183 +#: ../../content/applications/marketing/marketing_automation.rst:176 msgid "Once a campaign has been created, it can be tested to ensure the workflow is functioning as expected, to check for errors, and correct any mistakes before it reaches its target audience." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:186 +#: ../../content/applications/marketing/marketing_automation.rst:179 msgid "After testing, the campaign can be launched to start engaging the target audience. The campaign can also be launched *without* testing, if the user is confident in the workflow." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:190 +#: ../../content/applications/marketing/marketing_automation.rst:183 msgid ":doc:`marketing_automation/testing_running`" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:193 +#: ../../content/applications/marketing/marketing_automation.rst:186 msgid "Reporting" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:195 +#: ../../content/applications/marketing/marketing_automation.rst:188 msgid "A range of reporting metrics are available to measure the success of each campaign. Navigate to :menuselection:`Marketing Automation app --> Reporting` to access the following menu options:" msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:198 +#: ../../content/applications/marketing/marketing_automation.rst:191 msgid ":guilabel:`Link Tracker`: displays the metrics of links to track the number of clicks." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:199 +#: ../../content/applications/marketing/marketing_automation.rst:192 msgid ":guilabel:`Traces`: displays the results of all activities from all campaigns." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:200 +#: ../../content/applications/marketing/marketing_automation.rst:193 msgid ":guilabel:`Participants`: displays an overview of the participants of all campaigns." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:202 +#: ../../content/applications/marketing/marketing_automation.rst:195 msgid "Additionally, each activity within the workflow of a campaign displays its engagement metrics." msgstr "" -#: ../../content/applications/marketing/marketing_automation.rst:205 +#: ../../content/applications/marketing/marketing_automation.rst:198 msgid ":doc:`marketing_automation/understanding_metrics`" msgstr "" diff --git a/locale/sources/productivity.pot b/locale/sources/productivity.pot index 4a0a0b38a..faa828f71 100644 --- a/locale/sources/productivity.pot +++ b/locale/sources/productivity.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-02 12:38+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -581,7 +581,7 @@ msgid "Events can be created in *Google Calendar* without sending a notification msgstr "" #: ../../content/applications/productivity/calendar/google.rst:158 -#: ../../content/applications/productivity/calendar/outlook.rst:211 +#: ../../content/applications/productivity/calendar/outlook.rst:210 msgid "Troubleshoot sync" msgstr "" @@ -599,12 +599,12 @@ msgid "Reset buttons highlighted on the calendar tab of the user." msgstr "" #: ../../content/applications/productivity/calendar/google.rst:172 -#: ../../content/applications/productivity/calendar/outlook.rst:225 +#: ../../content/applications/productivity/calendar/outlook.rst:224 msgid "Next, click :guilabel:`Reset Account` under the correct calendar." msgstr "" #: ../../content/applications/productivity/calendar/google.rst:175 -#: ../../content/applications/productivity/calendar/outlook.rst:228 +#: ../../content/applications/productivity/calendar/outlook.rst:227 msgid "Reset options" msgstr "" @@ -617,12 +617,12 @@ msgid "Google calendar reset options in Odoo." msgstr "" #: ../../content/applications/productivity/calendar/google.rst:183 -#: ../../content/applications/productivity/calendar/outlook.rst:237 +#: ../../content/applications/productivity/calendar/outlook.rst:236 msgid ":guilabel:`User's Existing Events`:" msgstr "" #: ../../content/applications/productivity/calendar/google.rst:185 -#: ../../content/applications/productivity/calendar/outlook.rst:239 +#: ../../content/applications/productivity/calendar/outlook.rst:238 msgid ":guilabel:`Leave them untouched`: no changes to the events." msgstr "" @@ -631,7 +631,7 @@ msgid ":guilabel:`Delete from the current Google Calendar account`: delete the e msgstr "" #: ../../content/applications/productivity/calendar/google.rst:188 -#: ../../content/applications/productivity/calendar/outlook.rst:242 +#: ../../content/applications/productivity/calendar/outlook.rst:241 msgid ":guilabel:`Delete from Odoo`: delete the events from the Odoo calendar." msgstr "" @@ -640,7 +640,7 @@ msgid ":guilabel:`Delete from both`: delete the events from both *Google Calenda msgstr "" #: ../../content/applications/productivity/calendar/google.rst:191 -#: ../../content/applications/productivity/calendar/outlook.rst:246 +#: ../../content/applications/productivity/calendar/outlook.rst:245 msgid ":guilabel:`Next Synchronization`:" msgstr "" @@ -653,7 +653,7 @@ msgid ":guilabel:`Synchronize all existing events`: sync all events on *Google C msgstr "" #: ../../content/applications/productivity/calendar/google.rst:198 -#: ../../content/applications/productivity/calendar/outlook.rst:253 +#: ../../content/applications/productivity/calendar/outlook.rst:252 msgid "Click :guilabel:`Confirm` after making the selection to modify the user's events and the calendar synchronization." msgstr "" @@ -856,14 +856,14 @@ msgid "Configuration in Odoo" msgstr "" #: ../../content/applications/productivity/calendar/outlook.rst:123 -msgid "In the Odoo database, go to :menuselection:`Settings app --> Integrations section`, and tick the checkbox beside the :guilabel:`Outlook Calendar` setting. Remember to click :guilabel:`Save` to implement the changes." +msgid "In the Odoo database, go to :menuselection:`Calendar app --> Configuration --> Settings`, and tick the checkbox beside the :guilabel:`Outlook Calendar` setting. Remember to click :guilabel:`Save` to implement the changes." msgstr "" #: ../../content/applications/productivity/calendar/outlook.rst:-1 msgid "The \"Outlook Calendar\" setting activated in Odoo." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:131 +#: ../../content/applications/productivity/calendar/outlook.rst:130 msgid "From the Microsoft *Azure* portal, under the :guilabel:`Overview` section of the application, copy the :guilabel:`Application (Client) ID`, if it has not already been copied, and paste it into the :guilabel:`Client ID` field in Odoo." msgstr "" @@ -871,7 +871,7 @@ msgstr "" msgid "The \"Client ID\" in the Microsoft Azure portal." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:139 +#: ../../content/applications/productivity/calendar/outlook.rst:138 msgid "Copy the previously-acquired :guilabel:`Value` (Client Secret Value), and paste it into the :guilabel:`Client Secret` field in Odoo." msgstr "" @@ -879,63 +879,63 @@ msgstr "" msgid "The \"Client Secret\" token to be copied from Microsoft to Odoo." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:146 +#: ../../content/applications/productivity/calendar/outlook.rst:145 msgid "Finally, on the Odoo :menuselection:`Settings --> General Settings` page, click :guilabel:`Save`." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:151 +#: ../../content/applications/productivity/calendar/outlook.rst:150 msgid "Sync with Outlook" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:155 +#: ../../content/applications/productivity/calendar/outlook.rst:154 msgid "Odoo highly recommends testing the Outlook calendar synchronization on a test database and a test email address (that is not used for any other purpose) before attempting to sync the desired Outlook Calendar with the user's production database." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:159 +#: ../../content/applications/productivity/calendar/outlook.rst:158 msgid "If the user has any past, present, or future events on their Odoo calendar before syncing their Outlook calendar, Outlook will treat the events pulled from Odoo's calendar during the sync as new events, causing an email notification to be sent from Outlook to all the event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:163 +#: ../../content/applications/productivity/calendar/outlook.rst:162 msgid "To avoid unwanted emails being sent to all past, present, and future event attendees, the user must add the events from the Odoo calendar to the Outlook calendar before the first ever sync, delete the events from Odoo, and then start the sync." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:167 +#: ../../content/applications/productivity/calendar/outlook.rst:166 msgid "Even after synchronizing the Odoo Calendar with the Outlook calendar, Outlook will still send a notification to all event participants every time an event is edited (created, deleted, unarchived, or event date/time changed), with no exceptions. This is a limitation that cannot be fixed from Odoo's side." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:172 +#: ../../content/applications/productivity/calendar/outlook.rst:171 msgid "In summary, once a user synchronizes their Outlook calendar with the Odoo calendar:" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:174 +#: ../../content/applications/productivity/calendar/outlook.rst:173 msgid "Creating an event in Odoo causes Outlook to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:175 +#: ../../content/applications/productivity/calendar/outlook.rst:174 msgid "Deleting an event in Odoo causes Outlook to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:176 +#: ../../content/applications/productivity/calendar/outlook.rst:175 msgid "Unarchiving an event in Odoo causes Outlook to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:177 +#: ../../content/applications/productivity/calendar/outlook.rst:176 msgid "Archiving an event in Odoo causes Outlook to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:178 +#: ../../content/applications/productivity/calendar/outlook.rst:177 msgid "Adding a contact to an event causes Outlook to send an invitation to all event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:179 +#: ../../content/applications/productivity/calendar/outlook.rst:178 msgid "Removing a contact from an event causes Outlook to send a cancellation to all event attendees." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:182 +#: ../../content/applications/productivity/calendar/outlook.rst:181 msgid "Sync Odoo Calendar and Outlook" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:184 +#: ../../content/applications/productivity/calendar/outlook.rst:183 msgid "In the Odoo database, open to the *Calendar* module, and click the :guilabel:`Outlook` sync button on the right-side of the page, beneath the monthly calendar." msgstr "" @@ -943,7 +943,7 @@ msgstr "" msgid "The \"Outlook\" sync button in Odoo Calendar." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:191 +#: ../../content/applications/productivity/calendar/outlook.rst:190 msgid "The synchronization is a two-way process, meaning that events are reconciled in both accounts (*Outlook* and Odoo). The page redirects to a Microsoft login page, and the user is asked to log in to their account, if they are not already. Finally, grant the required permissions by clicking :guilabel:`Accept`." msgstr "" @@ -951,27 +951,27 @@ msgstr "" msgid "Authentication process on Microsoft Outlook OAuth page." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:201 +#: ../../content/applications/productivity/calendar/outlook.rst:200 msgid "All users that want to use the synchronization simply need to :ref:`sync their calendar with Outlook `. The configuration of Microsoft's *Azure* account is only done once, as Microsoft *Entra ID* tenants' client IDs and client secrets are unique, and help the user manage a specific instance of Microsoft cloud services for internal and external users." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:207 +#: ../../content/applications/productivity/calendar/outlook.rst:206 msgid ":doc:`../../general/integrations/mail_plugins/outlook`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:208 +#: ../../content/applications/productivity/calendar/outlook.rst:207 msgid ":doc:`google`" msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:213 +#: ../../content/applications/productivity/calendar/outlook.rst:212 msgid "There may be times when the *Microsoft Outlook Calendar* account does not sync correctly with Odoo. Sync issues can be seen in the database logs." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:216 +#: ../../content/applications/productivity/calendar/outlook.rst:215 msgid "In these cases, the account needs troubleshooting. A reset can be performed using the :guilabel:`Reset Account` button, which can be accessed by navigating to :menuselection:`Settings app --> Manage Users`. Then, select the user to modify the calendar, and click on the :guilabel:`Calendar` tab." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:230 +#: ../../content/applications/productivity/calendar/outlook.rst:229 msgid "The following reset options are available for troubleshooting *Microsoft Outlook Calendar* sync with Odoo:" msgstr "" @@ -979,19 +979,19 @@ msgstr "" msgid "Outlook calendar reset options in Odoo." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:240 +#: ../../content/applications/productivity/calendar/outlook.rst:239 msgid ":guilabel:`Delete from the current Microsoft Calendar account`: delete the events from *Microsoft Outlook Calendar*." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:243 +#: ../../content/applications/productivity/calendar/outlook.rst:242 msgid ":guilabel:`Delete from both`: delete the events from both *Microsoft Outlook Calendar* and Odoo calendar." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:248 +#: ../../content/applications/productivity/calendar/outlook.rst:247 msgid ":guilabel:`Synchronize only new events`: sync new events on *Microsoft Outlook Calendar* and/or Odoo calendar." msgstr "" -#: ../../content/applications/productivity/calendar/outlook.rst:250 +#: ../../content/applications/productivity/calendar/outlook.rst:249 msgid ":guilabel:`Synchronize all existing events`: sync all events on *Microsoft Outlook Calendar* and/or Odoo calendar." msgstr "" @@ -1000,487 +1000,496 @@ msgid "Data Cleaning" msgstr "" #: ../../content/applications/productivity/data_cleaning.rst:5 -msgid "The Odoo *Data Cleaning* app keeps the database neat and organized throughout the use of its provided features:" +msgid "The Odoo **Data Cleaning** app maintains data integrity and consistency with the following features:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:8 +#: ../../content/applications/productivity/data_cleaning.rst:7 msgid ":ref:`Deduplicates `: merges or removes duplicate entries to ensure data is unique." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:10 +#: ../../content/applications/productivity/data_cleaning.rst:9 msgid ":ref:`Recycles `: identifies outdated records to either archive or delete them." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:12 -msgid ":ref:`Merges `: combines multiple similar entries into one streamlined record." -msgstr "" - -#: ../../content/applications/productivity/data_cleaning.rst:14 +#: ../../content/applications/productivity/data_cleaning.rst:11 msgid ":ref:`Formats `: standardizes text data by finding and replacing it according to specified needs." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:17 -msgid "Through customizable automated rules (or manual praxis), individual records and accompanying text data in the database will remain up-to-date and consistently formatted, tailored to company specifications." +#: ../../content/applications/productivity/data_cleaning.rst:14 +msgid "Customizable rules ensure text data stays up-to-date, streamlined, consistently formatted, and aligned with company-specific formatting requirements." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:24 +#: ../../content/applications/productivity/data_cleaning.rst:20 msgid "Install modules" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:26 -msgid "The *Data Cleaning* application consists of several modules. :ref:`Install ` the following to access all available features:" +#: ../../content/applications/productivity/data_cleaning.rst:22 +msgid "The **Data Cleaning** application consists of several modules. :ref:`Install ` the following to access all available features:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:33 +#: ../../content/applications/productivity/data_cleaning.rst:0 #: ../../content/applications/productivity/voip/axivox/call_queues.rst:30 #: ../../content/applications/productivity/whatsapp.rst:273 #: ../../content/applications/productivity/whatsapp.rst:677 msgid "Name" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:34 -msgid "Technical name" +#: ../../content/applications/productivity/data_cleaning.rst:0 +msgid "`Technical name`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:35 +#: ../../content/applications/productivity/data_cleaning.rst:31 #: ../../content/applications/productivity/documents.rst:91 msgid "Description" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:36 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`Data Recycle`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:37 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_recycle`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:38 -msgid "Base module to enable the recycle feature, available on Odoo Community edition." +#: ../../content/applications/productivity/data_cleaning.rst:34 +msgid "Base module to enable the recycle feature, available on :ref:`Odoo Community edition `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:39 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`Data Cleaning`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:40 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_cleaning`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:41 -msgid "Enables field cleaning feature to format text data across multiple records, available **only** on Odoo Enterprise edition." +#: ../../content/applications/productivity/data_cleaning.rst:38 +msgid "Enables field cleaning feature to format text data across multiple records, available **only** on :ref:`Odoo Enterprise edition `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:43 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`Data Cleaning (merge)`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:44 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_merge`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:45 -msgid "Enables the deduplication feature to find similar (or duplicate) records, and merge them, available **only** on Odoo Enterprise edition." +#: ../../content/applications/productivity/data_cleaning.rst:42 +msgid "Enables the deduplication feature to find similar (or duplicate) records, and merge them, available **only** on :ref:`Odoo Enterprise edition `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:53 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`CRM Deduplication`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:54 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_merge_crm`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:55 -msgid "Enables the deduplication feature on the *CRM* app, and uses the :doc:`CRM default merging feature <../sales/crm/pipeline/merge_similar>`." +#: ../../content/applications/productivity/data_cleaning.rst:52 +msgid "Enables the deduplication feature on the **CRM** app, and uses the :doc:`CRM default merging feature <../sales/crm/pipeline/merge_similar>`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:57 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`Helpdesk Merge action`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:58 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_merge_helpdesk`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:59 -msgid "Enables the merge feature for the *Helpdesk* app." +#: ../../content/applications/productivity/data_cleaning.rst:56 +msgid "Enables the merge feature for the **Helpdesk** app." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:60 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`Project Merge action`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:61 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_merge_project`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:62 -msgid "Enables the merge feature for the *Projects* app." +#: ../../content/applications/productivity/data_cleaning.rst:59 +msgid "Enables the merge feature for the **Projects** app." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:63 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`UTM Deduplication`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:64 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_merge_utm`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:65 -msgid "Enables the merge feature for the *UTM Tracker* app." +#: ../../content/applications/productivity/data_cleaning.rst:62 +msgid "Enables the merge feature for the **UTM Tracker** app." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:66 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid ":guilabel:`WMS Accounting Merge`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:67 +#: ../../content/applications/productivity/data_cleaning.rst:0 msgid "`data_merge_stock_account`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:68 -msgid "Creates a warning in cases of products merging that may affect inventory valuation, if the *Inventory* app is installed." +#: ../../content/applications/productivity/data_cleaning.rst:65 +msgid "Creates a warning in cases of products merging that may affect inventory valuation, if the **Inventory** app is installed." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:74 +#: ../../content/applications/productivity/data_cleaning.rst:71 msgid "Deduplication" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:76 -msgid "On the :guilabel:`Duplicates` dashboard (:menuselection:`Data Cleaning app --> Deduplication`), Odoo suggests groups of similar records to be :ref:`merged ` by matching conditions within the records set by the :ref:`deduplication rules `." +#: ../../content/applications/productivity/data_cleaning.rst:73 +msgid "The *Duplicates* dashboard groups similar records to be :ref:`merged ` by matching conditions within the records set by the :ref:`deduplication rules `." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:77 +msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Deduplication`." msgstr "" #: ../../content/applications/productivity/data_cleaning.rst:-1 msgid "Deduplication dashboard in the Data Cleaning application." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:85 +#: ../../content/applications/productivity/data_cleaning.rst:82 msgid "The :guilabel:`RULE` sidebar lists each of the active deduplication rules, and displays the total number of duplicates detected beside each rule." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:88 -msgid "By default, the :guilabel:`All` rule is selected. Displayed records are grouped by their rule, with a :guilabel:`Similarity` rating (out of 100%) in the list view, with the following columns:" +#: ../../content/applications/productivity/data_cleaning.rst:85 +msgid "By default, the :guilabel:`All` rule is selected. Records are grouped by their rule, with a :guilabel:`Similarity` rating (out of 100%), with the following columns:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:91 +#: ../../content/applications/productivity/data_cleaning.rst:88 msgid ":guilabel:`Created On`: the date and time the original record was created." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:92 +#: ../../content/applications/productivity/data_cleaning.rst:89 msgid ":guilabel:`Name`: the name or title of the original record." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:93 +#: ../../content/applications/productivity/data_cleaning.rst:90 msgid ":guilabel:`Field Values`: the original record's values for the fields used to detect duplicates." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:94 +#: ../../content/applications/productivity/data_cleaning.rst:91 msgid ":guilabel:`Used In`: lists other models referencing the original record." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:95 +#: ../../content/applications/productivity/data_cleaning.rst:92 msgid ":guilabel:`ID`: the original record's unique ID." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:96 -msgid ":guilabel:`Is Master`: the duplicates are merged into the *master* record. There can be **one** master record in a grouping of similar records." +#: ../../content/applications/productivity/data_cleaning.rst:93 +msgid ":guilabel:`Is Master`: the duplicates are merged into the *master* record. There can only be **one** master record in a grouping of similar records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:99 +#: ../../content/applications/productivity/data_cleaning.rst:96 msgid "Select a specific rule in the :guilabel:`RULE` sidebar to filter the duplicate records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:104 +#: ../../content/applications/productivity/data_cleaning.rst:101 msgid "Merge duplicate records" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:106 +#: ../../content/applications/productivity/data_cleaning.rst:103 msgid "To merge records, first choose a *master* record within the grouping of similar records. The master record acts as the base, at which any additional information from similar records are merged into." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:109 +#: ../../content/applications/productivity/data_cleaning.rst:106 msgid "Optionally, no master record can be set, leaving Odoo to choose a record at random to merge into." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:111 +#: ../../content/applications/productivity/data_cleaning.rst:108 msgid "Next, click the :guilabel:`Merge` button at the top of the similar records grouping. Then, click :guilabel:`Ok` to confirm the merge." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:114 -msgid "Once a record is merged, a message is logged in the chatter of the master record, describing the merge. Certain records, like *Project* tasks, are logged in the chatter with a link to the old record for a convenient reference." +#: ../../content/applications/productivity/data_cleaning.rst:111 +msgid "Once a record is merged, a message is logged in the chatter of the master record, describing the merge. Certain records, like **Project** tasks, are logged in the chatter with a link to the old record as a convenient reference of the merge." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:119 +#: ../../content/applications/productivity/data_cleaning.rst:116 msgid "Discard groupings by clicking the :guilabel:`DISCARD` button. Upon doing so, the grouping is hidden from the list and archived." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:122 -msgid "View discarded groupings by selecting the :guilabel:`Discarded` filter from the :ref:`Search... ` bar." +#: ../../content/applications/productivity/data_cleaning.rst:119 +msgid "View discarded groupings by selecting the :guilabel:`Discarded` filter from the :ref:`search bar `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:128 +#: ../../content/applications/productivity/data_cleaning.rst:125 msgid "Deduplication rules" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:130 -msgid "The :guilabel:`Deduplication Rules` page (:menuselection:`Data Cleaning app --> Configuration --> Rules: Deduplication`) is where the conditions for records to be detected as duplicates can be set." +#: ../../content/applications/productivity/data_cleaning.rst:127 +msgid "The *Deduplication Rules* set the conditions for how records are detected as duplicates." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:133 -#: ../../content/applications/productivity/data_cleaning.rst:255 -msgid "These rules can be configured for each model in the database, and with varying levels of specificity." +#: ../../content/applications/productivity/data_cleaning.rst:129 +msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Deduplication`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:137 -msgid "The deduplication rules run once every day, by default, as part of a scheduled action chron (*Data Merge: Find Duplicate Records*). However, each rule can be :ref:`ran manually ` anytime." +#: ../../content/applications/productivity/data_cleaning.rst:134 +msgid "The deduplication rules run once every day, by default, as part of a scheduled action cron (*Data Merge: Find Duplicate Records*). However, each rule can be :ref:`ran manually ` anytime." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:142 +#: ../../content/applications/productivity/data_cleaning.rst:139 msgid "Modify a deduplication rule" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:144 -msgid "Select a default rule to edit, or create a new rule by clicking on the :guilabel:`New` button, on the :guilabel:`Deduplication Rules` page (:menuselection:`Data Cleaning app --> Configuration --> Rules: Deduplication`)." +#: ../../content/applications/productivity/data_cleaning.rst:141 +msgid "Select a default rule to edit, or create a new rule by clicking on the :guilabel:`New` button." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:148 +#: ../../content/applications/productivity/data_cleaning.rst:143 msgid "First, choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:151 +#: ../../content/applications/productivity/data_cleaning.rst:146 msgid "Optionally, configure a :guilabel:`Domain` to specify the records eligible for this rule. The number of eligible records is shown in the :icon:`oi-arrow-right` :guilabel:`# record(s)` link." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:154 +#: ../../content/applications/productivity/data_cleaning.rst:149 msgid "Depending on the selected :guilabel:`Model`, the :guilabel:`Duplicate Removal` field appears. Choose whether to :guilabel:`Archive` or :guilabel:`Delete` merged records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:157 +#: ../../content/applications/productivity/data_cleaning.rst:152 msgid "Next, select a :guilabel:`Merge Mode`:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:159 +#: ../../content/applications/productivity/data_cleaning.rst:154 msgid ":guilabel:`Manual`: requires each duplicate grouping to be manually merged, also enables the :guilabel:`Notify Users` field." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:161 +#: ../../content/applications/productivity/data_cleaning.rst:156 msgid ":guilabel:`Automatic`: automatically merges duplicate groupings, without notifying users, based on the records with a similarity percentage above the threshold set in the :guilabel:`Similarity Threshold` field." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:165 +#: ../../content/applications/productivity/data_cleaning.rst:160 msgid "Enable the :guilabel:`Active` toggle to start capturing duplicates with this rule as soon as it is saved." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:168 +#: ../../content/applications/productivity/data_cleaning.rst:163 msgid "Lastly, create at least one deduplication rule in the :guilabel:`Deduplication Rules` field, by clicking :guilabel:`Add a line`, under the :guilabel:`Unique ID Field` column." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:171 +#: ../../content/applications/productivity/data_cleaning.rst:166 msgid "Select a field in the model from the :guilabel:`Unique ID Field` drop-down menu. This field is referenced for similar records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:173 +#: ../../content/applications/productivity/data_cleaning.rst:168 msgid "Select a matching condition in the :guilabel:`Match If` field to apply the deduplication rule, depending on the text in the :guilabel:`Unique ID Field`:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:176 +#: ../../content/applications/productivity/data_cleaning.rst:171 msgid ":guilabel:`Exact Match`: the characters in the text match exactly." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:177 +#: ../../content/applications/productivity/data_cleaning.rst:172 msgid ":guilabel:`Case/Accent Insensitive Match`: the characters in the text match, regardless of casing and language-specific accent differences." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:181 -msgid "The rule does **not** capture duplicates without at least one deduplication rule set in the :guilabel:`Deduplication Rules` field." +#: ../../content/applications/productivity/data_cleaning.rst:176 +msgid "At least one :guilabel:`Deduplication Rules` must be set for the rule to capture duplicates." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:185 +#: ../../content/applications/productivity/data_cleaning.rst:179 msgid "A few more fields are available for an advanced configuration." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:187 +#: ../../content/applications/productivity/data_cleaning.rst:181 msgid "If on a multi-company database, the :guilabel:`Cross-Company` field is available. When enabled, duplicates across different companies are suggested." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:190 +#: ../../content/applications/productivity/data_cleaning.rst:184 msgid "Activate :ref:`developer-mode` to display the :guilabel:`Suggestion Threshold` field. Duplicates with a similarity below the threshold set in this field are **not** suggested." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:193 +#: ../../content/applications/productivity/data_cleaning.rst:187 msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture duplicate records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:199 +#: ../../content/applications/productivity/data_cleaning.rst:193 msgid "Manually run a deduplication rule" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:201 -msgid "To manually run a specific deduplication rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Rules: Deduplication`, and select the rule to run." +#: ../../content/applications/productivity/data_cleaning.rst:195 +msgid "To manually run a specific deduplication rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Deduplication`, and select the rule to run." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:204 +#: ../../content/applications/productivity/data_cleaning.rst:198 msgid "Then, on the rule form, select the :guilabel:`Deduplicate` button on the top-left. Upon doing so, the :icon:`fa-clone` :guilabel:`Duplicates` smart button displays the number of duplicates captured." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:207 -msgid "Click on the :icon:`fa-clone` :guilabel:`Duplicates` smart button to manage these records." +#: ../../content/applications/productivity/data_cleaning.rst:201 +msgid "Click on the :icon:`fa-clone` :guilabel:`Duplicates` smart button to :ref:`manage these records `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:212 +#: ../../content/applications/productivity/data_cleaning.rst:207 msgid "Recycle records" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:214 -msgid "Use the *Recycle Records* feature to rid the database of old and outdated records." +#: ../../content/applications/productivity/data_cleaning.rst:209 +msgid "Use the *recycle records* feature to rid the database of old and outdated records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:216 -msgid "On the :guilabel:`Field Recycle Records` dashboard (:menuselection:`Data Cleaning app --> Recycle Records`), Odoo detects records that can be archived or deleted, by matching conditions within the records set by the :ref:`recycle record's rules `." +#: ../../content/applications/productivity/data_cleaning.rst:211 +msgid "The *Field Recycle Records* dashboard displays records that can be archived or deleted, by matching conditions within the records set by the :ref:`recycle record's rules `." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:214 +msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Recycle Records`." msgstr "" #: ../../content/applications/productivity/data_cleaning.rst:-1 msgid "Field Recycle Records dashboard in the Data Cleaning application." msgstr "" +#: ../../content/applications/productivity/data_cleaning.rst:219 +msgid "The :guilabel:`RECYCLE RULES` sidebar lists each of the active recycle record rules." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:221 +msgid "By default, the :guilabel:`All` option is selected. Records are displayed with the following columns:" +msgstr "" + #: ../../content/applications/productivity/data_cleaning.rst:224 -msgid "The :guilabel:`RECYCLE RULES` sidebar lists each of the active recycle record rules, and displays the total number of records detected beside each rule." -msgstr "" - -#: ../../content/applications/productivity/data_cleaning.rst:227 -msgid "By default, the :guilabel:`All` option is selected. Records are displayed in the list view, with the following columns:" -msgstr "" - -#: ../../content/applications/productivity/data_cleaning.rst:230 +#: ../../content/applications/productivity/data_cleaning.rst:339 msgid ":guilabel:`Record ID`: the ID of the original record." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:231 +#: ../../content/applications/productivity/data_cleaning.rst:225 +#: ../../content/applications/productivity/data_cleaning.rst:340 msgid ":guilabel:`Record Name`: the name or title of the original record." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:233 -msgid "Select a specific rule in the :guilabel:`RECYCLE RULES` sidebar to filter the duplicate records." +#: ../../content/applications/productivity/data_cleaning.rst:227 +msgid "Select a specific rule in the :guilabel:`RECYCLE RULES` sidebar to filter the records." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:235 +#: ../../content/applications/productivity/data_cleaning.rst:229 msgid "To recycle records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:237 +#: ../../content/applications/productivity/data_cleaning.rst:231 msgid "Upon doing so, the record is recycled, depending on how the rule is configured, to be either archived or deleted from the database." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:241 +#: ../../content/applications/productivity/data_cleaning.rst:235 msgid "Discard groupings by clicking the :icon:`fa-times` :guilabel:`Discard` button. Upon doing so, the record is hidden from the list, and is not detected by the recycle rule again in the future." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:244 +#: ../../content/applications/productivity/data_cleaning.rst:238 msgid "View discarded records by selecting the :guilabel:`Discarded` filter from the :ref:`search bar ` drop-down menu." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:250 +#: ../../content/applications/productivity/data_cleaning.rst:244 msgid "Recycle record rules" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:252 -msgid "The :guilabel:`Recycle Records Rules` page (:menuselection:`Data Cleaning app --> Configuration --> Rules: Recycle Records`) is where the conditions for records to be recycled can be set." +#: ../../content/applications/productivity/data_cleaning.rst:246 +msgid "The *Recycle Records Rules* set the conditions for how records are recycled." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:259 -msgid "The recycle rules run once a day, by default, as part of a scheduled action chron (*Data Recycle: Clean Records*). However, each rule can be :ref:`run manually ` anytime." +#: ../../content/applications/productivity/data_cleaning.rst:248 +msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Recycle Records`." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:263 +#: ../../content/applications/productivity/data_cleaning.rst:253 +msgid "Recycle rules run once a day, by default, as part of a scheduled action cron (*Data Recycle: Clean Records*). However, each rule can be :ref:`run manually ` anytime." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:257 msgid "By default, no recycle record rules exist. Click the :guilabel:`New` button to create a new rule." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:265 +#: ../../content/applications/productivity/data_cleaning.rst:259 msgid "On the recycle record rule form, first choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:268 +#: ../../content/applications/productivity/data_cleaning.rst:262 msgid "Optionally, configure a :guilabel:`Filter` to specify the records eligible for this rule. The number of eligible records is shown in the :icon:`oi-arrow-right` :guilabel:`# record(s)` link." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:271 +#: ../../content/applications/productivity/data_cleaning.rst:265 msgid "Next, configure the field and time range for how the rule detects the records to recycle:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:273 +#: ../../content/applications/productivity/data_cleaning.rst:267 msgid ":guilabel:`Time Field`: select a field from the model to base the time (:dfn:`Delta`)." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:274 +#: ../../content/applications/productivity/data_cleaning.rst:268 msgid ":guilabel:`Delta`: type the length of time, which must be a whole number (e.g. `7`)." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:275 +#: ../../content/applications/productivity/data_cleaning.rst:269 msgid ":guilabel:`Delta Unit`: select the unit of time (:guilabel:`Days`, :guilabel:`Weeks`, :guilabel:`Months`, or :guilabel:`Years`)." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:278 +#: ../../content/applications/productivity/data_cleaning.rst:272 msgid "Then, select a :guilabel:`Recycle Mode`:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:280 +#: ../../content/applications/productivity/data_cleaning.rst:274 msgid ":guilabel:`Manual`: requires each detected record to be manually recycled, and enables the :guilabel:`Notify Users` field." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:282 +#: ../../content/applications/productivity/data_cleaning.rst:276 msgid ":guilabel:`Automatic`: automatically merges recycled groupings, without notifying users." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:284 +#: ../../content/applications/productivity/data_cleaning.rst:278 msgid "Lastly, select a :guilabel:`Recycle Action` to either :guilabel:`Archive` or :guilabel:`Delete` records. If :guilabel:`Delete` is selected, choose whether or not to :guilabel:`Include Archived` records in the rule." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:288 +#: ../../content/applications/productivity/data_cleaning.rst:282 msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture records to recycle." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:292 +#: ../../content/applications/productivity/data_cleaning.rst:286 msgid "A recycle rule can be configured to delete archived leads and opportunities that were last updated a year ago, and with a specific lost reason, by using the following configuration:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:295 +#: ../../content/applications/productivity/data_cleaning.rst:289 msgid ":guilabel:`Model`: :guilabel:`Lead/Opportunity`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:296 +#: ../../content/applications/productivity/data_cleaning.rst:290 msgid ":guilabel:`Filter`:" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:298 +#: ../../content/applications/productivity/data_cleaning.rst:292 msgid "`Active` `is` `not set`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:299 +#: ../../content/applications/productivity/data_cleaning.rst:293 msgid "`Lost Reason` `is in` `Too expensive`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:301 +#: ../../content/applications/productivity/data_cleaning.rst:295 msgid ":guilabel:`Time Field`: :guilabel:`Last Updated on (Lead/Opportunity)`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:302 +#: ../../content/applications/productivity/data_cleaning.rst:296 msgid ":guilabel:`Delta`: `1`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:303 +#: ../../content/applications/productivity/data_cleaning.rst:297 msgid ":guilabel:`Delta Unit`: :guilabel:`Years`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:304 +#: ../../content/applications/productivity/data_cleaning.rst:298 msgid ":guilabel:`Recycle Mode`: :guilabel:`Automatic`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:305 +#: ../../content/applications/productivity/data_cleaning.rst:299 msgid ":guilabel:`Recycle Action`: :guilabel:`Delete`" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:306 +#: ../../content/applications/productivity/data_cleaning.rst:300 msgid ":guilabel:`Include Archived`: :icon:`fa-check-square`" msgstr "" @@ -1488,36 +1497,256 @@ msgstr "" msgid "Recycle records rule form for a lead/opportunity." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:315 +#: ../../content/applications/productivity/data_cleaning.rst:308 msgid "Manually run a recycle rule" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:317 -msgid "To manually run a specific recycle rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Rules: Recycle Records`, and select the rule to run." +#: ../../content/applications/productivity/data_cleaning.rst:310 +msgid "To manually run a specific recycle rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Recycle Records`, and select the rule to run." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:320 +#: ../../content/applications/productivity/data_cleaning.rst:313 msgid "Then, on the rule form, click the :guilabel:`Run Now` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:323 -msgid "Click the :icon:`fa-bars` :guilabel:`Records` smart button to manage these records." +#: ../../content/applications/productivity/data_cleaning.rst:316 +msgid "Click the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records `." msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:328 +#: ../../content/applications/productivity/data_cleaning.rst:322 msgid "Field cleaning" msgstr "" +#: ../../content/applications/productivity/data_cleaning.rst:324 +msgid "Use the field cleaning feature to maintain consistent formatting of names, phone numbers, IDs and other fields throughout a database." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:327 +msgid "The *Field Cleaning Records* dashboard displays formatting changes to data in fields of a record, to follow a convention set by the field cleaning rules." +msgstr "" + #: ../../content/applications/productivity/data_cleaning.rst:330 -msgid "On the :guilabel:`Field Cleaning Records` dashboard (:menuselection:`Data Cleaning app --> Field Cleaning`), Odoo suggests formatting changes to data in fields of a record, to follow a convention set by the field cleaning rules." +msgid "Navigate to this dashboard by going to :menuselection:`Data Cleaning app --> Field Cleaning`." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:-1 +msgid "Field Cleaning Records dashboard in the Data Cleaning application." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:335 +msgid "The :guilabel:`CLEANING RULES` sidebar lists each of the active cleaning rules." msgstr "" #: ../../content/applications/productivity/data_cleaning.rst:337 +msgid "By default, the :guilabel:`All` rule is selected. Records are listed with the following columns:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:341 +msgid ":guilabel:`Field`: the original record's field that contains the value to format." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:342 +msgid ":guilabel:`Current`: the current value in the field of the original record." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:343 +msgid ":guilabel:`Suggested`: the suggested formatted value in the field of the original record." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:345 +msgid "To clean and format records, click the :icon:`fa-check` :guilabel:`Validate` button on the row of the record." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:348 +msgid "Upon doing so, the record is formatted and/or cleaned." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:351 +msgid "Discard records by clicking the :icon:`fa-times` :guilabel:`Discard` button. Upon doing so, the record is hidden from the list and will not be detected by the field cleaning rule again in the future." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:355 +msgid "View discarded records by selecting the :guilabel:`Discarded` filter from the :ref:`search bar `." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:361 +msgid "Field cleaning rules" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:363 +msgid "The *Field Cleaning Rules* set the conditions for fields to be cleaned and/or formatted." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:365 +msgid "These rules can be configured for each model in the database, and with varying levels of specificity. To get started, navigate to :menuselection:`Data Cleaning app --> Configuration --> Field Cleaning`." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:370 +msgid "The field cleaning rules run once every day, by default, as part of a scheduled action cron (*Data Cleaning: Clean Records*). However, each rule can be :ref:`ran manually ` anytime." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:374 +msgid "By default, a :guilabel:`Contact` rule exists to format and clean up the **Contacts** app records. Select the :guilabel:`Contact` record to make edits, or select the :guilabel:`New` button to create a new rule." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:378 +msgid "On the field cleaning rule form, first choose a :guilabel:`Model` for this rule to target. Selecting a model updates the rule title to the chosen model." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:381 +msgid "Next, configure at least one rule by clicking :guilabel:`Add a line` in the :guilabel:`Rules` section." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:384 +msgid "Upon doing so, a :guilabel:`Create Rules` popover window appears with the following fields to configure:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:387 +msgid "Select a :guilabel:`Field To Clean` from the model to assign to an action." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:388 +msgid "Choose one of the following :guilabel:`Action` options:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:390 +msgid ":guilabel:`Trim Spaces` reveals the :guilabel:`Trim` field to select the :guilabel:`All Spaces` or :guilabel:`Superfluous Spaces` option. Leading, trailing, and successive spaces are considered superfluous." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:395 +msgid "The contact name `Dr. John Doe` can be formatted with the following :guilabel:`Trim` options:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:398 +msgid ":guilabel:`All Spaces`: `DR.JohnDoe`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:399 +msgid ":guilabel:`Superfluous Spaces`: `DR. John Doe`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:401 +msgid ":guilabel:`Set Type Case` reveals the :guilabel:`Case` field to select either :guilabel:`First Letters to Uppercase`, :guilabel:`All Uppercase`, or :guilabel:`All Lowercase`." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:405 +msgid "The lead/opportunity title `lumber inc, Lorraine douglas` can be formatted with the following :guilabel:`Case` options:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:408 +msgid ":guilabel:`First Letters to Uppercase`: `Lumber Inc, Lorraine Douglas`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:409 +msgid ":guilabel:`All Uppercase`: `LUMBER INC, LORRAINE DOUGLAS`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:410 +msgid ":guilabel:`All Lowercase`: `lumber inc, lorraine douglas`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:412 +msgid ":guilabel:`Format Phone` converts the phone number to an international country format." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:415 +msgid "Belgium: `061928374` :icon:`fa-long-arrow-right` `+32 61 92 83 74`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:416 +msgid "United States: `800 555-0101` :icon:`fa-long-arrow-right` `+1 800-555-0101`" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:418 +msgid ":guilabel:`Scrap HTML` converts :abbr:`HTML (HyperText Markup Language)` to plain text." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:422 +msgid "HTML text" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:428 +msgid "Plain text" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:433 +msgid "Once a field and action are selected, click :guilabel:`Save` to close the :guilabel:`Create Rules` popover window." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:436 +msgid "Then, select a :guilabel:`Cleaning Mode`:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:438 +msgid ":guilabel:`Manual`: requires each detected field to be manually cleaned and enables the :guilabel:`Notify Users` field." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:440 +msgid ":guilabel:`Automatic`: automatically cleans fields without notifying users." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:442 +msgid "With the rule's configuration complete, either close the rule form, or :ref:`run the rule manually ` to instantly capture fields to clean." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:448 +msgid "Manually run a field cleaning rule" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:450 +msgid "To manually run a specific field cleaning rule at any time, navigate to :menuselection:`Data Cleaning app --> Configuration --> Field Cleaning`, and select the rule to run." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:453 +msgid "Then, on the rule form, select the :guilabel:`Clean` button on the top-left. Upon doing so, the :icon:`fa-bars` :guilabel:`Records` smart button displays the number of records captured." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:456 +msgid "Click on the :icon:`fa-bars` :guilabel:`Records` smart button to :ref:`manage these records `." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:462 msgid "Merge action manager" msgstr "" -#: ../../content/applications/productivity/data_cleaning.rst:339 -msgid "The :guilabel:`Merge Action Manager` (:menuselection:`Data Cleaning app --> Configuration --> Merge Action Manager`) enables or disables the *Merge* action available in the *Actions* menu for models in the database." +#: ../../content/applications/productivity/data_cleaning.rst:464 +msgid "The *Merge Action Manager* enables or disables the *Merge* action available in the *Actions* menu for models in the database." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:467 +msgid "Enable :ref:`developer-mode` and navigate to :menuselection:`Data Cleaning app --> Configuration --> Merge Action Manager`." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:470 +msgid "Models are listed with the following columns:" +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:472 +msgid ":guilabel:`Model`: technical name of the model." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:473 +msgid ":guilabel:`Model Description`: display name of the model." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:474 +msgid ":guilabel:`Type`: whether the model is of the *Base Object* or *Custom Object* type." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:475 +msgid ":guilabel:`Transient Model`: the model handles temporary data that does not need to be stored long-term in the database." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:477 +msgid ":guilabel:`Can Be Merged`: enables the *Merge* action for the model." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:479 +msgid "To view which models are enabled by default, use the :ref:`search bar ` to filter models that :guilabel:`Can Be Merged`." +msgstr "" + +#: ../../content/applications/productivity/data_cleaning.rst:483 +msgid ":doc:`../essentials/contacts/merge`" msgstr "" #: ../../content/applications/productivity/discuss.rst:6 diff --git a/locale/sources/sales.pot b/locale/sources/sales.pot index fe03a1e7c..796405615 100644 --- a/locale/sources/sales.pot +++ b/locale/sources/sales.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-01-28 08:10+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -5230,7 +5230,7 @@ msgid ":doc:`Enable multiple employees to log in. `" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration.rst:28 -msgid ":doc:`Connect and set up an IoT box. <../../general/iot/config/pos>`" +msgid ":doc:`Connect and set up an IoT sytem. `" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration.rst:29 @@ -5354,7 +5354,7 @@ msgid "Directly supported ePOS printers" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:27 -msgid "The following ePOS printers are directly compatible with Odoo without needing an :doc:`IoT Box `." +msgid "The following ePOS printers are directly compatible with Odoo without needing an :doc:`IoT system `." msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:30 @@ -5414,11 +5414,11 @@ msgid "Epson TM-P80 (Wi-Fi® model)" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:46 -msgid "ePOS printers with IoT Box integration" +msgid "ePOS printers with IoT system integration" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:48 -msgid "The following printers require an :doc:`IoT Box ` to be compatible with Odoo:" +msgid "The following printers require an :doc:`IoT system ` to be compatible with Odoo:" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:51 @@ -5434,15 +5434,15 @@ msgid "Epson TM-U220 family (incompatible ePOS software)" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:56 -msgid "Epson printers using Wi-Fi/Ethernet connections and following the `EPOS SDK Javascript protocol `_ are compatible with Odoo **without** needing an :doc:`IoT Box `." +msgid "Epson printers using Wi-Fi/Ethernet connections and following the `EPOS SDK Javascript protocol `_ are compatible with Odoo **without** needing an :doc:`IoT system `." msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:60 -msgid "Thermal printers using ESC/POS are compatible **with** an :doc:`IoT Box `." +msgid "Thermal printers using ESC/POS are compatible **with** an :doc:`IoT system `." msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:62 -msgid "Epson printers using only USB connections are compatible **with** an :doc:`IoT Box `." +msgid "Epson printers using only USB connections are compatible **with** an :doc:`IoT system `." msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_printers.rst:64 @@ -5463,7 +5463,7 @@ msgid "Self-signed certificate for ePOS printers" msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_ssc.rst:7 -msgid "To work with Odoo, some printer models that can be used without an :doc:`IoT box ` may require :doc:`the HTTPS protocol ` to establish a secure connection between the browser and the printer. However, trying to reach the printer's IP address using HTTPS leads to a warning page on most web browsers. In that case, you can temporarily :ref:`force the connection `, which allows you to reach the page in HTTPS and use the ePOS printer in Odoo as long as the browser window stays open." +msgid "To work with Odoo, some printer models that can be used without an :doc:`IoT system ` may require :doc:`the HTTPS protocol ` to establish a secure connection between the browser and the printer. However, trying to reach the printer's IP address using HTTPS leads to a warning page on most web browsers. In that case, you can temporarily :ref:`force the connection `, which allows you to reach the page in HTTPS and use the ePOS printer in Odoo as long as the browser window stays open." msgstr "" #: ../../content/applications/sales/point_of_sale/configuration/epos_ssc.rst:15 @@ -5850,6 +5850,112 @@ msgstr "" msgid "**Value**: `True`" msgstr "" +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:3 +msgid "IoT system connection" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:5 +msgid "To connect the POS with an :doc:`IoT system `:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:7 +msgid "Make sure both the Point of Sale and Internet of Things (IoT) apps are installed on your database." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:9 +msgid "Set up the :doc:`/applications/general/iot/iot_box` or :doc:`/applications/general/iot/windows_iot`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:11 +msgid "Connect the peripheral devices to the IoT system:" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:17 +msgid "Device" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:18 +msgid "Instructions" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:19 +msgid "Printer" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:20 +msgid "Connect a supported receipt printer to a :abbr:`USB (Universal Serial Bus)` port or to the network, and power it on. Refer to :doc:`../restaurant/kitchen_printing`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:22 +msgid "Cash drawer" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:23 +msgid "The cash drawer should be connected to the printer with an RJ25 cable." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:24 +msgid "Barcode scanner" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:25 +msgid "The barcode scanner must end barcodes with an `ENTER` character (keycode 28) in order for the barcode scanner to be compatible. This is most likely the barcode scanner's default configuration." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:28 +msgid "Scale" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:29 +msgid "Connect the scale and power it on. Refer to :doc:`/applications/general/iot/devices/scale`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:30 +#: ../../content/applications/sales/point_of_sale/preparation.rst:101 +#: ../../content/applications/sales/point_of_sale/shop/customer_display.rst:3 +msgid "Customer display" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:31 +msgid "Connect a screen to the :abbr:`IoT (Internet of Things)` box to display the :abbr:`PoS (Point of Sale)` order. Refer to :doc:`/applications/general/iot/devices/screen`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:33 +msgid "Payment terminal" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:34 +msgid "The connection process depends on the terminal. Refer to the :doc:`payment terminals documentation `." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:37 +msgid ":doc:`Connect the IoT system to your Odoo database `." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:38 +msgid ":ref:`Access the POS settings ` and select your POS, or click the vertical ellipsis button (:guilabel:`⋮`) on a POS card and click :guilabel:`Edit`. Scroll down to the :guilabel:`Connected Devices` section, enable :guilabel:`IoT Box`, then select the devices to be used for the POS. Click :guilabel:`Save`." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:44 +msgid "Click :guilabel:`IoT Devices` to access the list of :doc:`/applications/general/iot/devices` for your POS and view their connection status. Click a card to access the device's form." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:48 +msgid "`List of supported hardware `_." +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:49 +msgid ":doc:`IoT documentation `" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:54 +msgid "Setup example" +msgstr "" + +#: ../../content/applications/sales/point_of_sale/configuration/pos_iot.rst:-1 +msgid "A suggested configuration for a point of sale system." +msgstr "" + #: ../../content/applications/sales/point_of_sale/employee_login.rst:3 msgid "Multi-employee management" msgstr "" @@ -6148,7 +6254,7 @@ msgid "Connecting a payment terminal allows you to offer a fluid payment flow to msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:9 -msgid "Ingenico payment terminals require an :doc:`IoT Box `." +msgid "Ingenico payment terminals require an :doc:`IoT system `." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:10 @@ -6160,12 +6266,13 @@ msgid "Odoo works with the Ingenico Lane/, Desk/, and Move/ payment terminals as msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:18 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:27 #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:19 -msgid "Connect an IoT Box" +msgid "Connect an IoT system" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:20 -msgid "Connecting an Ingenico payment terminal to Odoo is a feature that requires an IoT Box. For more information on how to connect an IoT Box to your database, please refer to the :doc:`IoT documentation `." +msgid "Connecting an Ingenico payment terminal to Odoo is a feature that requires an IoT system. For more information on how to connect an IoT system to your database, please refer to the :doc:`IoT documentation `." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:25 @@ -6189,7 +6296,7 @@ msgid "Select :guilabel:`TCP/IP` and :guilabel:`IP-address`." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:32 -msgid "On the next screen, enter the IP address of your IoT Box." +msgid "On the next screen, enter the IP address of your IoT system." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:33 @@ -6197,7 +6304,7 @@ msgid "Enter `9000` as port number and press :guilabel:`OK` on the next screen." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:35 -msgid "At this point, the terminal restarts and should be displayed in your IoT Box form in Odoo." +msgid "At this point, the terminal restarts and should be displayed on the IoT system's form in Odoo." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/ingenico.rst:43 @@ -6441,12 +6548,8 @@ msgstr "" msgid "This module replaces the **POS Six** module." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:27 -msgid "Connect an IoT box" -msgstr "" - #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:29 -msgid "Connecting a Six payment terminal to Odoo is requires :doc:`using a Raspberry Pi or virtual (for Windows OS only) IoT box `." +msgid "Connecting a Six payment terminal to Odoo is requires :doc:`using an IoT system `." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:33 @@ -6454,7 +6557,7 @@ msgid "Configure the terminal ID" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:35 -msgid "Navigate to your IoT Box homepage, where you can find the :guilabel:`Six payment terminal` field once your database server is connected to the IoT box. Click :guilabel:`Configure`, fill in the :guilabel:`Terminal ID` field with the ID received from Six, and click :guilabel:`Connect`. Your Six terminal ID should appear in the :guilabel:`Current Terminal Id` section." +msgid "Navigate to the IoT system's homepage, where you can find the :guilabel:`Six payment terminal` field once your database server is connected to the IoT system. Click :guilabel:`Configure`, fill in the :guilabel:`Terminal ID` field with the ID received from Six, and click :guilabel:`Connect`. Your Six terminal ID should appear in the :guilabel:`Current Terminal Id` section." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:-1 @@ -6462,7 +6565,7 @@ msgid "Setting the Six terminal ID" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:43 -msgid "Odoo automatically restarts the IoT box when the Six terminal ID is configured. If your Six terminal is online, it will be automatically detected and connected to the database. Check the IoT box homepage under the :guilabel:`Payments` section to confirm the connection." +msgid "Odoo automatically restarts the IoT system when the Six terminal ID is configured. If your Six terminal is online, it will be automatically detected and connected to the database. Check the IoT system's homepage under the :guilabel:`Payments` section to confirm the connection." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/six.rst:-1 @@ -6812,7 +6915,7 @@ msgid "Odoo is compatible with Worldline terminals that use the CTEP protocol (e msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:21 -msgid "Connecting a Worldline Payment Terminal to Odoo is a feature that requires an IoT Box. For more information on how to connect one to your database, please refer to the :doc:`IoT documentation `." +msgid "Connecting a Worldline Payment Terminal to Odoo is a feature that requires an IoT system. For more information on how to connect one to your database, please refer to the :doc:`IoT documentation `." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:26 @@ -6840,7 +6943,7 @@ msgid "Hostname" msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:48 -msgid "To set up the hostname, enter your IoT box's IP address' sequence numbers and press **OK** at each \".\" until you reach the colon symbol." +msgid "To set up the hostname, enter your IoT system's IP address' sequence numbers and press **OK** at each \".\" until you reach the colon symbol." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:49 @@ -6856,19 +6959,19 @@ msgid "On the *Hostname screen*, type :menuselection:`10 --> OK --> 30 --> OK -- msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:57 -msgid "Your IoT box's IP address is available in your IoT Box application's database." +msgid "Your IoT system's IP address is available on the :ref:`IoT system's card in the IoT app `." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:60 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:61 msgid "Port number" msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:62 +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:63 msgid "On the *Port number* screen, enter **9001** (or **9050** for Windows) and click on :menuselection:`OK` (*ECR protocol SSL no*) :menuselection:`--> OK`. Click on **Stop** three times; the terminal automatically restarts." msgstr "" -#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:67 -msgid "For **Windows** IoT devices, it is necessary to add a firewall exception. Follow the :ref:`additional instructions in the Windows IoT documentation ` to add the exception to Windows Firewall." +#: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:68 +msgid "For the :doc:`Windows virtual IoT `, the `9050` port must be added as a :ref:`Windows Firewall exception `." msgstr "" #: ../../content/applications/sales/point_of_sale/payment_methods/terminals/worldline.rst:74 @@ -7071,11 +7174,6 @@ msgstr "" msgid "Click :icon:`fa-undo` :guilabel:`Recall` to move an order back to the previous stage if you mistakenly sent it to the next stage." msgstr "" -#: ../../content/applications/sales/point_of_sale/preparation.rst:101 -#: ../../content/applications/sales/point_of_sale/shop/customer_display.rst:3 -msgid "Customer display" -msgstr "" - #: ../../content/applications/sales/point_of_sale/preparation.rst:103 msgid "In parallel, click :guilabel:`Open customer display` to open the customer interface. This interface, designed for customers, provides an overview of orders that are:" msgstr "" @@ -8192,15 +8290,15 @@ msgid "From the :ref:`setup form `, select the :guilabe msgstr "" #: ../../content/applications/sales/point_of_sale/restaurant/kitchen_printing.rst:37 -msgid "If your printer is connected to an IoT box, select :guilabel:`Use a printer connected to the IoT Box` and select the device in the :guilabel:`IoT Device` field." +msgid "If your printer is connected to an IoT system, select :guilabel:`Use a printer connected to the IoT Box` and select the device in the :guilabel:`IoT Device` field." msgstr "" #: ../../content/applications/sales/point_of_sale/restaurant/kitchen_printing.rst:39 -msgid "If you use an Epson printer that does not need an IoT box, select :guilabel:`Use an Epson printer` and enter the printer's IP address in the :guilabel:`Epson Printer IP Address` field." +msgid "If you use an Epson printer that does not require an IoT system, select :guilabel:`Use an Epson printer` and enter the printer's IP address in the :guilabel:`Epson Printer IP Address` field." msgstr "" #: ../../content/applications/sales/point_of_sale/restaurant/kitchen_printing.rst:43 -msgid ":doc:`/applications/general/iot/config/connect`" +msgid ":doc:`/applications/general/iot/connect`" msgstr "" #: ../../content/applications/sales/point_of_sale/restaurant/kitchen_printing.rst:44 @@ -8434,7 +8532,7 @@ msgid "Connect a second screen to your POS and :ref:`open a POS session \n" "Language-Team: LANGUAGE \n" @@ -37,7 +37,7 @@ msgid ":doc:`Models `" msgstr "" #: ../../content/applications/studio.rst:24 -msgid ":doc:`Automated actions `" +msgid ":doc:`Automation rules `" msgstr "" #: ../../content/applications/studio.rst:25 @@ -73,7 +73,7 @@ msgid "Approval rules" msgstr "" #: ../../content/applications/studio/approval_rules.rst:5 -msgid "Studio approval rules are used to automate approval processes for actions. They allow you to define the criteria for when an approval is required before an action can be performed using a button." +msgid "Approval rules are used to automate approval processes for actions. They allow you to define the criteria for when an approval is required before an action can be performed using a button." msgstr "" #: ../../content/applications/studio/approval_rules.rst:9 @@ -81,7 +81,7 @@ msgid "Configuration" msgstr "" #: ../../content/applications/studio/approval_rules.rst:11 -msgid "To add approval rules, proceed as follows:" +msgid "To add approval rules with Studio, proceed as follows:" msgstr "" #: ../../content/applications/studio/approval_rules.rst:13 @@ -201,7 +201,7 @@ msgid "To create an automation rule with Studio, proceed as follows:" msgstr "" #: ../../content/applications/studio/automated_actions.rst:11 -msgid "Open Studio and click :guilabel:`Automations`, then :guilabel:`New`." +msgid ":ref:`Open Studio ` and click :guilabel:`Automations`, then :guilabel:`New`." msgstr "" #: ../../content/applications/studio/automated_actions.rst:12 @@ -413,7 +413,7 @@ msgid "You can also choose to :guilabel:`Log Calls` to record the payloads recei msgstr "" #: ../../content/applications/studio/automated_actions.rst:190 -msgid "Actions" +msgid "Actions To Do" msgstr "" #: ../../content/applications/studio/automated_actions.rst:192 diff --git a/locale/sources/websites.pot b/locale/sources/websites.pot index 39a52d3a2..60fc58406 100644 --- a/locale/sources/websites.pot +++ b/locale/sources/websites.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo 17.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-30 16:06+0000\n" +"POT-Creation-Date: 2025-02-20 12:15+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -4982,7 +4982,7 @@ msgid "Adding a CNAME DNS record to Cloudflare to redirect a www subdomain to an msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:227 -msgid "Define a redirect rule to permanently redirect (301) your naked domain (e.g., `yourdomain.com`) to both `http://` and `https://` by going to :menuselection:`Rules --> Redirect Rules --> Create rule`, and:" +msgid "Define a redirect rule to permanently redirect (301) your naked domain (e.g., `yourdomain.com`) to both `http://` and `https://` by going to :menuselection:`Rules --> Create rule --> Products`, and clicking :guilabel:`Create a Rule` under :guilabel:`Redirect Rules`:" msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:231 @@ -5014,7 +5014,7 @@ msgid ":guilabel:`Type`: Dynamic" msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:242 -msgid ":guilabel:`Expression`: e.g., `concat(\"https://www.yourdomain.com/\", http.request.uri.path)`" +msgid ":guilabel:`Expression`: e.g., `concat(\"https://www.yourdomain.com\", http.request.uri.path)`" msgstr "" #: ../../content/applications/websites/website/configuration/domain_names.rst:243