From 0e056a5c583179cf220b59f1888d089636fd886d Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Fri, 18 Nov 2022 11:05:45 +0100 Subject: [PATCH 1/4] [FIX] *: enforce 1 newline on files end --- .tx/config | 2 +- commit_template.txt | 2 +- content/administration/maintain/hosting_changes.rst | 1 - .../odoo_sh/advanced/frequent_technical_questions.rst | 1 - content/administration/upgrade.rst | 2 +- content/administration/upgrade/on_premise.rst | 2 +- content/applications/finance.rst | 2 +- .../finance/accounting/bank/feeds/bank_statements.rst | 2 +- content/applications/finance/accounting/bank/misc.rst | 2 +- .../applications/finance/accounting/bank/misc/interbank.rst | 2 +- .../applications/finance/accounting/bank/reconciliation.rst | 2 +- .../accounting/bank/reconciliation/reconciliation_models.rst | 2 +- .../finance/accounting/bank/reconciliation/use_cases.rst | 2 +- .../finance/accounting/bank/setup/foreign_currency.rst | 2 +- .../applications/finance/accounting/fiscal_localizations.rst | 2 +- .../fiscal_localizations/localizations/australia.rst | 2 +- .../fiscal_localizations/localizations/colombia_ES.rst | 2 +- .../accounting/fiscal_localizations/localizations/germany.rst | 2 +- .../fiscal_localizations/localizations/indonesia.rst | 2 +- .../fiscal_localizations/localizations/italy_IT.rst | 1 - .../accounting/fiscal_localizations/localizations/spain.rst | 1 - .../finance/accounting/fiscal_localizations/overview.rst | 2 +- .../overview/fiscal_localization_packages.rst | 2 +- .../fiscal_localizations/overview/localizations_list.rst | 2 +- .../getting_started/initial_configuration/setup.rst | 2 +- .../getting_started/process_overview/supplier_bill.rst | 2 +- content/applications/finance/accounting/others.rst | 2 +- content/applications/finance/accounting/others/adviser.rst | 2 +- .../applications/finance/accounting/others/adviser/budget.rst | 1 - .../finance/accounting/others/adviser/fiscalyear.rst~ | 2 +- content/applications/finance/accounting/others/analytic.rst | 2 +- content/applications/finance/accounting/payables/misc.rst | 2 +- .../applications/finance/accounting/payables/pay/multiple.rst | 2 +- .../finance/accounting/payables/supplier_bills/assets.rst | 2 +- .../accounting/payables/supplier_bills/deferred_expenses.rst | 2 +- .../payables/supplier_bills/invoice_digitization.rst | 2 +- .../receivables/customer_invoices/cash_discounts.rst | 2 +- .../receivables/customer_invoices/cash_rounding.rst | 2 +- .../receivables/customer_invoices/deferred_revenues.rst | 2 +- .../accounting/receivables/customer_invoices/epc_qr_code.rst | 2 +- .../accounting/receivables/customer_payments/batch.rst | 2 +- .../accounting/receivables/customer_payments/batch_sdd.rst | 2 +- .../accounting/receivables/customer_payments/check.rst | 2 +- content/applications/finance/accounting/reporting.rst | 2 +- .../finance/accounting/reporting/declarations.rst | 2 +- .../finance/accounting/reporting/declarations/intrastat.rst | 1 - .../finance/accounting/reporting/declarations/tax_returns.rst | 2 +- .../applications/finance/accounting/reporting/overview.rst | 2 +- .../accounting/reporting/overview/data_inalterability.rst | 2 +- content/applications/finance/accounting/taxation.rst | 2 +- .../applications/finance/accounting/taxation/fiscal_year.rst | 2 +- .../accounting/taxation/fiscal_year/close_fiscal_year.rst | 2 +- content/applications/finance/accounting/taxation/taxes.rst | 2 +- .../finance/accounting/taxation/taxes/default_taxes.rst | 2 +- .../finance/accounting/taxation/taxes/fiscal_positions.rst | 2 +- .../finance/accounting/taxation/taxes/taxcloud.rst | 2 +- .../applications/finance/accounting/taxation/taxes/taxes.rst | 2 +- .../finance/accounting/taxation/taxes/vat_validation.rst | 2 +- content/applications/finance/documents.rst | 2 +- .../applications/finance/payment_providers/wire_transfer.rst | 2 +- content/applications/finance/sign.rst | 2 +- content/applications/general/apps_modules.rst | 2 -- content/applications/general/calendars.rst | 2 +- .../general/calendars/outlook/outlook_calendar.rst | 2 +- content/applications/general/developer_mode.rst | 1 - .../applications/general/email_communication/email_domain.rst | 2 +- content/applications/general/email_communication/faq.rst | 2 +- content/applications/general/export_import_data.rst | 2 +- .../general/export_import_data/database_import_test.sql | 1 - content/applications/general/users.rst | 1 - content/applications/general/users/access_rights.rst | 2 +- content/applications/general/users/companies.rst | 2 +- content/applications/general/voip.rst | 2 +- content/applications/general/voip/asterisk.rst | 1 - content/applications/general/voip/axivox.rst | 2 +- content/applications/inventory_and_mrp/inventory/barcode.rst | 2 +- .../inventory/barcode/operations/adjustments.rst | 2 +- .../inventory/barcode/operations/barcode_nomenclature.rst | 2 +- .../inventory/barcode/operations/internal.rst | 2 +- .../inventory/barcode/operations/transfers_scratch.rst | 2 +- .../inventory_and_mrp/inventory/barcode/setup.rst | 2 +- .../inventory_and_mrp/inventory/barcode/setup/software.rst | 2 +- .../applications/inventory_and_mrp/inventory/management.rst | 2 +- .../inventory_and_mrp/inventory/management/delivery.rst | 2 +- .../inventory/management/delivery/dropshipping.rst | 2 +- .../inventory/management/delivery/inventory_flow.rst | 2 +- .../inventory/management/delivery/one_step.rst | 2 +- .../inventory/management/delivery/three_steps.rst | 2 +- .../inventory/management/delivery/two_steps.rst | 2 +- .../inventory_and_mrp/inventory/management/incoming.rst | 2 +- .../inventory/management/incoming/three_steps.rst | 2 +- .../inventory/management/inventory_adjustments.rst | 2 +- .../inventory/management/lots_serial_numbers.rst | 2 +- .../inventory/management/lots_serial_numbers/differences.rst | 2 +- .../management/lots_serial_numbers/serial_numbers.rst | 2 +- .../inventory/management/misc/batch_transfers.rst | 2 +- .../inventory/management/misc/owned_stock.rst | 2 +- .../inventory/management/planning/scheduled_dates.rst | 2 +- .../inventory_and_mrp/inventory/management/products.rst | 1 - .../inventory/management/replenishment_strategies.rst | 2 +- .../management/reporting/using_inventory_valuation.rst | 2 +- .../inventory_and_mrp/inventory/routes/concepts.rst | 2 +- .../inventory_and_mrp/inventory/shipping/operation.rst | 2 +- .../inventory_and_mrp/inventory/shipping/operation/cancel.rst | 2 +- .../inventory_and_mrp/inventory/shipping/operation/labels.rst | 2 +- .../inventory_and_mrp/inventory/shipping/setup.rst | 2 +- .../inventory/shipping/setup/dhl_credentials.rst | 2 +- .../inventory/shipping/setup/third_party_shipper.rst | 2 +- .../inventory_and_mrp/manufacturing/management.rst | 2 +- .../manufacturing/management/kit_shipping.rst | 2 +- .../manufacturing/management/quality_control.rst | 2 +- .../manufacturing/management/sub_assemblies.rst | 2 +- .../manufacturing/management/subcontracting.rst | 2 +- content/applications/inventory_and_mrp/purchase/advanced.rst | 2 +- .../inventory_and_mrp/purchase/advanced/analyze.rst | 2 +- .../inventory_and_mrp/purchase/manage_deals/agreements.rst | 2 +- .../inventory_and_mrp/purchase/manage_deals/control_bills.rst | 2 +- .../inventory_and_mrp/purchase/products/reordering.rst | 2 +- .../applications/inventory_and_mrp/purchase/products/uom.rst | 2 +- .../applications/marketing/marketing_automation/advanced.rst | 2 +- .../marketing_automation/advanced/understanding_metrics.rst | 2 +- content/applications/marketing/sms_marketing/pricing.rst | 2 +- .../marketing/sms_marketing/pricing/pricing_and_faq.rst | 2 +- content/applications/marketing/surveys/overview.rst | 2 +- content/applications/marketing/surveys/overview/scoring.rst | 1 - .../applications/marketing/surveys/overview/time_random.rst | 2 +- content/applications/productivity/discuss.rst | 2 +- .../productivity/discuss/overview/team_communication.rst | 2 +- content/applications/productivity/iot/config.rst | 2 +- content/applications/productivity/iot/devices/camera.rst | 2 +- content/applications/productivity/iot/devices/footswitch.rst | 2 +- content/applications/productivity/iot/devices/scale.rst | 2 +- content/applications/productivity/iot/devices/screen.rst | 2 +- content/applications/productivity/mail_plugins.rst | 2 +- content/applications/productivity/mail_plugins/gmail.rst | 2 +- content/applications/productivity/mail_plugins/outlook.rst | 2 +- content/applications/productivity/studio.rst | 2 +- .../applications/productivity/studio/automated_actions.rst | 2 +- content/applications/productivity/studio/fields.rst | 2 +- .../applications/productivity/studio/models_modules_apps.rst | 2 +- content/applications/productivity/studio/pdf_reports.rst | 2 +- content/applications/productivity/studio/views.rst | 2 +- content/applications/sales/crm/acquire_leads/convert.rst | 2 +- .../applications/sales/crm/acquire_leads/generate_leads.rst | 2 +- .../sales/crm/performance/google_spreadsheets.rst | 4 ---- .../point_of_sale/advanced_pricing_features/discounts.rst | 2 +- .../point_of_sale/advanced_pricing_features/pricelists.rst | 2 +- content/applications/sales/point_of_sale/overview/https.rst | 2 +- content/applications/sales/point_of_sale/payment/adyen.rst | 2 +- content/applications/sales/point_of_sale/payment/vantiv.rst | 2 +- .../applications/sales/point_of_sale/payment/worldline.rst | 2 -- .../sales/point_of_sale/restaurant/fiscal_position.rst | 2 +- .../sales/point_of_sale/restaurant/restaurant.rst | 2 +- .../applications/sales/point_of_sale/shop/multicashiers.rst | 2 +- content/applications/sales/point_of_sale/shop/sales_order.rst | 2 +- content/applications/sales/rental.rst | 2 +- content/applications/sales/sales/advanced.rst | 2 +- content/applications/sales/sales/amazon_connector.rst | 2 +- content/applications/sales/sales/ebay_connector.rst | 2 +- content/applications/sales/sales/invoicing/down_payment.rst | 2 +- .../applications/sales/sales/invoicing/invoicing_policy.rst | 2 +- content/applications/sales/sales/send_quotations/deadline.rst | 2 +- .../sales/sales/send_quotations/different_addresses.rst | 2 +- .../sales/sales/send_quotations/get_paid_to_validate.rst | 2 -- .../sales/sales/send_quotations/get_signature_to_validate.rst | 2 -- .../sales/sales/send_quotations/optional_products.rst | 2 +- .../subscriptions/configuration/subscription_products.rst | 2 +- content/applications/sales/subscriptions/follow_up.rst | 2 +- .../sales/subscriptions/follow_up/automatic_alerts.rst | 2 +- content/applications/sales/subscriptions/reporting.rst | 2 +- .../sales/subscriptions/reporting/subscription_reports.rst | 2 +- .../applications/sales/subscriptions/sales_flow/closing.rst | 2 +- .../applications/sales/subscriptions/sales_flow/upselling.rst | 2 +- content/applications/services/fsm/helpdesk.rst | 2 +- content/applications/services/fsm/helpdesk/plan_onsite.rst | 2 +- content/applications/services/fsm/sales.rst | 2 +- .../services/fsm/sales/onsite_tasks_from_sales_orders.rst | 2 +- content/applications/services/helpdesk/advanced.rst | 2 +- .../services/helpdesk/overview/forum_and_elearning.rst | 2 +- content/applications/services/helpdesk/overview/sla.rst | 2 +- content/applications/services/project/tasks.rst | 2 +- content/applications/services/project/tasks/email_alias.rst | 1 - content/applications/services/timesheets/overview.rst | 2 +- .../applications/services/timesheets/overview/time_off.rst | 2 +- content/applications/websites/ecommerce.rst | 1 - content/applications/websites/ecommerce/getting_started.rst | 1 - .../websites/ecommerce/getting_started/catalog.rst | 2 +- .../applications/websites/ecommerce/maximizing_revenue.rst | 4 ---- .../websites/ecommerce/maximizing_revenue/cross_selling.rst | 2 +- .../websites/ecommerce/maximizing_revenue/upselling.rst | 2 -- .../applications/websites/ecommerce/shopper_experience.rst | 4 ---- content/applications/websites/livechat/overview.rst | 2 +- .../applications/websites/livechat/overview/get_started.rst | 2 +- content/applications/websites/livechat/overview/ratings.rst | 2 +- content/applications/websites/website/optimize.rst | 3 --- content/applications/websites/website/publish.rst | 2 +- content/applications/websites/website/publish/translate.rst | 1 - content/contributing/documentation/content_guidelines.rst | 2 +- content/developer/api/extract_api.rst | 2 +- content/developer/api/extract_api/implementation.py | 2 +- content/developer/howtos/rdtraining/K_dashboard.rst | 2 +- content/developer/reference/frontend/assets.rst | 1 - content/developer/reference/frontend/framework_overview.rst | 2 +- content/developer/reference/frontend/icons_library.rst | 2 +- content/developer/reference/frontend/javascript_modules.rst | 2 +- content/developer/reference/frontend/patching_code.rst | 2 +- .../reference/standard_modules/account/account_report.rst | 2 +- content/legal/cla.rst | 1 - content/legal/licenses/enterprise_license.txt | 2 +- content/legal/terms/i18n/enterprise_de.rst | 1 - content/legal/terms/i18n/enterprise_nl.rst | 1 - content/legal/terms/i18n/terms_of_sale_fr.rst | 2 +- content/legal/terms/odoo_sh_terms.rst | 2 +- content/legal/terms/partnership.rst | 3 --- content/legal/terms/terms_of_sale.rst | 1 - extensions/odoo_theme/layout_templates/changelog.html | 2 +- extensions/odoo_theme/layout_templates/menu.html | 2 +- extensions/odoo_theme/static/scss/bootstrap_overridden.scss | 1 - redirects/11.0.txt | 2 +- redirects/12.0.txt | 2 +- 220 files changed, 188 insertions(+), 238 deletions(-) diff --git a/.tx/config b/.tx/config index a0ec1e17e9..960da32bc8 100644 --- a/.tx/config +++ b/.tx/config @@ -60,4 +60,4 @@ source_lang = en [odoo-16-doc.websites] file_filter = locale//LC_MESSAGES/websites.po source_file = locale/sources/websites.pot -source_lang = en \ No newline at end of file +source_lang = en diff --git a/commit_template.txt b/commit_template.txt index bfdf50ef45..6ccfa99ef3 100644 --- a/commit_template.txt +++ b/commit_template.txt @@ -16,4 +16,4 @@ # [REM] = Removal # [REF] = Refactoring (restructuring) # [MOV] = Move/rename -# \ No newline at end of file +# diff --git a/content/administration/maintain/hosting_changes.rst b/content/administration/maintain/hosting_changes.rst index 27fb32df0e..9749ccb5a9 100644 --- a/content/administration/maintain/hosting_changes.rst +++ b/content/administration/maintain/hosting_changes.rst @@ -85,4 +85,3 @@ From Odoo.sh to on-premises 1. Grab a :ref:`backup of your Odoo.sh production database `. 2. Restore it from the database manager on your local server. - diff --git a/content/administration/odoo_sh/advanced/frequent_technical_questions.rst b/content/administration/odoo_sh/advanced/frequent_technical_questions.rst index 7685f14ee1..f91e0aa4f5 100644 --- a/content/administration/odoo_sh/advanced/frequent_technical_questions.rst +++ b/content/administration/odoo_sh/advanced/frequent_technical_questions.rst @@ -29,4 +29,3 @@ We advise that: - Your scheduled actions should be `idempotent `_: they must not cause side-effects if they are started more often than expected. - diff --git a/content/administration/upgrade.rst b/content/administration/upgrade.rst index 6676a2c7db..b3bb337a49 100644 --- a/content/administration/upgrade.rst +++ b/content/administration/upgrade.rst @@ -254,4 +254,4 @@ Agreement ` page. .. seealso:: - :doc:`upgrade/faq` - :doc:`odoo_sh` - - :doc:`maintain/supported_versions` \ No newline at end of file + - :doc:`maintain/supported_versions` diff --git a/content/administration/upgrade/on_premise.rst b/content/administration/upgrade/on_premise.rst index 3383b2a129..d295b7cda6 100644 --- a/content/administration/upgrade/on_premise.rst +++ b/content/administration/upgrade/on_premise.rst @@ -56,4 +56,4 @@ Depending on your contract, the upgrade of your custom modules can be done #. by yourself. #. by your Partner. -#. by Odoo (if you hold a subscription to 'Maintenance of Customizations'). \ No newline at end of file +#. by Odoo (if you hold a subscription to 'Maintenance of Customizations'). diff --git a/content/applications/finance.rst b/content/applications/finance.rst index 1d268abbf4..46ea1e52d8 100644 --- a/content/applications/finance.rst +++ b/content/applications/finance.rst @@ -11,4 +11,4 @@ Finance finance/expenses finance/documents finance/sign - finance/payment_providers \ No newline at end of file + finance/payment_providers diff --git a/content/applications/finance/accounting/bank/feeds/bank_statements.rst b/content/applications/finance/accounting/bank/feeds/bank_statements.rst index 90b7843009..b1f29f9b66 100644 --- a/content/applications/finance/accounting/bank/feeds/bank_statements.rst +++ b/content/applications/finance/accounting/bank/feeds/bank_statements.rst @@ -59,4 +59,4 @@ transaction written on the original bank statement. .. note:: The **Ending Balance** and the **Computed Balance** should have the same amount. If this is not - the case, make sure there are no mistakes in the transactions’ amounts. \ No newline at end of file + the case, make sure there are no mistakes in the transactions’ amounts. diff --git a/content/applications/finance/accounting/bank/misc.rst b/content/applications/finance/accounting/bank/misc.rst index 7b95a017a1..b40facacae 100644 --- a/content/applications/finance/accounting/bank/misc.rst +++ b/content/applications/finance/accounting/bank/misc.rst @@ -7,4 +7,4 @@ Miscellaneous .. toctree:: :titlesonly: - misc/interbank \ No newline at end of file + misc/interbank diff --git a/content/applications/finance/accounting/bank/misc/interbank.rst b/content/applications/finance/accounting/bank/misc/interbank.rst index ef40643a4e..6bfc12d884 100644 --- a/content/applications/finance/accounting/bank/misc/interbank.rst +++ b/content/applications/finance/accounting/bank/misc/interbank.rst @@ -144,4 +144,4 @@ Bank journal entry - $1,000 * - Bank Account (BANK B) - **$1,000** - - \ No newline at end of file + - diff --git a/content/applications/finance/accounting/bank/reconciliation.rst b/content/applications/finance/accounting/bank/reconciliation.rst index 0cfb8f1327..5d23402ea9 100644 --- a/content/applications/finance/accounting/bank/reconciliation.rst +++ b/content/applications/finance/accounting/bank/reconciliation.rst @@ -8,4 +8,4 @@ Bank reconciliation :titlesonly: reconciliation/use_cases - reconciliation/reconciliation_models \ No newline at end of file + reconciliation/reconciliation_models diff --git a/content/applications/finance/accounting/bank/reconciliation/reconciliation_models.rst b/content/applications/finance/accounting/bank/reconciliation/reconciliation_models.rst index 4786d51121..6190524afc 100644 --- a/content/applications/finance/accounting/bank/reconciliation/reconciliation_models.rst +++ b/content/applications/finance/accounting/bank/reconciliation/reconciliation_models.rst @@ -126,4 +126,4 @@ line*. - :doc:`use_cases` - :doc:`../feeds/bank_synchronization` - - :doc:`../../receivables/customer_invoices/cash_discounts` \ No newline at end of file + - :doc:`../../receivables/customer_invoices/cash_discounts` diff --git a/content/applications/finance/accounting/bank/reconciliation/use_cases.rst b/content/applications/finance/accounting/bank/reconciliation/use_cases.rst index 65b90fc738..88b81101fa 100644 --- a/content/applications/finance/accounting/bank/reconciliation/use_cases.rst +++ b/content/applications/finance/accounting/bank/reconciliation/use_cases.rst @@ -102,4 +102,4 @@ right and validate all related payments : :align: center .. seealso:: - * :doc:`../feeds/bank_synchronization` \ No newline at end of file + * :doc:`../feeds/bank_synchronization` diff --git a/content/applications/finance/accounting/bank/setup/foreign_currency.rst b/content/applications/finance/accounting/bank/setup/foreign_currency.rst index fd188f141b..4f8a60d02b 100644 --- a/content/applications/finance/accounting/bank/setup/foreign_currency.rst +++ b/content/applications/finance/accounting/bank/setup/foreign_currency.rst @@ -114,4 +114,4 @@ gains/losses** have been adjusted. .. image:: foreign_currency/foreign-adjustment.png :align: center - :alt: Unrealized Currency Gains/Losses report once adjusted. \ No newline at end of file + :alt: Unrealized Currency Gains/Losses report once adjusted. diff --git a/content/applications/finance/accounting/fiscal_localizations.rst b/content/applications/finance/accounting/fiscal_localizations.rst index e7260411ff..d243dfdea4 100644 --- a/content/applications/finance/accounting/fiscal_localizations.rst +++ b/content/applications/finance/accounting/fiscal_localizations.rst @@ -8,4 +8,4 @@ Fiscal localizations :titlesonly: fiscal_localizations/overview - fiscal_localizations/localizations \ No newline at end of file + fiscal_localizations/localizations diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/australia.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/australia.rst index ab580196b9..d5e0192819 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/australia.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/australia.rst @@ -73,4 +73,4 @@ The accounts used by KeyPay are defined in the section **Payroll settings**. For the API to work, you need to create the same accounts as the default accounts of your KeyPay business (**same name and same code**) in Odoo. You also need to choose the correct account types in -Odoo to generate accurate financial reports. \ No newline at end of file +Odoo to generate accurate financial reports. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/colombia_ES.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/colombia_ES.rst index 4619083070..bcadc94fa3 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/colombia_ES.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/colombia_ES.rst @@ -599,4 +599,4 @@ Medidas en Odoo - Los productos que fueron actualizados deberá ser reconfigurados a su IVA original. - En caso de que se detecte alguna Orden de venta facturar en la cual se incluya IVA de Bienes - Cubiertos, se deberá realizar actualización manual correspondiente al IVA convencional. \ No newline at end of file + Cubiertos, se deberá realizar actualización manual correspondiente al IVA convencional. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst index b72ed84795..73acbca0ea 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst @@ -330,4 +330,4 @@ What happens if you are not compliant? -------------------------------------- In the event of an infringement, you can expect a fine but also a court order demanding the -implementation of specific measures. \ No newline at end of file +implementation of specific measures. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/indonesia.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/indonesia.rst index 9a813a67e5..a90f7caa8c 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/indonesia.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/indonesia.rst @@ -125,4 +125,4 @@ Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur and re-assign a new serial number. .. image:: indonesia/indonesia-e-faktur-reset.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/italy_IT.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/italy_IT.rst index 72e8392e9b..214ba0772b 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/italy_IT.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/italy_IT.rst @@ -128,4 +128,3 @@ cliccare su invia. Il documento verrà poi mostrato tra gli allegati. .. image:: italy_IT/italy_IT06.png :align: center - diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst index 806c22fcb9..5cdded2402 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst @@ -28,4 +28,3 @@ If the Spanish Accounting Localization is installed, you will have access to acc - Tax Report (Modelo 111) - Tax Report (Modelo 115) - Tax Report (Modelo 303) - diff --git a/content/applications/finance/accounting/fiscal_localizations/overview.rst b/content/applications/finance/accounting/fiscal_localizations/overview.rst index eb42578265..60a71e538d 100644 --- a/content/applications/finance/accounting/fiscal_localizations/overview.rst +++ b/content/applications/finance/accounting/fiscal_localizations/overview.rst @@ -8,4 +8,4 @@ Overview :titlesonly: overview/fiscal_localization_packages - overview/localizations_list \ No newline at end of file + overview/localizations_list diff --git a/content/applications/finance/accounting/fiscal_localizations/overview/fiscal_localization_packages.rst b/content/applications/finance/accounting/fiscal_localizations/overview/fiscal_localization_packages.rst index 1998f22b4e..b37217ff93 100644 --- a/content/applications/finance/accounting/fiscal_localizations/overview/fiscal_localization_packages.rst +++ b/content/applications/finance/accounting/fiscal_localizations/overview/fiscal_localization_packages.rst @@ -41,4 +41,4 @@ Please refer to the documentation listed below for more information. - :doc:`../../getting_started/initial_configuration/chart_of_accounts` - :doc:`../../taxation/taxes/taxes` -.. todo:: update list of linked docs, and link with the future one about country-specific statements. \ No newline at end of file +.. todo:: update list of linked docs, and link with the future one about country-specific statements. diff --git a/content/applications/finance/accounting/fiscal_localizations/overview/localizations_list.rst b/content/applications/finance/accounting/fiscal_localizations/overview/localizations_list.rst index 279eb585ad..fbf9da9fe6 100644 --- a/content/applications/finance/accounting/fiscal_localizations/overview/localizations_list.rst +++ b/content/applications/finance/accounting/fiscal_localizations/overview/localizations_list.rst @@ -83,4 +83,4 @@ Fiscal localization packages available - Vietnam - Accounting .. seealso:: - - :doc:`fiscal_localization_packages` \ No newline at end of file + - :doc:`fiscal_localization_packages` diff --git a/content/applications/finance/accounting/getting_started/initial_configuration/setup.rst b/content/applications/finance/accounting/getting_started/initial_configuration/setup.rst index e4582bc5bb..98e65a36d5 100644 --- a/content/applications/finance/accounting/getting_started/initial_configuration/setup.rst +++ b/content/applications/finance/accounting/getting_started/initial_configuration/setup.rst @@ -191,4 +191,4 @@ Send yourself a sample invoice by email to make sure everything is correctly con * :doc:`chart_of_accounts` * :doc:`../../bank/feeds/bank_synchronization` * :doc:`../../fiscal_localizations/overview/fiscal_localization_packages` - * `Odoo Tutorials: Accounting Basics `_ \ No newline at end of file + * `Odoo Tutorials: Accounting Basics `_ diff --git a/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst b/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst index 581a18d0f0..5c34c137f3 100644 --- a/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst +++ b/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst @@ -141,4 +141,4 @@ while you're looking through the report, you can print directly to Excel or PDF and get exactly what you see on the screen. .. seealso:: - * :doc:`customer_invoice` \ No newline at end of file + * :doc:`customer_invoice` diff --git a/content/applications/finance/accounting/others.rst b/content/applications/finance/accounting/others.rst index d0e8bc0f39..39d093e618 100644 --- a/content/applications/finance/accounting/others.rst +++ b/content/applications/finance/accounting/others.rst @@ -10,4 +10,4 @@ Others others/multi_currency others/analytic others/adviser - others/inventory \ No newline at end of file + others/inventory diff --git a/content/applications/finance/accounting/others/adviser.rst b/content/applications/finance/accounting/others/adviser.rst index 1ed22d51d8..a1ef7134c5 100644 --- a/content/applications/finance/accounting/others/adviser.rst +++ b/content/applications/finance/accounting/others/adviser.rst @@ -7,4 +7,4 @@ Adviser .. toctree:: :titlesonly: - adviser/budget \ No newline at end of file + adviser/budget diff --git a/content/applications/finance/accounting/others/adviser/budget.rst b/content/applications/finance/accounting/others/adviser/budget.rst index 6d3e05ada0..fee9f74701 100644 --- a/content/applications/finance/accounting/others/adviser/budget.rst +++ b/content/applications/finance/accounting/others/adviser/budget.rst @@ -155,4 +155,3 @@ purchase lines booked in the accounts and will display them in the is 1200 for 12 months (january to december), and today is 31 of january, the theoretical amount will be 100, since this is the actual amount that could have been realised. - diff --git a/content/applications/finance/accounting/others/adviser/fiscalyear.rst~ b/content/applications/finance/accounting/others/adviser/fiscalyear.rst~ index e18a2f590e..8e376bb620 100644 --- a/content/applications/finance/accounting/others/adviser/fiscalyear.rst~ +++ b/content/applications/finance/accounting/others/adviser/fiscalyear.rst~ @@ -1,3 +1,3 @@ ===================================================== How to do a year end in Odoo? (close a fiscal year) -===================================================== \ No newline at end of file +===================================================== diff --git a/content/applications/finance/accounting/others/analytic.rst b/content/applications/finance/accounting/others/analytic.rst index b9c0998ae0..21dbe2dcb0 100644 --- a/content/applications/finance/accounting/others/analytic.rst +++ b/content/applications/finance/accounting/others/analytic.rst @@ -9,4 +9,4 @@ Analytic analytic/usage analytic/timesheets - analytic/purchases_expenses \ No newline at end of file + analytic/purchases_expenses diff --git a/content/applications/finance/accounting/payables/misc.rst b/content/applications/finance/accounting/payables/misc.rst index d3a7029801..05541760a7 100644 --- a/content/applications/finance/accounting/payables/misc.rst +++ b/content/applications/finance/accounting/payables/misc.rst @@ -7,4 +7,4 @@ Miscellaneous .. toctree:: :titlesonly: - misc/forecast \ No newline at end of file + misc/forecast diff --git a/content/applications/finance/accounting/payables/pay/multiple.rst b/content/applications/finance/accounting/payables/pay/multiple.rst index 0f1e72b251..65e251bc92 100644 --- a/content/applications/finance/accounting/payables/pay/multiple.rst +++ b/content/applications/finance/accounting/payables/pay/multiple.rst @@ -48,4 +48,4 @@ sure to apply the :doc:`payment terms <../../receivables/customer_invoices/payme **bills** *instead* of the invoices. .. seealso:: - :doc:`../../receivables/customer_invoices/payment_terms` \ No newline at end of file + :doc:`../../receivables/customer_invoices/payment_terms` diff --git a/content/applications/finance/accounting/payables/supplier_bills/assets.rst b/content/applications/finance/accounting/payables/supplier_bills/assets.rst index 28210e3d70..f76425a45e 100644 --- a/content/applications/finance/accounting/payables/supplier_bills/assets.rst +++ b/content/applications/finance/accounting/payables/supplier_bills/assets.rst @@ -253,4 +253,4 @@ You have three choices for the **Automate Assets** field: fully automate its purchase. (see: :ref:`product-assets-account`). .. seealso:: - * :doc:`../../getting_started/initial_configuration/chart_of_accounts` \ No newline at end of file + * :doc:`../../getting_started/initial_configuration/chart_of_accounts` diff --git a/content/applications/finance/accounting/payables/supplier_bills/deferred_expenses.rst b/content/applications/finance/accounting/payables/supplier_bills/deferred_expenses.rst index 720d6138aa..955c64c5e2 100644 --- a/content/applications/finance/accounting/payables/supplier_bills/deferred_expenses.rst +++ b/content/applications/finance/accounting/payables/supplier_bills/deferred_expenses.rst @@ -192,4 +192,4 @@ You have three choices for the **Automate Deferred Expense** field: products`_). .. seealso:: - * :doc:`../../getting_started/initial_configuration/chart_of_accounts` \ No newline at end of file + * :doc:`../../getting_started/initial_configuration/chart_of_accounts` diff --git a/content/applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst b/content/applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst index 54083434d2..a64f196925 100644 --- a/content/applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst +++ b/content/applications/finance/accounting/payables/supplier_bills/invoice_digitization.rst @@ -94,4 +94,4 @@ and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo .. seealso:: - `Our Privacy Policy `_ - - :doc:`/applications/general/in_app_purchase` \ No newline at end of file + - :doc:`/applications/general/in_app_purchase` diff --git a/content/applications/finance/accounting/receivables/customer_invoices/cash_discounts.rst b/content/applications/finance/accounting/receivables/customer_invoices/cash_discounts.rst index afa0048c0b..be1d3c7780 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/cash_discounts.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/cash_discounts.rst @@ -65,4 +65,4 @@ match the payment with the two related journal entries. .. seealso:: * :doc:`../../receivables/customer_invoices/payment_terms` - * :doc:`../../bank/reconciliation/reconciliation_models` \ No newline at end of file + * :doc:`../../bank/reconciliation/reconciliation_models` diff --git a/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst b/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst index 427b85d223..fe1e73b49f 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst @@ -37,4 +37,4 @@ Apply roundings When editing a draft invoice, open the *Other Info* tab, go to the *Accounting Information* section, and select the appropriate *Cash -Rounding Method*. \ No newline at end of file +Rounding Method*. diff --git a/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst b/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst index ee96882ef7..32e7c32022 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst @@ -192,4 +192,4 @@ You have three choices for the **Automate Deferred Revenue** field: .. seealso:: * :doc:`../../getting_started/initial_configuration/chart_of_accounts` - * `Odoo Academy: Deferred Revenues (Recognition) `_ \ No newline at end of file + * `Odoo Academy: Deferred Revenues (Recognition) `_ diff --git a/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst b/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst index f57c5fb6f0..70d05fe5e2 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst @@ -62,4 +62,4 @@ the EPC QR Code. .. seealso:: * :doc:`../../bank/setup/bank_accounts` - * `Odoo Academy: QR Code on Invoices for European Customers `_ \ No newline at end of file + * `Odoo Academy: QR Code on Invoices for European Customers `_ diff --git a/content/applications/finance/accounting/receivables/customer_payments/batch.rst b/content/applications/finance/accounting/receivables/customer_payments/batch.rst index c2b43d05a0..0ad316542d 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/batch.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/batch.rst @@ -97,4 +97,4 @@ payment before validating the bank reconciliation. .. seealso:: - :doc:`recording` - - :doc:`batch_sdd` \ No newline at end of file + - :doc:`batch_sdd` diff --git a/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst b/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst index d707954d6a..fcae042c47 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst @@ -146,4 +146,4 @@ Finally, upload this file to your online banking interface to process the paymen * :doc:`../../bank/setup/bank_accounts` * `Odoo Academy: SEPA Direct Debit Mandates (SDD) `_ * `List of all SEPA countries - `_ \ No newline at end of file + `_ diff --git a/content/applications/finance/accounting/receivables/customer_payments/check.rst b/content/applications/finance/accounting/receivables/customer_payments/check.rst index 8811e9c6c3..7c7a722070 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/check.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/check.rst @@ -148,4 +148,4 @@ received or paid by the bank. (this report is available from the **More** option from the Accounting dashboard on the related bank account). .. image:: check/check01.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/finance/accounting/reporting.rst b/content/applications/finance/accounting/reporting.rst index 88e33295e6..a288ac20a5 100644 --- a/content/applications/finance/accounting/reporting.rst +++ b/content/applications/finance/accounting/reporting.rst @@ -8,4 +8,4 @@ Reporting :titlesonly: reporting/overview - reporting/declarations \ No newline at end of file + reporting/declarations diff --git a/content/applications/finance/accounting/reporting/declarations.rst b/content/applications/finance/accounting/reporting/declarations.rst index 52eb4b2009..d9073d2c41 100644 --- a/content/applications/finance/accounting/reporting/declarations.rst +++ b/content/applications/finance/accounting/reporting/declarations.rst @@ -8,4 +8,4 @@ Declarations :titlesonly: declarations/tax_returns - declarations/intrastat \ No newline at end of file + declarations/intrastat diff --git a/content/applications/finance/accounting/reporting/declarations/intrastat.rst b/content/applications/finance/accounting/reporting/declarations/intrastat.rst index efdf890750..1238756cd0 100644 --- a/content/applications/finance/accounting/reporting/declarations/intrastat.rst +++ b/content/applications/finance/accounting/reporting/declarations/intrastat.rst @@ -26,4 +26,3 @@ Go to :menuselection:`Accounting --> Settings --> Customer Invoices`, then enabl ` the ``account_intrastat`` module to add the new transaction codes and :ref:`install ` the ``account_intrastat_expiry`` module to archive the old codes. - diff --git a/content/applications/finance/accounting/reporting/declarations/tax_returns.rst b/content/applications/finance/accounting/reporting/declarations/tax_returns.rst index a8681f1ea9..6522271e00 100644 --- a/content/applications/finance/accounting/reporting/declarations/tax_returns.rst +++ b/content/applications/finance/accounting/reporting/declarations/tax_returns.rst @@ -122,4 +122,4 @@ with the amount you have to pay or be refunded. .. seealso:: * :doc:`../../taxation/taxes/taxes` * :doc:`../../getting_started/initial_configuration/setup` - * :doc:`../../fiscal_localizations/overview/fiscal_localization_packages` \ No newline at end of file + * :doc:`../../fiscal_localizations/overview/fiscal_localization_packages` diff --git a/content/applications/finance/accounting/reporting/overview.rst b/content/applications/finance/accounting/reporting/overview.rst index 137d0d1119..edfb4fe95e 100644 --- a/content/applications/finance/accounting/reporting/overview.rst +++ b/content/applications/finance/accounting/reporting/overview.rst @@ -10,4 +10,4 @@ Overview overview/main_reports overview/customize overview/data_inalterability - overview/tax_carryover \ No newline at end of file + overview/tax_carryover diff --git a/content/applications/finance/accounting/reporting/overview/data_inalterability.rst b/content/applications/finance/accounting/reporting/overview/data_inalterability.rst index e53fcde215..3d20738b14 100644 --- a/content/applications/finance/accounting/reporting/overview/data_inalterability.rst +++ b/content/applications/finance/accounting/reporting/overview/data_inalterability.rst @@ -60,4 +60,4 @@ corresponding hash. .. image:: data_inalterability/data-consistency-check.png :align: center - :alt: Data consistency check report for a journal \ No newline at end of file + :alt: Data consistency check report for a journal diff --git a/content/applications/finance/accounting/taxation.rst b/content/applications/finance/accounting/taxation.rst index e374d5cade..7226512418 100644 --- a/content/applications/finance/accounting/taxation.rst +++ b/content/applications/finance/accounting/taxation.rst @@ -8,4 +8,4 @@ Taxation :titlesonly: taxation/taxes - taxation/fiscal_year \ No newline at end of file + taxation/fiscal_year diff --git a/content/applications/finance/accounting/taxation/fiscal_year.rst b/content/applications/finance/accounting/taxation/fiscal_year.rst index bf47e661a3..ee28c71d4c 100644 --- a/content/applications/finance/accounting/taxation/fiscal_year.rst +++ b/content/applications/finance/accounting/taxation/fiscal_year.rst @@ -8,4 +8,4 @@ Fiscal year :titlesonly: fiscal_year/fiscal_year - fiscal_year/close_fiscal_year \ No newline at end of file + fiscal_year/close_fiscal_year diff --git a/content/applications/finance/accounting/taxation/fiscal_year/close_fiscal_year.rst b/content/applications/finance/accounting/taxation/fiscal_year/close_fiscal_year.rst index 435d43ba26..4f1178e20a 100644 --- a/content/applications/finance/accounting/taxation/fiscal_year/close_fiscal_year.rst +++ b/content/applications/finance/accounting/taxation/fiscal_year/close_fiscal_year.rst @@ -90,4 +90,4 @@ whether or not the current year earnings in the **Balance Sheet** is correctly reporting a 0 balance. .. seealso:: - * :doc:`fiscal_year` \ No newline at end of file + * :doc:`fiscal_year` diff --git a/content/applications/finance/accounting/taxation/taxes.rst b/content/applications/finance/accounting/taxation/taxes.rst index f82b78393c..b1b1176154 100644 --- a/content/applications/finance/accounting/taxation/taxes.rst +++ b/content/applications/finance/accounting/taxation/taxes.rst @@ -16,4 +16,4 @@ Taxes taxes/retention taxes/B2B_B2C taxes/cash_basis_taxes - taxes/vat_validation \ No newline at end of file + taxes/vat_validation diff --git a/content/applications/finance/accounting/taxation/taxes/default_taxes.rst b/content/applications/finance/accounting/taxation/taxes/default_taxes.rst index dd7bb12d59..01a6a506f5 100644 --- a/content/applications/finance/accounting/taxation/taxes/default_taxes.rst +++ b/content/applications/finance/accounting/taxation/taxes/default_taxes.rst @@ -37,4 +37,4 @@ To change your **Default Taxes**, go to :menuselection:`Accounting --> Configura - :doc:`taxes` - :doc:`fiscal_positions` - - :doc:`../../fiscal_localizations/overview/fiscal_localization_packages` \ No newline at end of file + - :doc:`../../fiscal_localizations/overview/fiscal_localization_packages` diff --git a/content/applications/finance/accounting/taxation/taxes/fiscal_positions.rst b/content/applications/finance/accounting/taxation/taxes/fiscal_positions.rst index 00521fbb4d..38d59da16d 100644 --- a/content/applications/finance/accounting/taxation/taxes/fiscal_positions.rst +++ b/content/applications/finance/accounting/taxation/taxes/fiscal_positions.rst @@ -108,4 +108,4 @@ To manually select which Fiscal Position to use for a new Sales Order, Invoice, * :doc:`taxes` * :doc:`taxcloud` - * :doc:`B2B_B2C` \ No newline at end of file + * :doc:`B2B_B2C` diff --git a/content/applications/finance/accounting/taxation/taxes/taxcloud.rst b/content/applications/finance/accounting/taxation/taxes/taxcloud.rst index 9073e9a524..452038994b 100644 --- a/content/applications/finance/accounting/taxation/taxes/taxcloud.rst +++ b/content/applications/finance/accounting/taxation/taxes/taxcloud.rst @@ -148,4 +148,4 @@ the tax computation is correct. Indeed, a 3.5% tax on the full price is the equi on half the price, but this might be unexpected from a user point of view. .. seealso:: - :doc:`fiscal_positions` \ No newline at end of file + :doc:`fiscal_positions` diff --git a/content/applications/finance/accounting/taxation/taxes/taxes.rst b/content/applications/finance/accounting/taxation/taxes/taxes.rst index b6e44576c4..d9ea97a641 100644 --- a/content/applications/finance/accounting/taxation/taxes/taxes.rst +++ b/content/applications/finance/accounting/taxation/taxes/taxes.rst @@ -279,4 +279,4 @@ directly to a product line. - :doc:`fiscal_positions` - :doc:`B2B_B2C` - :doc:`taxcloud` - - :doc:`../../reporting/declarations/tax_returns` \ No newline at end of file + - :doc:`../../reporting/declarations/tax_returns` diff --git a/content/applications/finance/accounting/taxation/taxes/vat_validation.rst b/content/applications/finance/accounting/taxation/taxes/vat_validation.rst index ec4660e76f..ee67a008b9 100644 --- a/content/applications/finance/accounting/taxation/taxes/vat_validation.rst +++ b/content/applications/finance/accounting/taxation/taxes/vat_validation.rst @@ -40,4 +40,4 @@ VAT number is invalid. .. seealso:: - - `European Commission: VIES search engine `__ \ No newline at end of file + - `European Commission: VIES search engine `__ diff --git a/content/applications/finance/documents.rst b/content/applications/finance/documents.rst index 4d1b682a33..a0073aae69 100644 --- a/content/applications/finance/documents.rst +++ b/content/applications/finance/documents.rst @@ -120,4 +120,4 @@ Select the *Actions* tab to set up your action. You can simultaneously: .. image:: documents/workflow-action-example.png :align: center - :alt: Example of a workflow action Odoo Documents \ No newline at end of file + :alt: Example of a workflow action Odoo Documents diff --git a/content/applications/finance/payment_providers/wire_transfer.rst b/content/applications/finance/payment_providers/wire_transfer.rst index 3534906fd1..111ef888a0 100644 --- a/content/applications/finance/payment_providers/wire_transfer.rst +++ b/content/applications/finance/payment_providers/wire_transfer.rst @@ -36,4 +36,4 @@ check. To do so, just rename *Wire Transfer* or duplicate it. :align: center .. seealso:: - - :doc:`../payment_providers` \ No newline at end of file + - :doc:`../payment_providers` diff --git a/content/applications/finance/sign.rst b/content/applications/finance/sign.rst index f189cd938d..c2b4d43a80 100644 --- a/content/applications/finance/sign.rst +++ b/content/applications/finance/sign.rst @@ -118,4 +118,4 @@ before it is completed. .. image:: sign/tip-placeholder.png :align: center - :alt: Tip and placeholder example in Odoo Sign \ No newline at end of file + :alt: Tip and placeholder example in Odoo Sign diff --git a/content/applications/general/apps_modules.rst b/content/applications/general/apps_modules.rst index 65fa37032b..2e872518d6 100644 --- a/content/applications/general/apps_modules.rst +++ b/content/applications/general/apps_modules.rst @@ -72,5 +72,3 @@ To complete the uninstallation, click on *Confirm*. .. danger:: Uninstalling an app also uninstalls all its dependencies and permanently erases their data. - - diff --git a/content/applications/general/calendars.rst b/content/applications/general/calendars.rst index 1397eace2d..a427656f20 100644 --- a/content/applications/general/calendars.rst +++ b/content/applications/general/calendars.rst @@ -8,4 +8,4 @@ Calendars :titlesonly: calendars/outlook/outlook_calendar - calendars/google/google_calendar_credentials \ No newline at end of file + calendars/google/google_calendar_credentials diff --git a/content/applications/general/calendars/outlook/outlook_calendar.rst b/content/applications/general/calendars/outlook/outlook_calendar.rst index 8f19c0b376..1fa858d29b 100644 --- a/content/applications/general/calendars/outlook/outlook_calendar.rst +++ b/content/applications/general/calendars/outlook/outlook_calendar.rst @@ -101,4 +101,4 @@ The synchronization is a two-way process, meaning that events are reconciled in .. seealso:: - :doc:`../../../productivity/mail_plugins/outlook` - - :doc:`../google/google_calendar_credentials` \ No newline at end of file + - :doc:`../google/google_calendar_credentials` diff --git a/content/applications/general/developer_mode.rst b/content/applications/general/developer_mode.rst index 0a01bbefe1..e603e2803c 100644 --- a/content/applications/general/developer_mode.rst +++ b/content/applications/general/developer_mode.rst @@ -78,4 +78,3 @@ It contains some useful menu items such as: .. image:: developer_mode/button_location.png :align: center :alt: Overview of a console page and the debug icon being shown in Odoo - diff --git a/content/applications/general/email_communication/email_domain.rst b/content/applications/general/email_communication/email_domain.rst index 40d4932b17..e31d936e14 100644 --- a/content/applications/general/email_communication/email_domain.rst +++ b/content/applications/general/email_communication/email_domain.rst @@ -160,4 +160,4 @@ the System Parameters of the database: `_. You access the **System Parameters** in :ref:`developer mode ` in the :menuselection:`Settings --> -Technical --> Parameters --> System Parameters` menu. \ No newline at end of file +Technical --> Parameters --> System Parameters` menu. diff --git a/content/applications/general/email_communication/faq.rst b/content/applications/general/email_communication/faq.rst index 71fa2d9b8d..a1a5722956 100644 --- a/content/applications/general/email_communication/faq.rst +++ b/content/applications/general/email_communication/faq.rst @@ -171,4 +171,4 @@ of what can be helpful: - Is it a generic issue or is it specific to a use case? If yes, which one exactly? - Is it working as expected? In case the email is sent using Odoo, the bounce email should reach - the Odoo database and display the :ref:`red envelope `. \ No newline at end of file + the Odoo database and display the :ref:`red envelope `. diff --git a/content/applications/general/export_import_data.rst b/content/applications/general/export_import_data.rst index 286e77d860..1ff3a2e5d2 100644 --- a/content/applications/general/export_import_data.rst +++ b/content/applications/general/export_import_data.rst @@ -408,4 +408,4 @@ import the records of the related object first from their own list menu. You can do it using either the name of the related record or its ID. The ID is expected when two records have the same name. In such a case add " / ID" at the end of the column title -(e.g. for product attributes: Product Attributes / Attribute / ID). \ No newline at end of file +(e.g. for product attributes: Product Attributes / Attribute / ID). diff --git a/content/applications/general/export_import_data/database_import_test.sql b/content/applications/general/export_import_data/database_import_test.sql index 1f79179145..1319cce392 100644 --- a/content/applications/general/export_import_data/database_import_test.sql +++ b/content/applications/general/export_import_data/database_import_test.sql @@ -152,4 +152,3 @@ ALTER TABLE ONLY persons -- -- PostgreSQL database dump complete -- - diff --git a/content/applications/general/users.rst b/content/applications/general/users.rst index a378105a63..b40297b95e 100644 --- a/content/applications/general/users.rst +++ b/content/applications/general/users.rst @@ -17,4 +17,3 @@ can be applied. Users and access rights can be added and changed at any point. users/language users/access_rights users/companies - diff --git a/content/applications/general/users/access_rights.rst b/content/applications/general/users/access_rights.rst index 8439f24c50..0f03b3f240 100644 --- a/content/applications/general/users/access_rights.rst +++ b/content/applications/general/users/access_rights.rst @@ -64,4 +64,4 @@ is the technical name given to a model. For each model, enable the following opt .. important:: Making changes in access rights can have a big impact on the database. For this reason, we recommend you to contact your Odoo Business Analyst or our Support Team, unless you have - knowledge about Domains in Odoo. \ No newline at end of file + knowledge about Domains in Odoo. diff --git a/content/applications/general/users/companies.rst b/content/applications/general/users/companies.rst index f65af0e19f..0c70d31f87 100644 --- a/content/applications/general/users/companies.rst +++ b/content/applications/general/users/companies.rst @@ -131,4 +131,4 @@ at an invoice/bills level or at a sales/purchase orders level. .. seealso:: - :doc:`Multi-company Guidelines ` - - :doc:`../../finance/accounting/others/multi_currency` \ No newline at end of file + - :doc:`../../finance/accounting/others/multi_currency` diff --git a/content/applications/general/voip.rst b/content/applications/general/voip.rst index c30eb4e4a1..1a354d0962 100644 --- a/content/applications/general/voip.rst +++ b/content/applications/general/voip.rst @@ -9,4 +9,4 @@ VoIP (Voice over Internet Protocol) voip/asterisk voip/onsip - voip/axivox \ No newline at end of file + voip/axivox diff --git a/content/applications/general/voip/asterisk.rst b/content/applications/general/voip/asterisk.rst index a677ac872e..2182872714 100644 --- a/content/applications/general/voip/asterisk.rst +++ b/content/applications/general/voip/asterisk.rst @@ -222,4 +222,3 @@ The configuration should also be done in the General Settings under the "Integra - The PBX Server IP should be the same as the IP you define in the http.conf file. - The WebSocket should be: ws://localhost:XXXX/ws where "localhost" needs to be the same as the IP defined previously and "XXXX" needs to be the port defined in the http.conf file. - diff --git a/content/applications/general/voip/axivox.rst b/content/applications/general/voip/axivox.rst index 96c5428a98..8ccc52b052 100644 --- a/content/applications/general/voip/axivox.rst +++ b/content/applications/general/voip/axivox.rst @@ -83,4 +83,4 @@ You can also receive phone calls. Odoo rings and displays a notification. .. image:: axivox/incorrect-number.png :align: center - :alt: "Incorrect Number" error message in the Odoo softphone \ No newline at end of file + :alt: "Incorrect Number" error message in the Odoo softphone diff --git a/content/applications/inventory_and_mrp/inventory/barcode.rst b/content/applications/inventory_and_mrp/inventory/barcode.rst index e0ffd5ef4d..da8a21a52c 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode.rst @@ -9,4 +9,4 @@ Barcodes :glob: barcode/setup - barcode/operations \ No newline at end of file + barcode/operations diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/adjustments.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/adjustments.rst index da3223ab34..de4b52b484 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/operations/adjustments.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/adjustments.rst @@ -45,4 +45,4 @@ When you have scanned all the items of the location, validate the inventory manually or scan the *Validate* barcode. .. image:: adjustments/adjustments_06.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst index 61930db662..d84bac12ff 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst @@ -81,4 +81,4 @@ Rule Types .. note:: When the barcode pattern contains .*, it means that it can contain any - number of characters, those characters being any number. \ No newline at end of file + number of characters, those characters being any number. diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst index fd1649dd26..92209ed822 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/internal.rst @@ -99,4 +99,4 @@ ways of working: - If you have the same lot/serial number for different products, you can work by scanning the product barcode first, and then the barcode of the lot/serial number. .. image:: internal/internal_10.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/transfers_scratch.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/transfers_scratch.rst index d491df67b6..eb1cb86be1 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/operations/transfers_scratch.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/transfers_scratch.rst @@ -14,4 +14,4 @@ document. Then, an empty document will be created and you will be able to scan your products to populate it. .. image:: transfers_scratch/transfers_scratch_02.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/barcode/setup.rst b/content/applications/inventory_and_mrp/inventory/barcode/setup.rst index 0e839601bd..5c56cf3ffc 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/setup.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/setup.rst @@ -9,4 +9,4 @@ Setup :glob: setup/hardware - setup/software \ No newline at end of file + setup/software diff --git a/content/applications/inventory_and_mrp/inventory/barcode/setup/software.rst b/content/applications/inventory_and_mrp/inventory/barcode/setup/software.rst index 29ee3a98aa..7e99e5413c 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/setup/software.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/setup/software.rst @@ -66,4 +66,4 @@ proper authorization. You must pay the International Article Numbering Association a fee in exchange for an EAN code sequence. Still, as Odoo supports any string as a barcode, you can always define -your own barcode format for internal use. \ No newline at end of file +your own barcode format for internal use. diff --git a/content/applications/inventory_and_mrp/inventory/management.rst b/content/applications/inventory_and_mrp/inventory/management.rst index 5a2414a033..6221e40e98 100644 --- a/content/applications/inventory_and_mrp/inventory/management.rst +++ b/content/applications/inventory_and_mrp/inventory/management.rst @@ -17,4 +17,4 @@ Warehouse Management management/misc management/planning management/lots_serial_numbers - management/reporting \ No newline at end of file + management/reporting diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery.rst b/content/applications/inventory_and_mrp/inventory/management/delivery.rst index 274c69083b..85390259a1 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery.rst @@ -13,4 +13,4 @@ Delivery Orders delivery/two_steps delivery/three_steps delivery/dropshipping - delivery/label_type \ No newline at end of file + delivery/label_type diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst index b2542318c7..463285d88e 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst @@ -106,4 +106,4 @@ You can also easily access the dropship document directly from your inventory dashboard. .. image:: dropshipping/dropshipping_08.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/inventory_flow.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/inventory_flow.rst index 0675dd7115..2c9009230e 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/inventory_flow.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/inventory_flow.rst @@ -49,4 +49,4 @@ Please read documentation on :doc:`two_steps` Three steps flow ---------------- -Please read documentation on :doc:`three_steps` \ No newline at end of file +Please read documentation on :doc:`three_steps` diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/one_step.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/one_step.rst index d193b449fa..e713bc5a6e 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/one_step.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/one_step.rst @@ -52,4 +52,4 @@ can easily see that the delivery took place thanks to the status of the document which is now *Done*. .. image:: one_step/one_step_05.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst index d7228a7935..d99778abe0 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst @@ -101,4 +101,4 @@ transfer the products to the customer location. :align: center .. image:: three_steps/three_steps_10.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst index ce1634298a..b7f3b38508 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst @@ -89,4 +89,4 @@ the delivery order. :align: center .. image:: two_steps/two_steps_09.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/incoming.rst b/content/applications/inventory_and_mrp/inventory/management/incoming.rst index 8324cfc08c..56437d738f 100644 --- a/content/applications/inventory_and_mrp/inventory/management/incoming.rst +++ b/content/applications/inventory_and_mrp/inventory/management/incoming.rst @@ -11,4 +11,4 @@ Incoming Shipments incoming/handle_receipts incoming/one_step incoming/two_steps - incoming/three_steps \ No newline at end of file + incoming/three_steps diff --git a/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst b/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst index ef0693154d..c8a056a9b9 100644 --- a/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst @@ -106,4 +106,4 @@ validated in order to transfer the products to your stock location. .. image:: three_steps/three_steps_09.png :align: center - :alt: View of the move (internal transfer) from the quality control area to the stock \ No newline at end of file + :alt: View of the move (internal transfer) from the quality control area to the stock diff --git a/content/applications/inventory_and_mrp/inventory/management/inventory_adjustments.rst b/content/applications/inventory_and_mrp/inventory/management/inventory_adjustments.rst index 45ff61a4df..5d25330b3b 100644 --- a/content/applications/inventory_and_mrp/inventory/management/inventory_adjustments.rst +++ b/content/applications/inventory_and_mrp/inventory/management/inventory_adjustments.rst @@ -8,4 +8,4 @@ Inventory adjustments :titlesonly: inventory_adjustments/count_products - inventory_adjustments/cycle_counts \ No newline at end of file + inventory_adjustments/cycle_counts diff --git a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers.rst b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers.rst index 6660712b87..ffb92513f9 100644 --- a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers.rst +++ b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers.rst @@ -11,4 +11,4 @@ Lots and Serial Numbers lots_serial_numbers/differences lots_serial_numbers/serial_numbers lots_serial_numbers/lots - lots_serial_numbers/expiration_dates \ No newline at end of file + lots_serial_numbers/expiration_dates diff --git a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst index 4785c5ad4d..693eeee2a6 100644 --- a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst +++ b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/differences.rst @@ -44,4 +44,4 @@ number on bread, for instance, makes no sense at all. .. seealso:: * :doc:`serial_numbers` - * :doc:`lots` \ No newline at end of file + * :doc:`lots` diff --git a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst index 6df5aecbd5..9003817d8f 100644 --- a/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst +++ b/content/applications/inventory_and_mrp/inventory/management/lots_serial_numbers/serial_numbers.rst @@ -144,4 +144,4 @@ the *Location* button available on the serial number form. :align: center .. image:: serial_numbers/serial_numbers_15.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst b/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst index 586f754e22..35a58260a3 100644 --- a/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst +++ b/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst @@ -121,4 +121,4 @@ button. :alt: View of a ready and completed batch transfer inside of the Odoo Barcode application Once all the products have been picked, click on *Validate* (on the -last page) to mark the batch transfer as done. \ No newline at end of file +last page) to mark the batch transfer as done. diff --git a/content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst b/content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst index b438d6b3f9..38c94b5e80 100644 --- a/content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst +++ b/content/applications/inventory_and_mrp/inventory/management/misc/owned_stock.rst @@ -42,4 +42,4 @@ Once the receipt is validated, the products enter your stock but still belong to the owner. They don’t impact your inventory valuation. .. image:: owned_stock/owned_stock_03.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst b/content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst index 72f6446516..fc7a6cb5c8 100644 --- a/content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst +++ b/content/applications/inventory_and_mrp/inventory/management/planning/scheduled_dates.rst @@ -257,4 +257,4 @@ a scenario, here is when all the various steps are triggered. 3 days of manufacturing lead time - 2 days of security lead time for Manufacturing) - **September 19th**: the expected date on the delivery order form (1 day - of security lead time for sales) \ No newline at end of file + of security lead time for sales) diff --git a/content/applications/inventory_and_mrp/inventory/management/products.rst b/content/applications/inventory_and_mrp/inventory/management/products.rst index c98aae7796..393a034dd7 100644 --- a/content/applications/inventory_and_mrp/inventory/management/products.rst +++ b/content/applications/inventory_and_mrp/inventory/management/products.rst @@ -11,4 +11,3 @@ Products products/uom products/usage products/strategies - diff --git a/content/applications/inventory_and_mrp/inventory/management/replenishment_strategies.rst b/content/applications/inventory_and_mrp/inventory/management/replenishment_strategies.rst index 73f7314c6c..c27d0049f0 100644 --- a/content/applications/inventory_and_mrp/inventory/management/replenishment_strategies.rst +++ b/content/applications/inventory_and_mrp/inventory/management/replenishment_strategies.rst @@ -8,4 +8,4 @@ Replenishment strategies :titlesonly: :glob: - replenishment_strategies/virtual_warehouses \ No newline at end of file + replenishment_strategies/virtual_warehouses diff --git a/content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst b/content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst index 43c05802bf..af2a4c21f8 100644 --- a/content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst +++ b/content/applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation.rst @@ -74,4 +74,4 @@ button *Inventory At Date*, you can have the same information for a past date. .. image:: using_inventory_valuation/use_inventory_valuation_06.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/inventory/routes/concepts.rst b/content/applications/inventory_and_mrp/inventory/routes/concepts.rst index 473570f342..242c7c7823 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/concepts.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/concepts.rst @@ -11,4 +11,4 @@ Concepts concepts/use_routes concepts/inter_warehouse concepts/cross_dock - concepts/stock_warehouses \ No newline at end of file + concepts/stock_warehouses diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation.rst index 49b06027d2..433e4957b3 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation.rst @@ -11,4 +11,4 @@ Shipping Operations operation/invoicing operation/multipack operation/labels - operation/cancel \ No newline at end of file + operation/cancel diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst index 6388a2e2f6..e70d174927 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst @@ -48,4 +48,4 @@ will get a new tracking number and a new label. .. seealso:: * :doc:`invoicing` - * :doc:`multipack` \ No newline at end of file + * :doc:`multipack` diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst index 6547d19362..ab03ef3272 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst @@ -113,4 +113,4 @@ Click on it to open the document and print it : .. seealso:: * :doc:`invoicing` - * :doc:`multipack` \ No newline at end of file + * :doc:`multipack` diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup.rst index 25ca7c2946..c5a76d657e 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup.rst @@ -11,4 +11,4 @@ Shipping Setup setup/delivery_method setup/third_party_shipper setup/ups_credentials - setup/dhl_credentials \ No newline at end of file + setup/dhl_credentials diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst index a86610e766..56eabee3c9 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/dhl_credentials.rst @@ -19,4 +19,4 @@ You should contact DHL account manager and request integration for XML Express A Getting SiteID and Password for United States ============================================== -You need to write to xmlrequests@dhl.com along with your full Account details like account number, region, address, etc. to get API Access. \ No newline at end of file +You need to write to xmlrequests@dhl.com along with your full Account details like account number, region, address, etc. to get API Access. diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst index e263b799a0..200a0bd6ce 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst @@ -156,4 +156,4 @@ underneath : .. seealso:: * :doc:`../operation/invoicing` - * :doc:`../operation/labels` \ No newline at end of file + * :doc:`../operation/labels` diff --git a/content/applications/inventory_and_mrp/manufacturing/management.rst b/content/applications/inventory_and_mrp/manufacturing/management.rst index e7e9655434..f28e381c70 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management.rst @@ -14,4 +14,4 @@ Manufacturing Management management/quality_control management/alternative_wc management/subcontracting - management/use_mps \ No newline at end of file + management/use_mps diff --git a/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst b/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst index 37ccbde91e..e85041bdc1 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst @@ -84,4 +84,4 @@ remains available on the form view of your manufacturing order. :align: center Finally, note that if there were any Operations in the Kit BOM, these would also simply be added -in to the work order list of the main component. \ No newline at end of file +in to the work order list of the main component. diff --git a/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst b/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst index ee8186334a..8f6f35eae8 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst @@ -25,4 +25,4 @@ you need to select the 'Receipts' Operation type. For the rest, the same princip By doing so, a quality check is automatically created each time a finished product is made and/or received. Note that several Quality Check *Types* can be chosen from the dropdown. Note also that several Quality -Check Points can be set up for the same Operation Type. \ No newline at end of file +Check Points can be set up for the same Operation Type. diff --git a/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst b/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst index 3123bd3091..b3cdb21929 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst @@ -57,4 +57,4 @@ In any case, as soon as the semi-finished product is produced, it will become available in the manufacturing order of the final product, as shown below. .. image:: sub_assemblies/sf_4.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst b/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst index 7a56f9857e..8c3d921750 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst @@ -211,4 +211,4 @@ Alternatively, you can also manually ask your vendor to resupply your subcontrac by creating a dropship type PO, with your subcontractor set as the delivery address. .. image:: subcontracting/sbc_10.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/inventory_and_mrp/purchase/advanced.rst b/content/applications/inventory_and_mrp/purchase/advanced.rst index 4c2bbee756..eebf0c8baf 100644 --- a/content/applications/inventory_and_mrp/purchase/advanced.rst +++ b/content/applications/inventory_and_mrp/purchase/advanced.rst @@ -7,4 +7,4 @@ Advanced .. toctree:: :titlesonly: - advanced/analyze \ No newline at end of file + advanced/analyze diff --git a/content/applications/inventory_and_mrp/purchase/advanced/analyze.rst b/content/applications/inventory_and_mrp/purchase/advanced/analyze.rst index 09937bc3d6..9568c180c6 100644 --- a/content/applications/inventory_and_mrp/purchase/advanced/analyze.rst +++ b/content/applications/inventory_and_mrp/purchase/advanced/analyze.rst @@ -119,4 +119,4 @@ group's **+** sign, you can add a sub-group, and so on. .. tip:: You can insert your pivot table's data directly in the Spreadsheet app or export it as an Excel - file. \ No newline at end of file + file. diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/agreements.rst b/content/applications/inventory_and_mrp/purchase/manage_deals/agreements.rst index 85e46fd924..4841ad9b49 100644 --- a/content/applications/inventory_and_mrp/purchase/manage_deals/agreements.rst +++ b/content/applications/inventory_and_mrp/purchase/manage_deals/agreements.rst @@ -150,4 +150,4 @@ one. .. image:: agreements/agreements-confirm-order.png :align: center - :alt: Confirm an order in Odoo Purchase \ No newline at end of file + :alt: Confirm an order in Odoo Purchase diff --git a/content/applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst b/content/applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst index bdb6f50cbf..3026137e4f 100644 --- a/content/applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst +++ b/content/applications/inventory_and_mrp/purchase/manage_deals/control_bills.rst @@ -107,4 +107,4 @@ Once the payment has been registered and mentions *Paid*, the *Should Be Paid* s .. tip:: The *Should Be Paid* status is set automatically by Odoo. However, you can change the status - manually when you are viewing a bill in edit mode. \ No newline at end of file + manually when you are viewing a bill in edit mode. diff --git a/content/applications/inventory_and_mrp/purchase/products/reordering.rst b/content/applications/inventory_and_mrp/purchase/products/reordering.rst index 2959cdea9c..fb2900e8b8 100644 --- a/content/applications/inventory_and_mrp/purchase/products/reordering.rst +++ b/content/applications/inventory_and_mrp/purchase/products/reordering.rst @@ -93,4 +93,4 @@ multiple. select your *Preferred Route* on your reordering rule by clicking on the optional columns drop-down menu, adding the *Preferred Route* column, and selecting the right route. -.. Add link when inventory doc on replenishment is updated for v14. .. seealso:: - :doc:`../../..inventory/xxx/xxx` \ No newline at end of file +.. Add link when inventory doc on replenishment is updated for v14. .. seealso:: - :doc:`../../..inventory/xxx/xxx` diff --git a/content/applications/inventory_and_mrp/purchase/products/uom.rst b/content/applications/inventory_and_mrp/purchase/products/uom.rst index a287611444..32509a694d 100644 --- a/content/applications/inventory_and_mrp/purchase/products/uom.rst +++ b/content/applications/inventory_and_mrp/purchase/products/uom.rst @@ -113,4 +113,4 @@ You can now configure your product just as you would using Odoo's standard units .. image:: uom/uom-product-configuration-new-units.png :align: center - :alt: Set a product's units of measure using your own units in Odoo Purchase \ No newline at end of file + :alt: Set a product's units of measure using your own units in Odoo Purchase diff --git a/content/applications/marketing/marketing_automation/advanced.rst b/content/applications/marketing/marketing_automation/advanced.rst index 5dcde38d16..dc524d6815 100644 --- a/content/applications/marketing/marketing_automation/advanced.rst +++ b/content/applications/marketing/marketing_automation/advanced.rst @@ -7,4 +7,4 @@ Advanced .. toctree:: :titlesonly: - advanced/understanding_metrics \ No newline at end of file + advanced/understanding_metrics diff --git a/content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst b/content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst index 07a5912561..78bf0a4b05 100644 --- a/content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst +++ b/content/applications/marketing/marketing_automation/advanced/understanding_metrics.rst @@ -73,4 +73,4 @@ for the last 15 days. .. note:: Every time a new record is added to the *Target* model, it will be automatically added to the - workflow, and, it will start the workflow from the beginning (parent action). \ No newline at end of file + workflow, and, it will start the workflow from the beginning (parent action). diff --git a/content/applications/marketing/sms_marketing/pricing.rst b/content/applications/marketing/sms_marketing/pricing.rst index dfd05afe97..c539a6f713 100644 --- a/content/applications/marketing/sms_marketing/pricing.rst +++ b/content/applications/marketing/sms_marketing/pricing.rst @@ -7,4 +7,4 @@ Pricing and FAQ .. toctree:: :titlesonly: - pricing/pricing_and_faq \ No newline at end of file + pricing/pricing_and_faq diff --git a/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst b/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst index fdbfeadc7f..5bb1457fe5 100644 --- a/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst +++ b/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst @@ -133,4 +133,4 @@ More common questions #. **Can I use my own SMS provider?** Yes, but it is not possible out of the box. Our experts can help you customize your database - to make it happen. Please, check our success packs `here `_. \ No newline at end of file + to make it happen. Please, check our success packs `here `_. diff --git a/content/applications/marketing/surveys/overview.rst b/content/applications/marketing/surveys/overview.rst index 864ceb09d9..79efd9d71c 100644 --- a/content/applications/marketing/surveys/overview.rst +++ b/content/applications/marketing/surveys/overview.rst @@ -9,4 +9,4 @@ Overview overview/create overview/scoring - overview/time_random \ No newline at end of file + overview/time_random diff --git a/content/applications/marketing/surveys/overview/scoring.rst b/content/applications/marketing/surveys/overview/scoring.rst index eaabf686d8..3d79347019 100644 --- a/content/applications/marketing/surveys/overview/scoring.rst +++ b/content/applications/marketing/surveys/overview/scoring.rst @@ -33,4 +33,3 @@ can also see the granted badges. .. seealso:: - :doc:`time_random` - diff --git a/content/applications/marketing/surveys/overview/time_random.rst b/content/applications/marketing/surveys/overview/time_random.rst index f84174b50e..5a956c720c 100644 --- a/content/applications/marketing/surveys/overview/time_random.rst +++ b/content/applications/marketing/surveys/overview/time_random.rst @@ -31,4 +31,4 @@ Selection :alt: View of a survey form emphasizing the random questions count column in Odoo Surveys .. seealso:: - - :doc:`scoring` \ No newline at end of file + - :doc:`scoring` diff --git a/content/applications/productivity/discuss.rst b/content/applications/productivity/discuss.rst index 58a590acb3..07f007892c 100644 --- a/content/applications/productivity/discuss.rst +++ b/content/applications/productivity/discuss.rst @@ -11,4 +11,4 @@ Discuss :titlesonly: discuss/overview - discuss/advanced \ No newline at end of file + discuss/advanced diff --git a/content/applications/productivity/discuss/overview/team_communication.rst b/content/applications/productivity/discuss/overview/team_communication.rst index 45cd6da5e2..2cdfefee24 100644 --- a/content/applications/productivity/discuss/overview/team_communication.rst +++ b/content/applications/productivity/discuss/overview/team_communication.rst @@ -113,4 +113,4 @@ Finding channels .. seealso:: - :doc:`get_started` - - :doc:`plan_activities` \ No newline at end of file + - :doc:`plan_activities` diff --git a/content/applications/productivity/iot/config.rst b/content/applications/productivity/iot/config.rst index e946005716..13eae51fb2 100644 --- a/content/applications/productivity/iot/config.rst +++ b/content/applications/productivity/iot/config.rst @@ -11,4 +11,4 @@ Configuration config/connect config/pos config/flash_sdcard - config/troubleshooting \ No newline at end of file + config/troubleshooting diff --git a/content/applications/productivity/iot/devices/camera.rst b/content/applications/productivity/iot/devices/camera.rst index e6ea0e1336..2061e2c1c3 100644 --- a/content/applications/productivity/iot/devices/camera.rst +++ b/content/applications/productivity/iot/devices/camera.rst @@ -42,4 +42,4 @@ the manufacturing process, reaching the *Quality Control Point* you chose before will allow you to take a picture. .. image:: camera/camera_04.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/productivity/iot/devices/footswitch.rst b/content/applications/productivity/iot/devices/footswitch.rst index c7b9c699a8..c30e3347b4 100644 --- a/content/applications/productivity/iot/devices/footswitch.rst +++ b/content/applications/productivity/iot/devices/footswitch.rst @@ -39,4 +39,4 @@ example, automatically skip the current part of the process you work on. .. note:: When you are on the work order screen, a status button indicates if you - are correctly connected to the footswitch. \ No newline at end of file + are correctly connected to the footswitch. diff --git a/content/applications/productivity/iot/devices/scale.rst b/content/applications/productivity/iot/devices/scale.rst index 6270424263..6ecf1ae7bd 100644 --- a/content/applications/productivity/iot/devices/scale.rst +++ b/content/applications/productivity/iot/devices/scale.rst @@ -52,4 +52,4 @@ product and add the correct price to the cart. .. image:: scale/scale-view.png :align: center - :alt: Electronic Scale dashboard view when no items are being weighed. \ No newline at end of file + :alt: Electronic Scale dashboard view when no items are being weighed. diff --git a/content/applications/productivity/iot/devices/screen.rst b/content/applications/productivity/iot/devices/screen.rst index 350edc8c3f..a6583c14ca 100644 --- a/content/applications/productivity/iot/devices/screen.rst +++ b/content/applications/productivity/iot/devices/screen.rst @@ -97,4 +97,4 @@ Display a website ~~~~~~~~~~~~~~~~~ Opening the screen form view at :menuselection:`IoT --> Devices --> (screen device)` allows the user -to choose a particular website URL to display on the screen with the :guilabel:`Screen URL` field. \ No newline at end of file +to choose a particular website URL to display on the screen with the :guilabel:`Screen URL` field. diff --git a/content/applications/productivity/mail_plugins.rst b/content/applications/productivity/mail_plugins.rst index 1545e15298..6ab2c8b8f3 100644 --- a/content/applications/productivity/mail_plugins.rst +++ b/content/applications/productivity/mail_plugins.rst @@ -54,4 +54,4 @@ select a package. .. seealso:: - :doc:`../general/in_app_purchase` - - `Odoo Tutorials: Lead Enrichment `_ \ No newline at end of file + - `Odoo Tutorials: Lead Enrichment `_ diff --git a/content/applications/productivity/mail_plugins/gmail.rst b/content/applications/productivity/mail_plugins/gmail.rst index f5686629eb..2ded2a6707 100644 --- a/content/applications/productivity/mail_plugins/gmail.rst +++ b/content/applications/productivity/mail_plugins/gmail.rst @@ -92,4 +92,4 @@ Configure your Gmail mailbox .. image:: gmail/odoo-permission.png :align: center - :alt: Allowing the Gmail Plugin to connect to a database \ No newline at end of file + :alt: Allowing the Gmail Plugin to connect to a database diff --git a/content/applications/productivity/mail_plugins/outlook.rst b/content/applications/productivity/mail_plugins/outlook.rst index 5dd47fdbc2..944b9363b1 100644 --- a/content/applications/productivity/mail_plugins/outlook.rst +++ b/content/applications/productivity/mail_plugins/outlook.rst @@ -134,4 +134,4 @@ time, it's possible to add it next to the other default actions. .. image:: outlook/odoo-outlook-shortcut.png :align: center - :alt: Odoo for Outlook customized action \ No newline at end of file + :alt: Odoo for Outlook customized action diff --git a/content/applications/productivity/studio.rst b/content/applications/productivity/studio.rst index b857226aeb..604d096cc8 100644 --- a/content/applications/productivity/studio.rst +++ b/content/applications/productivity/studio.rst @@ -28,4 +28,4 @@ can, on any app, add or modify: Or you can :doc:`build an app from scratch `. .. seealso:: - - `Odoo Tutorials: Studio `_ \ No newline at end of file + - `Odoo Tutorials: Studio `_ diff --git a/content/applications/productivity/studio/automated_actions.rst b/content/applications/productivity/studio/automated_actions.rst index afe84d9c4e..f407a3dec3 100644 --- a/content/applications/productivity/studio/automated_actions.rst +++ b/content/applications/productivity/studio/automated_actions.rst @@ -246,4 +246,4 @@ The action is used to send an SMS to a contact linked to the record. To do so, s :guilabel:`SMS Template`. .. tip:: - If you want sent messages to be logged in the Chatter, tick :guilabel:`Log as Note`. \ No newline at end of file + If you want sent messages to be logged in the Chatter, tick :guilabel:`Log as Note`. diff --git a/content/applications/productivity/studio/fields.rst b/content/applications/productivity/studio/fields.rst index 2699d5fc4c..8bf341fe4e 100644 --- a/content/applications/productivity/studio/fields.rst +++ b/content/applications/productivity/studio/fields.rst @@ -490,4 +490,4 @@ Properties - :guilabel:`Default value`: To add a default value to a field when a record is created, use :guilabel:`Default value`. - :guilabel:`Limit visibility to groups`: To limit which users can see the field, select a user - access group. \ No newline at end of file + access group. diff --git a/content/applications/productivity/studio/models_modules_apps.rst b/content/applications/productivity/studio/models_modules_apps.rst index 94d92a9aaa..9bf175d4e5 100644 --- a/content/applications/productivity/studio/models_modules_apps.rst +++ b/content/applications/productivity/studio/models_modules_apps.rst @@ -224,4 +224,4 @@ the exported ZIP file before clicking on the :guilabel:`Import` button. .. warning:: Before importing, make sure the destination database contains the same apps and modules as the source database. Studio does not add the underlying modules as dependencies of the exported - module. \ No newline at end of file + module. diff --git a/content/applications/productivity/studio/pdf_reports.rst b/content/applications/productivity/studio/pdf_reports.rst index 4d1fa1d377..c4fd29155b 100644 --- a/content/applications/productivity/studio/pdf_reports.rst +++ b/content/applications/productivity/studio/pdf_reports.rst @@ -338,4 +338,4 @@ Below are presented some of the most common options: .. note:: You may need to select a section or division above the element you want to edit to see some of - the options described above. \ No newline at end of file + the options described above. diff --git a/content/applications/productivity/studio/views.rst b/content/applications/productivity/studio/views.rst index 70abbdf9f5..e41eb15b78 100644 --- a/content/applications/productivity/studio/views.rst +++ b/content/applications/productivity/studio/views.rst @@ -375,4 +375,4 @@ reporting views. .. image:: views/dashboard-sales-report.png :align: center - :alt: Sales Analysis Report model's Dashboard view \ No newline at end of file + :alt: Sales Analysis Report model's Dashboard view diff --git a/content/applications/sales/crm/acquire_leads/convert.rst b/content/applications/sales/crm/acquire_leads/convert.rst index 9ad15d8579..14ea5541a6 100644 --- a/content/applications/sales/crm/acquire_leads/convert.rst +++ b/content/applications/sales/crm/acquire_leads/convert.rst @@ -64,4 +64,4 @@ want to merge and the action button will appear. Then, you can select merge. :align: center .. note:: - It is also possible to merge more than 2 opportunities or leads. \ No newline at end of file + It is also possible to merge more than 2 opportunities or leads. diff --git a/content/applications/sales/crm/acquire_leads/generate_leads.rst b/content/applications/sales/crm/acquire_leads/generate_leads.rst index d57aaa4395..8211f0b94e 100644 --- a/content/applications/sales/crm/acquire_leads/generate_leads.rst +++ b/content/applications/sales/crm/acquire_leads/generate_leads.rst @@ -101,4 +101,4 @@ information. To have it automatically generate a lead/opportunity instead, edit .. tip:: If leads are activated in your CRM settings, selecting :guilabel:`Create an Opportunity` generates a lead instead. To learn more about activating leads in the CRM settings, head over to - :doc:`convert`. \ No newline at end of file + :doc:`convert`. diff --git a/content/applications/sales/crm/performance/google_spreadsheets.rst b/content/applications/sales/crm/performance/google_spreadsheets.rst index e8d53e415c..b12dc7fafd 100644 --- a/content/applications/sales/crm/performance/google_spreadsheets.rst +++ b/content/applications/sales/crm/performance/google_spreadsheets.rst @@ -89,7 +89,3 @@ Other uses ---------- Mix Odoo data with spreadsheet data, add traditional formulas, and create Dynamic Tabled and Graphs. - - - - diff --git a/content/applications/sales/point_of_sale/advanced_pricing_features/discounts.rst b/content/applications/sales/point_of_sale/advanced_pricing_features/discounts.rst index a69ed9ddf6..152ec03b28 100644 --- a/content/applications/sales/point_of_sale/advanced_pricing_features/discounts.rst +++ b/content/applications/sales/point_of_sale/advanced_pricing_features/discounts.rst @@ -98,4 +98,4 @@ pricelist. :align: center :alt: View of the button to use for time-limited discounts via the pos interface -Click on it to instantly update the prices with the selected pricelist. Then, you can finalize the order. \ No newline at end of file +Click on it to instantly update the prices with the selected pricelist. Then, you can finalize the order. diff --git a/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst b/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst index 0029e72d18..1924549065 100644 --- a/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst +++ b/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst @@ -43,4 +43,4 @@ among the different *pricelists* you added before. :align: center .. seealso:: - * :doc:`../../sales/products_prices/prices/pricing` \ No newline at end of file + * :doc:`../../sales/products_prices/prices/pricing` diff --git a/content/applications/sales/point_of_sale/overview/https.rst b/content/applications/sales/point_of_sale/overview/https.rst index 73af98af7f..79cf20b4ac 100644 --- a/content/applications/sales/point_of_sale/overview/https.rst +++ b/content/applications/sales/point_of_sale/overview/https.rst @@ -19,4 +19,4 @@ values and click on *Save*. - **Value**: `True` .. seealso:: - - :doc:`epos_ssc` \ No newline at end of file + - :doc:`epos_ssc` diff --git a/content/applications/sales/point_of_sale/payment/adyen.rst b/content/applications/sales/point_of_sale/payment/adyen.rst index 28d3311256..700bcce621 100644 --- a/content/applications/sales/point_of_sale/payment/adyen.rst +++ b/content/applications/sales/point_of_sale/payment/adyen.rst @@ -74,4 +74,4 @@ Successful`. clicking on :guilabel:`Force Done`, which allows you to validate the order. | This option is only available after receiving an error message informing you that the connection failed. - - To cancel the payment request, click on :guilabel:`cancel`. \ No newline at end of file + - To cancel the payment request, click on :guilabel:`cancel`. diff --git a/content/applications/sales/point_of_sale/payment/vantiv.rst b/content/applications/sales/point_of_sale/payment/vantiv.rst index d541df71c6..44dca453f7 100644 --- a/content/applications/sales/point_of_sale/payment/vantiv.rst +++ b/content/applications/sales/point_of_sale/payment/vantiv.rst @@ -43,4 +43,4 @@ In your PoS interface, at the moment of the payment, select your Vantiv payment method and… that’s all. .. image:: vantiv/vantiv_04.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/sales/point_of_sale/payment/worldline.rst b/content/applications/sales/point_of_sale/payment/worldline.rst index 1187811585..b03470df04 100644 --- a/content/applications/sales/point_of_sale/payment/worldline.rst +++ b/content/applications/sales/point_of_sale/payment/worldline.rst @@ -102,5 +102,3 @@ record. This option is only available after receiving an error message informing you that the connection failed. * To cancel the payment request, click on **cancel**. - - diff --git a/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst b/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst index 048a699894..f6339ff471 100644 --- a/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst +++ b/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst @@ -40,4 +40,4 @@ automatically assigned, go to :menuselection:`Point of Sale --> Configuration :align: center .. note:: - Now, the *tax* button is replaced by a *on site* button when on the *PoS* interface. \ No newline at end of file + Now, the *tax* button is replaced by a *on site* button when on the *PoS* interface. diff --git a/content/applications/sales/point_of_sale/restaurant/restaurant.rst b/content/applications/sales/point_of_sale/restaurant/restaurant.rst index 325a2cd890..6a20254d52 100644 --- a/content/applications/sales/point_of_sale/restaurant/restaurant.rst +++ b/content/applications/sales/point_of_sale/restaurant/restaurant.rst @@ -113,4 +113,4 @@ when needed. :alt: View of the - button, allowing employees to close/remove an order .. tip:: - The - button allows you to remove the order you are currently on. \ No newline at end of file + The - button allows you to remove the order you are currently on. diff --git a/content/applications/sales/point_of_sale/shop/multicashiers.rst b/content/applications/sales/point_of_sale/shop/multicashiers.rst index dcd51366d6..6c3293baf8 100644 --- a/content/applications/sales/point_of_sale/shop/multicashiers.rst +++ b/content/applications/sales/point_of_sale/shop/multicashiers.rst @@ -72,4 +72,4 @@ the amount each cashier sold for. To do so, go to the orders menu. .. image:: multicashiers/multicashiers07.png :align: center -Now, you can open the order and have a summary of the sold products. \ No newline at end of file +Now, you can open the order and have a summary of the sold products. diff --git a/content/applications/sales/point_of_sale/shop/sales_order.rst b/content/applications/sales/point_of_sale/shop/sales_order.rst index 0375e9b39a..5b2ce810ce 100644 --- a/content/applications/sales/point_of_sale/shop/sales_order.rst +++ b/content/applications/sales/point_of_sale/shop/sales_order.rst @@ -44,4 +44,4 @@ You can either: amount. .. Seealso:: - - :doc:`/applications/sales/sales/invoicing/down_payment` \ No newline at end of file + - :doc:`/applications/sales/sales/invoicing/down_payment` diff --git a/content/applications/sales/rental.rst b/content/applications/sales/rental.rst index 21706b1733..ce60f2e7ed 100644 --- a/content/applications/sales/rental.rst +++ b/content/applications/sales/rental.rst @@ -100,4 +100,4 @@ when they are expected to be returned, which were returned, and potential rental .. image:: rental/print-receipt.png :align: center - :alt: Printing a Pickup and Return receipt in Odoo Rental \ No newline at end of file + :alt: Printing a Pickup and Return receipt in Odoo Rental diff --git a/content/applications/sales/sales/advanced.rst b/content/applications/sales/sales/advanced.rst index 4bd3382034..ad2ea69e71 100644 --- a/content/applications/sales/sales/advanced.rst +++ b/content/applications/sales/sales/advanced.rst @@ -7,4 +7,4 @@ Advanced Topics .. toctree:: :titlesonly: - advanced/portal \ No newline at end of file + advanced/portal diff --git a/content/applications/sales/sales/amazon_connector.rst b/content/applications/sales/sales/amazon_connector.rst index bc10ac194b..43b4da7746 100644 --- a/content/applications/sales/sales/amazon_connector.rst +++ b/content/applications/sales/sales/amazon_connector.rst @@ -9,4 +9,4 @@ Amazon Connector amazon_connector/features amazon_connector/setup - amazon_connector/manage \ No newline at end of file + amazon_connector/manage diff --git a/content/applications/sales/sales/ebay_connector.rst b/content/applications/sales/sales/ebay_connector.rst index 16fb7faed2..06581117aa 100644 --- a/content/applications/sales/sales/ebay_connector.rst +++ b/content/applications/sales/sales/ebay_connector.rst @@ -8,4 +8,4 @@ eBay Connector :titlesonly: ebay_connector/setup - ebay_connector/manage \ No newline at end of file + ebay_connector/manage diff --git a/content/applications/sales/sales/invoicing/down_payment.rst b/content/applications/sales/sales/invoicing/down_payment.rst index 5d164b6401..6254049112 100644 --- a/content/applications/sales/sales/invoicing/down_payment.rst +++ b/content/applications/sales/sales/invoicing/down_payment.rst @@ -96,4 +96,4 @@ the possibility to see the **Accounting Tab** on the product form. :alt: How to modify the income account link to down payments .. seealso:: - - :doc:`invoicing_policy` \ No newline at end of file + - :doc:`invoicing_policy` diff --git a/content/applications/sales/sales/invoicing/invoicing_policy.rst b/content/applications/sales/sales/invoicing/invoicing_policy.rst index b7e73b5d93..595c0de014 100644 --- a/content/applications/sales/sales/invoicing/invoicing_policy.rst +++ b/content/applications/sales/sales/invoicing/invoicing_policy.rst @@ -78,4 +78,4 @@ payment (percentage or fixed amount). .. important:: Be sure to check out our documentation about down payment here: :doc:`down_payment`, to master - this incredible feature. \ No newline at end of file + this incredible feature. diff --git a/content/applications/sales/sales/send_quotations/deadline.rst b/content/applications/sales/sales/send_quotations/deadline.rst index d0968c0f58..9451f54f7b 100644 --- a/content/applications/sales/sales/send_quotations/deadline.rst +++ b/content/applications/sales/sales/send_quotations/deadline.rst @@ -41,4 +41,4 @@ sure to check out our documentation about :doc:`quote_template` to excel in thei :alt: How customers will see deadlines on Odoo Sales? .. seealso:: - - :doc:`quote_template` \ No newline at end of file + - :doc:`quote_template` diff --git a/content/applications/sales/sales/send_quotations/different_addresses.rst b/content/applications/sales/sales/send_quotations/different_addresses.rst index 9328aff1dd..ca4a4b657e 100644 --- a/content/applications/sales/sales/send_quotations/different_addresses.rst +++ b/content/applications/sales/sales/send_quotations/different_addresses.rst @@ -72,4 +72,4 @@ previously saved for billing and shipping addresses. :alt: Automatic quotation fields filling on Odoo Sales With Odoo Sales, it is now very convenient to play with various addresses in terms of invoice and -delivery features. \ No newline at end of file +delivery features. diff --git a/content/applications/sales/sales/send_quotations/get_paid_to_validate.rst b/content/applications/sales/sales/send_quotations/get_paid_to_validate.rst index 754f7b5250..658e0e940b 100644 --- a/content/applications/sales/sales/send_quotations/get_paid_to_validate.rst +++ b/content/applications/sales/sales/send_quotations/get_paid_to_validate.rst @@ -51,5 +51,3 @@ possibilities to make their online payments. For example: - :doc:`/applications/finance/payment_providers` - :doc:`/applications/finance/payment_providers/paypal` - :doc:`/applications/finance/payment_providers/authorize` - - diff --git a/content/applications/sales/sales/send_quotations/get_signature_to_validate.rst b/content/applications/sales/sales/send_quotations/get_signature_to_validate.rst index b801917096..2940b3bee1 100644 --- a/content/applications/sales/sales/send_quotations/get_signature_to_validate.rst +++ b/content/applications/sales/sales/send_quotations/get_signature_to_validate.rst @@ -49,5 +49,3 @@ will be paid and confirmed, a delivery order will be created automatically by Od .. seealso:: - :doc:`quote_template` - - diff --git a/content/applications/sales/sales/send_quotations/optional_products.rst b/content/applications/sales/sales/send_quotations/optional_products.rst index 902ab64fe5..66fc5d86b1 100644 --- a/content/applications/sales/sales/send_quotations/optional_products.rst +++ b/content/applications/sales/sales/send_quotations/optional_products.rst @@ -62,4 +62,4 @@ products or services. With Odoo Sales, it is now very easy to understand your customer's needs. .. seealso:: - - :doc:`quote_template` \ No newline at end of file + - :doc:`quote_template` diff --git a/content/applications/sales/subscriptions/configuration/subscription_products.rst b/content/applications/sales/subscriptions/configuration/subscription_products.rst index 853484a7a1..e43ee17a0f 100644 --- a/content/applications/sales/subscriptions/configuration/subscription_products.rst +++ b/content/applications/sales/subscriptions/configuration/subscription_products.rst @@ -51,4 +51,4 @@ internal reference. .. seealso:: - :doc:`../../subscriptions/configuration/subscription_templates` - - :doc:`../../subscriptions/sales_flow/create_a_quotation` \ No newline at end of file + - :doc:`../../subscriptions/sales_flow/create_a_quotation` diff --git a/content/applications/sales/subscriptions/follow_up.rst b/content/applications/sales/subscriptions/follow_up.rst index c5ebac1c2d..fcf946b531 100644 --- a/content/applications/sales/subscriptions/follow_up.rst +++ b/content/applications/sales/subscriptions/follow_up.rst @@ -7,4 +7,4 @@ Follow-up .. toctree:: :titlesonly: - follow_up/automatic_alerts \ No newline at end of file + follow_up/automatic_alerts diff --git a/content/applications/sales/subscriptions/follow_up/automatic_alerts.rst b/content/applications/sales/subscriptions/follow_up/automatic_alerts.rst index 7e1179d83e..ef18923d5c 100644 --- a/content/applications/sales/subscriptions/follow_up/automatic_alerts.rst +++ b/content/applications/sales/subscriptions/follow_up/automatic_alerts.rst @@ -83,4 +83,4 @@ retention rates very high. - :doc:`../../subscriptions/configuration/subscription_templates` - :doc:`../../subscriptions/configuration/subscription_products` - :doc:`../../subscriptions/sales_flow/create_a_quotation` - - :doc:`../../subscriptions/reporting/subscription_reports` \ No newline at end of file + - :doc:`../../subscriptions/reporting/subscription_reports` diff --git a/content/applications/sales/subscriptions/reporting.rst b/content/applications/sales/subscriptions/reporting.rst index da501410b8..98998c0d33 100644 --- a/content/applications/sales/subscriptions/reporting.rst +++ b/content/applications/sales/subscriptions/reporting.rst @@ -7,4 +7,4 @@ Reporting .. toctree:: :titlesonly: - reporting/subscription_reports \ No newline at end of file + reporting/subscription_reports diff --git a/content/applications/sales/subscriptions/reporting/subscription_reports.rst b/content/applications/sales/subscriptions/reporting/subscription_reports.rst index c5201b5463..d75986aaeb 100644 --- a/content/applications/sales/subscriptions/reporting/subscription_reports.rst +++ b/content/applications/sales/subscriptions/reporting/subscription_reports.rst @@ -119,4 +119,4 @@ apply and the salesperson you want to analyze. .. seealso:: - :doc:`../../subscriptions/configuration/subscription_templates` - :doc:`../../subscriptions/configuration/subscription_products` - - :doc:`../../subscriptions/sales_flow/create_a_quotation` \ No newline at end of file + - :doc:`../../subscriptions/sales_flow/create_a_quotation` diff --git a/content/applications/sales/subscriptions/sales_flow/closing.rst b/content/applications/sales/subscriptions/sales_flow/closing.rst index f5430d0677..a069826f59 100644 --- a/content/applications/sales/subscriptions/sales_flow/closing.rst +++ b/content/applications/sales/subscriptions/sales_flow/closing.rst @@ -104,4 +104,4 @@ added by the customer. .. seealso:: - :doc:`../../subscriptions/configuration/subscription_templates` - :doc:`../../subscriptions/configuration/subscription_products` - - :doc:`../../subscriptions/sales_flow/create_a_quotation` \ No newline at end of file + - :doc:`../../subscriptions/sales_flow/create_a_quotation` diff --git a/content/applications/sales/subscriptions/sales_flow/upselling.rst b/content/applications/sales/subscriptions/sales_flow/upselling.rst index ba8e7f2ddf..408cd4a2bd 100644 --- a/content/applications/sales/subscriptions/sales_flow/upselling.rst +++ b/content/applications/sales/subscriptions/sales_flow/upselling.rst @@ -82,4 +82,4 @@ The only difference between your two sales orders is the description underneath .. seealso:: - :doc:`../../subscriptions/configuration/subscription_templates` - :doc:`../../subscriptions/configuration/subscription_products` - - :doc:`../../subscriptions/sales_flow/create_a_quotation` \ No newline at end of file + - :doc:`../../subscriptions/sales_flow/create_a_quotation` diff --git a/content/applications/services/fsm/helpdesk.rst b/content/applications/services/fsm/helpdesk.rst index 63318316d9..ee6c3e9dc1 100644 --- a/content/applications/services/fsm/helpdesk.rst +++ b/content/applications/services/fsm/helpdesk.rst @@ -7,4 +7,4 @@ Helpdesk .. toctree:: :titlesonly: - helpdesk/plan_onsite \ No newline at end of file + helpdesk/plan_onsite diff --git a/content/applications/services/fsm/helpdesk/plan_onsite.rst b/content/applications/services/fsm/helpdesk/plan_onsite.rst index e13b5fe153..bcba22eac5 100644 --- a/content/applications/services/fsm/helpdesk/plan_onsite.rst +++ b/content/applications/services/fsm/helpdesk/plan_onsite.rst @@ -18,4 +18,4 @@ new task under your field service project. .. image:: plan_onsite/plan-intervention-from-ticket.png :align: center - :alt: Plan intervention from helpdesk ticket in Odoo Helpdesk \ No newline at end of file + :alt: Plan intervention from helpdesk ticket in Odoo Helpdesk diff --git a/content/applications/services/fsm/sales.rst b/content/applications/services/fsm/sales.rst index 789661868d..4f59473933 100644 --- a/content/applications/services/fsm/sales.rst +++ b/content/applications/services/fsm/sales.rst @@ -7,4 +7,4 @@ Sales .. toctree:: :titlesonly: - sales/onsite_tasks_from_sales_orders \ No newline at end of file + sales/onsite_tasks_from_sales_orders diff --git a/content/applications/services/fsm/sales/onsite_tasks_from_sales_orders.rst b/content/applications/services/fsm/sales/onsite_tasks_from_sales_orders.rst index 5117c24904..fbb92b22ec 100644 --- a/content/applications/services/fsm/sales/onsite_tasks_from_sales_orders.rst +++ b/content/applications/services/fsm/sales/onsite_tasks_from_sales_orders.rst @@ -27,4 +27,4 @@ set up under your Field Service project. It is directly accessible from the sale .. image:: onsite_tasks_from_sales_orders/field-service-task-on-sales-order.png :align: center - :alt: Field Service task on a sales order in Odoo Sales \ No newline at end of file + :alt: Field Service task on a sales order in Odoo Sales diff --git a/content/applications/services/helpdesk/advanced.rst b/content/applications/services/helpdesk/advanced.rst index 150aa2f6a1..5c76233798 100644 --- a/content/applications/services/helpdesk/advanced.rst +++ b/content/applications/services/helpdesk/advanced.rst @@ -8,4 +8,4 @@ Advanced :titlesonly: advanced/after_sales - advanced/close_tickets \ No newline at end of file + advanced/close_tickets diff --git a/content/applications/services/helpdesk/overview/forum_and_elearning.rst b/content/applications/services/helpdesk/overview/forum_and_elearning.rst index eef3687894..8c09f24791 100644 --- a/content/applications/services/helpdesk/overview/forum_and_elearning.rst +++ b/content/applications/services/helpdesk/overview/forum_and_elearning.rst @@ -70,4 +70,4 @@ To keep track of your course statistics, go to *eLearning* and *View Course*. :align: center :alt: View of the elearning applications dashboard for Odoo Helpdesk -.. todo:: DETAILS/INFO SHOULD COME FROM ELEARNING DOCS. THEREFORE, LINK DOCS ONCE AVAILABLE! \ No newline at end of file +.. todo:: DETAILS/INFO SHOULD COME FROM ELEARNING DOCS. THEREFORE, LINK DOCS ONCE AVAILABLE! diff --git a/content/applications/services/helpdesk/overview/sla.rst b/content/applications/services/helpdesk/overview/sla.rst index d04137c7fe..015253e97e 100644 --- a/content/applications/services/helpdesk/overview/sla.rst +++ b/content/applications/services/helpdesk/overview/sla.rst @@ -44,4 +44,4 @@ Go to :menuselection:`Helpdesk --> Reporting --> SLA Status Analysis`. Apply *Fi :alt: View of the SLA status analysis page emphasizing the group by option in Odoo Helpdesk .. seealso:: - - :doc:`../advanced/close_tickets` \ No newline at end of file + - :doc:`../advanced/close_tickets` diff --git a/content/applications/services/project/tasks.rst b/content/applications/services/project/tasks.rst index 2e51b5b5d5..5b6dc55b7c 100644 --- a/content/applications/services/project/tasks.rst +++ b/content/applications/services/project/tasks.rst @@ -7,4 +7,4 @@ Tasks .. toctree:: :titlesonly: - tasks/email_alias \ No newline at end of file + tasks/email_alias diff --git a/content/applications/services/project/tasks/email_alias.rst b/content/applications/services/project/tasks/email_alias.rst index d039d54293..69521b96e2 100644 --- a/content/applications/services/project/tasks/email_alias.rst +++ b/content/applications/services/project/tasks/email_alias.rst @@ -35,4 +35,3 @@ The email can be seen under the name of your project on the dashboard. :align: center :height: 300 :alt: View of the email alias chosen on the dashboard view in Odoo Project - diff --git a/content/applications/services/timesheets/overview.rst b/content/applications/services/timesheets/overview.rst index c051d2552a..fa2fea1d6e 100644 --- a/content/applications/services/timesheets/overview.rst +++ b/content/applications/services/timesheets/overview.rst @@ -7,4 +7,4 @@ Overview .. toctree:: :titlesonly: - overview/time_off \ No newline at end of file + overview/time_off diff --git a/content/applications/services/timesheets/overview/time_off.rst b/content/applications/services/timesheets/overview/time_off.rst index 54e4ed484f..cdc89769c6 100644 --- a/content/applications/services/timesheets/overview/time_off.rst +++ b/content/applications/services/timesheets/overview/time_off.rst @@ -43,4 +43,4 @@ on that cell (day), and see details regarding the project/task. .. image:: time_off/timesheet_description.png :align: center - :alt: View of the details of a project/task in Odoo Timeheets \ No newline at end of file + :alt: View of the details of a project/task in Odoo Timeheets diff --git a/content/applications/websites/ecommerce.rst b/content/applications/websites/ecommerce.rst index df9dfd2342..703accfec1 100644 --- a/content/applications/websites/ecommerce.rst +++ b/content/applications/websites/ecommerce.rst @@ -28,4 +28,3 @@ products and increase your average cart sizes. ecommerce/taxes ecommerce/shopper_experience ecommerce/maximizing_revenue - diff --git a/content/applications/websites/ecommerce/getting_started.rst b/content/applications/websites/ecommerce/getting_started.rst index 6fbee5e550..86028aff65 100644 --- a/content/applications/websites/ecommerce/getting_started.rst +++ b/content/applications/websites/ecommerce/getting_started.rst @@ -9,4 +9,3 @@ Get started getting_started/product_page getting_started/catalog - diff --git a/content/applications/websites/ecommerce/getting_started/catalog.rst b/content/applications/websites/ecommerce/getting_started/catalog.rst index 7519410a24..da5619e518 100644 --- a/content/applications/websites/ecommerce/getting_started/catalog.rst +++ b/content/applications/websites/ecommerce/getting_started/catalog.rst @@ -34,4 +34,4 @@ options in *Customize* menu: Product Description, Add to Cart, List View (to di description better). .. image:: catalog/shop_list.png - :align: center \ No newline at end of file + :align: center diff --git a/content/applications/websites/ecommerce/maximizing_revenue.rst b/content/applications/websites/ecommerce/maximizing_revenue.rst index 26955bf3e4..b6ed1d69aa 100644 --- a/content/applications/websites/ecommerce/maximizing_revenue.rst +++ b/content/applications/websites/ecommerce/maximizing_revenue.rst @@ -12,7 +12,3 @@ Maximize my revenue maximizing_revenue/reviews maximizing_revenue/pricing maximizing_revenue/promo_code - - - - diff --git a/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst b/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst index 53fd2cc80e..fa9b7b929c 100644 --- a/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst +++ b/content/applications/websites/ecommerce/maximizing_revenue/cross_selling.rst @@ -65,4 +65,4 @@ the optional product(s). :alt: Pop-up with optional products appears. .. seealso:: - - :doc:`upselling` \ No newline at end of file + - :doc:`upselling` diff --git a/content/applications/websites/ecommerce/maximizing_revenue/upselling.rst b/content/applications/websites/ecommerce/maximizing_revenue/upselling.rst index eef2503335..7d99f94a44 100644 --- a/content/applications/websites/ecommerce/maximizing_revenue/upselling.rst +++ b/content/applications/websites/ecommerce/maximizing_revenue/upselling.rst @@ -21,5 +21,3 @@ To do so: .. image:: upselling/upsell_publish.png :align: center - - diff --git a/content/applications/websites/ecommerce/shopper_experience.rst b/content/applications/websites/ecommerce/shopper_experience.rst index 95a3873466..6f6a9e5ed4 100644 --- a/content/applications/websites/ecommerce/shopper_experience.rst +++ b/content/applications/websites/ecommerce/shopper_experience.rst @@ -9,7 +9,3 @@ Get paid shopper_experience/payment_providers shopper_experience/portal - - - - diff --git a/content/applications/websites/livechat/overview.rst b/content/applications/websites/livechat/overview.rst index 22461672a9..9c477f1f0b 100644 --- a/content/applications/websites/livechat/overview.rst +++ b/content/applications/websites/livechat/overview.rst @@ -9,4 +9,4 @@ Overview overview/get_started overview/ratings - overview/responses \ No newline at end of file + overview/responses diff --git a/content/applications/websites/livechat/overview/get_started.rst b/content/applications/websites/livechat/overview/get_started.rst index 7be4fc1335..c640bd167e 100644 --- a/content/applications/websites/livechat/overview/get_started.rst +++ b/content/applications/websites/livechat/overview/get_started.rst @@ -80,4 +80,4 @@ Go to :menuselection:`Website --> Configuration --> Settings`, access your chann .. seealso:: - :doc:`ratings` - - :doc:`responses` \ No newline at end of file + - :doc:`responses` diff --git a/content/applications/websites/livechat/overview/ratings.rst b/content/applications/websites/livechat/overview/ratings.rst index 9c6f920fe3..f08e653fe2 100644 --- a/content/applications/websites/livechat/overview/ratings.rst +++ b/content/applications/websites/livechat/overview/ratings.rst @@ -42,4 +42,4 @@ Go to :menuselection:`Website --> Configuration --> Settings`, access your chann :alt: View of the public ratings in the website for Odoo Live Chat .. seealso:: - - :doc:`responses` \ No newline at end of file + - :doc:`responses` diff --git a/content/applications/websites/website/optimize.rst b/content/applications/websites/website/optimize.rst index 84fbc468cc..3ede68939b 100644 --- a/content/applications/websites/website/optimize.rst +++ b/content/applications/websites/website/optimize.rst @@ -12,6 +12,3 @@ Optimize optimize/plausible optimize/link_tracker optimize/unsplash - - - diff --git a/content/applications/websites/website/publish.rst b/content/applications/websites/website/publish.rst index b784b1f4c8..ba8d2df1ae 100644 --- a/content/applications/websites/website/publish.rst +++ b/content/applications/websites/website/publish.rst @@ -9,4 +9,4 @@ Publish publish/translate publish/multi_website - publish/on-premise_geo-ip-installation \ No newline at end of file + publish/on-premise_geo-ip-installation diff --git a/content/applications/websites/website/publish/translate.rst b/content/applications/websites/website/publish/translate.rst index 111bb418f7..9b38e46808 100644 --- a/content/applications/websites/website/publish/translate.rst +++ b/content/applications/websites/website/publish/translate.rst @@ -37,4 +37,3 @@ that some of the text has been translated automatically. To translate the content of the website, click on **Translate** (here **Traduire** since we want to translate the website in French). - diff --git a/content/contributing/documentation/content_guidelines.rst b/content/contributing/documentation/content_guidelines.rst index 4951d5435d..cc7bdd263b 100644 --- a/content/contributing/documentation/content_guidelines.rst +++ b/content/contributing/documentation/content_guidelines.rst @@ -260,4 +260,4 @@ Good ALT tags are: - Easily **understandable** if read aloud .. seealso:: - - :ref:`RST cheat sheet: image directive ` \ No newline at end of file + - :ref:`RST cheat sheet: image directive ` diff --git a/content/developer/api/extract_api.rst b/content/developer/api/extract_api.rst index aa92edaae0..018043347a 100644 --- a/content/developer/api/extract_api.rst +++ b/content/developer/api/extract_api.rst @@ -514,4 +514,4 @@ A python implementation of the full flow can be found :download:`here `__ of a report that depends on the currently selected companies (in a multi-company environment) context to determine the currency exchange rates to use for accurately displaying amounts when the selected companies -have different currencies. \ No newline at end of file +have different currencies. diff --git a/content/developer/reference/frontend/assets.rst b/content/developer/reference/frontend/assets.rst index c968d4c141..069a66dd48 100644 --- a/content/developer/reference/frontend/assets.rst +++ b/content/developer/reference/frontend/assets.rst @@ -367,4 +367,3 @@ manifest counterparts. `sequence` (default= `16`) Loading order of the asset records (ascending). A sequence lower than 16 means that the asset will be processed *before* the ones declared in the manifest. - diff --git a/content/developer/reference/frontend/framework_overview.rst b/content/developer/reference/frontend/framework_overview.rst index d05c821120..65f40df957 100644 --- a/content/developer/reference/frontend/framework_overview.rst +++ b/content/developer/reference/frontend/framework_overview.rst @@ -646,4 +646,4 @@ bundle `web.assets_tests` in the page. This bundle contains mostly test tours users). The `tests` mode is then useful to be able to run these tours. .. seealso:: - - `Owl Repository `_ \ No newline at end of file + - `Owl Repository `_ diff --git a/content/developer/reference/frontend/icons_library.rst b/content/developer/reference/frontend/icons_library.rst index b2bb52540d..c1100949b3 100644 --- a/content/developer/reference/frontend/icons_library.rst +++ b/content/developer/reference/frontend/icons_library.rst @@ -2,4 +2,4 @@ Odoo UI Icons ============= -.. image:: icons_library/odoo-ui-icons.png \ No newline at end of file +.. image:: icons_library/odoo-ui-icons.png diff --git a/content/developer/reference/frontend/javascript_modules.rst b/content/developer/reference/frontend/javascript_modules.rst index 304eafafb8..96dc72ca7a 100644 --- a/content/developer/reference/frontend/javascript_modules.rst +++ b/content/developer/reference/frontend/javascript_modules.rst @@ -389,4 +389,4 @@ wait for the promise to complete before registering the module. // some code here return something; }); - }); \ No newline at end of file + }); diff --git a/content/developer/reference/frontend/patching_code.rst b/content/developer/reference/frontend/patching_code.rst index 540a44023b..cd9b5def9f 100644 --- a/content/developer/reference/frontend/patching_code.rst +++ b/content/developer/reference/frontend/patching_code.rst @@ -193,4 +193,4 @@ The `patch` function has a counterpart, `unpatch`, also located in `@web/core/ut patch(object, "patch name", { ... }); // test stuff here - unpatch(object, "patch name"); \ No newline at end of file + unpatch(object, "patch name"); diff --git a/content/developer/reference/standard_modules/account/account_report.rst b/content/developer/reference/standard_modules/account/account_report.rst index d0aff3d406..34e33ba163 100644 --- a/content/developer/reference/standard_modules/account/account_report.rst +++ b/content/developer/reference/standard_modules/account/account_report.rst @@ -29,4 +29,4 @@ Report .. autofield:: filter_hierarchy .. autofield:: filter_account_type .. autofield:: filter_partner - .. autofield:: filter_fiscal_position \ No newline at end of file + .. autofield:: filter_fiscal_position diff --git a/content/legal/cla.rst b/content/legal/cla.rst index c6535adf7d..af5b51d5e9 100644 --- a/content/legal/cla.rst +++ b/content/legal/cla.rst @@ -10,4 +10,3 @@ have to sign the Odoo Contributor License Agreement (CLA). More information about this requirement, the procedure to sign the agreement, and a FAQ can be found on our `GitHub project page `_. - diff --git a/content/legal/licenses/enterprise_license.txt b/content/legal/licenses/enterprise_license.txt index 723fa8557e..24cc072c1d 100644 --- a/content/legal/licenses/enterprise_license.txt +++ b/content/legal/licenses/enterprise_license.txt @@ -30,4 +30,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NON INFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER -DEALINGS IN THE SOFTWARE. \ No newline at end of file +DEALINGS IN THE SOFTWARE. diff --git a/content/legal/terms/i18n/enterprise_de.rst b/content/legal/terms/i18n/enterprise_de.rst index e70b247fb9..323a568437 100644 --- a/content/legal/terms/i18n/enterprise_de.rst +++ b/content/legal/terms/i18n/enterprise_de.rst @@ -623,4 +623,3 @@ die die gleichen Auswirkungen und Ziele hat. .. only:: html Siehe :ref:`odoo_enterprise_license`. - diff --git a/content/legal/terms/i18n/enterprise_nl.rst b/content/legal/terms/i18n/enterprise_nl.rst index 6acbbc7664..8d941a5a5f 100644 --- a/content/legal/terms/i18n/enterprise_nl.rst +++ b/content/legal/terms/i18n/enterprise_nl.rst @@ -670,4 +670,3 @@ een geldige bepaling met dezelfde effecten en doelstellingen. .. only:: html Zie :ref:`odoo_enterprise_license`. - diff --git a/content/legal/terms/i18n/terms_of_sale_fr.rst b/content/legal/terms/i18n/terms_of_sale_fr.rst index 865cc23905..2c36864f7e 100644 --- a/content/legal/terms/i18n/terms_of_sale_fr.rst +++ b/content/legal/terms/i18n/terms_of_sale_fr.rst @@ -77,4 +77,4 @@ application au moment de son acceptation de ces conditions. Tout litige résultant de la présente convention ressort de l’application du droit belge et est de la compétence des Tribunaux de l’arrondissement du siège social d’Odoo S.A. hormis le droit d’Odoo S.A. de porter le litige devant une -autre juridiction compétente. \ No newline at end of file +autre juridiction compétente. diff --git a/content/legal/terms/odoo_sh_terms.rst b/content/legal/terms/odoo_sh_terms.rst index 649f712d79..aaba6ebb2f 100644 --- a/content/legal/terms/odoo_sh_terms.rst +++ b/content/legal/terms/odoo_sh_terms.rst @@ -19,4 +19,4 @@ You assume all risks and all costs associated with your use of the service, incl without limitation, any loss of information or data. In addition, Odoo S.A. is not obligated to provide any maintenance, technical or other -support for the Service. \ No newline at end of file +support for the Service. diff --git a/content/legal/terms/partnership.rst b/content/legal/terms/partnership.rst index b255fbef3c..804fd8fc89 100644 --- a/content/legal/terms/partnership.rst +++ b/content/legal/terms/partnership.rst @@ -378,6 +378,3 @@ found shall be finally settled by the Courts of Belgium in Nivelles. .. only:: html See :ref:`odoo_enterprise_license`. - - - diff --git a/content/legal/terms/terms_of_sale.rst b/content/legal/terms/terms_of_sale.rst index 189a42b6ab..8a1bc30a56 100644 --- a/content/legal/terms/terms_of_sale.rst +++ b/content/legal/terms/terms_of_sale.rst @@ -66,4 +66,3 @@ acceptation of those terms. All our contractual relations will be governed exclusively by Belgian law. Moreover, any dispute that may arise will be subject exclusively to the jurisdiction of the courts of the Nivelles arrondissement (Belgium). - diff --git a/extensions/odoo_theme/layout_templates/changelog.html b/extensions/odoo_theme/layout_templates/changelog.html index 6acdc4b668..7a58aab86a 100644 --- a/extensions/odoo_theme/layout_templates/changelog.html +++ b/extensions/odoo_theme/layout_templates/changelog.html @@ -27,4 +27,4 @@

Update of this article and also the one after

- \ No newline at end of file + diff --git a/extensions/odoo_theme/layout_templates/menu.html b/extensions/odoo_theme/layout_templates/menu.html index 89e7423c0f..904917cb21 100644 --- a/extensions/odoo_theme/layout_templates/menu.html +++ b/extensions/odoo_theme/layout_templates/menu.html @@ -9,4 +9,4 @@ `collapse_menu` is passed directly to Jinja with sphinx-build's option `-A collapse_menu=True`. It it evaluated as a string, so what we're really evaluating here is `collapse_menu != None`. #} -{{ toctree(collapse=collapse_menu, titles_only=True, includehidden=False)}} \ No newline at end of file +{{ toctree(collapse=collapse_menu, titles_only=True, includehidden=False)}} diff --git a/extensions/odoo_theme/static/scss/bootstrap_overridden.scss b/extensions/odoo_theme/static/scss/bootstrap_overridden.scss index 42e8a54869..f20576489f 100644 --- a/extensions/odoo_theme/static/scss/bootstrap_overridden.scss +++ b/extensions/odoo_theme/static/scss/bootstrap_overridden.scss @@ -40,4 +40,3 @@ $accordion-button-bg: $accordion-bg !default; $accordion-button-active-bg: $accordion-button-bg !default; $accordion-icon-transform: rotate(0deg) !default; - diff --git a/redirects/11.0.txt b/redirects/11.0.txt index 021b9d9320..a7494311d6 100644 --- a/redirects/11.0.txt +++ b/redirects/11.0.txt @@ -1,3 +1,3 @@ # contributing/ -contributing/documentation/guidelines.rst contributing/documentation/rst_guidelines.rst # guidelines --> rst_guidelines \ No newline at end of file +contributing/documentation/guidelines.rst contributing/documentation/rst_guidelines.rst # guidelines --> rst_guidelines diff --git a/redirects/12.0.txt b/redirects/12.0.txt index 32318ea99f..25a2a5bc26 100644 --- a/redirects/12.0.txt +++ b/redirects/12.0.txt @@ -13,4 +13,4 @@ developer/webservices/upgrade.rst administration/upgrade/process.rst # removed # others -support/user_doc.rst contributing/documentation/introduction_guide.rst # removed in forward-port of #544 (b109c3af) \ No newline at end of file +support/user_doc.rst contributing/documentation/introduction_guide.rst # removed in forward-port of #544 (b109c3af) From 5f72f9f22f29ae66eefc01f3ed44822dadce5a0b Mon Sep 17 00:00:00 2001 From: Victor Feyens Date: Fri, 18 Nov 2022 11:06:22 +0100 Subject: [PATCH 2/4] [FIX] *: remove trailing whitespaces --- content/administration/install/deploy.rst | 16 +- .../administration/maintain/domain_names.rst | 2 +- .../administration/maintain/enterprise.rst | 2 +- .../administration/maintain/google_oauth.rst | 2 +- .../odoo_sh/getting_started/branches.rst | 16 +- .../accounting/bank/feeds/saltedge.rst | 12 +- .../bank/setup/manage_cash_register.rst | 2 +- .../localizations/argentina.rst | 184 ++++++------ .../localizations/germany.rst | 4 +- .../localizations/italy.rst | 2 +- .../localizations/peru.rst | 272 +++++++++--------- .../localizations/spain.rst | 10 +- .../localizations/switzerland.rst | 4 +- .../process_overview/supplier_bill.rst | 18 +- .../accounting/others/adviser/budget.rst | 20 +- .../accounting/others/analytic/timesheets.rst | 8 +- .../finance/accounting/payables/pay/sepa.rst | 4 +- .../customer_invoices/cash_rounding.rst | 16 +- .../customer_invoices/credit_notes.rst | 46 +-- .../customer_invoices/deferred_revenues.rst | 14 +- .../customer_invoices/epc_qr_code.rst | 48 ++-- .../customer_payments/batch_sdd.rst | 4 +- .../receivables/customer_payments/check.rst | 10 +- .../customer_payments/online_payment.rst | 2 +- .../reporting/overview/customize.rst | 2 +- .../reporting/overview/main_reports.rst | 30 +- .../taxation/fiscal_year/fiscal_year.rst | 2 +- .../finance/accounting/taxation/taxes.rst | 2 +- .../accounting/taxation/taxes/B2B_B2C.rst | 18 +- .../accounting/taxation/taxes/retention.rst | 10 +- content/applications/finance/expenses.rst | 82 +++--- .../payment_providers/mercado_pago.rst | 4 +- content/applications/general.rst | 1 - content/applications/general/auth/google.rst | 4 +- .../applications/general/developer_mode.rst | 2 +- .../applications/general/digest_emails.rst | 4 +- .../email_communication/email_domain.rst | 32 +-- .../email_communication/email_template.rst | 42 +-- .../general/email_communication/faq.rst | 72 ++--- .../database_import_test.sql | 6 +- .../applications/general/in_app_purchase.rst | 4 +- .../applications/general/voip/asterisk.rst | 14 +- .../management/delivery/dropshipping.rst | 8 +- .../management/delivery/three_steps.rst | 2 +- .../management/delivery/two_steps.rst | 4 +- .../management/incoming/one_step.rst | 4 +- .../management/incoming/three_steps.rst | 30 +- .../management/misc/batch_transfers.rst | 6 +- .../reporting/inventory_valuation_config.rst | 60 ++-- .../routes/concepts/stock_warehouses.rst | 2 +- .../inventory/shipping/operation/cancel.rst | 4 +- .../inventory/shipping/operation/labels.rst | 2 +- .../shipping/operation/multipack.rst | 2 +- .../shipping/setup/delivery_method.rst | 8 +- .../shipping/setup/third_party_shipper.rst | 4 +- .../shipping/setup/ups_credentials.rst | 16 +- .../manufacturing/management/kit_shipping.rst | 50 ++-- .../management/quality_control.rst | 10 +- .../management/sub_assemblies.rst | 34 +-- .../management/subcontracting.rst | 90 +++--- .../manufacturing/management/use_mps.rst | 12 +- .../productivity/iot/config/flash_sdcard.rst | 2 +- .../productivity/iot/config/pos.rst | 2 +- .../productivity/iot/devices/screen.rst | 10 +- .../sales/crm/acquire_leads/convert.rst | 4 +- .../sales/crm/acquire_leads/lead_mining.rst | 11 +- .../applications/sales/crm/performance.rst | 2 +- .../advanced_pricing_features/pricelists.rst | 8 +- .../overview/getting_started.rst | 12 +- .../restaurant/fiscal_position.rst | 6 +- .../point_of_sale/restaurant/restaurant.rst | 2 +- .../point_of_sale/shop/cash_rounding.rst | 16 +- .../sales/products_prices/prices/pricing.rst | 10 +- .../sales/products_prices/products/import.rst | 2 +- .../products/product_images.rst | 20 +- .../send_quotations/terms_and_conditions.rst | 4 +- content/applications/websites/ecommerce.rst | 2 +- .../ecommerce/getting_started/catalog.rst | 2 +- .../managing_products/multi_images.rst | 2 +- .../ecommerce/maximizing_revenue/reviews.rst | 2 +- .../ecommerce/shopper_experience/portal.rst | 8 +- content/applications/websites/website.rst | 2 +- .../website/optimize/google_analytics.rst | 4 +- .../websites/website/optimize/seo.rst | 66 ++--- .../website/publish/multi_website.rst | 4 +- .../development/coding_guidelines.rst | 2 +- .../howtos/accounting_localization.rst | 2 +- .../howtos/rdtraining/13_inheritance.rst | 2 +- .../howtos/rdtraining/N_security.rst | 4 +- .../developer/reference/backend/reports.rst | 2 +- content/developer/reference/backend/views.rst | 2 +- .../developer/reference/frontend/assets.rst | 4 +- .../reference/frontend/framework_overview.rst | 28 +- .../developer/reference/frontend/hooks.rst | 2 +- .../reference/frontend/javascript_modules.rst | 4 +- .../developer/reference/frontend/mobile.rst | 12 +- .../reference/frontend/owl_components.rst | 32 +-- .../reference/frontend/patching_code.rst | 2 +- content/developer/reference/frontend/qweb.rst | 2 +- .../reference/frontend/registries.rst | 22 +- .../developer/reference/frontend/services.rst | 76 ++--- .../account/account_chart_template.rst | 2 +- content/legal/terms/i18n/enterprise_fr.rst | 2 +- extensions/autodoc_field/__init__.py | 2 +- redirects/MANUAL.md | 2 +- 105 files changed, 902 insertions(+), 904 deletions(-) diff --git a/content/administration/install/deploy.rst b/content/administration/install/deploy.rst index 5a9c85ed33..2f08003315 100644 --- a/content/administration/install/deploy.rst +++ b/content/administration/install/deploy.rst @@ -392,7 +392,7 @@ The solutions to support livechat/motifications in a WSGI application are: * Deploy a threaded version of Odoo (instead of a process-based preforking one) and redirect only requests to URLs starting with ``/websocket/`` to - that Odoo, this is the simplest and the websocket URL can double up as the cron + that Odoo, this is the simplest and the websocket URL can double up as the cron instance. * Deploy an evented Odoo via ``odoo-gevent`` and proxy requests starting with ``/websocket/`` to @@ -410,7 +410,7 @@ a static HTTP server. Serving static files -------------------- -Odoo static files are located in each module's :file:`static/` folder, so static files can be served +Odoo static files are located in each module's :file:`static/` folder, so static files can be served by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module (and file) in the various addons paths. @@ -420,13 +420,13 @@ by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up Using the above NGINX (https) configuration, the following location block should be added to serve static files via NGINX. - + .. code-block:: nginx - + location @odoo { # copy-paste the content of the / location block } - + # Serve static files right away location ~ ^/[^/]+/static/.+$ { root /usr/lib/python3/dist-packages/odoo/addons; @@ -444,11 +444,11 @@ by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up serve static files via NGINX. .. code-block:: nginx - + location @odoo { # copy-paste the content of the / location block } - + # Serve static files right away location ~ ^/[^/]+/static/.+$ { root /opt/odoo; @@ -483,7 +483,7 @@ X-Sendfile and X-Accel). - The X-Accel extension for NGINX **does** require the following additionnal configuration: .. code-block:: nginx - + location /web/filestore { internal; alias /path/to/odoo/data-dir/filestore; diff --git a/content/administration/maintain/domain_names.rst b/content/administration/maintain/domain_names.rst index 9cf6281621..d07d1a7e3f 100644 --- a/content/administration/maintain/domain_names.rst +++ b/content/administration/maintain/domain_names.rst @@ -17,7 +17,7 @@ You can use a custom domain name to access your Odoo database and websites: ``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``). .. important:: - Odoo offers a :ref:`free custom domain name ` to all Odoo Online + Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as ``www.example.com`` rather than the default ``example.odoo.com``. diff --git a/content/administration/maintain/enterprise.rst b/content/administration/maintain/enterprise.rst index 8b87aa23c8..25f9e7330b 100644 --- a/content/administration/maintain/enterprise.rst +++ b/content/administration/maintain/enterprise.rst @@ -41,7 +41,7 @@ On Linux, using an installer .. code-block:: console $ sudo dpkg -i - + * Update your database to the enterprise packages using .. code-block:: console diff --git a/content/administration/maintain/google_oauth.rst b/content/administration/maintain/google_oauth.rst index 7e6b3966b9..153de3f2a0 100644 --- a/content/administration/maintain/google_oauth.rst +++ b/content/administration/maintain/google_oauth.rst @@ -123,7 +123,7 @@ server in Odoo. The configuration automatically loads the token in Odoo, and a t :align: center :alt: Configure Outgoing Email Servers in Odoo. -Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should +Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database can now send safe, secure emails through Google using OAuth authentication. diff --git a/content/administration/odoo_sh/getting_started/branches.rst b/content/administration/odoo_sh/getting_started/branches.rst index f7e6be89f3..fce3572414 100644 --- a/content/administration/odoo_sh/getting_started/branches.rst +++ b/content/administration/odoo_sh/getting_started/branches.rst @@ -259,16 +259,16 @@ This server only keeps one month of backups: 7 daily and 4 weekly backups. Dedicated backup servers keep the same backups, as well as 3 additional monthly backups. To restore or download one of these monthly backups, please `contact us `_. -If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python -dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list), -as either the container will be changed by the installation of new pip packages, either the database itself will be -changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially +If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python +dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list), +as either the container will be changed by the installation of new pip packages, either the database itself will be +changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially break things. -If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done -by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course, -as an extra precaution, you can make a backup manually before making big changes in your production sources in case -something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups +If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done +by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course, +as an extra precaution, you can make a backup manually before making big changes in your production sources in case +something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups to 5 per day. The *import database* feature accepts database archives in the format provided by: diff --git a/content/applications/finance/accounting/bank/feeds/saltedge.rst b/content/applications/finance/accounting/bank/feeds/saltedge.rst index 5766150b2d..d38008f0b6 100644 --- a/content/applications/finance/accounting/bank/feeds/saltedge.rst +++ b/content/applications/finance/accounting/bank/feeds/saltedge.rst @@ -80,12 +80,12 @@ FAQ I have an error when I try to delete my synchronization within Odoo ------------------------------------------------------------------- -Odoo can't permanently delete the connection you have created with the banking institution. However, -it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The -error you are seeing is probably a message telling you that the consent was revoked, but the record -could not be deleted as it still exists within Salt edge. If you want to remove the connection -completely, please connect to your `Salt Edge account `_ -and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the +Odoo can't permanently delete the connection you have created with the banking institution. However, +it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The +error you are seeing is probably a message telling you that the consent was revoked, but the record +could not be deleted as it still exists within Salt edge. If you want to remove the connection +completely, please connect to your `Salt Edge account `_ +and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the record. I have an error saying that I have already synchronized this account diff --git a/content/applications/finance/accounting/bank/setup/manage_cash_register.rst b/content/applications/finance/accounting/bank/setup/manage_cash_register.rst index 3ded4ef83d..365ad2b132 100644 --- a/content/applications/finance/accounting/bank/setup/manage_cash_register.rst +++ b/content/applications/finance/accounting/bank/setup/manage_cash_register.rst @@ -11,7 +11,7 @@ Configuration .. image:: manage_cash_register/journal.png :align: center -1. Configure the Cash journal in :menuselection:`Accounting --> Configuration --> +1. Configure the Cash journal in :menuselection:`Accounting --> Configuration --> Journals`. 2. In the tab Journal Entries, the Default Debit and Credit Account can be diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst index 5fbb24b4c5..a020feed7d 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst @@ -23,9 +23,9 @@ modules are available: - **l10n_ar_reports**: Add VAT Book report which is a legal requirement in Argentine and that holds the VAT detail info of sales or purchases recorded on the journal entries. This module includes as well the VAT summary report that is used to analyze the invoice - -- **l10n_ar_edi**: This module includes all technical and functional requirements to generate - Electronic Invoice via web service, based on the AFIP regulations. + +- **l10n_ar_edi**: This module includes all technical and functional requirements to generate + Electronic Invoice via web service, based on the AFIP regulations. Configuration @@ -48,7 +48,7 @@ fiscal obligation and structure of the company: .. image:: argentina/argentina02.png :align: center - + Chart of Account ~~~~~~~~~~~~~~~~ @@ -75,9 +75,9 @@ Environment The AFIP infrastructure is replicated in two separate environments, Testing and Production. -Testing is provided so that the Companies can test their developments until they are ready to move -into the Production environment. As these two environments are completely isolated from each other, -the digital certificates of one instance are not valid in the other one. +Testing is provided so that the Companies can test their developments until they are ready to move +into the Production environment. As these two environments are completely isolated from each other, +the digital certificates of one instance are not valid in the other one. Go to :menuselection:`Accounting --> Settings --> Argentinian Localization` to select the environment: @@ -87,10 +87,10 @@ Go to :menuselection:`Accounting --> Settings --> Argentinian Localization` to s AFIP Certificates ***************** -The electronic invoice and other afip services work with WebServices (WS) provided by the AFIP. +The electronic invoice and other afip services work with WebServices (WS) provided by the AFIP. In order to enable communication with the AFIP, the first step is to request a Digital Certificate -if you don’t have one already. +if you don’t have one already. #. Generate certificate Sign Request (Odoo). When this option is selected a file with extension ``.csr`` (certificate signing request) is generated to be used the AFIP portal to request the @@ -101,7 +101,7 @@ if you don’t have one already. #. Generate Certificate (AFIP). Access the AFIP portal and follow the instructions described in the next document in order to get a certificate. `Get AFIP Certificate `_. - + #. Upload Certificate and Private Key (Odoo). Once the certificate has been generated, it needs to be uploaded in Odoo, using the pencil next in the field “Certificado” and selecting the corresponding file. @@ -109,7 +109,7 @@ if you don’t have one already. .. image:: argentina/argentina_edi_03.png .. tip:: - In case you need to configure the Homologation Certificate, please refer to the AFIP official + In case you need to configure the Homologation Certificate, please refer to the AFIP official documentation: `Homologation Certificate `_. @@ -244,11 +244,11 @@ defines as well: #. The structure and data of the electronic invoice file. Web Services -************ -- ``wsfev1: Electronic Invoice.`` This is the most common service, - is used to generated invoices for document types A, B, C, M with no detail per item. -- ``wsbfev1: Electronic Fiscal Bond.`` For those who invoice capital goods and wish - to access the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. For more +************ +- ``wsfev1: Electronic Invoice.`` This is the most common service, + is used to generated invoices for document types A, B, C, M with no detail per item. +- ``wsbfev1: Electronic Fiscal Bond.`` For those who invoice capital goods and wish + to access the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. For more detail you can refer to the next link: `Fiscal Bond `_. - ``wsfexv1: Electronic Exportation Invoice.`` Used to generate invoices for international customers @@ -282,8 +282,8 @@ can be used: :align: center .. note:: - When creating the Purchase journals, it's possible to define if they can be related to document - types or not. In case that the option to use documents is selected, there is no need to manually + When creating the Purchase journals, it's possible to define if they can be related to document + types or not. In case that the option to use documents is selected, there is no need to manually associate the document type sequences as the document number is provided by the vendor. @@ -326,22 +326,22 @@ responsibility type but it can be updated manually by the user. Electronic Invoice elements ~~~~~~~~~~~~~~~~~~~~~~~~~~~ -When using electronic invoice, if all the information is correct the Invoice is posted in the -standard way, in case that something needs to be addressed (check the section common errors for more -detail), an error message is raised indicating the issue/proposed solution and the invoice remains -in draft until the related data is corrected. +When using electronic invoice, if all the information is correct the Invoice is posted in the +standard way, in case that something needs to be addressed (check the section common errors for more +detail), an error message is raised indicating the issue/proposed solution and the invoice remains +in draft until the related data is corrected. -Once the invoice is posted, the information related to the AFIP validation and status is displayed -in the AFIP Tab, including: +Once the invoice is posted, the information related to the AFIP validation and status is displayed +in the AFIP Tab, including: - AFIP Autorisation: CAE number. -- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the - CAE is generated. +- Expiration date: Deadline to deliver the invoice to the customers. Normally 10 days after the + CAE is generated. - Result: - Aceptado en AFIP. - - Aceptado con Observaciones. - + - Aceptado con Observaciones. + .. image:: argentina/argentina_edi_15.png :align: center @@ -378,7 +378,7 @@ Special Use Cases Invoices for Services ********************* For electronic invoices that include Services, the AFIP requires to report the service starting -and ending date, this information can be filled in the tab “Other Info”: +and ending date, this information can be filled in the tab “Other Info”: .. image:: argentina/argentina_edi_06.png :align: center @@ -392,34 +392,34 @@ filled automatically considering the beginning and day of the invoice month: Exportation Invoices ******************** -The invoices related to Exportation transactions required a Journal that used the AFIP POS +The invoices related to Exportation transactions required a Journal that used the AFIP POS System “Expo Voucher - Web Service” so the proper document type be associated: .. image:: argentina/argentina_edi_08.png :align: center -When the customer selected in the Invoice has set the AFIP responsibility type as “Cliente / +When the customer selected in the Invoice has set the AFIP responsibility type as “Cliente / Proveedor del Exterior” or “IVA Liberado – Ley Nº 19.640”, Odoo automatically assigned: - Journal related to the exportation Web Service. - Exportation document type . - Fiscal position: Compras/Ventas al exterior. - Concepto AFIP: Products / Definitive export of goods. -- Exempt Taxes. +- Exempt Taxes. .. image:: argentina/argentina_edi_09.png :align: center .. note:: The Exportation Documents required the Incoterm in :menuselection:`Other Info --> Accounting`: - + .. image:: argentina/argentina_edi_13.png :align: center - - + + Fiscal Bond *********** -The Electronic Fiscal bond is used for those who invoice capital goods and wish to access +The Electronic Fiscal bond is used for those who invoice capital goods and wish to access the benefit of the Electronic Tax Bonds granted by the Ministry of Economy. For these transactions it’s important to have into consideration the next requirements: @@ -435,77 +435,77 @@ For these transactions it’s important to have into consideration the next requ - Quantity. - Unit of measurement. - Bonus. - - VAT rate. + - VAT rate. -Electronic Credit Invoice MiPyme (FCE) +Electronic Credit Invoice MiPyme (FCE) ************************************** **Invoices:** There are several document types classified as Mipyme also known as -Electronic Credit Invoice (FCE in spanish), which is used to impulse the SME, its purpose is -to develop a mechanism that improves the financing conditions of these companies and allows -them to increase their productivity, through the early collection of credits and receivables -issued to their clients and / or vendors. +Electronic Credit Invoice (FCE in spanish), which is used to impulse the SME, its purpose is +to develop a mechanism that improves the financing conditions of these companies and allows +them to increase their productivity, through the early collection of credits and receivables +issued to their clients and / or vendors. For these transactions it’s important to have into consideration the next requirements: - Specific document types (201, 202, 206, etc). -- The emisor should be eligible by the AFIP to MiPyme transactions. -- The amount should be bigger than 100,000 ARS. -- A bank account type CBU must be related to the emisor, otherwise the invoice can’t - be validated, having these errors messages for example: - +- The emisor should be eligible by the AFIP to MiPyme transactions. +- The amount should be bigger than 100,000 ARS. +- A bank account type CBU must be related to the emisor, otherwise the invoice can’t + be validated, having these errors messages for example: + .. image:: argentina/argentina_edi_10.png :align: center -**Credit& Debit Notes:** When creating a Credit/Debit note related to a FCE document, it is +**Credit& Debit Notes:** When creating a Credit/Debit note related to a FCE document, it is important take the next points into consideration: -- Use the Credit and Debit Note buttons, so the correct reference of the originator - document passed to the note. +- Use the Credit and Debit Note buttons, so the correct reference of the originator + document passed to the note. .. image:: argentina/argentina_edi_11.png :align: center - + - The document letter should be the same than the originator document (either A or B). -- The same currency as the source document must be used. When using a secondary currency - there is an exchange difference if the currency rate is different between the emission day - and the payment date, it’s possible to create a credit/debit note to decrease/increase the - amount to pay in ARS. +- The same currency as the source document must be used. When using a secondary currency + there is an exchange difference if the currency rate is different between the emission day + and the payment date, it’s possible to create a credit/debit note to decrease/increase the + amount to pay in ARS. In the workflow we can have two scenarios: -#. The FCE is rejected so the Credit Note should have the field “FCE, is Cancellation?” as True. -#. The Credit Note, is created with the negative amount to annulate the FCE document, - in this case the field “FCE, is Cancellation?” must be empty (false). +#. The FCE is rejected so the Credit Note should have the field “FCE, is Cancellation?” as True. +#. The Credit Note, is created with the negative amount to annulate the FCE document, + in this case the field “FCE, is Cancellation?” must be empty (false). .. image:: argentina/argentina_edi_12.png :align: center - + Invoice printed report ~~~~~~~~~~~~~~~~~~~~~~ -The PDF report related to electronic invoices that have been validated by the AFIP includes -a barcode at the bottom of the format which represent the CAE number, the Expiration Date is -also displayed as it’s legal requirement: - +The PDF report related to electronic invoices that have been validated by the AFIP includes +a barcode at the bottom of the format which represent the CAE number, the Expiration Date is +also displayed as it’s legal requirement: + .. image:: argentina/argentina_edi_14.png :align: center Troubleshooting and Auditing ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -For auditing and troubleshooting purposes you can get the detailed information of an -invoice number that has been previously sent to the AFIP, +For auditing and troubleshooting purposes you can get the detailed information of an +invoice number that has been previously sent to the AFIP, .. image:: argentina/argentina_edi_23.png :align: center - + .. image:: argentina/argentina_edi_24.png - :align: center + :align: center -You can also get the last number used in AFIP for a specific Document Type and POS Number -as support for any possible issues on the sequence synchronization between Odoo and AFIP. +You can also get the last number used in AFIP for a specific Document Type and POS Number +as support for any possible issues on the sequence synchronization between Odoo and AFIP. .. image:: argentina/argentina_edi_22.png :align: center @@ -514,8 +514,8 @@ as support for any possible issues on the sequence synchronization between Odoo Vendor Bills ------------ -Based on the purchase journal selected for the vendor bill, the document type is now a required field. -This value is auto populated based on the AFIP Responsibility type of Issuer and Customer, but the +Based on the purchase journal selected for the vendor bill, the document type is now a required field. +This value is auto populated based on the AFIP Responsibility type of Issuer and Customer, but the value can be switched if necessary. .. image:: argentina/argentina16.png @@ -528,20 +528,20 @@ expected. .. image:: argentina/argentina17.png :align: center -The vendor bill number is structured in the same way that the invoices with the difference +The vendor bill number is structured in the same way that the invoices with the difference that the document sequence is input by the user: “Document Prefix - Letter - Document number". Validate Vendor Bill number in AFIP ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As most companies have internal controls to verify that the vendor bill is related to an AFIP -valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings --> -Argentinian Localization --> Validate document in the AFIP`, considering the following levels: +valid document, an automatic validation can be set in :menuselection:`Accounting --> Settings --> +Argentinian Localization --> Validate document in the AFIP`, considering the following levels: - **Not available:** The verification is not done (this is the default value). -- **Available:** The verification is done, in case the number is not valid - it only raises a warning but it allows you to post the vendor bill. -- **Required:** The verification is done and it doesn't allow the user to +- **Available:** The verification is done, in case the number is not valid + it only raises a warning but it allows you to post the vendor bill. +- **Required:** The verification is done and it doesn't allow the user to post the vendor bill if the document number is not valid. .. image:: argentina/argentina_edi_16.png @@ -549,13 +549,13 @@ Argentinian Localization --> Validate document in the AFIP`, considering the fol How to use it in Odoo ********************* -This tool incorporates in the vendor bill a new "Verify on AFIP" button located -next to the AFIP Authorization code. +This tool incorporates in the vendor bill a new "Verify on AFIP" button located +next to the AFIP Authorization code. .. image:: argentina/argentina_edi_17.png :align: center -In case it’s not a valid AFIP authorization the value “Rejected” will be +In case it’s not a valid AFIP authorization the value “Rejected” will be displayed and the details of the validation will be added to the chatter. .. image:: argentina/argentina_edi_18.png @@ -566,8 +566,8 @@ Special Use cases ~~~~~~~~~~~~~~~~~ Untaxed Concepts **************** -There are some transactions that include items that are not part of the VAT base amount, -this is commonly used in fuel and gasoline invoices. +There are some transactions that include items that are not part of the VAT base amount, +this is commonly used in fuel and gasoline invoices. The vendor bill will be registered using 1 item for each product that is part of the VAT base amount and an additional item to register the amount of the Exempt concept: @@ -577,23 +577,23 @@ base amount and an additional item to register the amount of the Exempt concept Perception Taxes **************** -The vendor bill will be registered using 1 item for each product that is part of the -VAT base amount, the perception tax can be added in any of the product lines, as result -we will have one tax group for the VAT and one for the perception, the perception default -value is always 1.00. +The vendor bill will be registered using 1 item for each product that is part of the +VAT base amount, the perception tax can be added in any of the product lines, as result +we will have one tax group for the VAT and one for the perception, the perception default +value is always 1.00. .. image:: argentina/argentina_edi_20.png :align: center -You should use the pencil that is the next to the Perception amount to edit it -and set the correct amount. +You should use the pencil that is the next to the Perception amount to edit it +and set the correct amount. .. image:: argentina/argentina_edi_21.png :align: center - -After this is done the invoice can be validated. - - + +After this is done the invoice can be validated. + + Reports ======= diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst index 73acbca0ea..ba6be4777c 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/germany.rst @@ -9,7 +9,7 @@ The chart of accounts SKR03 and SKR04 are both supported in Odoo. You can choose one you want by going in :menuselection:`Accounting --> Configuration` then choose the package you want in the Fiscal Localization section. -Be careful, you can only change the accounting package as long as you have not created any accounting entry. +Be careful, you can only change the accounting package as long as you have not created any accounting entry. .. tip:: @@ -20,7 +20,7 @@ German Accounting Reports Here is the list of German-specific reports available on Odoo Enterprise: -- Balance Sheet +- Balance Sheet - Profit & Loss - Tax Report (Umsatzsteuervoranmeldung) - Partner VAT Intra diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst index c34fc4edc2..03dccee079 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/italy.rst @@ -37,7 +37,7 @@ Give Odoo permission to process files Since the files are transmitted through Odoo's server before being sent to SDICoop or received by your database, you need to authorize Odoo to process your files from your database. -To do this, go to :menuselection:`Accounting --> Settings --> Electronic Invoicing` and click on +To do this, go to :menuselection:`Accounting --> Settings --> Electronic Invoicing` and click on *Register*. .. image:: italy/register.png diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst index d0b15b429e..daf55ffa97 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/peru.rst @@ -5,20 +5,20 @@ Peru Introduction ============ -The Peruvian localization has been improved and extended, in this version the next modules are +The Peruvian localization has been improved and extended, in this version the next modules are available: - **l10n_pe**: Adds accounting features for the Peruvian localization, which represent the minimal - configuration required for a company to operate in Peru and under the SUNAT regulations and - guidelines. The main elements included in this module are: Chart of account, taxes, - document types. + configuration required for a company to operate in Peru and under the SUNAT regulations and + guidelines. The main elements included in this module are: Chart of account, taxes, + document types. -- **l10n_pe_edi**: includes all technical and functional requirements to generate and validate - Electronic Invoice, based on the SUNAT specification to create and process valid electronic - documents, for more technical detail you can access the +- **l10n_pe_edi**: includes all technical and functional requirements to generate and validate + Electronic Invoice, based on the SUNAT specification to create and process valid electronic + documents, for more technical detail you can access the `SUNAT EDI specifications `_, - that keeps track of new changes and updates. - The features of this module are based on the resolutions published on the + that keeps track of new changes and updates. + The features of this module are based on the resolutions published on the `SUNAT Legislation `_. Configuration @@ -27,24 +27,24 @@ Configuration Install the Peruvian localization modules ----------------------------------------- -Go to *Apps* and search for Peru, then click Install in the module Peru EDI. This module has a +Go to *Apps* and search for Peru, then click Install in the module Peru EDI. This module has a dependency with *Peru - Accounting*. In case this last one is not installed, Odoo installs it automatically within EDI. .. image:: peru/peru-modules.png :align: center - :alt: The "Module" filter is set on "Peru" + :alt: The "Module" filter is set on "Peru" .. note:: - When you install a database from scratch selecting Peru as country, Odoo automatically + When you install a database from scratch selecting Peru as country, Odoo automatically installs the base module: Peru - Accounting. - + Configure your company ~~~~~~~~~~~~~~~~~~~~~~ In addition to the basic information in the Company, we need to set Peru as the Country, this is -essential for the Electronic Invoice to work properly. The field **Address Type Code** represents -the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor +essential for the Electronic Invoice to work properly. The field **Address Type Code** represents +the establishment code assigned by the SUNAT when companies register their RUC (Unique Contributor Registration): .. image:: peru/peru-company.png @@ -53,18 +53,18 @@ Registration): .. tip:: - In case the Address type code is unknown, you can set it as the default value: 0000. Be aware - that if an incorrect value is entered, the Electronic invoice validation might have errors. - + In case the Address type code is unknown, you can set it as the default value: 0000. Be aware + that if an incorrect value is entered, the Electronic invoice validation might have errors. + .. note:: The NIF should be set following the RUC format. - + Chart of Account ~~~~~~~~~~~~~~~~ -The chart of accounts is installed by default as part of the set of data included in the -localization module, the accounts are mapped automatically in: +The chart of accounts is installed by default as part of the set of data included in the +localization module, the accounts are mapped automatically in: - Taxes - Default Account Payable. @@ -77,20 +77,20 @@ accounting. Accounting Settings ------------------- -Once the modules are installed and the basic information of your company is set, you need to -configure the elements required for Electronic Invoice. For this, go to :menuselection:`Accounting +Once the modules are installed and the basic information of your company is set, you need to +configure the elements required for Electronic Invoice. For this, go to :menuselection:`Accounting --> Settings --> Peruvian Localization`. Basic Concepts ~~~~~~~~~~~~~~ -Here are some terms that are essential on the Peruvian localization: +Here are some terms that are essential on the Peruvian localization: -- **EDI**: Electronic Data Interchange, which in this refers to the Electronic Invoice. +- **EDI**: Electronic Data Interchange, which in this refers to the Electronic Invoice. - **SUNAT**: is the organization that enforces customs and taxation in Peru. -- **OSE**: Electronic Service Operator, `OSE SUNAT's definition +- **OSE**: Electronic Service Operator, `OSE SUNAT's definition `_. -- **CDR**: Receipt certificate (Constancia de Recepción). +- **CDR**: Receipt certificate (Constancia de Recepción). - **SOL Credentials**: Sunat Operaciones en Línea. User and password are provided by the SUNAT and grant access to Online Operations systems. @@ -112,12 +112,12 @@ IAP (Odoo In-App Purchase) ************************** This is the default and the suggested option, considering the digital ceritificate is included as -part of the service. +part of the service. .. image:: peru/peru-IAP.png :align: center :alt: IAP option as signature providers - + What is the IAP? ^^^^^^^^^^^^^^^^ @@ -146,34 +146,34 @@ Package. | 20,000 | 440 | +---------+-----+ -The credits are consumed per each document that is sent to the OSE. +The credits are consumed per each document that is sent to the OSE. .. important:: - If you have a validation error and the document needs to be sent one more time, one additional - credit will be charged. Therefore, it is paramount that you verify all information is correct + If you have a validation error and the document needs to be sent one more time, one additional + credit will be charged. Therefore, it is paramount that you verify all information is correct before sending your document to the OSE. What do you need to do? ^^^^^^^^^^^^^^^^^^^^^^^ -- In Odoo, once your enterprise contract is activated and you start working in Production, you +- In Odoo, once your enterprise contract is activated and you start working in Production, you need to buy credits once the first 1000 are consumed. -- As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your +- As Digiflow is the OSE used in the IAP, you need to affiliate it as the official OSE for your company on the SUNAT website. This is a simple process. For more information, please check - `OSE Affiliation guide + `OSE Affiliation guide `_. - Register Digiflow as the authorized PSE, please check - `PSE Affiliation guide + `PSE Affiliation guide `_. Digiflow ******** -This option can be used as an alternative, instead of using the IAP services you can send your +This option can be used as an alternative, instead of using the IAP services you can send your document validation directly to Digiflow. In this case you need to consider: -- Buy your own digital Certificate: For more detail regarding the official vendor list, and the - process to acquire it, please refer to `SUNAT Digital Ceritifcates +- Buy your own digital Certificate: For more detail regarding the official vendor list, and the + process to acquire it, please refer to `SUNAT Digital Ceritifcates `_. - Sign a service agreement directly with `Digiflow `_. - Provide your SOL credentials. @@ -185,14 +185,14 @@ document validation directly to Digiflow. In this case you need to consider: SUNAT ***** -In case your company wants to sign directly with the SUNAT, it is possible to select this option +In case your company wants to sign directly with the SUNAT, it is possible to select this option in your configuration. In this case you need to consider: - Get the SUNAT Certification process accepted. -- Buy your own digital Certificate: For more detail regarding the official vendor list, and the - process to acquire it, please refer to `SUNAT Digital Ceritifcates +- Buy your own digital Certificate: For more detail regarding the official vendor list, and the + process to acquire it, please refer to `SUNAT Digital Ceritifcates `_. - + - Provide you SOL credentials. .. important:: @@ -202,14 +202,14 @@ in your configuration. In this case you need to consider: Testing environment ~~~~~~~~~~~~~~~~~~~ -Odoo provides a testing environment that can be activated before your company goes into production. +Odoo provides a testing environment that can be activated before your company goes into production. -When using the testing environment and the IAP signature, you don’t need to buy testing credits +When using the testing environment and the IAP signature, you don’t need to buy testing credits for your transactions as all of them are validated by default. .. tip:: - By default the databases are set to work on production, make sure to enable the testing mode - if needed. + By default the databases are set to work on production, make sure to enable the testing mode + if needed. Certificate ~~~~~~~~~~~ @@ -221,17 +221,17 @@ password. .. image:: peru/peru-Certificate.png :align: center :alt: EDI Certificate wizard - + Multicurrency ~~~~~~~~~~~~~ -The official currency exchange rate in Peru is provided by the Bank of Peru. Odoo can connect +The official currency exchange rate in Peru is provided by the Bank of Peru. Odoo can connect directly to its services and get the currency rate either automatically or manually. .. image:: peru/peru-multicurrency.png :align: center :alt: Bank of Peru is displayed in Multicurrency Service option - + Please refer to the next section in our documentation for more information about :doc:`multicurrencies <../../others/multi_currency>`. @@ -241,7 +241,7 @@ Configure Master data Taxes ~~~~~ -As part of the localization module the taxes are created automatically with their related +As part of the localization module the taxes are created automatically with their related financial account and electronic invoice configuration. .. image:: peru/peru-taxes.png @@ -251,9 +251,9 @@ financial account and electronic invoice configuration. EDI Configuration ***************** -As part of the taxes configuration, there are three new fields required for electronic invoice, -the taxes created by default have this data included, but in case you create new taxes make -sure you fill in the fields: +As part of the taxes configuration, there are three new fields required for electronic invoice, +the taxes created by default have this data included, but in case you create new taxes make +sure you fill in the fields: .. image:: peru/peru-taxes-edi.png :align: center @@ -272,15 +272,15 @@ There are two main fiscal positions included by default when you install the Per Document Types ~~~~~~~~~~~~~~ -In some Latin American countries, including Peru, some accounting transactions like invoices and -vendor bills are classified by document types, defined by the government fiscal authorities, in -this case by the SUNAT. +In some Latin American countries, including Peru, some accounting transactions like invoices and +vendor bills are classified by document types, defined by the government fiscal authorities, in +this case by the SUNAT. -Each document type can have a unique sequence per journal where it is assigned. As part of the -localization, the Document Type includes the country on which the document is applicable;the data +Each document type can have a unique sequence per journal where it is assigned. As part of the +localization, the Document Type includes the country on which the document is applicable;the data is created automatically when the localization module is installed. - -The information required for the document types is included by default so the user does not need + +The information required for the document types is included by default so the user does not need to fill anything on this view: .. image:: peru/peru-document-type.png @@ -288,7 +288,7 @@ to fill anything on this view: :alt: Document Type list .. warning:: - Currently the documents supported on customer invoices are: Invoice, Boleta, Debit Note and + Currently the documents supported on customer invoices are: Invoice, Boleta, Debit Note and Credit Note. Journals @@ -297,17 +297,17 @@ Journals When creating Sales Journals, the following information must be filled, in addition to the standard fields on the Journals: -Use Documents +Use Documents ************* -This field is used to define if the journal uses Document Types. It is only applicable to -Purchase and Sales journals, which are the ones that can be related to the different set of -document types available in Peru. By default, all the sales journals created use documents. +This field is used to define if the journal uses Document Types. It is only applicable to +Purchase and Sales journals, which are the ones that can be related to the different set of +document types available in Peru. By default, all the sales journals created use documents. Electronic Data Interchange *************************** -This section indicates which EDI workflow is used in the invoice, for Peru we must select +This section indicates which EDI workflow is used in the invoice, for Peru we must select “Peru UBL 2.1”. .. image:: peru/peru-journal-edi.png @@ -323,8 +323,8 @@ Partner Identification Type and VAT *************************** -As part of the Peruvian localization, the identification types defined by the SUNAT are now -available on the Partner form, this information is essential for most transactions either on +As part of the Peruvian localization, the identification types defined by the SUNAT are now +available on the Partner form, this information is essential for most transactions either on the sender company and in the customer, make sure you fill in this information in your records. .. image:: peru/peru-id-type.png @@ -335,8 +335,8 @@ the sender company and in the customer, make sure you fill in this information i Product ~~~~~~~ -Additional to the basic information in your products, for the Peruvian localization, the UNSPC -Code on the product is a required value to be configured. +Additional to the basic information in your products, for the Peruvian localization, the UNSPC +Code on the product is a required value to be configured. .. image:: peru/peru-unspc-code.png :align: center @@ -354,27 +354,27 @@ EDI Elements Once you have configured your master data, the invoices can be created from your sales order or manually. Additional to the basic invoice information described on :doc:`our page about the -invoicing process <../../receivables/customer_invoices/overview>`, there are a couple of fields +invoicing process <../../receivables/customer_invoices/overview>`, there are a couple of fields required as part of the Peru EDI: -- **Document type**: The default value is “Factura Electronica” but you can manually change the - document type if needed and select Boleta for example. +- **Document type**: The default value is “Factura Electronica” but you can manually change the + document type if needed and select Boleta for example. .. image:: peru/peru-invoice-document-type.png :align: center :alt: Invoice document type field on invoices -- **Operation type**: This value is required for Electronic Invoice and indicates the transaction - type, the default value is “Internal Sale” but another value can be selected manually when needed, - for example Export of Goods. +- **Operation type**: This value is required for Electronic Invoice and indicates the transaction + type, the default value is “Internal Sale” but another value can be selected manually when needed, + for example Export of Goods. .. image:: peru/peru-operation-type.png :align: center :alt: Invoice operation type field on invoices -- **EDI Affectation Reason**: In the invoice lines, additional to the Tax there is a field “EDI - Affectation Reason” that determines the tax scope based on the SUNAT list that is displayed. - All the taxes loaded by default are associated with a default EDI affection reason, if needed +- **EDI Affectation Reason**: In the invoice lines, additional to the Tax there is a field “EDI + Affectation Reason” that determines the tax scope based on the SUNAT list that is displayed. + All the taxes loaded by default are associated with a default EDI affection reason, if needed you can manually select another one when creating the invoice. .. image:: peru/peru-tax-affectation-reason.png @@ -385,70 +385,70 @@ Invoice validation ~~~~~~~~~~~~~~~~~~ Once you check all the information in your invoice is correct, you can proceed to validate it. This -action registers the account move and triggers the Electronic invoice workflow to send it to the +action registers the account move and triggers the Electronic invoice workflow to send it to the OSE and the SUNAT. The following message is displayed at the top of the invoice: .. image:: peru/peru-posted-invoice.png :align: center :alt: Sending of EDI Invoice in blue -Asynchronous means that the document is not sent automatically after the invoice has been posted. +Asynchronous means that the document is not sent automatically after the invoice has been posted. Electronic Invoice Status ************************* -**To be Sent**: To be sent: Indicates the document is ready to be sent to the OSE, this can be -done either automatically by Odoo with a *cron* that runs every hour, or the user can send it +**To be Sent**: To be sent: Indicates the document is ready to be sent to the OSE, this can be +done either automatically by Odoo with a *cron* that runs every hour, or the user can send it immediately by clicking on the button “Sent now”. .. image:: peru/peru-sent-manual.png :align: center :alt: Send EDI manually -**Sent**: Indicates the document was sent to the OSE and was successfully validated. As part of -the validation a ZIP file is downloaded and a message is logged in the chatter indicating the -correct Government validation. +**Sent**: Indicates the document was sent to the OSE and was successfully validated. As part of +the validation a ZIP file is downloaded and a message is logged in the chatter indicating the +correct Government validation. .. image:: peru/peru-invoice-sent.png :align: center :alt: Message on chatter when the invoice is valid -In case there is a validation error the Electronic Invoice status remains in “To be sent” so the -corrections can be made and the invoice can be sent again. +In case there is a validation error the Electronic Invoice status remains in “To be sent” so the +corrections can be made and the invoice can be sent again. .. warning:: - One credit is consumed each time that you send a document for validation, in this sense if an - error is detected on an invoice and you send it one more time, two credits are consumed in + One credit is consumed each time that you send a document for validation, in this sense if an + error is detected on an invoice and you send it one more time, two credits are consumed in total. Common Errors ~~~~~~~~~~~~~ -There are multiple reasons behind a rejection from the OSE or the SUNAT, when this happens Odoo -sends a message at the top of the invoice indicating the error details and in the most common -cases a hint to fix the issue. +There are multiple reasons behind a rejection from the OSE or the SUNAT, when this happens Odoo +sends a message at the top of the invoice indicating the error details and in the most common +cases a hint to fix the issue. -If a validation error is received, you have two options: +If a validation error is received, you have two options: - In case the error is related to master data on the partner, customer or taxes, you can simply - apply the change on the record (example customer identification type) and once it is done click - on the Retry button. -- If the error is related to some data recorded on the invoice directly (Operation type, missing - data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the - changes, and then send the invoice again to the SUNAT for another validation. + apply the change on the record (example customer identification type) and once it is done click + on the Retry button. +- If the error is related to some data recorded on the invoice directly (Operation type, missing + data on the invoice lines), the correct solution is to reset the invoice to Draft, apply the + changes, and then send the invoice again to the SUNAT for another validation. .. image:: peru/peru-errors.png :align: center :alt: List of common errors on invoices -For more detail please refert to `Common errors in SUNAT +For more detail please refert to `Common errors in SUNAT `_. Invoice PDF Report ~~~~~~~~~~~~~~~~~~ -After the invoice is accepted and validated by the SUNAT, the invoice PDF report can be printed. +After the invoice is accepted and validated by the SUNAT, the invoice PDF report can be printed. The report includes a QR code, indicating the invoice is a valid fiscal document. .. image:: peru/peru-PDF.png @@ -458,18 +458,18 @@ The report includes a QR code, indicating the invoice is a valid fiscal document IAP Credits ~~~~~~~~~~~ -Odoo’s Electronic IAP offers 1000 credits for free, after these credits are consumed in your -production database, your company must buy new credits in order to process your transactions. +Odoo’s Electronic IAP offers 1000 credits for free, after these credits are consumed in your +production database, your company must buy new credits in order to process your transactions. -Once you run out of credits a red label is displayed at the top of the invoice indicating that -additional credits are required, you can easily buy them by accessing the link provided in -the message. +Once you run out of credits a red label is displayed at the top of the invoice indicating that +additional credits are required, you can easily buy them by accessing the link provided in +the message. .. image:: peru/peru-credits-IAP.png :align: center :alt: Buying credits in the IAP -In the IAP service includes packages with different pricing based on the number of credits. +In the IAP service includes packages with different pricing based on the number of credits. The price list in the IAP is always displayed in EUR. Special Use cases @@ -478,30 +478,30 @@ Special Use cases Cancellation process ******************** -Some scenarios require an invoice cancellation, for example, when an invoice was created by mistake. -If the invoice was already sent and validated by the SUNAT, the correct way to proceed is by +Some scenarios require an invoice cancellation, for example, when an invoice was created by mistake. +If the invoice was already sent and validated by the SUNAT, the correct way to proceed is by clicking on the button Request Cancellation: .. image:: peru/peru-cancellation.png :align: center :alt: Request invoice cancellation button -In order to cancel an invoice, please provide a cancellation Reason. +In order to cancel an invoice, please provide a cancellation Reason. Electronic Invoice Status ^^^^^^^^^^^^^^^^^^^^^^^^^ -**To Cancel**: Indicates the cancellation request is ready to be sent to the OSE, this can be done -either automatically by Odoo with a *cron* that runs every hour, or the user can send it -immediately by clicking on the button “Send now”. Once it is sent, a cancellation ticket is +**To Cancel**: Indicates the cancellation request is ready to be sent to the OSE, this can be done +either automatically by Odoo with a *cron* that runs every hour, or the user can send it +immediately by clicking on the button “Send now”. Once it is sent, a cancellation ticket is created, as a result the next message and CDR File are logged in the chatter: .. image:: peru/peru-cancellation-cdr.png :align: center :alt: Cancellation CDR sent by the SUNAT - -**Cancelled**: Indicates the cancellation request was sent to the OSE and was successfully -validated. As part of the validation a ZIP file is downloaded and a message is logged in the + +**Cancelled**: Indicates the cancellation request was sent to the OSE and was successfully +validated. As part of the validation a ZIP file is downloaded and a message is logged in the chatter indicating the correct Government validation. .. image:: peru/peru-cancelled.png @@ -510,14 +510,14 @@ chatter indicating the correct Government validation. .. warning:: One credit is consumed on each cancellation request. - + Cancellation process ******************** When creating exportation invoices, take into account the next considerations: -- The Identification type on your customer must be Foreign ID. -- Operation type in your invoice must be an Exportation one. +- The Identification type on your customer must be Foreign ID. +- Operation type in your invoice must be an Exportation one. - The taxes included in the invoice lines should be EXP taxes. .. image:: peru/peru-exp-invoice.png @@ -527,24 +527,24 @@ When creating exportation invoices, take into account the next considerations: Advance Payments **************** -#. Create the advance payment Invoice and apply its related payment. -#. Create the final invoice without considering the advance payment. -#. Create a credit note for the Final invoice with the advance payment amount. -#. Reconcile the Credit note with the final invoice. -#. The remaining balance on the final invoice should be paid with a regular payment transaction. +#. Create the advance payment Invoice and apply its related payment. +#. Create the final invoice without considering the advance payment. +#. Create a credit note for the Final invoice with the advance payment amount. +#. Reconcile the Credit note with the final invoice. +#. The remaining balance on the final invoice should be paid with a regular payment transaction. -Detraction Invoices +Detraction Invoices ******************** -When creating invoices that is subject to Detractions, take into account the next considerations: +When creating invoices that is subject to Detractions, take into account the next considerations: -#. All the products included in the invoice must have these fields configured: +#. All the products included in the invoice must have these fields configured: .. image:: peru/peru-detraction.png :align: center :alt: Detraction fields on products - + #. Operation type in your invoice must be ``1001`` .. image:: peru/peru-detraction-invoice.png @@ -554,8 +554,8 @@ When creating invoices that is subject to Detractions, take into account the nex Credit Notes ------------ -When a correction or refund is needed over a validated invoice, a credit note must be generated, -for this just click on the button “Add Credit Note”, a part of the Peruvian localization you need +When a correction or refund is needed over a validated invoice, a credit note must be generated, +for this just click on the button “Add Credit Note”, a part of the Peruvian localization you need to prove a Credit Reason selecting one of the options in the list. .. image:: peru/peru-credit-note.png @@ -563,9 +563,9 @@ to prove a Credit Reason selecting one of the options in the list. :alt: Add Credit Note from invoice .. tip:: - When creating your first credit Note, select the Credit Method: Partial Refund, this allows you - to define the credit note sequence. - + When creating your first credit Note, select the Credit Method: Partial Refund, this allows you + to define the credit note sequence. + By default the Credit Note is set in the document type: .. image:: peru/peru-credit-note-document.png @@ -576,13 +576,13 @@ To finish the workflow please follow the instructions on :doc:`our page about Cr <../../receivables/customer_invoices/credit_notes>`. .. note:: - The EDI workflow for the Credit notes works in the same way as the invoices. + The EDI workflow for the Credit notes works in the same way as the invoices. Debit Notes ------------ -As part of the Peruvian localization, besides creating credit notes from an existing document +As part of the Peruvian localization, besides creating credit notes from an existing document you can also create debit Notes. For this just use the button “Add Debit Note”. By default the Debit Note is set in the document type. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst index 5cdded2402..e0ef31f8ed 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/spain.rst @@ -9,12 +9,12 @@ In Odoo, there are several Spanish Chart of Accounts that are available by defau - PGCE PYMEs 2008 - PGCE Completo 2008 -- PGCE Entitades +- PGCE Entitades You can choose the one you want by going in :menuselection:`Accounting --> Configuration` -then choose the package you want in the **Fiscal Localization** section. +then choose the package you want in the **Fiscal Localization** section. -Be careful, you can only change the accounting package as long as you have not created any accounting entry. +Be careful, you can only change the accounting package as long as you have not created any accounting entry. .. tip:: When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default. @@ -24,7 +24,7 @@ Spanish Accounting Reports If the Spanish Accounting Localization is installed, you will have access to accounting reports specific to Spain: -- Balance Sheet +- Balance Sheet - Tax Report (Modelo 111) - Tax Report (Modelo 115) -- Tax Report (Modelo 303) +- Tax Report (Modelo 303) diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst index 16d3be4a5e..e246750290 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/switzerland.rst @@ -12,7 +12,7 @@ called *Print ISR*. .. image:: switzerland/switzerland00.png :align: center -.. tip:: +.. tip:: The button *Print ISR* only appears there is well a bank account defined on the invoice. You can use CH6309000000250097798 as bank account number and 010391391 as CHF ISR reference. @@ -142,4 +142,4 @@ odoo.com/help. .. tip:: Don't forget to update your fiscal positions. If you have a version 11.1 (or higher), there is nothing to do. Otherwise, you will also - have to update your fiscal positions accordingly. + have to update your fiscal positions accordingly. diff --git a/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst b/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst index 5c34c137f3..00245e5d84 100644 --- a/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst +++ b/content/applications/finance/accounting/getting_started/process_overview/supplier_bill.rst @@ -17,7 +17,7 @@ From Vendor Bill to Payment Record a new vendor bill ------------------------ -When a vendor bill is received, you can record it from :menuselection:`Purchases --> Vendor Bills` +When a vendor bill is received, you can record it from :menuselection:`Purchases --> Vendor Bills` in the Accounting application. As a shortcut, you can also use the **New Bill** feature on the accounting dashboard. @@ -36,12 +36,12 @@ Save the invoice to update the pre tax and tax amounts at the bottom of the screen. You will most likely need to configure the prices of your products without taxes as Odoo will compute the tax for you. -.. note:: - On the bottom left corner, Odoo shows a summary table of all taxes on the vendor bill. - In several countries, different methods are accepted to round the totals (round per line, - or round globally). The default rounding method in Odoo is to round the final prices - per line (as you may have different taxes per product. E.g. Alcohol and cigarettes). - However if your vendor has a different tax amount on their bill, you can change the +.. note:: + On the bottom left corner, Odoo shows a summary table of all taxes on the vendor bill. + In several countries, different methods are accepted to round the totals (round per line, + or round globally). The default rounding method in Odoo is to round the final prices + per line (as you may have different taxes per product. E.g. Alcohol and cigarettes). + However if your vendor has a different tax amount on their bill, you can change the amount in the bottom left table to adjust and match. Validate The Vendor Bill @@ -91,8 +91,8 @@ if set it correctly). .. note:: - You can also register a payment to a vendor directly without applying it to a vendor bill. - To do that, :menuselection:`Purchases --> Payments`. Then, + You can also register a payment to a vendor directly without applying it to a vendor bill. + To do that, :menuselection:`Purchases --> Payments`. Then, from the vendor bill you will be able to reconcile this payment with directly. Printing vendor Checks diff --git a/content/applications/finance/accounting/others/adviser/budget.rst b/content/applications/finance/accounting/others/adviser/budget.rst index fee9f74701..c29341d84c 100644 --- a/content/applications/finance/accounting/others/adviser/budget.rst +++ b/content/applications/finance/accounting/others/adviser/budget.rst @@ -7,9 +7,9 @@ Overview Managing budgets is an essential part of running a business. Budgets help people become more intentional with the way money is spent and direct people -to organize and prioritize their work to meet financial goals. They allows -you to plan your desired financial outcome and then measure your actual -performance against the plan. Odoo manages budgets using both General and Analytic +to organize and prioritize their work to meet financial goals. They allows +you to plan your desired financial outcome and then measure your actual +performance against the plan. Odoo manages budgets using both General and Analytic Accounts. We will use the following example to illustrate. We just started a @@ -17,7 +17,7 @@ project with Smith&Co and we would like to budget the incomes and expenses of that project. We plan to have a revenue of 1000 and we don't want to spend more than 700. -Configuration +Configuration ============= First we need to install the relevant apps to use budgeting. The main @@ -40,17 +40,17 @@ Budgetary Positions Budgetary positions are lists of accounts for which you want to keep budgets (typically expense or income accounts). They need to be defined so Odoo can know it which accounts he needs to go get the budget -information. +information. The budgetary positions act as a type of restriction on what can be recorded in the 'practical amount' column in a budget. -Each budgetary position can have any number of accounts from the general -ledger (the main chart of accounts) assigned to it, though it must have at least one. +Each budgetary position can have any number of accounts from the general +ledger (the main chart of accounts) assigned to it, though it must have at least one. -If you record a transaction that has an analytic account assigned to it that *is* -included in a budget line but one of the general ledger accounts *is not* included -in the budgetary position for that same budget line, it will not appear within the +If you record a transaction that has an analytic account assigned to it that *is* +included in a budget line but one of the general ledger accounts *is not* included +in the budgetary position for that same budget line, it will not appear within the 'practical amount' column of that budget line. Some budgetary positions might be already installed with your chart of diff --git a/content/applications/finance/accounting/others/analytic/timesheets.rst b/content/applications/finance/accounting/others/analytic/timesheets.rst index 094fae568f..048540c0ad 100644 --- a/content/applications/finance/accounting/others/analytic/timesheets.rst +++ b/content/applications/finance/accounting/others/analytic/timesheets.rst @@ -19,7 +19,7 @@ First, install the three applications necessary to use this functionality, namely **Accounting**, **Sales** and **Timesheet**. Enter the apps module name and install them. -.. image:: timesheets/timesheets14.png +.. image:: timesheets/timesheets14.png :align: center .. image:: timesheets/timesheets05.png @@ -51,14 +51,14 @@ cost of 18 euros / hours. We will thus fill in 18 in this field. .. image:: timesheets/timesheets07.png :align: center -.. note:: +.. note:: If you want the employee to be able to enter timesheets he needs to be related to a User. Repeat the operation to create the Cedric Digory employee. Don't forget to specify its related user and **Timesheet Costs**. -Issue a Sales Order +Issue a Sales Order -------------------- We created two employees called Harry Potter and Cedric Diggory in the @@ -121,7 +121,7 @@ Without filters If we pointed all our costs and revenues of the project on the correct analytical account we can easily retrieve the cost and revenues related -to this analytical account. Enter the *Accounting* app, select +to this analytical account. Enter the *Accounting* app, select :menuselection:`Adviser --> Analytic Accounts --> Open Charts`. Note : you can specify a period for **Analysis**. If you want to open the diff --git a/content/applications/finance/accounting/payables/pay/sepa.rst b/content/applications/finance/accounting/payables/pay/sepa.rst index 55804469ab..4319da4f2d 100644 --- a/content/applications/finance/accounting/payables/pay/sepa.rst +++ b/content/applications/finance/accounting/payables/pay/sepa.rst @@ -13,11 +13,11 @@ Iceland, Norway, Switzerland, Andorra, Monaco and San Marino. With Odoo, once you decide to pay a vendor, you can select to pay the bill with SEPA. Then, at the end of the day, the manager can generate the SEPA file containing all bank wire transfers and send it to the -bank. +bank. By default,the file follows the SEPA Credit Transfer **'pain.001.001.03'** specifications. This is a well-defined standard that makes consensus -among banks. However, according to the country set on your company, +among banks. However, according to the country set on your company, another format can be used : **'pain.001.001.03.ch.02'** for Switzerland and **'pain.001.003.03'** for Germany. diff --git a/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst b/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst index fe1e73b49f..d467c822f8 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/cash_rounding.rst @@ -3,11 +3,11 @@ Cash rounding ============= **Cash rounding** is required when the lowest physical denomination -of currency, or the smallest coin, is higher than the minimum unit +of currency, or the smallest coin, is higher than the minimum unit of account. -For example, some countries require their companies to round up or -down the total amount of an invoice to the nearest five cents, when +For example, some countries require their companies to round up or +down the total amount of an invoice to the nearest five cents, when the payment is made in cash. Configuration @@ -19,22 +19,22 @@ and enable *Cash Rounding*, then click on *Save*. .. image:: cash_rounding/cash_rounding01.png :align: center -Go to :menuselection:`Accounting --> Configuration --> Cash Roundings`, +Go to :menuselection:`Accounting --> Configuration --> Cash Roundings`, and click on *Create*. -Define here your *Rounding Precision*, *Rounding Strategy*, and +Define here your *Rounding Precision*, *Rounding Strategy*, and *Rounding Method*. Odoo supports two **rounding strategies**: -1. **Add a rounding line**: a *rounding* line is added on the invoice. +1. **Add a rounding line**: a *rounding* line is added on the invoice. You have to define which account records the cash roundings. - + 2. **Modify tax amount**: the rounding is applied in the taxes section. Apply roundings =============== When editing a draft invoice, open the *Other Info* tab, go to the -*Accounting Information* section, and select the appropriate *Cash +*Accounting Information* section, and select the appropriate *Cash Rounding Method*. diff --git a/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst b/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst index 27f8ea7fbf..7a54955330 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/credit_notes.rst @@ -1,8 +1,8 @@ ======================== Credit notes and refunds ======================== -A **credit note**, or **credit memo**, is a document issued -to a customer that notifies them that they have been credited +A **credit note**, or **credit memo**, is a document issued +to a customer that notifies them that they have been credited a certain amount. There are several reasons that can lead to a credit note, such as: @@ -11,19 +11,19 @@ There are several reasons that can lead to a credit note, such as: * the goods delivered are damaged .. note:: - Issuing a credit note is the only legal way to cancel, - refund or modify a validated invoice. Don’t forget to + Issuing a credit note is the only legal way to cancel, + refund or modify a validated invoice. Don’t forget to *register the payment* afterward if you need to send money back to your customer. Issue a Credit Note =================== -You can create a credit note from scratch by going to -:menuselection:`Accounting --> Customers --> Credit Notes`, -and by clicking on *Create*. Filling the Credit Note’s form +You can create a credit note from scratch by going to +:menuselection:`Accounting --> Customers --> Credit Notes`, +and by clicking on *Create*. Filling the Credit Note’s form works the same way as the Invoice’s form. -However, most of the time, credit notes are generated directly +However, most of the time, credit notes are generated directly from the invoices they are related to. To do so, open the *Customer Invoice*, and click on *Add Credit Note*. @@ -37,15 +37,15 @@ You can choose between three options: - Full refund and new draft invoice .. note:: - Credit Notes’ numbers start with “R” and are followed by the - number of the document they are related to (e.g., RINV/2019/0004). + Credit Notes’ numbers start with “R” and are followed by the + number of the document they are related to (e.g., RINV/2019/0004). Partial Refund -------------- -Odoo creates a draft credit note already prefilled with all the +Odoo creates a draft credit note already prefilled with all the necessary information from the original invoice. -This is the option to choose to do a partial refund, or if you +This is the option to choose to do a partial refund, or if you want to modify any detail on the credit note. .. note:: @@ -53,19 +53,19 @@ want to modify any detail on the credit note. Full Refund ----------- -Odoo creates a credit note, automatically validates it, and +Odoo creates a credit note, automatically validates it, and reconciles the original invoice with it. .. image:: credit_notes/credit_notes02.png :align: center -This is the option to choose to do a full refund or cancel +This is the option to choose to do a full refund or cancel a validated invoice. Full refund and new draft invoice --------------------------------- -Odoo creates a credit note, automatically validates it, reconciles -the original invoice with it, and open a new draft invoice +Odoo creates a credit note, automatically validates it, reconciles +the original invoice with it, and open a new draft invoice prefilled with the same details from the original invoice. This is the option to choose to modify the content of a validated invoice. @@ -74,22 +74,22 @@ Record a Vendor Refund ====================== **Vendor Refunds** are recorded the same way you would do with invoices’ credit notes: -You can either create a credit note from scratch by going -to :menuselection:`Accounting --> Vendors --> Refund`, and -by clicking on *Create*, or by opening the validated *Vendor Bill*, +You can either create a credit note from scratch by going +to :menuselection:`Accounting --> Vendors --> Refund`, and +by clicking on *Create*, or by opening the validated *Vendor Bill*, and clicking on *Add Credit Note*. - + Journal Entries =============== -Issuing a credit note from an invoice creates a **reverse entry** -that zeroes out the journal items generated by the original invoice. +Issuing a credit note from an invoice creates a **reverse entry** +that zeroes out the journal items generated by the original invoice. Here is an example of an invoice’s journal entry: .. image:: credit_notes/credit_notes03.png :align: center -And here is the credit note’s journal entry generated to reverse +And here is the credit note’s journal entry generated to reverse the original invoice above: .. image:: credit_notes/credit_notes04.png diff --git a/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst b/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst index 32e7c32022..156ef44d22 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/deferred_revenues.rst @@ -42,7 +42,7 @@ Configuration --> Chart of Accounts`, click on *Create*, and fill out the form. .. note:: This account's type must be either *Current Liabilities* or *Non-current Liabilities* - + Post an income to the right account ----------------------------------- @@ -64,7 +64,7 @@ save. .. image:: deferred_revenues/deferred_revenues03.png :align: center - :alt: Change of the Income Account for a product in Odoo + :alt: Change of the Income Account for a product in Odoo .. tip:: It is possible to automate the creation of revenue entries for these products (see: @@ -75,11 +75,11 @@ Change the account of a posted journal item To do so, open your Sales Journal by going to :menuselection:`Accounting --> Accounting --> Sales`, select the journal item you -want to modify, click on the account, and select the right one. +want to modify, click on the account, and select the right one. .. image:: deferred_revenues/deferred_revenues04.png :align: center - :alt: Modification of a posted journal item's account in Odoo Accounting + :alt: Modification of a posted journal item's account in Odoo Accounting Deferred Revenues entries ========================= @@ -107,8 +107,8 @@ recognize your revenue, and at which date. .. image:: deferred_revenues/deferred_revenues06.png :align: center - :alt: Revenue Board in Odoo Accounting - + :alt: Revenue Board in Odoo Accounting + What does "Prorata Temporis" mean? ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -126,7 +126,7 @@ Deferred Entry from the Sales Journal You can create a deferred entry from a specific journal item in your **Sales Journal**. -To do so, open your Sales Journal by going to +To do so, open your Sales Journal by going to :menuselection:`Accounting --> Accounting --> Sales`, and select the journal item you want to defer. Make sure that it is posted in the right account (see: `Change the account of a posted journal item`_). diff --git a/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst b/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst index 70d05fe5e2..980ecf3279 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/epc_qr_code.rst @@ -1,36 +1,36 @@ ============================ Add EPC QR Codes to invoices ============================ -European Payments Council Quick Response Code, -or **EPC QR Code**, are two-dimensional barcodes -that customers can scan with their **mobile banking +European Payments Council Quick Response Code, +or **EPC QR Code**, are two-dimensional barcodes +that customers can scan with their **mobile banking applications** to initiate a **SEPA Credit Transfer (SCT)**, and pay their invoices instantly. -In addition to bringing ease of use and speed, -it greatly reduces typing errors that would potentially -make for payment issues. +In addition to bringing ease of use and speed, +it greatly reduces typing errors that would potentially +make for payment issues. .. note:: - This feature is only available in several European - countries such as Austria, Belgium, Finland, Germany, + This feature is only available in several European + countries such as Austria, Belgium, Finland, Germany, and The Netherlands. - + Configuration ============= -Go to :menuselection:`Accounting --> Configuration --> Settings` +Go to :menuselection:`Accounting --> Configuration --> Settings` and activate the **SEPA QR Code** feature. .. image:: epc_qr_code/epc_qr_code01.png :align: center - + Configure your Bank Account’s journal ------------------------------------- -Make sure that your *Bank Account* is correctly configured +Make sure that your *Bank Account* is correctly configured on Odoo with your IBAN and BIC. -To do so, go to :menuselection:`Accounting --> Configuration ---> Journals`, open your *bank journal*, then fill out the +To do so, go to :menuselection:`Accounting --> Configuration +--> Journals`, open your *bank journal*, then fill out the *Bank Account* and *Bank* under the *Bank Account* tab. .. image:: epc_qr_code/epc_qr_code02.png @@ -38,26 +38,26 @@ To do so, go to :menuselection:`Accounting --> Configuration Issue Invoices with EPC QR Codes ================================ -EPC QR Codes are added automatically to your invoices, as -long as you issue them to customers that are located in a +EPC QR Codes are added automatically to your invoices, as +long as you issue them to customers that are located in a country where this feature is available. -Go to :menuselection:`Accounting --> Customers --> Invoices`, -and create a new invoice. +Go to :menuselection:`Accounting --> Customers --> Invoices`, +and create a new invoice. -Before posting it, open the *Other Info* tab. Odoo automatically +Before posting it, open the *Other Info* tab. Odoo automatically fills out the *Bank Account* field with your IBAN. -Make sure that the account indicated is the one you want to use to -receive your customer’s payment as Odoo uses this field to generate +Make sure that the account indicated is the one you want to use to +receive your customer’s payment as Odoo uses this field to generate the EPC QR Code. .. image:: epc_qr_code/epc_qr_code03.png :align: center - + .. tip:: - If you want to issue an invoice without an EPC QR Code, - remove the IBAN indicated in the *Bank Account* field, + If you want to issue an invoice without an EPC QR Code, + remove the IBAN indicated in the *Bank Account* field, under the *Other Info* tab of the invoice. .. seealso:: diff --git a/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst b/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst index fcae042c47..eae0d0ddd0 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/batch_sdd.rst @@ -72,7 +72,7 @@ their SEPA Direct Debit mandate. .. todo:: Add link to future **Payment Provider** documentation. -Close or revoke a mandate +Close or revoke a mandate ------------------------- Direct Debit mandates are closed automatically after their *End Date*. If this field is left blank, @@ -95,7 +95,7 @@ included in the next SDD XML file. Get paid with SDD Batch Payments ================================ -Customer Invoices +Customer Invoices ----------------- You can register SDD payments for invoices issued to customers who have an active SDD mandate. diff --git a/content/applications/finance/accounting/receivables/customer_payments/check.rst b/content/applications/finance/accounting/receivables/customer_payments/check.rst index 7c7a722070..beafef4c4e 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/check.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/check.rst @@ -6,14 +6,14 @@ There are two ways to handle payments received by checks. Odoo support both approaches so that you can use the one that better fits your habits. -1. **Undeposited Funds:** +1. **Undeposited Funds:** once you receive the check, you record a payment by check on the invoice. (using a Check journal and posted on the Undeposited Fund account) Then, once the check arrives in your bank account, move money from Undeposited Funds to your bank account. -2. **One journal entry only:** +2. **One journal entry only:** once your receive the check, you record a payment on your bank, paid by check, without going through the **Undeposited Funds**. Once you process your bank statement, you do @@ -28,7 +28,7 @@ Even if the first method is cleaner, Odoo support the second approach because some accountants are used to it (quickbooks and peachtree users). -.. Note:: +.. Note:: You may have a look at the *Deposit Ticket feature* if you deposit several checks to your bank accounts in batch. @@ -90,7 +90,7 @@ If you use this approach to manage received checks, you get the list of checks that have not been cashed in the **Undeposit Funds** account (accessible, for example, from the general ledger). -.. Note:: +.. Note:: Both methods will produce the same data in your accounting at the end of the process. But, if you have checks that have not been cashed, this one is cleaner because those checks have not been reported yet on @@ -135,7 +135,7 @@ books: | Bank | | 100.00 | | +----------------------+-------------------+----------+----------+ -.. tip:: +.. tip:: You may also record the payment directly without going on the customer invoice, using the menu :menuselection:`Sales --> Payments`. This method may be more convenient if you have a lot of checks to record in a batch but diff --git a/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst b/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst index d9063cebc6..1147c0003a 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst @@ -20,7 +20,7 @@ Make sure your :ref:`Payment Providers are correctly configured `" is the only Payment Provider activated, but you still have to fill out the payment details. -To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration --> +To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Payments`, enable **Invoice Online Payment**, and click on *Save*. Customer Portal diff --git a/content/applications/finance/accounting/reporting/overview/customize.rst b/content/applications/finance/accounting/reporting/overview/customize.rst index 171b6ebf63..42b85652b8 100644 --- a/content/applications/finance/accounting/reporting/overview/customize.rst +++ b/content/applications/finance/accounting/reporting/overview/customize.rst @@ -46,7 +46,7 @@ Add lines in your custom reports ================================= After you've created the report, you need to fill it with lines. They -all need a **name**, a **code** (that is used to refer to the line), a +all need a **name**, a **code** (that is used to refer to the line), a **sequence number** and a **level** (Used for the line rendering). .. image:: customize/customize04.png diff --git a/content/applications/finance/accounting/reporting/overview/main_reports.rst b/content/applications/finance/accounting/reporting/overview/main_reports.rst index 6b9325ed37..9565a06501 100644 --- a/content/applications/finance/accounting/reporting/overview/main_reports.rst +++ b/content/applications/finance/accounting/reporting/overview/main_reports.rst @@ -31,7 +31,7 @@ Balance Sheet The **Balance Sheet** shows a snapshot of the assets, liabilities and equity of your organisation as at a particular date. -.. image:: main_reports/main_reports09.png +.. image:: main_reports/main_reports09.png :align: center Profit and Loss @@ -41,7 +41,7 @@ The **Profit and Loss** report (or **Income Statement**) shows your organisation's net income, by deducting expenses from revenue for the report period. -.. image:: main_reports/main_reports10.png +.. image:: main_reports/main_reports10.png :align: center Executive Summary @@ -58,36 +58,36 @@ reporting : The contribution each individual sale made by your business less any direct costs needed to make those sales (things like labour, materials, etc). - - **Net profit margin:** + - **Net profit margin:** The contribution each individual sale made by your business less any direct costs needed to make those sales, as well as any fixed overheads your company has (things like rent, electricity, taxes you need to pay as a result of those sales). - - **Return on investment (p.a.):** + - **Return on investment (p.a.):** The ratio of net profit made, to the amount of assets the company used to make those profits. - **Position:** - - **Average debtor days:** + - **Average debtor days:** The average number of days it takes your customers to pay you (fully), across all your customer invoices. - **Average creditor days:** The average number of days it takes you to pay your suppliers (fully) across all your bills. - - **Short term cash forecast:** + - **Short term cash forecast:** How much cash is expected in or out of your organisation in the next month i.e. balance of your **Sales account** for the month less the balance of your **Purchases account** for the month. - - **Current assets to liabilities:** - Also referred to as **current ratio**, this is the ratio + - **Current assets to liabilities:** + Also referred to as **current ratio**, this is the ratio of current assets (assets that could be turned into cash within a year) to the current liabilities (liabilities which will be due in the next year). This is typically used as as a measure of a company's ability to service its debt. -.. image:: main_reports/main_reports01.png +.. image:: main_reports/main_reports01.png :align: center General Ledger @@ -99,7 +99,7 @@ account and from there you can view a detailed transaction report or any exceptions. This report is useful for checking every transaction that occurred during a certain period of time. -.. image:: main_reports/main_reports05.png +.. image:: main_reports/main_reports05.png :align: center Aged Payable @@ -109,7 +109,7 @@ Run the **Aged Payable Details** report to display information on individual bills, credit notes and overpayments owed by you, and how long these have gone unpaid. -.. image:: main_reports/main_reports02.png +.. image:: main_reports/main_reports02.png :align: center Aged Receivable @@ -118,7 +118,7 @@ Aged Receivable The **Aged Receivables** report shows the sales invoices that were awaiting payment during a selected month and several months prior. -.. image:: main_reports/main_reports07.png +.. image:: main_reports/main_reports07.png :align: center Cash Flow Statement @@ -128,7 +128,7 @@ The **Cash Flow Statement** shows how changes in balance sheet accounts and income affect cash and cash equivalents, and breaks the analysis down to operating, investing and financing activities. -.. image:: main_reports/main_reports03.png +.. image:: main_reports/main_reports03.png :align: center Tax Report @@ -137,11 +137,11 @@ Tax Report This report allows you to see the **net** and **tax amounts** for all the taxes grouped by type (sale/purchase). -.. image:: main_reports/main_reports04.png +.. image:: main_reports/main_reports04.png :align: center Bank Reconciliation ------------------- -.. image:: main_reports/main_reports06.png +.. image:: main_reports/main_reports06.png :align: center diff --git a/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst b/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst index ea8245f0f5..d9429b0c7f 100644 --- a/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst +++ b/content/applications/finance/accounting/taxation/fiscal_year/fiscal_year.rst @@ -29,6 +29,6 @@ You can then configure your fiscal years in You only have to create fiscal years if they last more or less than 12 months. -.. seealso:: +.. seealso:: * :doc:`close_fiscal_year` diff --git a/content/applications/finance/accounting/taxation/taxes.rst b/content/applications/finance/accounting/taxation/taxes.rst index b1b1176154..465ef2092a 100644 --- a/content/applications/finance/accounting/taxation/taxes.rst +++ b/content/applications/finance/accounting/taxation/taxes.rst @@ -11,7 +11,7 @@ Taxes taxes/default_taxes taxes/fiscal_positions taxes/eu_distance_selling - taxes/avatax + taxes/avatax taxes/taxcloud taxes/retention taxes/B2B_B2C diff --git a/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst b/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst index 760610741f..61cea001fb 100644 --- a/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst +++ b/content/applications/finance/accounting/taxation/taxes/B2B_B2C.rst @@ -114,19 +114,19 @@ Setting your products Your company must be configured with tax excluded by default. This is usually the default configuration, but you can check your **Default Sale -Tax** from the menu :menuselection:`Configuration --> Settings` +Tax** from the menu :menuselection:`Configuration --> Settings` of the Accounting application. .. image:: B2B_B2C/price_B2C_B2B01.png :align: center Once done, you can create a **B2C** pricelist. You can activate the -pricelist feature per customer from the menu: -:menuselection:`Configuration --> Settings` of the Sale application. +pricelist feature per customer from the menu: +:menuselection:`Configuration --> Settings` of the Sale application. Choose the option **different prices per customer segment**. -Once done, create a B2C pricelist from the menu -:menuselection:`Configuration --> Pricelists`. +Once done, create a B2C pricelist from the menu +:menuselection:`Configuration --> Pricelists`. It's also good to rename the default pricelist into B2B to avoid confusion. Then, create a product at 8.26€, with a tax of 21% (defined as tax not @@ -141,8 +141,8 @@ Setting the B2C fiscal position ------------------------------- From the accounting application, create a B2C fiscal position from this -menu: :menuselection:`Configuration --> Fiscal Positions`. -This fiscal position should map the VAT 21% (tax excluded of price) +menu: :menuselection:`Configuration --> Fiscal Positions`. +This fiscal position should map the VAT 21% (tax excluded of price) with a VAT 21% (tax included in price) .. image:: B2B_B2C/price_B2C_B2B03.png @@ -151,8 +151,8 @@ with a VAT 21% (tax included in price) Test by creating a quotation ============================ -Create a quotation from the Sale application, using the -:menuselection:`Sales --> Quotations` menu. You should have the +Create a quotation from the Sale application, using the +:menuselection:`Sales --> Quotations` menu. You should have the following result: 8.26€ + 1.73€ = 9.99€. .. image:: B2B_B2C/price_B2C_B2B04.png diff --git a/content/applications/finance/accounting/taxation/taxes/retention.rst b/content/applications/finance/accounting/taxation/taxes/retention.rst index a1a8dc5ff6..aff03866de 100644 --- a/content/applications/finance/accounting/taxation/taxes/retention.rst +++ b/content/applications/finance/accounting/taxation/taxes/retention.rst @@ -40,8 +40,8 @@ Once the tax is defined, you can use it in your products, sales order or invoices. .. tip:: - If the retention is a percentage of a regular tax, create a Tax with a - **Tax Computation** as a **Tax Group** and set the two taxes in this group + If the retention is a percentage of a regular tax, create a Tax with a + **Tax Computation** as a **Tax Group** and set the two taxes in this group (normal tax and retention). Applying retention taxes on invoices @@ -55,9 +55,9 @@ invoice line. :align: center .. note:: - When you see the customer invoice on the screen, you get only a - **Taxes line** summarizing all the taxes (normal taxes & retentions). - But when you print or send the invoice, Odoo does the correct + When you see the customer invoice on the screen, you get only a + **Taxes line** summarizing all the taxes (normal taxes & retentions). + But when you print or send the invoice, Odoo does the correct grouping amongst all the taxes. The printed invoice will show the different amounts in each tax group. diff --git a/content/applications/finance/expenses.rst b/content/applications/finance/expenses.rst index e64b792af8..3ec32cca78 100644 --- a/content/applications/finance/expenses.rst +++ b/content/applications/finance/expenses.rst @@ -14,7 +14,7 @@ How to set expense types ======================== The first step to track expenses is to configure the expense types (managed as products in Odoo) -that your company allows, from the *Configuration* menu. +that your company allows, from the *Configuration* menu. When a specific expense is reimbursed at a fixed price, set a cost on the product. Otherwise keep the cost at 0.0 and employees will report the real cost per expense. @@ -37,16 +37,16 @@ Here are some examples: * Cost: 0.0 -Don't forget to set an expense tax on each expense type -(and an account if you use Odoo Accounting). -It's usually a good practice to use a tax that is configured +Don't forget to set an expense tax on each expense type +(and an account if you use Odoo Accounting). +It's usually a good practice to use a tax that is configured with :ref:`Tax Included in Price `. -That way, employees report expenses with +That way, employees report expenses with prices including taxes, which is usually the expected behaviour. -.. tip:: - The *Sales* app allows you to specify units of measure for your - expense types (units, miles, nights, etc.). +.. tip:: + The *Sales* app allows you to specify units of measure for your + expense types (units, miles, nights, etc.). Go to :menuselection:`Sales --> Configuration --> Settings` and check *Some products may be sold/purchased in different units of measure (advanced)*. @@ -57,20 +57,20 @@ How to record expenses Manually -------- -As an employee (Employee in user access rights), you can record +As an employee (Employee in user access rights), you can record expenses from :menuselection:`My Expenses --> Expenses to Submit`. .. image:: expenses/submit_01.png :align: center -1. Select the related product and enter either the total amount - you paid (with Quantity = 1) or the unit price if Quantity is +1. Select the related product and enter either the total amount + you paid (with Quantity = 1) or the unit price if Quantity is countable (e.g. number of hotel nights). 2. Enter the expense date. -3. Choose if you paid the bill on your own (and expect to be reimbursed) +3. Choose if you paid the bill on your own (and expect to be reimbursed) or if the company paid directly (e.g. if you used a company's credit card). -4. Set the bill reference, add some notes if requested and attach a - photo/scan of the receipt from the discussion thread. +4. Set the bill reference, add some notes if requested and attach a + photo/scan of the receipt from the discussion thread. That will help the manager and the accountant validate it. .. image:: expenses/submit_02.png @@ -79,56 +79,56 @@ expenses from :menuselection:`My Expenses --> Expenses to Submit`. In one click from emails ------------------------ -Let your employees record their expenses from a simple email. +Let your employees record their expenses from a simple email. Make a snapshot of the receipt and send it by email, or simply forward a bill! -The only thing to do is setting up an email alias in -:menuselection:`Expenses --> Configuration --> Settings` (e.g. *expenses* @mycompany.odoo.com). -For security purposes, only authenticated employee emails +The only thing to do is setting up an email alias in +:menuselection:`Expenses --> Configuration --> Settings` (e.g. *expenses* @mycompany.odoo.com). +For security purposes, only authenticated employee emails (cfr. *Work Email* in employee detail form) are accepted. .. tip:: - The expense product is set automatically if the mail subject contains + The expense product is set automatically if the mail subject contains the product's internal reference in first position. Type the expense amount in the mail subject to set it on the expense too (e.g. Ref001 Food 100€). How to submit expenses to managers ================================== -When you are ready to submit your expenses to your manager -(e.g. at the end of a business trip, or once a month), -go to the menu :menuselection:`My Expenses --> Expenses to Submit`. Select all expenses +When you are ready to submit your expenses to your manager +(e.g. at the end of a business trip, or once a month), +go to the menu :menuselection:`My Expenses --> Expenses to Submit`. Select all expenses from the list view and click on :menuselection:`Action --> Submit to Manager`. -Save the newly created expense report (i.e. set of expenses), +Save the newly created expense report (i.e. set of expenses), and wait for your manager to approve it. .. image:: expenses/submit_03.png :align: center -You can also submit expenses one by one from the *Submit to Manager* +You can also submit expenses one by one from the *Submit to Manager* button on the form view of an expense. -All your submitted expense reports can be found in +All your submitted expense reports can be found in :menuselection:`Expenses --> My Expenses --> Expense Reports`. How to approve expenses ======================= -HR and team managers get an overview of all expense reports to -validate from the top menu :menuselection:`To Approve --> Expense Reports to Approve`. +HR and team managers get an overview of all expense reports to +validate from the top menu :menuselection:`To Approve --> Expense Reports to Approve`. Such users must have at least *Officers* access rights for *Expenses*. .. image:: expenses/approval_01.png :align: center -They can review expense reports, approve or reject them, as well as providing +They can review expense reports, approve or reject them, as well as providing feedback thanks to the integrated communication tool. .. image:: expenses/approval_02.png :align: center -As a team manager you can easily find the expense reports of your team members. +As a team manager you can easily find the expense reports of your team members. You need to be set as manager in the detail form of those employees. .. image:: expenses/approval_03.png @@ -138,27 +138,27 @@ You need to be set as manager in the detail form of those employees. How to post expenses in accounting ================================== -Once expense reports approved by managers, the accounting department -goes to :menuselection:`Expenses --> Accountant --> Expense Reports To Post` to check -accounts, products and taxes. They can click *Post Journal Entries* -to post related journal entries into your books. +Once expense reports approved by managers, the accounting department +goes to :menuselection:`Expenses --> Accountant --> Expense Reports To Post` to check +accounts, products and taxes. They can click *Post Journal Entries* +to post related journal entries into your books. To do so, the user must have following access rights: * Accounting: Accountant or Adviser * Expenses: Manager .. note:: - To post an expense, a *Home Address* must be set on the employee. - If you get a related blocking message when posting, click the employee, - go to *Personal Information* tab and select/create the contact of your employee - in the address book. + To post an expense, a *Home Address* must be set on the employee. + If you get a related blocking message when posting, click the employee, + go to *Personal Information* tab and select/create the contact of your employee + in the address book. A contact has been automatically created if this person is using Odoo. How to reimburse employees ========================== -You can now see all the expense reports to reimburse in -:menuselection:`Expenses --> Accountant --> Expense Reports To Pay`. +You can now see all the expense reports to reimburse in +:menuselection:`Expenses --> Accountant --> Expense Reports To Pay`. To record the payment or pay by check, click *Register a Payment*. See how you can easily manage the payment process in Odoo: @@ -223,7 +223,7 @@ Submit, validate and post expenses Invoice expenses ---------------- -Now you can invoice the order. It shows up in +Now you can invoice the order. It shows up in :menuselection:`Sales --> Invoicing --> Sales` to Invoice. The expenses have been added automatically in the order lines. Such items show up in blue (i.e. to invoice). @@ -231,4 +231,4 @@ lines. Such items show up in blue (i.e. to invoice). .. image:: expenses/invoicing_04.png :align: center -e (i.e. to invoice). +e (i.e. to invoice). diff --git a/content/applications/finance/payment_providers/mercado_pago.rst b/content/applications/finance/payment_providers/mercado_pago.rst index 3fb286759d..157aff410e 100644 --- a/content/applications/finance/payment_providers/mercado_pago.rst +++ b/content/applications/finance/payment_providers/mercado_pago.rst @@ -10,7 +10,7 @@ countries, currencies and payment methods in Latin America. Configuration on Mercado Pago Dashboard ======================================= -#. Log into `Mercado Pago Dashboard `_ +#. Log into `Mercado Pago Dashboard `_ and go to your **Application** or *create* a new one. #. Go to :menuselection:`Production Credentials` or :menuselection:`Credentials` if your are in a *Test* environment and copy your **Access Token** @@ -22,7 +22,7 @@ Configuration on Odoo #. :ref:`Navigate to the payment provider Mercado Pago ` and change its state to :guilabel:`Enabled`. -#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Access Token` with the value +#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Access Token` with the value you saved at the step :ref:`payment_providers/mercado_pago/configure_dashboard`. #. Configure the rest of the options to your liking. diff --git a/content/applications/general.rst b/content/applications/general.rst index ffd00b5929..ed07014e9b 100644 --- a/content/applications/general.rst +++ b/content/applications/general.rst @@ -14,4 +14,3 @@ Miscellaneous general/digest_emails general/in_app_purchase general/developer_mode - diff --git a/content/applications/general/auth/google.rst b/content/applications/general/auth/google.rst index 2bbfdf9e7d..414ed0a670 100644 --- a/content/applications/general/auth/google.rst +++ b/content/applications/general/auth/google.rst @@ -70,7 +70,7 @@ Credentials #. Select **Web Application** as the Application type. Now configure the allowed pages on which you will be redirected. - + In order to achieve this, in the **Authorized redirect URIs** field, enter your database's domain immediately followed by ``/auth_oauth/signin``. For example: ``https://mydomain.odoo.com/auth_oauth/signin``, then click on *Create*. @@ -106,7 +106,7 @@ Odoo activation .. note:: You may have to log in again after this step. - + #. Go back to :menuselection:`General Settings --> Integrations`, activate **Google Authentication**, then fill out the *Client ID* with the key from the Google API Dashboard, and *Save*. diff --git a/content/applications/general/developer_mode.rst b/content/applications/general/developer_mode.rst index e603e2803c..48024be962 100644 --- a/content/applications/general/developer_mode.rst +++ b/content/applications/general/developer_mode.rst @@ -38,7 +38,7 @@ Activate through the command palette The command palette tool has a command to activate the debug mode: open it with the keyboard shortcut `ctrl+k`, then type `debug`: a command will show up to -activate the debug mode. +activate the debug mode. .. image:: developer_mode/command_palette.png :align: center diff --git a/content/applications/general/digest_emails.rst b/content/applications/general/digest_emails.rst index 7ea9ec6d13..4d19b3d240 100644 --- a/content/applications/general/digest_emails.rst +++ b/content/applications/general/digest_emails.rst @@ -54,7 +54,7 @@ Custom digest emails To do so, click on **Configure Digest Emails** and then **Create**. From there, give your Digest Email a title, specify periodicity, and choose your desired KPIs and -recipients fields as needed. +recipients fields as needed. After you click **Save**, your new custom Digest Email is available as a selection in the **General Settings** dropdown menu. @@ -111,4 +111,4 @@ Computed values reference table | POS Sales | `kpi_pos_total_value` | +-----------------------+-------------------------------------------+ | New Employees | `kpi_hr_recruitment_new_colleagues_value` | -+-----------------------+-------------------------------------------+ ++-----------------------+-------------------------------------------+ diff --git a/content/applications/general/email_communication/email_domain.rst b/content/applications/general/email_communication/email_domain.rst index e31d936e14..b00d4a651e 100644 --- a/content/applications/general/email_communication/email_domain.rst +++ b/content/applications/general/email_communication/email_domain.rst @@ -20,7 +20,7 @@ If your database is hosted on our cloud (Odoo Online or Odoo.sh), it is not nece outgoing email server to send emails from your custom domain. You can enjoy this feature by using the default Odoo email server. -.. important:: +.. important:: The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200 emails sent per day for databases with an Enterprise subscription. This limit can be increased under certain conditions. See our :doc:`FAQ ` or contact support for more @@ -38,19 +38,19 @@ Be SPF compliant ================ The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which -servers are allowed to send email from that domain. When a server receives an incoming email, -it checks whether the IP address of the sending server is on the list of allowed IPs according +servers are allowed to send email from that domain. When a server receives an incoming email, +it checks whether the IP address of the sending server is on the list of allowed IPs according to the SPF record of the sender. -.. note:: +.. note:: The SPF verification is performed on the domain mentioned in the Return-Path field of the email. In the case of an email sent by Odoo, this domain corresponds to the value of the `mail.catchall.domain` key in the database system parameters. See the :ref:`documentation on incoming emails `. -The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends -on the provider hosting the DNS zone of your domain name. In order for the verification to work +The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends +on the provider hosting the DNS zone of your domain name. In order for the verification to work properly, each domain can only have one SPF record. If your domain name does not yet have an SPF record, the content of the record to create is as @@ -66,7 +66,7 @@ new one). If your TXT record is `v=spf1 include:_spf.google.com ~all`, you need to edit it to add `include:_spf.odoo.com`: `v=spf1 include:_spf.odoo.com include:_spf.google.com ~all` -You can check if your SPF record is valid with a free tool like +You can check if your SPF record is valid with a free tool like `MXToolbox SPF `_. .. _email_communication/DKIM_compliant: @@ -86,13 +86,13 @@ To enable DKIM, you must add a CNAME record to the DNS zone of your domain name: ``odoo._domainkey IN CNAME odoo._domainkey.odoo.com.`` .. tip:: - If your domain name is `mycompany.com`, you need to create a subdomain + If your domain name is `mycompany.com`, you need to create a subdomain `odoo._domainkey.mycompany.com` whose canonical name is `odoo._domainkey.odoo.com.`. How to create or modify a CNAME record depends on the provider hosting the DNS zone of your domain name. The most common providers are list below. -You can check if your DKIM record is valid with a free tool like +You can check if your DKIM record is valid with a free tool like `DKIM Core `_. If a selector is asked, enter `odoo`. Check your DMARC policy @@ -110,7 +110,7 @@ There are three DMARC policies: ``p=quarantine`` and ``p=reject`` instruct the server that receives an email to quarantine that email or ignore it if the SPF and/or DKIM check fails. -If your domain name uses DMARC and has defined one of these policies, it is therefore imperative +If your domain name uses DMARC and has defined one of these policies, it is therefore imperative to be SPF compliant or to enable DKIM. .. danger:: @@ -118,7 +118,7 @@ to be SPF compliant or to enable DKIM. strongly advise against using an *@yahoo.com* or *@aol.com* address for your users. These emails will never reach their recipient. -``p=none`` is used for the domain owner to receive reports about entities using their domain. It +``p=none`` is used for the domain owner to receive reports about entities using their domain. It should not impact the deliverability if the DMARC check fails. You can check the DMARC record of a domain name with a tool like @@ -127,12 +127,12 @@ You can check the DMARC record of a domain name with a tool like If one of your partners, customer or vendor, uses DMARC and has defined one of these policies, the Odoo server cannot relay emails from this partner to your users. -You need to :ref:`handle user notifications in Odoo `, or replace the +You need to :ref:`handle user notifications in Odoo `, or replace the email address of the partner with a default email address. .. _email_communication/SPFDKIM_common_providers: -SPF, DKIM & DMARC documentation of common providers +SPF, DKIM & DMARC documentation of common providers =================================================== - `OVH DNS `_ @@ -145,8 +145,8 @@ SPF, DKIM & DMARC documentation of common providers - `Google Domains `_ - `Azure DNS `_ -To fully test your configuration, the tool `Mail-Tester `_ will give -you a full overview of the content and configuration you have in one email sent! Mail-Tester can +To fully test your configuration, the tool `Mail-Tester `_ will give +you a full overview of the content and configuration you have in one email sent! Mail-Tester can also be used for other lesser known providers. Use a default email address @@ -156,7 +156,7 @@ To force the email address from which emails are sent, you need to create the fo the System Parameters of the database: - If ``mail.default.from`` is set, and contains a full email address, all outgoing emails are sent - from the given address. This is a requirement to use `Outlook with Odoo + from the given address. This is a requirement to use `Outlook with Odoo `_. You access the **System Parameters** in :ref:`developer mode ` in the :menuselection:`Settings --> diff --git a/content/applications/general/email_communication/email_template.rst b/content/applications/general/email_communication/email_template.rst index 3c858237cc..e649e5f376 100644 --- a/content/applications/general/email_communication/email_template.rst +++ b/content/applications/general/email_communication/email_template.rst @@ -10,15 +10,15 @@ improving their overall experience with the company. .. note:: The email templates use QWeb. The composer allows you to edit emails in their final rendering, - making customizations more robust as you don’t have to edit code. + making customizations more robust as you don’t have to edit code. Defining a default reply to on your mail template ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Although the field *reply to* is available within the mail templates, **this field is only used -for mass mailing** mode (this means when sending templates on what we call bulk emailing). You -can send emails in bulk in almost every app that has a list view. Select the records you want -and click on the action button. If you have an option to send an email, you will see a mail +Although the field *reply to* is available within the mail templates, **this field is only used +for mass mailing** mode (this means when sending templates on what we call bulk emailing). You +can send emails in bulk in almost every app that has a list view. Select the records you want +and click on the action button. If you have an option to send an email, you will see a mail composer with possible values to define: .. image:: email_template/composer-mass-mailing-quotations.png @@ -31,12 +31,12 @@ You can also define them by default on the template: :align: center :alt: Reply-to field on template. -Because of this, setting a value in this field is useless as the value defined will be totally -ignored. The default *reply-to* value is the default catchall email address to ensure a +Because of this, setting a value in this field is useless as the value defined will be totally +ignored. The default *reply-to* value is the default catchall email address to ensure a communication between your customer and your Odoo database. For more information about the way the catchall works, please check :ref:`how to manage inbound messages `. -Transactional emails and corresponding URL for each company +Transactional emails and corresponding URL for each company ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When using Odoo, multiple events trigger the sending of automated emails. These emails are known @@ -45,36 +45,36 @@ as transactional emails and sometimes contain links pointing to your Odoo databa By default, links generated by the database use the dynamic web.base.url key defined in the system parameters. More information about this :ref:`parameter `. -If the website application isn't installed, the web.base.url key will always be the default +If the website application isn't installed, the web.base.url key will always be the default parameter used to generate all the links. -It’s important to know that this key can only have a single value, meaning that in a -multi-website/company database environment, even if you have a specific domain name for each +It’s important to know that this key can only have a single value, meaning that in a +multi-website/company database environment, even if you have a specific domain name for each website, the links generated to share a document or within a transactional email might remain the same, whatever the website/company related to the sending of the email/document. -This is not always the case as some Odoo applications have a link established in the database with -the website application, meaning that in this case, if a specific domain is defined for the +This is not always the case as some Odoo applications have a link established in the database with +the website application, meaning that in this case, if a specific domain is defined for the websites, the URL generated in the email template will use the domain defined on the corresponding website of the company. .. caution:: - A document shared using the documents application will always use the web.base.url key, as the - document shared isn't associated with any particular website. Meaning that the URL will always be - the same (the web.base.url key value), whatever the company it's shared from, this is a known + A document shared using the documents application will always use the web.base.url key, as the + document shared isn't associated with any particular website. Meaning that the URL will always be + the same (the web.base.url key value), whatever the company it's shared from, this is a known limitation! -On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a -link established with the website from which the order was made. As a result, the e-mail sent for +On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a +link established with the website from which the order was made. As a result, the e-mail sent for the sales orders uses the domain name defined for the corresponding website to generate the links. -For more information about how to configure your domains, we invite you to check :doc:`our domain name +For more information about how to configure your domains, we invite you to check :doc:`our domain name documentation `. Updating translations within email templates ******************************************** -Email templates are automatically translated. Changing the translations shouldn’t be necessary. +Email templates are automatically translated. Changing the translations shouldn’t be necessary. However, if for a specific reason you’d like to change some of the translations, this can be done. Like any modification in the code, keep in mind that modifications that aren’t done correctly (for @@ -89,7 +89,7 @@ In order to edit your translations, follow these steps from the template. :align: left :alt: Edit the language of a template -#. A pop-up window with the different languages installed on the database will be displayed. From +#. A pop-up window with the different languages installed on the database will be displayed. From here, editing the translations will be possible. Don't forget to hit the save button to preserve your changes. diff --git a/content/applications/general/email_communication/faq.rst b/content/applications/general/email_communication/faq.rst index a1a5722956..2f84aff58d 100644 --- a/content/applications/general/email_communication/faq.rst +++ b/content/applications/general/email_communication/faq.rst @@ -1,10 +1,10 @@ === -FAQ +FAQ === This document contains an explanation of the most recurring mailing concerns. -We will start by addressing issues of outgoing emails (ex: my client has not received my email), +We will start by addressing issues of outgoing emails (ex: my client has not received my email), and then, of incoming emails (ex: I do not receive responses from my customers in the database). Outgoing emails @@ -27,15 +27,15 @@ Common error messages .. _email_communication/daily_limit_mail: -You reached your daily limit: +You reached your daily limit: ***************************** .. image:: faq/email-limit.png :align: center :alt: Warning in Odoo upon email limit reached -Each email service provider has its own email sending limits. The limits may be daily, hourly, -and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent +Each email service provider has its own email sending limits. The limits may be daily, hourly, +and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent our e-mail servers from being blacklisted. Here are the default limits for new databases: @@ -48,18 +48,18 @@ Here are the default limits for new databases: In case you hit the limit, you can: -- Ask our support team to increase your daily limit. We will analyze the situation of your database +- Ask our support team to increase your daily limit. We will analyze the situation of your database depending on (non-exhaustive list): - - How many users in your database, + - How many users in your database, - Which apps are installed, - - Your bounce rate: the percentage of email addresses that did not receive your emails because + - Your bounce rate: the percentage of email addresses that did not receive your emails because it was returned by a mail server on its way to the final recipient. You can contact the `support `_. -- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer +- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer to :doc:`the corresponding documentation `), -- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode ` +- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode ` must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails` .. image:: faq/email-retry-technical.png @@ -70,54 +70,54 @@ In case you hit the limit, you can: The daily limit is global to your database and can rise quickly! By default an internal message, a notification, a note, etc. counts as an email in your daily limit if it notifies someone. -You can mitigate this by receiving your :ref:`notifications in Odoo ` -instead of by emails. +You can mitigate this by receiving your :ref:`notifications in Odoo ` +instead of by emails. SMTP Error ********** -You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail -Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure -and transmit it over the Internet, and the error messages generated by email services are helpful +You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail +Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure +and transmit it over the Internet, and the error messages generated by email services are helpful tools to diagnose and troubleshoot email problems. No Error ******** -Odoo is not always capable of providing information for the reason it failed. The different -providers implement a personalized policy of the bounce emails and it is not always possible +Odoo is not always capable of providing information for the reason it failed. The different +providers implement a personalized policy of the bounce emails and it is not always possible for Odoo to interpret it correctly. -If you have this problem on a recurring basis with the same client or the same domain, please +If you have this problem on a recurring basis with the same client or the same domain, please do not hesitate to contact `Odoo Support `_ for help in finding a reason. -Note: in such case, one of the most common reasons is related to :ref:`SPF ` +Note: in such case, one of the most common reasons is related to :ref:`SPF ` and/or :ref:`DKIM ` configuration. Why is my email sent late? ************************** -It may happen that you schedule an email campaign but it is not sent on time. We know that -we use a delayed job to send emails that we consider as not urgent (Newsletters concept -such as mass mailing, marketing automation, events). The system utility **cron** can be used -to schedule programs to run automatically at predetermined intervals. We use that policy in order -to avoid cluttering the mail servers and prioritize the communication. +It may happen that you schedule an email campaign but it is not sent on time. We know that +we use a delayed job to send emails that we consider as not urgent (Newsletters concept +such as mass mailing, marketing automation, events). The system utility **cron** can be used +to schedule programs to run automatically at predetermined intervals. We use that policy in order +to avoid cluttering the mail servers and prioritize the communication. -The emails considered urgent (communication from one person to another one such as -Sales Orders, Invoices, Purchase Orders, etc.) are sent directly. +The emails considered urgent (communication from one person to another one such as +Sales Orders, Invoices, Purchase Orders, etc.) are sent directly. .. image:: faq/email-scheduled-later.png :align: center :alt: Email scheduled to be sent later. -By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour +By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour before the campaign is actually sent. Incoming emails =============== -When you have an issue with incoming emails, there might not be an indication per se in Odoo. -This is the client who tries to contact a database who will get a bounce (most of the +When you have an issue with incoming emails, there might not be an indication per se in Odoo. +This is the client who tries to contact a database who will get a bounce (most of the time 550: mailbox unavailable). Emails are not received @@ -127,22 +127,22 @@ Depending on the platform you are using: - The **Odoo.sh** users can find their live logs on the folder :file:`~/logs/`. -- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains - a list of files containing the logs of the database. The log files are created everyday - at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order - to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and +- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains + a list of files containing the logs of the database. The log files are created everyday + at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order + to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and :file:`odoo.log.1`. For the following, they are named with their dates and compressed. - See the Odoo.sh documentation about :ref:`logs `. Use the command ``grep`` and + See the Odoo.sh documentation about :ref:`logs `. Use the command ``grep`` and ``zgrep`` (for the compressed ones) to search through the files. - **Odoo Online** users won’t have access to their logs. However you can still contact - `Odoo Support `_ , if you have a recurring issue + `Odoo Support `_ , if you have a recurring issue with the same client or domain. Get help from support --------------------- -In order to get helped efficiently, please provide as much information as possible. Here is a list +In order to get helped efficiently, please provide as much information as possible. Here is a list of what can be helpful: - The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the diff --git a/content/applications/general/export_import_data/database_import_test.sql b/content/applications/general/export_import_data/database_import_test.sql index 1319cce392..4890c0682c 100644 --- a/content/applications/general/export_import_data/database_import_test.sql +++ b/content/applications/general/export_import_data/database_import_test.sql @@ -16,7 +16,7 @@ SET default_tablespace = ''; SET default_with_oids = false; -- --- Name: companies; Type: TABLE; Schema: public; Owner: fp; Tablespace: +-- Name: companies; Type: TABLE; Schema: public; Owner: fp; Tablespace: -- CREATE TABLE companies ( @@ -56,7 +56,7 @@ SELECT pg_catalog.setval('companies_id_seq', 3, true); -- --- Name: persons; Type: TABLE; Schema: public; Owner: fp; Tablespace: +-- Name: persons; Type: TABLE; Schema: public; Owner: fp; Tablespace: -- CREATE TABLE persons ( @@ -134,7 +134,7 @@ COPY persons (id, company_id, person_name) FROM stdin; -- --- Name: companies_pkey; Type: CONSTRAINT; Schema: public; Owner: fp; Tablespace: +-- Name: companies_pkey; Type: CONSTRAINT; Schema: public; Owner: fp; Tablespace: -- ALTER TABLE ONLY companies diff --git a/content/applications/general/in_app_purchase.rst b/content/applications/general/in_app_purchase.rst index 4bb4784524..8249e150d2 100644 --- a/content/applications/general/in_app_purchase.rst +++ b/content/applications/general/in_app_purchase.rst @@ -29,7 +29,7 @@ Settings --> IAP Account`. .. image:: in_app_purchase/image2.png :align: center - + IAP Portal ========== @@ -62,7 +62,7 @@ Different services are available depending on the hosting type of your Database: - *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party apps can be used. -Offering my own services +Offering my own services ======================== I am more than welcome to offer my own IAP services through Odoo Apps! It is the perfect opportunity diff --git a/content/applications/general/voip/asterisk.rst b/content/applications/general/voip/asterisk.rst index 2182872714..7ecbb1f9b6 100644 --- a/content/applications/general/voip/asterisk.rst +++ b/content/applications/general/voip/asterisk.rst @@ -26,7 +26,7 @@ In order to install libsrtp, follow the instructions below: .. code-block:: console cd /usr/local/src/ - wget http://srtp.sourceforge.net/srtp-1.4.2.tgz + wget http://srtp.sourceforge.net/srtp-1.4.2.tgz tar zxvf srtp-1.4.2.tgz cd /usr/local/src/srtp ./configure CFLAGS=-fPIC --prefix=/usr/local/lib @@ -67,7 +67,7 @@ You also need to install PJSIP, you can download the source `here /usr/lib/libpjsua.so @@ -90,7 +90,7 @@ Asterisk - Extract Asterisk: .. code-block:: console - + tar zxvf asterisk* - Enter the Asterisk directory: @@ -99,7 +99,7 @@ Asterisk cd ./asterisk* -- Run the Asterisk configure script: +- Run the Asterisk configure script: .. code-block:: console @@ -207,14 +207,14 @@ In Odoo, the configuration should be done in the user's preferences. .. image:: asterisk/voip_config01.png :align: center -- The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in our example: 1060). +- The SIP Login/Browser's Extension is the number you configured previously in the sip.conf file (in our example: 1060). -- The SIP Password is the secret you chose in the sip.conf file. +- The SIP Password is the secret you chose in the sip.conf file. - The extension of your office's phone is not a required field but it is used if you want to transfer your call from Odoo to an external phone also configured in the sip.conf file. -The configuration should also be done in the General Settings under the "Integrations" section. +The configuration should also be done in the General Settings under the "Integrations" section. .. image:: onsip/onsip02.png :align: center diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst index 463285d88e..abc57695e3 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/dropshipping.rst @@ -18,12 +18,12 @@ warehouse. Points to be Considered while Implementing Drop-Shipping ======================================================== -- Use drop-shipping only for the products you can't or don't want to keep in stock. +- Use drop-shipping only for the products you can't or don't want to keep in stock. One reason is that you'll always make smaller margins on items that are drop-shipped, so you should keep it only for items that take up a lot of space in your warehouse. -- Drop-shipping is best for niche products. +- Drop-shipping is best for niche products. Chances are that products that are in high demand are being offered by large suppliers at a fraction of the price you'll be able to charge, so using a more costly shipping method won't be financially rewarding. But if @@ -32,11 +32,11 @@ Points to be Considered while Implementing Drop-Shipping - To protect your customers from bad experiences. Test drop-shipping companies for yourself beforehand and list the best ones. -- Make sure time is not against you. +- Make sure time is not against you. Drop-shipping should take a reasonable amount of time and surely not more than it would have taken you to handle it all by yourself. It's also nice to be able to provide your customers with a tracking number. -- Items have to be available from your supplier. +- Items have to be available from your supplier. It's good to know if the product you're selling is available upstream. If you don't have that information, inform your customers that you don't hold diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst index d99778abe0..1b22c5694f 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/three_steps.rst @@ -38,7 +38,7 @@ goods in output and then deliver (3 steps)* for *Outgoing Shipments*. :align: center Activating this option will lead to the creation of two new locations, -*Output* and *Packing Zone*. If you want to rename it go to :menuselection:`Inventory --> +*Output* and *Packing Zone*. If you want to rename it go to :menuselection:`Inventory --> Configuration --> Locations`, *Select* the one you want to rename and update its name. Create a Sales Order diff --git a/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst b/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst index b7f3b38508..d59cf53258 100644 --- a/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/delivery/two_steps.rst @@ -19,7 +19,7 @@ provide a mechanism to chain different actions together. In this case, we will chain the picking step to the shipping step. To allow *multi-step routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and -activate the option. Note that activating *Multi-Step Routes* will also +activate the option. Note that activating *Multi-Step Routes* will also activate *Storage Locations*. .. image:: two_steps/two_steps_01.png @@ -28,7 +28,7 @@ activate *Storage Locations*. Warehouse configuration ======================= -Once *Multi-Step Routes* has been activated, you can go to :menuselection:`Inventory --> +Once *Multi-Step Routes* has been activated, you can go to :menuselection:`Inventory --> Configuration --> Warehouse` and enter the warehouse which will use delivery in 2 steps. You can then select the option *Send goods in output and then deliver (2 steps)* for Outgoing Shipments. diff --git a/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst b/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst index 6bc1531b5f..37f2f24f72 100644 --- a/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst +++ b/content/applications/inventory_and_mrp/inventory/management/incoming/one_step.rst @@ -43,10 +43,10 @@ on the dashboard, you can click the *1 TO PROCESS* button under the Now, enter the picking that you want to process. You will be able to click on *Validate* to complete the move directly as products coming -from suppliers are considered as being always available. +from suppliers are considered as being always available. .. note:: - If you have :guilabel:`Storage Locations` activated, you can click the hamburger menu next to + If you have :guilabel:`Storage Locations` activated, you can click the hamburger menu next to the :guilabel:`Done quantity` to specify the location(s) where you are storing the received product(s). diff --git a/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst b/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst index c8a056a9b9..8866bd0801 100644 --- a/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst +++ b/content/applications/inventory_and_mrp/inventory/management/incoming/three_steps.rst @@ -7,20 +7,20 @@ chain, it only makes sense that we assess the quality of the products received f To do so, we will add a quality control step. Odoo uses routes to define how to handle the different receipt steps. -Configuration of those routes is done at the warehouse level. By default, the reception is a +Configuration of those routes is done at the warehouse level. By default, the reception is a one-step process, but it can also be configured to have two-steps or three-steps processes. -The three-steps flow works as follows: you receive the goods in your receiving area, then transfer -them into a quality area for quality control (QC). When the quality check is completed, the goods +The three-steps flow works as follows: you receive the goods in your receiving area, then transfer +them into a quality area for quality control (QC). When the quality check is completed, the goods that match the QC requirements are moved to stock Activate Multi-Step Routes ========================== -The first step is to allow the use of *Multi-Step Routes*. Routes provide a mechanism to chain different +The first step is to allow the use of *Multi-Step Routes*. Routes provide a mechanism to chain different actions together. In this case, we will chain the picking step to the shipping step. -To enable *Multi-Step Routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and +To enable *Multi-Step Routes*, go to :menuselection:`Inventory --> Configuration --> Settings` and activate the option. .. image:: three_steps/three_steps_01.png @@ -34,22 +34,22 @@ activate the option. Configure warehouse for receipt in 3-steps ========================================== -Once *Multi-Step Routes* has been activated, go to :menuselection:`Inventory --> Configuration --> -Warehouse` and enter the warehouse which should work with the 3-steps reception. Then, select +Once *Multi-Step Routes* has been activated, go to :menuselection:`Inventory --> Configuration --> +Warehouse` and enter the warehouse which should work with the 3-steps reception. Then, select *Receive goods in input, then quality and then stock (3 steps)* for *Incoming Shipments*. .. image:: three_steps/three_steps_02.png :align: center :alt: View of the incoming shipment strategy to choose to receive goods in three steps -Activating this option leads to the creation of two new locations: *Input* and *Quality Control*. +Activating this option leads to the creation of two new locations: *Input* and *Quality Control*. To rename them, go to :menuselection:`Inventory --> Configuration --> Locations` and select the one you want to rename. Create a Purchase Order ======================= -To start the 3-steps reception process, create a *Request for Quotation* from the *Purchase* app, +To start the 3-steps reception process, create a *Request for Quotation* from the *Purchase* app, add some storable products to it and confirm. Then, three pickings are created with your *Purchase Order* as the source document: @@ -68,25 +68,25 @@ Order* as the source document: Process the receipt, quality control and entry in stock ======================================================= -As the receipt operation is the first one to be processed, it has a *Ready* status while the others +As the receipt operation is the first one to be processed, it has a *Ready* status while the others are *Waiting Another Operation*. -To access the receipt operation, click on the button from the *Purchase Order* or go back to the +To access the receipt operation, click on the button from the *Purchase Order* or go back to the *Inventory* app dashboard and click on *Receipts*. .. image:: three_steps/three_steps_04.png :align: center :alt: View of the button to click to see the receipts that need to be processed -In the receipt order, products are always considered available because they come from the supplier. +In the receipt order, products are always considered available because they come from the supplier. Then, the receipt can be validated. .. image:: three_steps/three_steps_05.png :align: center :alt: View of the move (internal transfer) from the reception area to the warehouse input area -Once the receipt has been validated, the transfer to quality becomes *Ready*. And, because the documents -are chained to each other, products previously received are automatically reserved on the +Once the receipt has been validated, the transfer to quality becomes *Ready*. And, because the documents +are chained to each other, products previously received are automatically reserved on the transfer. Then, the transfer can be directly validated. .. image:: three_steps/three_steps_06.png @@ -97,7 +97,7 @@ transfer. Then, the transfer can be directly validated. :align: center :alt: View of the move (internal transfer) from the input area to the quality control area -Now, the transfer that enters the products to stock is *Ready*. Here, it is again ready to be +Now, the transfer that enters the products to stock is *Ready*. Here, it is again ready to be validated in order to transfer the products to your stock location. .. image:: three_steps/three_steps_08.png diff --git a/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst b/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst index 35a58260a3..371f2b7cda 100644 --- a/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst +++ b/content/applications/inventory_and_mrp/inventory/management/misc/batch_transfers.rst @@ -40,7 +40,7 @@ After that, the different transfers that needed to be included in the batch tran to the batch transfer To see the products to pick for the different transfers, click on -*Select*. If *Multi-locations* has been activated, the document also shows the locations they have +*Select*. If *Multi-locations* has been activated, the document also shows the locations they have been reserved from. .. image:: batch_transfers/batch_transfers_05.png @@ -77,12 +77,12 @@ too. :align: center :alt: View of an in progress batch transfer -In case all the products cannot be picked, you can create backorders for each individual transfer +In case all the products cannot be picked, you can create backorders for each individual transfer which couldn’t be completely processed. .. image:: batch_transfers/batch_transfers_09.png :align: center - :alt: How to handle batch transfers with unavailable products. Creation of a backorder inside + :alt: How to handle batch transfers with unavailable products. Creation of a backorder inside of a batch transfer .. image:: batch_transfers/batch_transfers_10.png diff --git a/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst b/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst index 26e816e167..15dff58057 100644 --- a/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst +++ b/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst @@ -25,7 +25,7 @@ options available. Each of them is explained in detail below. .. rst-class:: alternatives doc-aside -Standard Price +Standard Price .. rst-class:: values-table .. list-table:: @@ -110,7 +110,7 @@ Average Price - +2*€6 - €36 - In **AVCO (Average Cost)**, each product has the same value and this + In **AVCO (Average Cost)**, each product has the same value and this value is the average purchase cost of the product. With this costing method, the cost of the product is recomputed as each receipt. @@ -157,14 +157,14 @@ FIFO - €44 In **FIFO (First In First Out)**, the products are valued at their - purchase cost. When a product leaves the stock, that’s the “First in, + purchase cost. When a product leaves the stock, that’s the “First in, first out” rule that applies. - - Pay attention, that this is a financial FIFO. The first value “in” + + Pay attention, that this is a financial FIFO. The first value “in” is the first value “out”, no matter the storage location, warehouse or serial number. - FIFO is advised if you manage all your workflows into Odoo (Sales, + FIFO is advised if you manage all your workflows into Odoo (Sales, Purchases, Inventory). It suits any kind of users. Inventory Valuation: Manual or Automated @@ -179,7 +179,7 @@ your accounting mode: it can be continental or anglo-saxon. In continental accounting, the cost of a good is taken into account as soon as the product is received in stock. In anglo-saxon accounting, the cost of a good is only recorded as an expense when this good is invoiced to a -final customer. In the tables below, you can easily compare those two +final customer. In the tables below, you can easily compare those two accounting modes. Usually, based on your country, the correct accounting mode will be @@ -195,8 +195,8 @@ on your accounting books. Periodically, you create a manual journal entry representing the value of what you have in stock. To know that value, go in :menuselection:`Inventory --> Reporting --> Inventory Valuation`. -This is the default configuration in Odoo and it works -out-of-the-box. Check following operations and find out how +This is the default configuration in Odoo and it works +out-of-the-box. Check following operations and find out how Odoo is managing the accounting postings. Continental Accounting @@ -248,11 +248,11 @@ Manufacturing Orders
-At the end of the month/year, your company does a physical inventory +At the end of the month/year, your company does a physical inventory or just relies on the inventory in Odoo to value the stock into your books. -Create a journal entry to move the stock variation value from your -Profit&Loss section to your assets. +Create a journal entry to move the stock variation value from your +Profit&Loss section to your assets. .. h:div:: doc-aside @@ -261,13 +261,13 @@ Profit&Loss section to your assets. ===================================== ===== ====== \ Debit Credit ===================================== ===== ====== - Assets: Inventory X - Expenses: Inventory Variations X + Assets: Inventory X + Expenses: Inventory Variations X ===================================== ===== ====== If the stock value decreased, the **Inventory** account is credited and the **Inventory Variations** debited. - + .. raw:: html
@@ -289,7 +289,7 @@ Vendor Bill ============================= ===== ====== Configuration: - * Purchased Goods: defined on the product or on the internal category of related product + * Purchased Goods: defined on the product or on the internal category of related product (Expense Account field) * Deferred Tax Assets: defined on the tax used on the purchase order line * Accounts Payable: defined on the vendor related to the bill @@ -307,7 +307,7 @@ Customer Invoice ===================================== ===== ====== Configuration: - * Revenues: defined on the product or on the internal category of related + * Revenues: defined on the product or on the internal category of related product (Income Account field) * Deferred Tax Liabilities: defined on the tax used on the invoice line * Accounts Receivable: defined on the customer (Receivable Account) @@ -322,11 +322,11 @@ Manufacturing Orders .. raw:: html
- -At the end of the month/year, your company does a physical inventory + +At the end of the month/year, your company does a physical inventory or just relies on the inventory in Odoo to value the stock into your books. -Then you need to break down the purchase balance into both the inventory and +Then you need to break down the purchase balance into both the inventory and the cost of goods sold using the following formula: Cost of goods sold (COGS) = Starting inventory value + Purchases – Closing inventory value @@ -340,10 +340,10 @@ To update the stock valuation in your books, record such an entry: ===================================== ===== ====== \ Debit Credit ===================================== ===== ====== - Assets: Inventory (closing value) X + Assets: Inventory (closing value) X Expenses: Cost of Good Sold X Expenses: Purchased Goods X - Assets: Inventory (starting value) X + Assets: Inventory (starting value) X ===================================== ===== ====== Automated Inventory Valuation @@ -370,19 +370,19 @@ Continental Accounting
.. h:div:: doc-aside - + **Configuration:** - Accounts Receivable/Payable: defined on the partner (Accounting tab) - Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line - - Revenues/Expenses: defined by default on product's internal category; can be + - Revenues/Expenses: defined by default on product's internal category; can be also set in product form (Accounting tab) as a replacement value. - - Inventory Variations: to set as Stock Input/Output Account in product's internal + - Inventory Variations: to set as Stock Input/Output Account in product's internal category - + - Inventory: to set as Stock Valuation Account in product's internal category Anglo-Saxon Accounting @@ -402,7 +402,7 @@ Anglo-Saxon Accounting - Accounts Receivable/Payable: defined on the partner (Accounting tab) - - Deferred Tax Assets/Liabilities: defined on the tax used on the + - Deferred Tax Assets/Liabilities: defined on the tax used on the invoice line - Revenues: defined on the product category as a default, or specifically @@ -412,13 +412,13 @@ Anglo-Saxon Accounting Defined on the product category as a default value, or specifically on the product form. - - Goods Received Not Purchased: to set as Stock Input Account in product's + - Goods Received Not Purchased: to set as Stock Input Account in product's internal category - - Goods Issued Not Invoiced: to set as Stock Output Account in product's + - Goods Issued Not Invoiced: to set as Stock Output Account in product's internal category - Inventory: to set as Stock Valuation Account in product's internal category - - Price Difference: to set in product's internal category or in product + - Price Difference: to set in product's internal category or in product form as a specific replacement value diff --git a/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst b/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst index a34f782247..16ce69452d 100644 --- a/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst +++ b/content/applications/inventory_and_mrp/inventory/routes/concepts/stock_warehouses.rst @@ -23,7 +23,7 @@ Now, you have to make sure that the main stock locations of warehouse A and ware Sell a product from the virtual warehouse ========================================== -Let’s say you have two products, one stored in warehouse A and one stored in warehouse B. Now, you can create a new quotation for one of each product. Go to other information and choose Warehouse A+B in the shipping information. +Let’s say you have two products, one stored in warehouse A and one stored in warehouse B. Now, you can create a new quotation for one of each product. Go to other information and choose Warehouse A+B in the shipping information. .. image:: stock_warehouses/ware3.png :align: center diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst index e70d174927..981a3d002c 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/cancel.rst @@ -14,7 +14,7 @@ the destination. You can easily cancel the request made to the carrier system. -How to cancel a shipping request? +How to cancel a shipping request? ================================= - If the delivery order is not **Validated**, then the request hasn't been @@ -36,7 +36,7 @@ You will now see that the shipment has been cancelled. You can now change the carrier if you wish. -How to send a shipping request after cancelling one? +How to send a shipping request after cancelling one? ==================================================== After cancelling the shipping request, you can change the carrier you diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst index ab03ef3272..3a3ded4ff1 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/labels.rst @@ -81,7 +81,7 @@ Open the products you want to ship and set a weight on it. Don't forget to do the conversion if you are used to the imperial measurement system. -How to print shipping labels ? +How to print shipping labels ? =============================== The delivery order created from the sale order will take the shipping diff --git a/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst b/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst index 48d8777389..7b7a5868ab 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/operation/multipack.rst @@ -13,7 +13,7 @@ Configuration ============= To configure the use of packages, go to the menu -:menuselection:`Inventory --> Configuration --> Settings`. +:menuselection:`Inventory --> Configuration --> Settings`. Locate the **Packages** section and tick **Record packages used on packing: pallets, boxes,...** diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst index 55a81613f8..5e58a269e9 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/delivery_method.rst @@ -1,5 +1,5 @@ =============================== -How to setup a delivery method? +How to setup a delivery method? =============================== Overview @@ -33,7 +33,7 @@ order to see it : Configure the delivery method ----------------------------- -To configure your delivery methods, go to the **Inventory** module, +To configure your delivery methods, go to the **Inventory** module, click on :menuselection:`Configuration --> Delivery Methods`. First set a name and a transporter company. @@ -65,9 +65,9 @@ feature limits the list of countries on your e-commerce. .. image:: delivery_method/setup02.png :align: center -.. note:: +.. note:: You can integrate Odoo with external shippers in order to compute the - real price and packagings, and handle the printing the shipping labels. + real price and packagings, and handle the printing the shipping labels. See :doc:`third_party_shipper` Delivery process diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst index 200a0bd6ce..bb05b967ea 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/third_party_shipper.rst @@ -16,7 +16,7 @@ Configuration Install the shipper company connector module -------------------------------------------- -In the inventory module, click on :menuselection:`Configuration --> Settings`. +In the inventory module, click on :menuselection:`Configuration --> Settings`. Under **Shipping Connectors**, flag the transportation companies you want to integrate : @@ -26,7 +26,7 @@ integrate : Then click on **Apply**. .. note:: - If you want to integrate delivery methods in your e-commerce, + If you want to integrate delivery methods in your e-commerce, you'll have to install the **eCommerce Delivery** module. Configure the delivery method diff --git a/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst b/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst index c02ae2bb69..956d41ad54 100644 --- a/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst +++ b/content/applications/inventory_and_mrp/inventory/shipping/setup/ups_credentials.rst @@ -16,15 +16,15 @@ the UPS Developer Kit API Development and Production servers. Create a UPS Account ===================== -Note that only customers located in the US can open a UPS account online. -If you are located outside the US, you will need to contact UPS Customer +Note that only customers located in the US can open a UPS account online. +If you are located outside the US, you will need to contact UPS Customer Service in order to to open an account. -You can read additional information about opening a UPS account on the -their website, on the page, -`How to Open a UPS Account Online `_ +You can read additional information about opening a UPS account on the +their website, on the page, +`How to Open a UPS Account Online `_ -If you don't already have a UPS account, you can create one along with +If you don't already have a UPS account, you can create one along with your online profile by following these steps: 1. Access the UPS.com web site at @@ -34,7 +34,7 @@ at the top of the page. 2. Click the **Register for MyUPS** button, and follow the prompts to complete the registration process. -If you already have a UPS account, you can add it to your online profile as follows: +If you already have a UPS account, you can add it to your online profile as follows: 1. Log in to the `UPS.com website `_) using your UPS.com User ID and Password. @@ -45,7 +45,7 @@ If you already have a UPS account, you can add it to your online profile as foll 4. Click the **Add an Existing UPS Account** link in the **UPS Account Details** section of the page. -5. In the **Add New Account** screen, enter the **UPS Account Number**, +5. In the **Add New Account** screen, enter the **UPS Account Number**, **Account Name**, and **Postal Code** fields. The country defaults to United States.q diff --git a/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst b/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst index e85041bdc1..d941b7f108 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/kit_shipping.rst @@ -3,17 +3,17 @@ Kits ===== A *kit* is a set of components that are not pre-assembled or mixed. This is useful for -selling but also for creating cleaner and more effective *BOMs*. To use kits, you need -both the Manufacturing and Inventory apps to be installed. +selling but also for creating cleaner and more effective *BOMs*. To use kits, you need +both the Manufacturing and Inventory apps to be installed. Manage Stock of Component Products ================================== -If you want to assemble kits as they are ordered, managing stock of the kit components only, -you will use a *Kit BoM* Type without any manufacturing operations. +If you want to assemble kits as they are ordered, managing stock of the kit components only, +you will use a *Kit BoM* Type without any manufacturing operations. A product using a *Kit BoM* will appear as a single line item on a quotation and a sales order, -but will generate a delivery order with one line item for each of the components of the kit. In +but will generate a delivery order with one line item for each of the components of the kit. In the examples below, the first image shows a sales order for the kit *Custom Computer Kit*, while the second image shows the corresponding delivery order. @@ -26,16 +26,16 @@ while the second image shows the corresponding delivery order. Configuration ============= -From the *Products menu* in either the *Inventory* or *Manufacturing* app, create each component +From the *Products menu* in either the *Inventory* or *Manufacturing* app, create each component product (as you would with any other product), then create the top-level, or kit product. Because -you cannot track the stock of kit products, the *Product Type* should be set to *Consumable*. -However, if you are using Anglo-Saxon accounting, and you would like COGS to be posted when -invoicing your kits (and only for this reason), the storable product type should selected instead. +you cannot track the stock of kit products, the *Product Type* should be set to *Consumable*. +However, if you are using Anglo-Saxon accounting, and you would like COGS to be posted when +invoicing your kits (and only for this reason), the storable product type should selected instead. Because a kit product cannot be purchased, *Can be Purchased* should be unchecked. The route of the -kit product in the *Inventory* Tab does not really matter, as, for replenishment, only the route of -the components that will be taken into account only. +kit product in the *Inventory* Tab does not really matter, as, for replenishment, only the route of +the components that will be taken into account only. -All other parameters on the kit product may be modified according to your preference. The component +All other parameters on the kit product may be modified according to your preference. The component products require no particular configuration. Once the products are configured, create a *bill of materials* for the kit product. Add each component @@ -47,11 +47,11 @@ and its quantity. Select the *BoM Type* Kit. All other options may be left with Manage Stock of Kit Product and Component Products ================================================== -If you want to manage the stock of the *top-level kit product*, you will use a standard *BoM Type* +If you want to manage the stock of the *top-level kit product*, you will use a standard *BoM Type* manufacture or subcontracting instead. In this case you will either buy the final product from your -subcontractor, or make it yourself through a manufacturing order. +subcontractor, or make it yourself through a manufacturing order. -In that case the product type will be storable, and the BOM type either 'Manufacture this product' +In that case the product type will be storable, and the BOM type either 'Manufacture this product' or 'Subcontracting' as shown below. .. image:: kit_shipping/kit-storable.png @@ -59,29 +59,29 @@ or 'Subcontracting' as shown below. Build a cleaner BOM -==================== +==================== -As suggested above, a kit BOM can also simply be used to manage a more complex BOM. +As suggested above, a kit BOM can also simply be used to manage a more complex BOM. -Imagine the Custom Computer parts above were part of another final product. It would be much -clearer and simpler if the BOMs were added together (as shown below) instead of adding all +Imagine the Custom Computer parts above were part of another final product. It would be much +clearer and simpler if the BOMs were added together (as shown below) instead of adding all the individual parts one by one. .. image:: kit_shipping/kit-bom4.png :align: center -This is even better illustrated when looking at the BOM Structure Report, where it is -easy to expand and hide specific kit level or sub-assembly type BOMs. +This is even better illustrated when looking at the BOM Structure Report, where it is +easy to expand and hide specific kit level or sub-assembly type BOMs. .. image:: kit_shipping/kit-bom5.png :align: center On the creation of the manufacturing order, the BOM will automatically expand to show all -top level and kit level components. You can go back to the BOM at any point though as it -remains available on the form view of your manufacturing order. +top level and kit level components. You can go back to the BOM at any point though as it +remains available on the form view of your manufacturing order. .. image:: kit_shipping/kit-bom6.png :align: center -Finally, note that if there were any Operations in the Kit BOM, these would also simply be added -in to the work order list of the main component. +Finally, note that if there were any Operations in the Kit BOM, these would also simply be added +in to the work order list of the main component. diff --git a/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst b/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst index 8f6f35eae8..0f14718bd2 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/quality_control.rst @@ -7,7 +7,7 @@ of your subcontractor, before registering the products into your stock, you can rely on Odoo's Quality module. -To control the quality of your production, you need to set a *Quality Control Point* +To control the quality of your production, you need to set a *Quality Control Point* on the Manufacturing Operation Type, as shown below. To create it, Go to :menuselection:`Quality --> Quality Control --> Control Points`, and click **Create**. If the check only applies to specific products, or product categories, you can specify these during @@ -16,13 +16,13 @@ the setup as well. .. image:: quality_control/qc_1.png :align: center -Regarding the reception of subcontracted products, instead of the Manufacturing Operation Type, -you need to select the 'Receipts' Operation type. For the rest, the same principles apply. +Regarding the reception of subcontracted products, instead of the Manufacturing Operation Type, +you need to select the 'Receipts' Operation type. For the rest, the same principles apply. .. image:: quality_control/qc_2.png :align: center By doing so, a quality check is automatically created each time a -finished product is made and/or received. Note that several Quality Check +finished product is made and/or received. Note that several Quality Check *Types* can be chosen from the dropdown. Note also that several Quality -Check Points can be set up for the same Operation Type. +Check Points can be set up for the same Operation Type. diff --git a/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst b/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst index b3cdb21929..87777afac6 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/sub_assemblies.rst @@ -7,17 +7,17 @@ of Materials* or to represent your manufacturing flow more accurately. A *semi-finished product* is a manufactured product that is used as a component in a Bill of Material. -A *BoM* that employs *semi-finished products* is referred to as +A *BoM* that employs *semi-finished products* is referred to as a multi-level BoM, where we distinguish between the *top level Product* -and the *sub-assemblies*. +and the *sub-assemblies*. Configure a Multi Level BoM ============================ To configure a *multi-level BoM*, you will need the top-level product and its sub-assemblies. Therefore, you must first create the sub-assembly -products and their respective Bill of Materials. Please refer to -:doc:`bill_configuration` for more details on how to create a BOM. +products and their respective Bill of Materials. Please refer to +:doc:`bill_configuration` for more details on how to create a BOM. .. image:: sub_assemblies/sf_1.png :align: center @@ -25,33 +25,33 @@ products and their respective Bill of Materials. Please refer to Configure the Main BoM ====================== -Then on the final product form, simply add your semi-finished -products to the Bill of Material. +Then on the final product form, simply add your semi-finished +products to the Bill of Material. .. image:: sub_assemblies/sf_2.png :align: center -Manage your production planning +Manage your production planning ================================= -There are several methods to manage the triggering of the various manufacturing orders. +There are several methods to manage the triggering of the various manufacturing orders. -If every time a manufacturing order is confirmed for the main product, you'd like one for -the semi-finished products as well, you have two options: +If every time a manufacturing order is confirmed for the main product, you'd like one for +the semi-finished products as well, you have two options: -Option 1 : Create re-ordering rules for the semi-finished products, with both the minimum -and maximum desired stock quantities at 0. +Option 1 : Create re-ordering rules for the semi-finished products, with both the minimum +and maximum desired stock quantities at 0. .. image:: sub_assemblies/sf_3.png :align: center -Option 2 : Use the Replenish on Order (MTO) route on the semi-finished product, as well as -the manufacturing one. +Option 2 : Use the Replenish on Order (MTO) route on the semi-finished product, as well as +the manufacturing one. -Note that Option 1 is usually recommended over Option 2 as it is more flexible. The MTO route -creates a unique link between the semi-finished and the top level product, whereas the +Note that Option 1 is usually recommended over Option 2 as it is more flexible. The MTO route +creates a unique link between the semi-finished and the top level product, whereas the re-ordering rule allows you to simply unreserve that production from the top level product -production and redirect it to another, more pressing demand, for example. +production and redirect it to another, more pressing demand, for example. In any case, as soon as the semi-finished product is produced, it will become available in the manufacturing order of the final product, as shown below. diff --git a/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst b/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst index 8c3d921750..3fd6f93f35 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/subcontracting.rst @@ -6,7 +6,7 @@ Outsourcing a portion or all of your company’s manufacturing needs is not easy. To make it work correctly, you have to: - Manage the inventory of raw materials at your subcontractor -- Ship raw material to your subcontractors, at the right time +- Ship raw material to your subcontractors, at the right time - Control incoming goods quality - Control subcontractors bills @@ -15,7 +15,7 @@ produced out of raw materials “A” and “B”. .. image:: subcontracting/subcontracting_01.png :align: center - :alt: + :alt: With its MRP subcontracting feature, Odoo helps you handle this flow easily. @@ -27,12 +27,12 @@ To use the subcontracting feature, go to :menuselection:`Manufacturing .. image:: subcontracting/sbc_1.png :align: center - :alt: + :alt: To define if a product must be subcontracted, use a *Bill of Materials (BoM)* of type *Subcontracting*. -To create a new *BoM*, go to :menuselection:`Manufacturing --> Products --> +To create a new *BoM*, go to :menuselection:`Manufacturing --> Products --> Bill of Materials` and hit create. Then, list the components your subcontractor needs to manufacture the product. For costing purposes, you might want to register all the components, even the ones @@ -43,7 +43,7 @@ several subcontractors. .. image:: subcontracting/sbc_2.png :align: center - :alt: + :alt: Basic Subcontracting Flow ========================= @@ -55,7 +55,7 @@ defined as a subcontractor on the *BoM* of these products. .. image:: subcontracting/subcontracting_04.png :align: center - :alt: + :alt: Once the *PO* is validated (1), a pending receipt is created. When the products are received, validate the receipt (2), with the actual @@ -71,7 +71,7 @@ quantity received. As a result, Odoo does the following things for you: .. note:: The *PO* is optional. If you create a receipt manually, with the right - subcontractor, Odoo still performs all the moves. This can be useful if + subcontractor, Odoo still performs all the moves. This can be useful if the subcontractor does not bill a fixed price per item, but rather the time and materials used. @@ -93,15 +93,15 @@ With: Sending raw materials to your subcontractors (**A**) does not impact the inventory valuation, as the components are still valued as part of -your stock. This is managed by making the *Subcontracting Location* an -*Internal Location*. +your stock. This is managed by making the *Subcontracting Location* an +*Internal Location*. Then, the vendor price set on the product C form has to be what has to be paid to the subcontractor for his parts and service time: **B + s**. The product cost has to be: **A + B + s**, how much the product is valued in the accounting. -Finally, the subcontractor bill then matches the purchase order, with +Finally, the subcontractor bill then matches the purchase order, with the proposed price coming from the finished products C. .. note:: @@ -115,99 +115,99 @@ Traceability In case the received products from the subcontractor contain tracked components, their serial or lot numbers need to be specified during the -receipt. +receipt. In that case, on the receipt of the subcontracted product, a *Record Components* -button appears. Click on it to open a dialog box and record the serial/lot numbers of +button appears. Click on it to open a dialog box and record the serial/lot numbers of the components. If the finished product is also tracked, its serial/lot number can be registered here too. .. image:: subcontracting/sbc_3.png :align: center - :alt: + :alt: For audit purposes, it is possible to check the lot numbers recorded on a receipt by using the icon on the right of the finished products: .. image:: subcontracting/sbc_4.png :align: center - :alt: + :alt: -Also note that in case flexible consumption has been selected on the subcontracted -BOM for a non-tracked product, the record components option will also appear -optionally on each move line, if you want to register more or less component consumption -at your subcontracting location, when receiving your final product. +Also note that in case flexible consumption has been selected on the subcontracted +BOM for a non-tracked product, the record components option will also appear +optionally on each move line, if you want to register more or less component consumption +at your subcontracting location, when receiving your final product. .. image:: subcontracting/sbc_5.png :align: center - :alt: + :alt: -As you can see, the reception of both of these non-tracked products can either be executed -by selecting the 'Set Quantities' Option or via the move line hamburger menus. +As you can see, the reception of both of these non-tracked products can either be executed +by selecting the 'Set Quantities' Option or via the move line hamburger menus. Automate Replenishment of Subcontractors ======================================== -There are two ways to automate the supply of raw materials to your +There are two ways to automate the supply of raw materials to your subcontractors when purchasing the final product. The chosen method depends on whether or not you want the materials to transit through your -warehouse. Both of these methods are described as pull style mechanisms as -their trigger is the inital PO to the subcontractor, which creates a need -at the subcontracting location, for raw material. +warehouse. Both of these methods are described as pull style mechanisms as +their trigger is the inital PO to the subcontractor, which creates a need +at the subcontracting location, for raw material. If you are supplying your subcontractor with raw material from your own warehouse, -you must activate the 'Resupply Subcontractor on Order' route as shown +you must activate the 'Resupply Subcontractor on Order' route as shown below. If this is a component that you buy from a vendor, the buy route -should also be activated. +should also be activated. .. image:: subcontracting/sbc_6.png :align: center - :alt: + :alt: -Now, if you want your vendor to resupply your subcontractor directly, you -must choose the 'Dropship Subcontractor on Order' option instead. In order -for this option to be active on the product form, you must first activate the +Now, if you want your vendor to resupply your subcontractor directly, you +must choose the 'Dropship Subcontractor on Order' option instead. In order +for this option to be active on the product form, you must first activate the dropship option from :menuselection:`Purchase --> Configuration --> Settings --> Dropshipping`. -Once the PO to the subcontractor is validated, this route will create a dropship -RFQ from your vendor to that subcontractor. You then just need to review and validate it. +Once the PO to the subcontractor is validated, this route will create a dropship +RFQ from your vendor to that subcontractor. You then just need to review and validate it. .. image:: subcontracting/sbc_7.png :align: center - :alt: + :alt: -Note that the buy route is not selected in this case, as the dropship route is -a buy route already. +Note that the buy route is not selected in this case, as the dropship route is +a buy route already. Finally, if you want to track the stock of these raw materials at your subcontracting location(s), then you must activate *Multi-locations* in :menuselection:`Inventory --> -Configuration --> Settings --> Storage locations`. +Configuration --> Settings --> Storage locations`. -From the location form, you are then able to access the Current Stock. +From the location form, you are then able to access the Current Stock. .. image:: subcontracting/sbc_8.png :align: center - :alt: + :alt: Manual Replenishment -------------------------------- -You can also choose to replenish your subcontractors manually. +You can also choose to replenish your subcontractors manually. -If you want to send components to your subcontractor at your own convenience, -select the 'Resupply Subcontractor' Operation Type from the *Inventory* Module, -and create a picking, specifying to which subcontractor you are delivering to. +If you want to send components to your subcontractor at your own convenience, +select the 'Resupply Subcontractor' Operation Type from the *Inventory* Module, +and create a picking, specifying to which subcontractor you are delivering to. .. image:: subcontracting/sbc_9.png :align: center - :alt: + :alt: -Alternatively, you can also manually ask your vendor to resupply your subcontractor +Alternatively, you can also manually ask your vendor to resupply your subcontractor by creating a dropship type PO, with your subcontractor set as the delivery address. .. image:: subcontracting/sbc_10.png diff --git a/content/applications/inventory_and_mrp/manufacturing/management/use_mps.rst b/content/applications/inventory_and_mrp/manufacturing/management/use_mps.rst index fc6c2c997f..3539de09aa 100644 --- a/content/applications/inventory_and_mrp/manufacturing/management/use_mps.rst +++ b/content/applications/inventory_and_mrp/manufacturing/management/use_mps.rst @@ -8,11 +8,11 @@ production based on your demand forecast. Configuration ============= -Go to the :menuselection:`Manufacturing app --> Configuration --> Settings` and +Go to the :menuselection:`Manufacturing app --> Configuration --> Settings` and activate the Master Production Schedule feature before hitting save. .. tip:: - In the MPS settings, you can define the time range of your MPS (month/week/day) + In the MPS settings, you can define the time range of your MPS (month/week/day) and the number of periods you want to display at all times. Now, go to :menuselection:`Planning --> Master Production Schedule` and click on *add a @@ -24,7 +24,7 @@ maximum quantities that must or can be replenished in each period. :align: center In the MPS view, you can decide which information you would like to display -by clicking on *rows*. For instance, the *Actual demand* will show you which +by clicking on *rows*. For instance, the *Actual demand* will show you which quantity of products has already been ordered for the period, or *Available to Promise*, what can still be sold during that same period (what you plan to replenish - what is already sold during the period). You can also decide to hide rows if you like. @@ -35,15 +35,15 @@ is already sold during the period). You can also decide to hide rows if you like Estimate your demand and launch replenishment ============================================= -The next step is to estimate the demand for the chosen period. This is done +The next step is to estimate the demand for the chosen period. This is done in the *Forecasted Demand* Row. You can easily, at any time, compare the demand -forecast with the actual demand (= confirmed sales). The demand forecast for a +forecast with the actual demand (= confirmed sales). The demand forecast for a finished product will impact the indirect demand for its components. .. image:: use_mps/mps_3.png :align: center -Once the forecasted demand has been set, the quantity to replenish for the +Once the forecasted demand has been set, the quantity to replenish for the different periods will automatically be computed. The replenishments you are supposed to launch based on your lead times (vendor lead time or manufacturing lead time) are then displayed in green. You can now launch the replenishment by clicking diff --git a/content/applications/productivity/iot/config/flash_sdcard.rst b/content/applications/productivity/iot/config/flash_sdcard.rst index 4728d22160..cef0d44935 100644 --- a/content/applications/productivity/iot/config/flash_sdcard.rst +++ b/content/applications/productivity/iot/config/flash_sdcard.rst @@ -16,7 +16,7 @@ will be saved. .. note:: This process can take more than 30 minutes. Do not turn off or unplug - the IoT Box as it would leave it in an inconsistent state. + the IoT Box as it would leave it in an inconsistent state. .. image:: flash_sdcard/flash_sdcard01.png :align: center diff --git a/content/applications/productivity/iot/config/pos.rst b/content/applications/productivity/iot/config/pos.rst index c86b3ce635..1d58960e34 100644 --- a/content/applications/productivity/iot/config/pos.rst +++ b/content/applications/productivity/iot/config/pos.rst @@ -26,7 +26,7 @@ Before starting, make sure you have the following: The list of supported hardware can be found on the `POS Hardware page `__ -Set Up +Set Up ~~~~~~~ To connect hardware to the PoS, the first step is to connect an IoT Box diff --git a/content/applications/productivity/iot/devices/screen.rst b/content/applications/productivity/iot/devices/screen.rst index a6583c14ca..99ef726525 100644 --- a/content/applications/productivity/iot/devices/screen.rst +++ b/content/applications/productivity/iot/devices/screen.rst @@ -8,7 +8,7 @@ connected, the screen can be used to display a :abbr:`PoS (Point of Sale)` order .. image:: screen/screen-pos-client-display.png :align: center :alt: An example of a PoS (point of sale) order on a screen display. - + .. note:: Access the customer display from any other computer by going to the :abbr:`IoT (Internet of Things)` Box homepage and clicking on the :guilabel:`POS Display` button. @@ -47,21 +47,21 @@ screen. :align: center :alt: The default "POS Client Display" screen that appears when a screen display is successfully connected to an IoT Box. - + The screen should also appear in the list of :guilabel:`Displays` on the :abbr:`IoT (Internet of Things)` Box homepage. .. image:: screen/screen-screen-name-example.png :align: center :alt: An example of a screen display name shown on the IoT Box homepage. - + .. note:: If no screen is detected, a default display named :guilabel:`Distant Display` will be used instead. .. image:: screen/screen-no-screen.png :align: center :alt: The "Distant Display" screen name will be used if no screen is detected. - + Usage ===== @@ -78,7 +78,7 @@ Now, select :guilabel:`IoT Box` in the drop-down menu and choose the screen in t .. image:: screen/screen-pos-screen-config.png :align: center :alt: Connect the screen display to the Point of Sale app. - + The screen is now available for :abbr:`PoS (Point of Sale)` sessions. A "screen" icon will appear in the top bar to inform the connection status with the screen. diff --git a/content/applications/sales/crm/acquire_leads/convert.rst b/content/applications/sales/crm/acquire_leads/convert.rst index 14ea5541a6..ac2eb1af79 100644 --- a/content/applications/sales/crm/acquire_leads/convert.rst +++ b/content/applications/sales/crm/acquire_leads/convert.rst @@ -4,7 +4,7 @@ Convert leads into opportunities The system can generate leads instead of opportunities, in order to add a qualification step before converting a *Lead* into an -*Opportunity* and assigning to the right sales people. +*Opportunity* and assigning to the right sales people. You can activate this mode from the CRM Settings. It applies to all your sales channels by default. But you can make it specific for specific channels @@ -46,7 +46,7 @@ Merge opportunities Odoo will also automatically propose to merge opportunities if they have the same email address. When merging opportunities, Odoo merges the information into the opportunity which was created first, giving -priority to the information present on the first opportunity. +priority to the information present on the first opportunity. No information is lost: data from the other opportunity is logged in the chatter and the information fields for easy access. diff --git a/content/applications/sales/crm/acquire_leads/lead_mining.rst b/content/applications/sales/crm/acquire_leads/lead_mining.rst index 71874f2796..b9aa91ba39 100644 --- a/content/applications/sales/crm/acquire_leads/lead_mining.rst +++ b/content/applications/sales/crm/acquire_leads/lead_mining.rst @@ -8,7 +8,7 @@ Configuration ============== For this feature to work, go to :menuselection:`CRM --> Configuration --> Settings` and activate the **Lead Mining** feature. - + .. image:: lead_mining/LM1.png :align: center @@ -31,16 +31,16 @@ From there, click on the **Generate Leads** button, a window where you will be a :align: center -When choosing to target Companies and their contacts you can choose the contacts you are getting based on Role or Seniority. +When choosing to target Companies and their contacts you can choose the contacts you are getting based on Role or Seniority. When getting contact information make sure to be aware of the latest EU regulation, get more information about General Data Protection Regulation on -`Odoo GDPR `__, +`Odoo GDPR `__, You can decide to filter the leads you are getting depending on the size (number of employees) of the companies. You can pick the countries your leads are coming from. It is possible to pick multiple countries. You can pick the industries your leads are coming from. It is possible to pick multiple industries. -You can choose the salesperson and the Salesteam the lead will be assigned to. +You can choose the salesperson and the Salesteam the lead will be assigned to. You can also add tags to track your generated leads. .. tip:: @@ -50,7 +50,7 @@ Pricing ================== This is an In-App Purchase feature, each generated lead will cost you one credit. If you choose to get contact information each contact will also cost you one additional credit. -Here is the pricing for this `feature `__, +Here is the pricing for this `feature `__, To buy credits you can either go to :menuselection:`CRM --> Configuration --> Settings --> Buy Credits`; or go to :menuselection:`Settings --> Contacts --> Odoo IAP --> View my Services`. @@ -70,4 +70,3 @@ Credits`; or go to :menuselection:`Settings --> Contacts --> Odoo IAP --> View m .. seealso:: * :doc:`In-App Purchases (IAP) ` - diff --git a/content/applications/sales/crm/performance.rst b/content/applications/sales/crm/performance.rst index 8f679f8070..e1a6284996 100644 --- a/content/applications/sales/crm/performance.rst +++ b/content/applications/sales/crm/performance.rst @@ -1,7 +1,7 @@ :nosearch: =================== -Analyze performance +Analyze performance =================== .. toctree:: diff --git a/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst b/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst index 1924549065..aff4a704be 100644 --- a/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst +++ b/content/applications/sales/point_of_sale/advanced_pricing_features/pricelists.rst @@ -16,15 +16,15 @@ convenient. Set up Pricelists ================= -To set up a *Pricelist*, go to :menuselection:`Point of Sale --> Configuration --> Configuration` -and enable the *Pricelist* feature. Then, go to :menuselection:`Point of Sale --> Configuration +To set up a *Pricelist*, go to :menuselection:`Point of Sale --> Configuration --> Configuration` +and enable the *Pricelist* feature. Then, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale` and enable *Pricelist* for the *PoS*. .. image:: pricelists/pricelists_01.png :align: center -Now, you can create *Pricelists* by clicking on the *Pricelists* link. -Then, set it up by choosing the product category you want to include in your happy hour +Now, you can create *Pricelists* by clicking on the *Pricelists* link. +Then, set it up by choosing the product category you want to include in your happy hour and the discount. .. image:: pricelists/pricelists_02.png diff --git a/content/applications/sales/point_of_sale/overview/getting_started.rst b/content/applications/sales/point_of_sale/overview/getting_started.rst index a46b07674a..32505898e5 100644 --- a/content/applications/sales/point_of_sale/overview/getting_started.rst +++ b/content/applications/sales/point_of_sale/overview/getting_started.rst @@ -6,7 +6,7 @@ When working with a Point of Sale application, employees want a simple, and user-friendly solution. A solution that works online or offline and with any device. -A Point of Sale system is a fully integrated application that allows any transaction, +A Point of Sale system is a fully integrated application that allows any transaction, automatically registers product moves in your stock, and gives you real-time statistics and consolidations across all shops. @@ -84,10 +84,10 @@ payment. Return and refund products -------------------------- -Having a well-thought-out return policy is key to keep customers satisfied and make the process +Having a well-thought-out return policy is key to keep customers satisfied and make the process of accepting returns and refunds easy for you. -To do that, from the PoS interface, select the product and quantity (with the +/- button) that the +To do that, from the PoS interface, select the product and quantity (with the +/- button) that the customer wants to return. For multiple products, repeat the process individually. .. image:: getting_started/getting_started_06.png @@ -104,7 +104,7 @@ process the payment and validate it. Close the PoS session --------------------- -To close your session at the end of the day, click on the close button on the upper right corner +To close your session at the end of the day, click on the close button on the upper right corner of your screen and confirm. Now, close the session on the dashboard view. .. image:: getting_started/getting_started_08.png @@ -114,8 +114,8 @@ of your screen and confirm. Now, close the session on the dashboard view. .. tip:: It’s strongly advised to close your PoS session at the end of each day. -Once a session is closed, you can see a summary of all transactions per payment method. -Then, click on a line to see all orders that were paid during your PoS session. +Once a session is closed, you can see a summary of all transactions per payment method. +Then, click on a line to see all orders that were paid during your PoS session. If everything is correct, validate the session and post the closing entries. .. image:: getting_started/getting_started_09.png diff --git a/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst b/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst index f6339ff471..0aa009376c 100644 --- a/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst +++ b/content/applications/sales/point_of_sale/restaurant/fiscal_position.rst @@ -10,7 +10,7 @@ takes away. Set up fiscal positions for PoS =============================== -To enable this feature, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale` +To enable this feature, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale` and check *Fiscal Position per Order*. Now, you can choose the fiscal positions you want for your *PoS*. @@ -32,8 +32,8 @@ Now, choose the fiscal position you need for the current order. Set up a default fiscal position ================================ -If you want to use a default fiscal position, meaning that a preexisting value is always -automatically assigned, go to :menuselection:`Point of Sale --> Configuration +If you want to use a default fiscal position, meaning that a preexisting value is always +automatically assigned, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale` and enable *Fiscal Position*. Now, choose one to set as the default one. .. image:: fiscal_position/fiscal_position_03.png diff --git a/content/applications/sales/point_of_sale/restaurant/restaurant.rst b/content/applications/sales/point_of_sale/restaurant/restaurant.rst index 6a20254d52..b955ab048b 100644 --- a/content/applications/sales/point_of_sale/restaurant/restaurant.rst +++ b/content/applications/sales/point_of_sale/restaurant/restaurant.rst @@ -96,7 +96,7 @@ customer. .. image:: restaurant/restaurant_09.png :align: center - :alt: View of the pos interface and transfer button. How to transfer customers from one table + :alt: View of the pos interface and transfer button. How to transfer customers from one table to another Register an additional order diff --git a/content/applications/sales/point_of_sale/shop/cash_rounding.rst b/content/applications/sales/point_of_sale/shop/cash_rounding.rst index fa59062e1a..ecf8c1e0ee 100644 --- a/content/applications/sales/point_of_sale/shop/cash_rounding.rst +++ b/content/applications/sales/point_of_sale/shop/cash_rounding.rst @@ -2,12 +2,12 @@ Cash Rounding ============= -**Cash rounding** is required when the lowest physical denomination -of currency, or the smallest coin, is higher than the minimum unit +**Cash rounding** is required when the lowest physical denomination +of currency, or the smallest coin, is higher than the minimum unit of account. -For example, some countries require their companies to round up or -down the total amount of an invoice to the nearest five cents, when +For example, some countries require their companies to round up or +down the total amount of an invoice to the nearest five cents, when the payment is made in cash. Each point of sale in Odoo can be configured to apply cash rounding @@ -16,20 +16,20 @@ to the totals of its bills or receipts. Configuration ============= -Go to :menuselection:`Point of Sale --> Configuration --> Settings` +Go to :menuselection:`Point of Sale --> Configuration --> Settings` and enable *Cash Rounding*, then click on *Save*. .. image:: cash_rounding/cash_rounding01.png :align: center -Go to :menuselection:`Point of Sale --> Configuration --> Point of +Go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`, open the point of sale you want to configure, and enable the *Cash Rounding* option. To define the **Rounding Method**, open the drop-down list and click on *Create and Edit...*. -Define here your *Rounding Precision*, *Profit Account*, and +Define here your *Rounding Precision*, *Profit Account*, and *Loss Account*, then save both the Rounding Method and your Point of Sale settings. @@ -43,5 +43,5 @@ rounding according to your settings. :align: center .. note:: - Odoo Point of Sale only support the *Add a rounding line* + Odoo Point of Sale only support the *Add a rounding line* rounding strategies and *Half-up* rounding methods. diff --git a/content/applications/sales/sales/products_prices/prices/pricing.rst b/content/applications/sales/sales/products_prices/prices/pricing.rst index 9ed0dbe800..b9424b5d94 100644 --- a/content/applications/sales/sales/products_prices/prices/pricing.rst +++ b/content/applications/sales/sales/products_prices/prices/pricing.rst @@ -19,14 +19,14 @@ Choose your pricing strategy from :menuselection:`Sales --> Settings`. * *Different prices per customer segment :* you will set several prices per products ; * *Advanced pricing based on formula :* will let you apply discounts, margins and roundings. -Several prices per product +Several prices per product ========================== To apply several prices per product, select *Different prices per customer segment* in :menuselection:`Sales --> Settings`. Then open the *Sales* tab in the product detail form. You can settle following strategies. -Prices per customer segment +Prices per customer segment --------------------------- Create pricelists for your customer segments: e.g. registered, premium, etc. @@ -88,10 +88,10 @@ Each pricelist item can be associated to either all products, to a product inter .. note:: - * Once again the system is smart. If a rule is set for a particular item and another one for its category, Odoo will take the rule of the item. + * Once again the system is smart. If a rule is set for a particular item and another one for its category, Odoo will take the rule of the item. * Make sure at least one pricelist item covers all your products. - + There are 3 modes of computation: fix price, discount & formula. .. image:: pricing/price_computation.png @@ -122,7 +122,7 @@ Any new customer recorded in Odoo gets a default pricelist, i.e. the first one i The default pricelist can be replaced when creating a sales order. -.. tip:: You can change the pricelists sequence by drag & drop in list view. +.. tip:: You can change the pricelists sequence by drag & drop in list view. Compute and show discount % to customers ======================================== diff --git a/content/applications/sales/sales/products_prices/products/import.rst b/content/applications/sales/sales/products_prices/products/import.rst index 1682a7fdf9..ca9a44719d 100644 --- a/content/applications/sales/sales/products_prices/products/import.rst +++ b/content/applications/sales/sales/products_prices/products/import.rst @@ -4,7 +4,7 @@ How to import Products with Categories and Variants Import templates are provided in the **Import Tool** of the most common data to import (contacts, products, bank statements, etc.). -You can open them with any spreadsheet software (Microsoft Office, +You can open them with any spreadsheet software (Microsoft Office, OpenOffice, Google Drive, etc.). How to customize the file diff --git a/content/applications/sales/sales/products_prices/products/product_images.rst b/content/applications/sales/sales/products_prices/products/product_images.rst index df80f2b917..1d82ba213c 100644 --- a/content/applications/sales/sales/products_prices/products/product_images.rst +++ b/content/applications/sales/sales/products_prices/products/product_images.rst @@ -2,9 +2,9 @@ Automatically get product images with Google Images =================================================== -The product images are very useful in Odoo, for example, to quickly find a product or check if you -scanned the right one, but it can be a bit painful to set up especially if you have a lot of -products. **Google Custom Search** allows finding images automatically for your product, based on +The product images are very useful in Odoo, for example, to quickly find a product or check if you +scanned the right one, but it can be a bit painful to set up especially if you have a lot of +products. **Google Custom Search** allows finding images automatically for your product, based on their barcode, keeping your focus on what matters in your business. .. _product_images/configuration: @@ -14,7 +14,7 @@ Configuration This functionnality requires configuration both on Google and on Odoo. -With a free Google account, you can get up to 100 free images per day. If you need a higher rate, +With a free Google account, you can get up to 100 free images per day. If you need a higher rate, you'll have to upgrade to a billing account. .. _product_images/google-api-dashboard: @@ -25,7 +25,7 @@ Google API dashboard #. Go to the `Google Cloud Platform API & Services `_ page to generate Google Custom Search API credentials. Log in with your Google account. -#. Select or create an API project to store the credentials. Give it an explicit name +#. Select or create an API project to store the credentials. Give it an explicit name (e.g. Odoo Images). #. In the credentials section, click on **Create Credentials** and select **API Keys**. @@ -73,11 +73,11 @@ Google Programmable Search dashboard that you created (either by clicking on **Control Panel** on the confirmation page or by clicking on the name of your Search Engine on the Home page). -#. In the **basics** tab, make sure to enable **Image search**, **SafeSearch** and +#. In the **basics** tab, make sure to enable **Image search**, **SafeSearch** and **Search the entire web**. .. note:: - Once **Search the entire web** is enabled, you can safely delete the site that you put at the + Once **Search the entire web** is enabled, you can safely delete the site that you put at the previous step. #. Save your **Search Engine Id**. You’ll need it for the next step in Odoo! @@ -101,7 +101,7 @@ Automatically get your product images in Odoo The action to automatically get your product images in Odoo appears in any Products or Product Variants list view. Here is a step-by-step guide from the Inventory app. -#. Go to the Products menu (:menuselection:`Products --> Products` or :menuselection:`Products --> +#. Go to the Products menu (:menuselection:`Products --> Products` or :menuselection:`Products --> Product Variants`) from any application that uses products like Inventory or Sales. #. On the list view, select the products that needs an image. @@ -114,7 +114,7 @@ Variants list view. Here is a step-by-step guide from the Inventory app. - If you select a product that has one or more variants from the Products view, each variant matching the previous criteria will be processed. -#. In the action menu, select **Get Pictures from Google Images** and validate by clicking on +#. In the action menu, select **Get Pictures from Google Images** and validate by clicking on **Get picture**. #. You should see your images appearing incrementally. @@ -124,7 +124,7 @@ Variants list view. Here is a step-by-step guide from the Inventory app. be fetched as a background job. - The background job process about 100 images in a minute. If you reach the quota authorized by Google (either with a free or a paid plan), the background job will put itself on hold - for 24 hours and continue where it stopped the day before. + for 24 hours and continue where it stopped the day before. .. seealso:: - `Create, modify, or close your Google Cloud Billing account diff --git a/content/applications/sales/sales/send_quotations/terms_and_conditions.rst b/content/applications/sales/sales/send_quotations/terms_and_conditions.rst index 4ee7627e97..9cb44753f5 100644 --- a/content/applications/sales/sales/send_quotations/terms_and_conditions.rst +++ b/content/applications/sales/sales/send_quotations/terms_and_conditions.rst @@ -22,7 +22,7 @@ Go to :menuselection:`Accounting --> Configuration --> Settings` and activate :align: center :class: img-thumbnail :alt: How to enable Default Terms & Conditions on Odoo Sales? - + .. note:: Please note that this feature is activated via the settings of the **Invoicing App** and **not** via the settings of the **Sales App**. Moreover, you don't need to install the invoicing @@ -55,7 +55,7 @@ templates. This is interesting if you have different terms and conditions within .. important:: Be sure to check out our documentation about quotation templates: :doc:`quote_template`, to master each step of this amazing feature. - + General Terms & Conditions ========================== diff --git a/content/applications/websites/ecommerce.rst b/content/applications/websites/ecommerce.rst index 703accfec1..efafc8ab00 100644 --- a/content/applications/websites/ecommerce.rst +++ b/content/applications/websites/ecommerce.rst @@ -11,7 +11,7 @@ Run a modern open-source online store with Odoo eCommerce. Learn how to sell onl products and increase your average cart sizes. .. important:: - Odoo offers a :ref:`free custom domain name ` to all Odoo Online + Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as ``www.example.com`` rather than the default ``example.odoo.com``. diff --git a/content/applications/websites/ecommerce/getting_started/catalog.rst b/content/applications/websites/ecommerce/getting_started/catalog.rst index da5619e518..30da338b06 100644 --- a/content/applications/websites/ecommerce/getting_started/catalog.rst +++ b/content/applications/websites/ecommerce/getting_started/catalog.rst @@ -1,5 +1,5 @@ ================================== -How to customize my catalog page +How to customize my catalog page ================================== Product Catalog diff --git a/content/applications/websites/ecommerce/managing_products/multi_images.rst b/content/applications/websites/ecommerce/managing_products/multi_images.rst index 8a096947e3..10f36abf56 100644 --- a/content/applications/websites/ecommerce/managing_products/multi_images.rst +++ b/content/applications/websites/ecommerce/managing_products/multi_images.rst @@ -15,5 +15,5 @@ If you like to show your products under several angles, you can turn the image i .. image:: multi_images/multi_images02.png :align: center -.. note:: +.. note:: Such extra image are common to all the product variants (if any). diff --git a/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst b/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst index 729f6f1721..2f74c5c40a 100644 --- a/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst +++ b/content/applications/websites/ecommerce/maximizing_revenue/reviews.rst @@ -46,7 +46,7 @@ You can easily moderate by using the chatter, either in the product detail form or on the web page. To unpublish the post, open the product web page and click the *Published* button -to turn it red (*Unpublished*). +to turn it red (*Unpublished*). .. image:: reviews/comment_unpublish.png :align: center diff --git a/content/applications/websites/ecommerce/shopper_experience/portal.rst b/content/applications/websites/ecommerce/shopper_experience/portal.rst index 66e334d05e..00b7b15ce0 100644 --- a/content/applications/websites/ecommerce/shopper_experience/portal.rst +++ b/content/applications/websites/ecommerce/shopper_experience/portal.rst @@ -2,10 +2,10 @@ How customers can access their customer account ================================================= -It has never been so easy for your customers to access their -customer account. Forget endless signup forms, -Odoo makes it as easy as ABC. -They are suggested to sign up (name, email, password) when the order +It has never been so easy for your customers to access their +customer account. Forget endless signup forms, +Odoo makes it as easy as ABC. +They are suggested to sign up (name, email, password) when the order is placed, and not before. Indeed, nothing is more annoying than going through a signup process before buying something. diff --git a/content/applications/websites/website.rst b/content/applications/websites/website.rst index 8e0afd1aa2..aefeedecc6 100644 --- a/content/applications/websites/website.rst +++ b/content/applications/websites/website.rst @@ -11,7 +11,7 @@ Discover the best **Open-Source Website Builder** and learn how to build beautif convert visitors into leads or revenues. .. important:: - Odoo offers a :ref:`free custom domain name ` to all Odoo Online + Odoo offers a :ref:`free custom domain name ` to all Odoo Online databases for one year. Visitors can then access your website with an address such as ``www.example.com`` rather than the default ``example.odoo.com``. diff --git a/content/applications/websites/website/optimize/google_analytics.rst b/content/applications/websites/website/optimize/google_analytics.rst index a1383823f5..71943fe352 100644 --- a/content/applications/websites/website/optimize/google_analytics.rst +++ b/content/applications/websites/website/optimize/google_analytics.rst @@ -4,10 +4,10 @@ How to track your website's traffic in Google Analytics To follow your website's traffic with Google Analytics: -- `Create a Google Analytics account `__ if +- `Create a Google Analytics account `__ if you don't have any. -- Go through the creation form and accept the conditions to get the tracking ID. +- Go through the creation form and accept the conditions to get the tracking ID. .. image:: google_analytics/google_analytics_account.png :align: center diff --git a/content/applications/websites/website/optimize/seo.rst b/content/applications/websites/website/optimize/seo.rst index b7a9732fc5..2251c79895 100644 --- a/content/applications/websites/website/optimize/seo.rst +++ b/content/applications/websites/website/optimize/seo.rst @@ -29,7 +29,7 @@ Title, Description Every web page should define the ```` and ``<description>`` meta data. These information elements are used by search engines to promote your website. They are automatically generated based on page title & content, but you can -finetune them. Make sure they fit the content of the page, otherwise you will +finetune them. Make sure they fit the content of the page, otherwise you will be downgraded by search engines. .. image:: seo/seo01.png @@ -40,15 +40,15 @@ Keywords In order to write quality content and boost your traffic, Odoo provides a ``<keyword>`` finder. Those keywords are the searches you want to head towards your website. For each keyword, you see how it is used in the content -(H1, H2, page title, page description, page content) and what are the related +(H1, H2, page title, page description, page content) and what are the related searches in Google. The more keywords are used the better. .. image:: seo/seo02.png :align: center -.. note:: +.. note:: If your website is in multiple languages, you can use the Promote - tool for every language of a single page and set specific title, + tool for every language of a single page and set specific title, description and search tags. Content is King @@ -80,8 +80,8 @@ modules to help you build your website content: Use Social Networks =================== -Social media is built for mass sharing. If lots of people share your content -on social media, then it's likely more people will link to it, +Social media is built for mass sharing. If lots of people share your content +on social media, then it's likely more people will link to it, and links are a huge factor for SEO ranking. Odoo embeds several tools to share content through social media: @@ -94,7 +94,7 @@ All you have to do is to refer all your accounts in your company settings. .. image:: seo/seo03.png :align: center - + Social Share ------------ @@ -106,17 +106,17 @@ wall. :align: center Most social media use a picture of the picture to decorate the share post. -Odoo uses the website logo by default but you can choose any other image +Odoo uses the website logo by default but you can choose any other image of your page in the Promote tool. .. image:: seo/seo05.png :align: center - + Facebook Page ------------- -Drop the building block *Facebook Page* to display a widget of your Facebook -business page and encourage visitors to follow it. +Drop the building block *Facebook Page* to display a widget of your Facebook +business page and encourage visitors to follow it. You can display the timeline, the next events and the messages. Twitter Scroller @@ -179,7 +179,7 @@ an example, the following URLs all do a 301 redirect to the above URL: product name) Some URLs have several dynamic parts, like this one (a blog category and -a post): +a post): - https://www.odoo.com/blog/company-news-5/post/the-odoo-story-56 @@ -191,7 +191,7 @@ In the above example: When an Odoo page has a pager, the page number is set directly in the URL (does not have a GET argument). This allows every page to be indexed -by search engines. Example: +by search engines. Example: - https://www.odoo.com/blog/page/3 @@ -222,7 +222,7 @@ maintaining the SEO link juice. HTTPS ----- -Search engines boost ranking of secure HTTPS/SSL websites. +Search engines boost ranking of secure HTTPS/SSL websites. So, by default all Odoo Online instances are fully based on HTTPS. If the visitor accesses your website through a non HTTPS url, it gets a 301 redirect to its HTTPS equivalent. @@ -230,7 +230,7 @@ url, it gets a 301 redirect to its HTTPS equivalent. Links: Nofollow Strategy ------------------------ -The more a page is linked from external and quality websites, +The more a page is linked from external and quality websites, the better it is for your SEO. Here are Odoo strategies to manage links: @@ -296,7 +296,7 @@ yourwebsite.com/shop), they may automatically be redirected to a translated version according to their browser language preference (e.g. yourwebsite.com/fr\_FR/shop). -Next time, it keeps a cookie of the current language to +Next time, it keeps a cookie of the current language to avoid any redirection. To force a visitor to stick to the default language, you can use the @@ -409,18 +409,18 @@ CSS is shared amongst all pages, when the visitor clicks on another page, the browser does not even have to load a new CSS file! ================================= ============================================= - **Both files in the <head>** **What the visitor gets (only one file)** + **Both files in the <head>** **What the visitor gets (only one file)** ================================= ============================================= - /\* From bootstrap.css \*/ .text-muted { - .text-muted { color: #666; - color: #777; background: yellow - background: yellow; } + /\* From bootstrap.css \*/ .text-muted { + .text-muted { color: #666; + color: #777; background: yellow + background: yellow; } } - /\* From my-theme.css \*/ - .text-muted { - color: #666; - } + /\* From my-theme.css \*/ + .text-muted { + color: #666; + } ================================= ============================================= The CSS sent by Odoo includes all CSS / Less / Sass of all pages / @@ -432,28 +432,28 @@ into a second bundle that is loaded only when the page using it is requested. An example of this is the backend that is only loaded when the visitor logs in and accesses the backend (/web). -.. note:: +.. note:: If the CSS file is very big, Odoo will split it into two smaller - files to avoid the 4095 selectors limit per sheet of Internet Explorer. + files to avoid the 4095 selectors limit per sheet of Internet Explorer. But most themes fit below this limit. **Minified:** After being pre-processed and concatenated, the resulting CSS is minified to reduce its size. ============================ ============================== - **Before minification** **After minification** + **Before minification** **After minification** ============================ ============================== - /\* some comments \*/ .text-muted {color: #666} - .text-muted { - color: #666; - } + /\* some comments \*/ .text-muted {color: #666} + .text-muted { + color: #666; + } ============================ ============================== The final result is then compressed, before being delivered to the browser. Then, a cached version is stored server-side (so we do not have -to pre-process, concatenate, minify at every request) and browser-side +to pre-process, concatenate, minify at every request) and browser-side (so the same visitor will load the CSS only once for all pages they visit). diff --git a/content/applications/websites/website/publish/multi_website.rst b/content/applications/websites/website/publish/multi_website.rst index 43c8c0f2b1..b01c704c05 100644 --- a/content/applications/websites/website/publish/multi_website.rst +++ b/content/applications/websites/website/publish/multi_website.rst @@ -185,7 +185,7 @@ Publish a page in all websites ------------------------------ A new static page is created and only made available in the current -website. You can duplicate it to other websites from +website. You can duplicate it to other websites from :menuselection:`Website --> Configuration --> Pages`. To do so, leave the *Website* field empty. If you want to duplicate it in just one other website, duplicate the @@ -198,7 +198,7 @@ When you edit the page again, the change only affects the current website. A new page is duplicated and tied up to the website. The original page still being linked to all websites. -.. tip:: +.. tip:: By grouping pages by URL in the page manager, you quickly find the original page behind each edited page. diff --git a/content/contributing/development/coding_guidelines.rst b/content/contributing/development/coding_guidelines.rst index 509c3e54b2..f97e5b8186 100644 --- a/content/contributing/development/coding_guidelines.rst +++ b/content/contributing/development/coding_guidelines.rst @@ -950,7 +950,7 @@ The convention is to organize the code according to the following structure: - *static/src/js* - *static/src/js/tours*: end user tour files (tutorials, not tests) - + - *static/src/scss*: scss files - *static/src/xml*: all qweb templates that will be rendered in JS diff --git a/content/developer/howtos/accounting_localization.rst b/content/developer/howtos/accounting_localization.rst index 5764e96fef..fa37e83203 100644 --- a/content/developer/howtos/accounting_localization.rst +++ b/content/developer/howtos/accounting_localization.rst @@ -370,7 +370,7 @@ Some good examples: * `l10n_ch_reports/data/account_financial_html_report_data.xml <{GITHUB_ENT_PATH}/l10n_ch_reports/data/account_financial_html_report_data.xml>`_ * `l10n_be_reports/data/account_financial_html_report_data.xml <{GITHUB_ENT_PATH}/l10n_be_reports/data/account_financial_html_report_data.xml>`_ -You can check the meaning of the fields here: +You can check the meaning of the fields here: * :doc:`/developer/reference/standard_modules/account/account_report` * :doc:`/developer/reference/standard_modules/account/account_report_line` diff --git a/content/developer/howtos/rdtraining/13_inheritance.rst b/content/developer/howtos/rdtraining/13_inheritance.rst index 5d3e916cbe..472ec6ff67 100644 --- a/content/developer/howtos/rdtraining/13_inheritance.rst +++ b/content/developer/howtos/rdtraining/13_inheritance.rst @@ -239,7 +239,7 @@ An example of a view inheritance extension can be found Add the ``property_ids`` field to the ``base.view_users_form`` in a new notebook page. Tip: an example an inheritance of the users' view can be found - `here <https://github.com/odoo/odoo/blob/691d1f087040f1ec7066e485d19ce3662dfc6501/addons/gamification/views/res_users_views.xml#L5-L14>`__. + `here <https://github.com/odoo/odoo/blob/691d1f087040f1ec7066e485d19ce3662dfc6501/addons/gamification/views/res_users_views.xml#L5-L14>`__. Inheritance is extensively used in Odoo due to its modular concept. Do not hesitate to read the corresponding documentation for more info! diff --git a/content/developer/howtos/rdtraining/N_security.rst b/content/developer/howtos/rdtraining/N_security.rst index 88e78b06f3..95ede41da0 100644 --- a/content/developer/howtos/rdtraining/N_security.rst +++ b/content/developer/howtos/rdtraining/N_security.rst @@ -8,8 +8,8 @@ Every day we hear about data leaks and attacks in the newspapers. We expect you to be aware and careful about how to avoid security breaches in your future developments. -You already defined new models in your training. Did you check the access rights and define record -rules on it ? Are you sure your module is not an open door to SQL injections ? Did you use getattr +You already defined new models in your training. Did you check the access rights and define record +rules on it ? Are you sure your module is not an open door to SQL injections ? Did you use getattr or t-raw in your code? - No or wrong access rules on models. diff --git a/content/developer/reference/backend/reports.rst b/content/developer/reference/backend/reports.rst index 361fb4ed51..92cb3bae96 100644 --- a/content/developer/reference/backend/reports.rst +++ b/content/developer/reference/backend/reports.rst @@ -277,7 +277,7 @@ the template, such as data from additional models: Custom fonts ============ -If you want to use custom fonts you will need to add your custom font and the related less/CSS to the ``web.reports_assets_common`` assets bundle. +If you want to use custom fonts you will need to add your custom font and the related less/CSS to the ``web.reports_assets_common`` assets bundle. Adding your custom font(s) to ``web.assets_common`` or ``web.assets_backend`` will not make your font available in QWeb reports. Example:: diff --git a/content/developer/reference/backend/views.rst b/content/developer/reference/backend/views.rst index 1ff6df480f..56b9707fd8 100644 --- a/content/developer/reference/backend/views.rst +++ b/content/developer/reference/backend/views.rst @@ -422,7 +422,7 @@ Calendar -------- Calendar views display records as events in a daily, weekly, monthly or yearly -calendar. +calendar. .. note:: By default the calendar view will be centered around the current date (today). You can pass a specific initial date to the context of the action in diff --git a/content/developer/reference/frontend/assets.rst b/content/developer/reference/frontend/assets.rst index 069a66dd48..cedce9ed96 100644 --- a/content/developer/reference/frontend/assets.rst +++ b/content/developer/reference/frontend/assets.rst @@ -53,10 +53,10 @@ Bundles ======= Odoo assets are grouped by *bundles*. Each bundle (a *list of file paths* -of specific types: `xml`, `js`, `css` or `scss`) is listed in the +of specific types: `xml`, `js`, `css` or `scss`) is listed in the :ref:`module manifest <reference/module/manifest>`. Files can be declared using `glob <https://en.wikipedia.org/wiki/Glob_(programming)>`_ syntax, meaning that -you can declare several asset files using a single line. +you can declare several asset files using a single line. The bundles are defined in each module's :file:`__manifest__.py`, with a dedicated `assets` key which contains a dictionary. The dictionary maps diff --git a/content/developer/reference/frontend/framework_overview.rst b/content/developer/reference/frontend/framework_overview.rst index 65f40df957..8395d52ce0 100644 --- a/content/developer/reference/frontend/framework_overview.rst +++ b/content/developer/reference/frontend/framework_overview.rst @@ -44,11 +44,11 @@ on the web client. Code structure ============== -The ``web/static/src`` folder contains all the ``web/`` javascript (and css and +The ``web/static/src`` folder contains all the ``web/`` javascript (and css and templates) codebase. Here is a list of the most important folders: - ``core/`` most of the low level features -- ``fields/`` all field components +- ``fields/`` all field components - ``views/`` all javascript views components (``form``, ``list``, ...) - ``search/`` control panel, search bar, search panel, ... - ``webclient/`` the web client specific code: navbar, user menu, action service, ... @@ -57,7 +57,7 @@ The ``web/static/src`` is the root folder. Everything inside can simply be imported by using the ``@web`` prefix. For example, here is how one can import the ``memoize`` function located in ``web/static/src/core/utils/functions``: -.. code-block:: javascript +.. code-block:: javascript import { memoize } from "@web/core/utils/functions"; @@ -86,7 +86,7 @@ all active actions (represented in the breadcrumbs), and coordinates each change. Another interesting thing to note is the ``MainComponentsContainer``: it is -simply a component that displays all components registered in the +simply a component that displays all components registered in the ``main_components`` registry. This is how other parts of the system can extend the web client. @@ -197,14 +197,14 @@ Components and Hooks :ref:`Components <frontend/components>` and :ref:`hooks <frontend/hooks>` are ideas coming from the `Owl component system <https://github.com/odoo/owl/blob/master/doc/readme.md>`_. -Odoo components are simply owl components that are part of the web client. +Odoo components are simply owl components that are part of the web client. `Hooks <https://github.com/odoo/owl/blob/master/doc/reference/hooks.md>`_ are a way to factorize code, even if it depends on lifecycle. This is a composable/functional way to inject a feature in a component. They can be seen -as a kind of mixin. +as a kind of mixin. -.. code-block:: javascript +.. code-block:: javascript function useCurrentTime() { const state = useState({ now: new Date() }); @@ -222,7 +222,7 @@ An important concept in the Odoo javascript is the *context*: it provides a way for code to give more context to a function call or a rpc, so other parts of the system can properly react to that information. In some way, it is like a bag of information that is propagated everywhere. It is useful in some situations, such -as letting the Odoo server know that a model rpc comes from a specific form view, +as letting the Odoo server know that a model rpc comes from a specific form view, or activating/disabling some features in a component. There are two different contexts in the Odoo web client: the *user context* and @@ -258,7 +258,7 @@ It contains the following information: :widths: 20 20 60 :header-rows: 1 - * - Name + * - Name - Type - Description * - `allowed_company_ids` @@ -269,7 +269,7 @@ It contains the following information: - the user language code (such as "en_us") * - `tz` - `string` - - the user current timezone (for example "Europe/Brussels") + - the user current timezone (for example "Europe/Brussels") In practice, the `orm` service automatically adds the user context to each of its requests. This is why it is usually not necessary to import it directly in @@ -405,11 +405,11 @@ class: domain.contains({ a: -1, b: 2, c: 3 }); // false // next expression returns ["|", ("a", "=", 1), ("b", "<=", 3)] - Domain.or([[["a", "=", 1]], "[('b', '<=', 3)]"]).toString(); + Domain.or([[["a", "=", 1]], "[('b', '<=', 3)]"]).toString(); Here is the `Domain` class description: -.. js:class:: Domain([descr]) +.. js:class:: Domain([descr]) :param descr: a domain description :type descr: string | any[] | Domain @@ -568,7 +568,7 @@ It is mostly interesting for testing purposes: all code using the browser object can be tested easily by mocking the relevant functions for the duration of the test. -It contains the following content: +It contains the following content: .. list-table:: @@ -617,7 +617,7 @@ The `debug` mode current value can be read in the :ref:`environment<frontend/fra To show menus, fields or view elements only in debug mode, you should target the group `base.group_no_one`: - + .. code-block:: xml <field name="fname" groups="base.group_no_one"/> diff --git a/content/developer/reference/frontend/hooks.rst b/content/developer/reference/frontend/hooks.rst index 50ebbab894..e3f70bc2d7 100644 --- a/content/developer/reference/frontend/hooks.rst +++ b/content/developer/reference/frontend/hooks.rst @@ -6,7 +6,7 @@ Hooks `Owl hooks <https://github.com/odoo/owl/blob/master/doc/reference/hooks.md>`_ are a way to factorize code, even if it depends on some component lifecycle. Most hooks -provided by Owl are related to the lifecycle of a component, but some of them (such as +provided by Owl are related to the lifecycle of a component, but some of them (such as `useComponent <https://github.com/odoo/owl/blob/master/doc/reference/hooks.md#usecomponent>`_) provide a way to build specific hooks. diff --git a/content/developer/reference/frontend/javascript_modules.rst b/content/developer/reference/frontend/javascript_modules.rst index 96dc72ca7a..316acf4f5d 100644 --- a/content/developer/reference/frontend/javascript_modules.rst +++ b/content/developer/reference/frontend/javascript_modules.rst @@ -37,11 +37,11 @@ Plain javascript files can contain arbitrary content. It is advised to use the })(); The advantages of such files is that we avoid leaking local variables to the -global scope. +global scope. Clearly, plain javascript files do not offer the benefits of a module system, so one needs to be careful about the order in the bundle (since the browser will -execute them precisely in that order). +execute them precisely in that order). .. note:: In Odoo, all external libraries are loaded as plain javascript files. diff --git a/content/developer/reference/frontend/mobile.rst b/content/developer/reference/frontend/mobile.rst index 54217e3096..ab14ff432d 100644 --- a/content/developer/reference/frontend/mobile.rst +++ b/content/developer/reference/frontend/mobile.rst @@ -9,7 +9,7 @@ Introduction ============ In Odoo 10.0 we released a mobile app which allows you to access all **Odoo apps** -(even your customized modules). +(even your customized modules). The application is a combination of **Odoo Web** and **Native Mobile components**. In other words it is a Odoo Web instance loaded inside a native, mobile, WebView container. @@ -21,7 +21,7 @@ access all available mobile features. .. warning:: These features work with **Odoo Enterprise 10.0+** only -How does it work? +How does it work? ================= Internal workings of the mobile application: @@ -53,7 +53,7 @@ Just like the Odoo Web Framework, the Mobile API can be used anywhere by getting .. image:: mobile/odoo_mobile_api.png The mobile RPC object provides a list of methods that are available (this only works with the mobile -app). +app). Check if the method is available and then execute it. @@ -136,7 +136,7 @@ area and the notification drawer are system-controlled areas that the user can view at any time. .. code-block:: javascript - + mobile.showNotification({'title': 'Simple Notification', 'message': 'This is a test for a simple notification'}) .. image:: mobile/mobile_notification.png @@ -152,7 +152,7 @@ Create contact in device Create a new device contact with the given contact details. .. code-block:: javascript - + var contact = { 'name': 'Michel Fletcher', 'mobile': '9999999999', @@ -205,7 +205,7 @@ Switching account in device Use switchAccount to switch from one account to another on the device. .. code-block:: javascript - + mobile.methods.switchAccount(); .. image:: mobile/mobile_switch_account.png diff --git a/content/developer/reference/frontend/owl_components.rst b/content/developer/reference/frontend/owl_components.rst index 9046222f8a..b3c2e5c1fe 100644 --- a/content/developer/reference/frontend/owl_components.rst +++ b/content/developer/reference/frontend/owl_components.rst @@ -7,7 +7,7 @@ Owl Components The Odoo Javascript framework uses a custom component framework called Owl. It is a declarative component system, loosely inspired by Vue and React. Components are defined using :doc:`QWeb templates <qweb>`, enriched with some Owl -specific directives. The official +specific directives. The official `Owl documentation <https://github.com/odoo/owl/blob/master/doc/readme.md>`_ contains a complete reference and a tutorial. @@ -28,7 +28,7 @@ page will only provide Odoo specific information. But first, let us see how we can make a simple component in Odoo. .. code-block:: javascript - + const { useState } = owl.hooks; const { xml } = owl.tags; @@ -66,7 +66,7 @@ loading the javascript/css files, and loading the templates into Owl. Here is how the component above should be defined: .. code-block:: javascript - + const { useState } = owl.hooks; class MyComponent extends Component { @@ -133,7 +133,7 @@ in Odoo directly uses the constructor method. Instead, components should use the } } -Another good practice is to use a consistent convention for template names: +Another good practice is to use a consistent convention for template names: `addon_name.ComponentName`. This prevents name collision between odoo addons. Reference List @@ -175,7 +175,7 @@ Description ~~~~~~~~~~~ This is a component that can perform actions when an element is swiped -horizontally. The swiper is wrapping a target element to add actions to it. +horizontally. The swiper is wrapping a target element to add actions to it. The action is executed once the user has released the swiper passed half of its width. @@ -191,7 +191,7 @@ and would not want to duplicate the template. It is possible to do just that. If you want to extend the behavior of an existing element, you must place the element inside, by wrapping it directly. Also, you can conditionnally add props to manage when the -element might be swipable or not. +element might be swipable or not. You can use the component to interact easily with records, messages, items in lists and much more. @@ -200,18 +200,18 @@ You can use the component to interact easily with records, messages, items in li :alt: Example of ActionSwiper usage :align: center -The following example creates a basic ActionSwiper component. +The following example creates a basic ActionSwiper component. Here, the swipe is enabled in both directions. .. code-block:: xml - - <ActionSwiper + + <ActionSwiper onRightSwipe=" { action: '() => Delete item', icon: 'fa-delete', bgColor: 'bg-danger', - }" + }" onLeftSwipe=" { action: '() => Star item', @@ -233,7 +233,7 @@ Props :widths: 20 20 60 :header-rows: 1 - * - Name + * - Name - Type - Description * - `onLeftSwipe` @@ -246,7 +246,7 @@ Props You can use both `onLeftSwipe` and `onRightSwipe` props at the same time. Those `Object`'s must contain: - + - `action`, which is the callable `Function` serving as a callback. Once the swipe has been completed in the given direction, that action is performed. @@ -258,7 +258,7 @@ Those `Object`'s must contain: `info`, `secondary`, `success` or `warning`). Those values must be given to define the behavior and the visual aspect - of the swiper. + of the swiper. Example: Extending existing components ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -268,7 +268,7 @@ in the ActionSwiper component. Here, a swiper has been added to mark a message as read in mail. .. code-block:: xml - + <xpath expr="//*[hasclass('o_Message')]" position="after"> <ActionSwiper onRightSwipe="messaging.device.isMobile and messageView.message.isNeedaction ? @@ -312,7 +312,7 @@ Props :widths: 20 20 60 :header-rows: 1 - * - Name + * - Name - Type - Description * - `value` @@ -330,7 +330,7 @@ Dropdown Location ~~~~~~~~ -`@web/core/dropdown/dropdown` and `@web/core/dropdown/dropdown_item` +`@web/core/dropdown/dropdown` and `@web/core/dropdown/dropdown_item` Description ~~~~~~~~~~~ diff --git a/content/developer/reference/frontend/patching_code.rst b/content/developer/reference/frontend/patching_code.rst index cd9b5def9f..e74fb4d7fe 100644 --- a/content/developer/reference/frontend/patching_code.rst +++ b/content/developer/reference/frontend/patching_code.rst @@ -33,7 +33,7 @@ The patch function is located in `@web/core/utils/patch`: Most patch operations provide access to the parent value by using the `_super` property (see below in the examples). To do that, the `patch` method wraps each pair key/value in a getter that dynamically binds `_super`. - + The only option is `pure (boolean)`. If set to `true`, the patch operation does not bind the `_super` property. diff --git a/content/developer/reference/frontend/qweb.rst b/content/developer/reference/frontend/qweb.rst index a6496021ef..2177749e05 100644 --- a/content/developer/reference/frontend/qweb.rst +++ b/content/developer/reference/frontend/qweb.rst @@ -231,7 +231,7 @@ exists in 3 different forms: .. tip:: There are two equivalent syntaxes for format strings: ``"plain_text {{code}}"`` (aka jinja-style) and ``"plain_text #{code}"`` (aka ruby-style). - + :samp:`t-att=mapping` if the parameter is a mapping, each (key, value) pair generates a new attribute and its value:: diff --git a/content/developer/reference/frontend/registries.rst b/content/developer/reference/frontend/registries.rst index 8fdca60d3e..4a3e3a1c79 100644 --- a/content/developer/reference/frontend/registries.rst +++ b/content/developer/reference/frontend/registries.rst @@ -10,7 +10,7 @@ into a registry whenever it needs a definition for some object (such as fields, views, client actions or services). Customizing the web client is then simply done by adding specific values in the correct registry. -.. code-block:: javascript +.. code-block:: javascript import { Registry } from "@web/core/registry"; @@ -25,7 +25,7 @@ obtained by the `category` method. If the sub registry does not exist yet, it is created on the fly. All registries used by the web client are obtained in such a way from one root registry, exported in `@web/core/registry`. -.. code-block:: javascript +.. code-block:: javascript import { registry } from "@web/core/registry"; @@ -58,7 +58,7 @@ Registry API also triggers an `UPDATE` event. Returns the same registry, so `add` method calls can be chained. - + .. js:method:: get(key[, defaultValue]) :param string key: key for the entry @@ -67,7 +67,7 @@ Registry API Returns the value corresponding to the `key` argument. If the registry does not contain that key, this method returns `defaultValue` if given, or throws an error otherwise. - + .. js:method:: contains(key) :param string key: key for the entry @@ -78,21 +78,21 @@ Registry API .. js:method:: getAll() :returns: any[] - + Returns the list of all elements in the registry. It is ordered according to the sequence numbers. .. js:method:: remove(key) :param string key: the key for the entry that should be removed - + Removes a key/value pair from the registry. This operation triggers an `UPDATE` event. .. js:method:: category(subcategory) :param string subcategory: the name for the sub category - :returns: Registry + :returns: Registry Returns the sub registry associated with the `subcategory`. If it does not exist yet, the sub registry is created on the fly. @@ -135,7 +135,7 @@ for more details. Formatter registry ------------------ -The `formatters` registry contains functions to format values. Each formatter +The `formatters` registry contains functions to format values. Each formatter has the following API: .. js:function:: format(value[, options]) @@ -166,7 +166,7 @@ API interface { Component: Owl Component class props?: any - } + } For example, the `LoadingIndicator` component can be added in the registry like @@ -183,7 +183,7 @@ this: Parser registry --------------- -The `parsers` registry contains functions to parse values. Each parser +The `parsers` registry contains functions to parse values. Each parser has the following API: .. js:function:: parse(value[, options]) @@ -192,7 +192,7 @@ has the following API: :param value: a string representing a value :type value: string :param Object options: various options (parser specific) - :returns: T a valid value + :returns: T a valid value Parses a string and returns a value. If the string does not represent a valid value, parsers can fail and throw errors. diff --git a/content/developer/reference/frontend/services.rst b/content/developer/reference/frontend/services.rst index d9615f7462..86ba638c06 100644 --- a/content/developer/reference/frontend/services.rst +++ b/content/developer/reference/frontend/services.rst @@ -47,7 +47,7 @@ Defining a service A service needs to implement the following interface: .. js:data:: dependencies - + Optional list of strings. It is the list of all dependencies (other services) that this service needs @@ -56,7 +56,7 @@ A service needs to implement the following interface: :param Environment env: the application environment :param Object deps: all requested dependencies :returns: value of service or Promise<value of service> - + This is the main definition for the service. It can return either a value or a promise. In that case, the service loader simply waits for the promise to resolve to a value, which is then the value of the service. @@ -66,7 +66,7 @@ A service needs to implement the following interface: set to ``null`` in ``env.services``. .. js:data:: async - + Optional value. If given, it should be `true` or a list of strings. Some services need to provide an asynchronous API. For example, the `rpc` @@ -166,7 +166,7 @@ API :param number ttl: optional. the time in seconds before the cookie will be deleted (default=1 year) Sets the cookie `name` to the value `value` with a max age of `ttl` - + .. js:function:: deleteCookie(name) :param string name: name of the cookie @@ -204,7 +204,7 @@ Here's how this can be displayed: message: "Boom! Team record for the past 30 days.", }); -.. warning :: +.. warning :: The hook `useEffect` is not related to the effect service. API @@ -242,7 +242,7 @@ RainbowMan :widths: 20 40 40 :header-rows: 1 - * - Name + * - Name - Type - Description * - `params.Component` @@ -274,7 +274,7 @@ RainbowMan `"fast"` will make rainbowman dissapear quickly. - `"medium"` and `"slow"` will wait little longer before disappearing (can be used when `params.message` is longer). + `"medium"` and `"slow"` will wait little longer before disappearing (can be used when `params.message` is longer). `"no"` will keep rainbowman on screen until user clicks anywhere outside rainbowman. @@ -302,13 +302,13 @@ The function must follow this API: :returns: `({Component, props} | void)` A component and its props or nothing. -This function must create a component and return it. This component is mounted inside the +This function must create a component and return it. This component is mounted inside the effect component container. Example ~~~~~~~ -Let's say we want to add an effect that add a sepia look at the page. +Let's say we want to add an effect that add a sepia look at the page. .. code-block:: javascript @@ -340,7 +340,7 @@ Let's say we want to add an effect that add a sepia look at the page. effectRegistry.add("sepia", sepiaEffectProvider); -And then, call it somewhere you want and you will see the result. +And then, call it somewhere you want and you will see the result. Here, it is called in webclient.js to make it visible everywhere for the example. .. code-block:: javascript @@ -396,7 +396,7 @@ Example const httpService = useService("http"); const data = await httpService.get("https://something.com/posts/1"); - // ... + // ... await httpService.post("https://something.com/posts/1", { title: "new title", content: "new content" }); .. _frontend/services/notification: @@ -411,17 +411,17 @@ Overview * Dependencies: None The `notification` service allows to display notifications on the screen. - + .. code-block:: javascript const notificationService = useService("notification"); - notificationService.add("I'm a very simple notification"); - + notificationService.add("I'm a very simple notification"); + API ~~~ .. js:function:: add(message[, options]) - + :param string message: the notification message to display :param object options: the options of the notification :returns: a function to close the notification @@ -481,7 +481,7 @@ Examples A notification for when a sale deal is made with a button to go some kind of commission page. .. code-block:: javascript - + // in setup this.notificationService = useService("notification"); this.actionService = useService("actionService"); @@ -538,16 +538,16 @@ API The current route can be accessed with the ``current`` key. It is an object with the following information: - + * `pathname (string)`: the path for the current location (most likely `/web` ) * `search (object)`: a dictionary mapping each search keyword (the querystring) from the url to its value. An empty string is the value if no value was explicitely given - * `hash (object)`: same as above, but for values described in the hash. + * `hash (object)`: same as above, but for values described in the hash. For example: -.. code-block:: javascript +.. code-block:: javascript // url = /web?debug=assets#action=123&owl&menu_id=174 const { pathname, search, hash } = env.services.router.current; @@ -590,10 +590,10 @@ For example: Finally, the `redirect` method will redirect the browser to a specified url: .. js:function:: redirect(url[, wait]) - + :param string url: a valid url :param boolean wait: if true, wait for the server to be ready, and redirect after - + Redirect the browser to `url`. This method reloads the page. The `wait` argument is rarely used: it is useful in some cases where we know that the server will be unavailable for a short duration, typically just after an addon @@ -620,14 +620,14 @@ argument and optionally, a ``params`` object can be given as a second argument. .. code-block:: javascript - // in setup + // in setup this.rpc = useService("rpc"); // somewhere else, in an async function: const result = await this.rpc("/my/route", { some: "value" }); .. note:: - + Note that the ``rpc`` service is considered a low-level service. It should only be used to interact with Odoo controllers. To work with models (which is by far the most important usecase), one should use the ``orm`` service @@ -641,9 +641,9 @@ API :param string route: route targeted by the request :param Object params: parameters sent to the server :param Object settings (optional): request settings (see below) - + The ``settings`` object can contain: - + - ``xhr``, which should be a ``XMLHTTPRequest`` object. In that case, the ``rpc`` method will simply use it instead of creating a new one. This is useful when one accesses advanced features of the `XMLHTTPRequest` API. @@ -673,7 +673,7 @@ When a rpc fails, then: * the promise representing the rpc is rejected, so the calling code will crash, unless it handles the situation -* +* an event ``RPC_ERROR`` is triggered on the main application bus. The event payload contains a description of the cause of the error: @@ -683,10 +683,10 @@ When a rpc fails, then: * ``type = 'server'`` * ``message(string)`` - * + * ``code(number)`` - * + * ``name(string)`` (optional, used by the error service to look for an appropriate dialog to use when handling the error) @@ -715,13 +715,13 @@ Whenever the user clicks on an anchor in the web client, this service automatica to the target (if appropriate). The service adds an event listener to get `click`'s on the document. The service checks -if the selector contained in its href attribute is valid to distinguish anchors and Odoo +if the selector contained in its href attribute is valid to distinguish anchors and Odoo actions (e.g. `<a href="#target_element"></a>`). It does nothing if it is not the case. -An event `SCROLLER:ANCHOR_LINK_CLICKED` is triggered on the main application bus if the click seems to be +An event `SCROLLER:ANCHOR_LINK_CLICKED` is triggered on the main application bus if the click seems to be targeted at an element. The event contains a custom event containing the `element` matching and its `id` as a reference. -It may allow other parts to handle a behavior relative to anchors themselves. The original event is also -given as it might need to be prevented. If the event is not prevented, then the user interface will +It may allow other parts to handle a behavior relative to anchors themselves. The original event is also +given as it might need to be prevented. If the event is not prevented, then the user interface will scroll to the target element. API @@ -733,7 +733,7 @@ The following values are contained in the `anchor-link-clicked` custom event exp :widths: 25 25 50 :header-rows: 1 - * - Name + * - Name - Type - Description * - `element` @@ -796,7 +796,7 @@ Its API is: This is a string representing the current title. It is structured in the following way: ``value_1 - ... - value_n`` where each `value_i` is a (non null) value found in the `Parts` object (returned by the `getParts` function) - + .. js:function:: getParts :returns: Parts the current `Parts` object maintained by the title service @@ -835,9 +835,9 @@ Overview ~~~~~~~~ * Technical name: `user` -* Dependencies: `rpc` +* Dependencies: `rpc` -The `user` service provides a bunch of data and a few helper functions concerning +The `user` service provides a bunch of data and a few helper functions concerning the connected user. @@ -848,7 +848,7 @@ API :widths: 25 25 50 :header-rows: 1 - * - Name + * - Name - Type - Description * - ``context`` @@ -868,7 +868,7 @@ API - Whether the user is part of the system group (`base.group_system`) * - ``lang`` - ``string`` - - language used + - language used * - ``name`` - ``string`` - Name of the user diff --git a/content/developer/reference/standard_modules/account/account_chart_template.rst b/content/developer/reference/standard_modules/account/account_chart_template.rst index 70d3bfe83f..548fc517ae 100644 --- a/content/developer/reference/standard_modules/account/account_chart_template.rst +++ b/content/developer/reference/standard_modules/account/account_chart_template.rst @@ -43,7 +43,7 @@ Chart Template .. automodel:: odoo.addons.l10n_multilang.models.account.AccountChartTemplate - + Multi language support for Chart of Accounts, Taxes, Tax Codes, Journals, Accounting Templates, Analytic Chart of Accounts and Analytic Journals. diff --git a/content/legal/terms/i18n/enterprise_fr.rst b/content/legal/terms/i18n/enterprise_fr.rst index 44d4e552ca..dc5bca3731 100644 --- a/content/legal/terms/i18n/enterprise_fr.rst +++ b/content/legal/terms/i18n/enterprise_fr.rst @@ -265,7 +265,7 @@ Disponibilité +++++++++++++ Les demandes d'assistances peuvent être soumises à tout moment en ligne via https://www.odoo.com/help, -ou par téléphone directement aux différents bureaux d'Odoo SA, ou en cas de travail avec un +ou par téléphone directement aux différents bureaux d'Odoo SA, ou en cas de travail avec un Partenaire Odoo, le canal préconisé par ce partenaire, pendant les heures de bureau correspondantes. diff --git a/extensions/autodoc_field/__init__.py b/extensions/autodoc_field/__init__.py index 50d6933a0e..4f14b56c21 100644 --- a/extensions/autodoc_field/__init__.py +++ b/extensions/autodoc_field/__init__.py @@ -43,7 +43,7 @@ def add_directive_header(self, sig: str) -> None: title = f"Original definition from `{module}`" else: title = f"Additional fields with `{module}`" - + self.add_line(title, sourcename) self.add_line('=' * len(title), sourcename) self.add_line('', sourcename) diff --git a/redirects/MANUAL.md b/redirects/MANUAL.md index ff46331a94..c8580bd7b8 100644 --- a/redirects/MANUAL.md +++ b/redirects/MANUAL.md @@ -27,7 +27,7 @@ information. a block of redirect rules that start with `applications/sales/sales` if you are adding a redirect rule for a page in the Sales app. If the block does not exist yet, create it. Ideally, there should be one block per app or scope and redirect rules should be sorted alphabetically. -3. Add a new line for your redirect rule at the end of the block. The line should follow this +3. Add a new line for your redirect rule at the end of the block. The line should follow this pattern: `path/to/old/file.rst path/to/new/file.rst # optional comment` From f727b151b1d16bf204a6bc3426bfba3b121270da Mon Sep 17 00:00:00 2001 From: Victor Feyens <vfe@odoo.com> Date: Thu, 17 Nov 2022 16:54:48 +0100 Subject: [PATCH 3/4] [FIX] *: unbalanced literal markups --- content/applications/websites/website/optimize/seo.rst | 2 +- content/developer/howtos/rdtraining/K_dashboard.rst | 2 +- content/developer/reference/frontend/qweb.rst | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/applications/websites/website/optimize/seo.rst b/content/applications/websites/website/optimize/seo.rst index 2251c79895..4151d7102e 100644 --- a/content/applications/websites/website/optimize/seo.rst +++ b/content/applications/websites/website/optimize/seo.rst @@ -621,7 +621,7 @@ robots.txt ---------- When indexing your website, search engines take a first look at the -general indexing rules of the a``/robots.txt`` file (allowed robots, +general indexing rules of the ``/robots.txt`` file (allowed robots, sitemap path, etc.). Odoo automatically creates it. Its content is: User-agent: \* diff --git a/content/developer/howtos/rdtraining/K_dashboard.rst b/content/developer/howtos/rdtraining/K_dashboard.rst index abb0b514af..ebdf87bc98 100644 --- a/content/developer/howtos/rdtraining/K_dashboard.rst +++ b/content/developer/howtos/rdtraining/K_dashboard.rst @@ -37,7 +37,7 @@ File Structure You probably have already guessed that since dashboard views are an Enterprise view, they must have a dependency on an Enterprise module. The Enterprise module is ``web_dashboard``. Don't forget to add it to your manifest file! It is standard to add dashboards intended to be used as a -``view_mode`` for one of your module's models (in the ``model`` folder``) to the views directory +``view_mode`` for one of your module's models (in the ``model`` folder) to the views directory (i.e. the same file that contains the other views for the same model). It is standard to create a separate Enterprise module to add extra Enterprise views and features to diff --git a/content/developer/reference/frontend/qweb.rst b/content/developer/reference/frontend/qweb.rst index 2177749e05..88d34f0639 100644 --- a/content/developer/reference/frontend/qweb.rst +++ b/content/developer/reference/frontend/qweb.rst @@ -173,7 +173,7 @@ variables for various data points: index These extra variables provided and all new variables created into the -``foreach`` are only available in the scope of the``foreach``. If the +``foreach`` are only available in the scope of the ``foreach``. If the variable exists outside the context of the ``foreach``, the value is copied at the end of the foreach into the global context. From adc7d4b52cb95d277790c4f6f98bedc4810ea993 Mon Sep 17 00:00:00 2001 From: Victor Feyens <vfe@odoo.com> Date: Thu, 17 Nov 2022 16:55:45 +0100 Subject: [PATCH 4/4] [FIX] developer/mobile: use spaces and not tabs for indentation --- .../developer/reference/frontend/mobile.rst | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/content/developer/reference/frontend/mobile.rst b/content/developer/reference/frontend/mobile.rst index ab14ff432d..8fed852971 100644 --- a/content/developer/reference/frontend/mobile.rst +++ b/content/developer/reference/frontend/mobile.rst @@ -68,7 +68,7 @@ Show Toast in device .. js:function:: showToast - :param object args: **message** text to display + :param object args: **message** text to display A toast provides simple feedback about an operation in a small popup. It only fills the amount of space required for the message and the current activity @@ -76,7 +76,7 @@ remains visible and interactive. .. code-block:: javascript - mobile.methods.showToast({'message': 'Message sent'}); + mobile.methods.showToast({'message': 'Message sent'}); .. image:: mobile/toast.png @@ -87,22 +87,22 @@ Vibrating device .. js:function:: vibrate - :param object args: Vibrates constantly for the specified period of time - (in milliseconds). + :param object args: Vibrates constantly for the specified period of time + (in milliseconds). Vibrate mobile device with given duration. .. code-block:: javascript - mobile.methods.vibrate({'duration': 100}); + mobile.methods.vibrate({'duration': 100}); Show snackbar with action ......................... .. js:function:: showSnackBar - :param object args: (*required*) **Message** to show in snackbar and action **button label** in Snackbar (optional) - :returns: ``True`` if the user clicks on the Action button, ``False`` if SnackBar auto dismissed after some time. + :param object args: (*required*) **Message** to show in snackbar and action **button label** in Snackbar (optional) + :returns: ``True`` if the user clicks on the Action button, ``False`` if SnackBar auto dismissed after some time. Snackbars provide lightweight feedback about an operation. They show a brief message at the bottom of the screen on mobile or in the lower left corner on larger devices. @@ -111,13 +111,13 @@ displayed at a time. .. code-block:: javascript - mobile.methods.showSnackBar({'message': 'Message is deleted', 'btn_text': 'Undo'}).then(function(result){ - if(result){ - // Do undo operation - }else{ - // Snack Bar dismissed - } - }); + mobile.methods.showSnackBar({'message': 'Message is deleted', 'btn_text': 'Undo'}).then(function(result){ + if(result){ + // Do undo operation + }else{ + // Snack Bar dismissed + } + }); .. image:: mobile/snackbar.png @@ -126,7 +126,7 @@ Showing notification .. js:function:: showNotification - :param object args: **title** (first row) of the notification, **message** (second row) of the notification, in a standard notification. + :param object args: **title** (first row) of the notification, **message** (second row) of the notification, in a standard notification. A notification is a message you can display to the user outside of your application's normal UI. When you tell the system to issue a notification, it @@ -137,7 +137,7 @@ view at any time. .. code-block:: javascript - mobile.showNotification({'title': 'Simple Notification', 'message': 'This is a test for a simple notification'}) + mobile.showNotification({'title': 'Simple Notification', 'message': 'This is a test for a simple notification'}) .. image:: mobile/mobile_notification.png @@ -147,31 +147,31 @@ Create contact in device .. js:function:: addContact - :param object args: Dictionary with contact details. Possible keys (name, mobile, phone, fax, email, website, street, street2, country_id, state_id, city, zip, parent_id, function and image) + :param object args: Dictionary with contact details. Possible keys (name, mobile, phone, fax, email, website, street, street2, country_id, state_id, city, zip, parent_id, function and image) Create a new device contact with the given contact details. .. code-block:: javascript - var contact = { - 'name': 'Michel Fletcher', - 'mobile': '9999999999', - 'phone': '7954856587', - 'fax': '765898745', - 'email': 'michel.fletcher@agrolait.example.com', - 'website': 'http://www.agrolait.com', - 'street': '69 rue de Namur', - 'street2': false, - 'country_id': [21, 'Belgium'], - 'state_id': false, - 'city': 'Wavre', - 'zip': '1300', - 'parent_id': [8, 'Agrolait'], - 'function': 'Analyst', - 'image': '<<BASE 64 Image Data>>' - } - - mobile.methods.addContact(contact); + var contact = { + 'name': 'Michel Fletcher', + 'mobile': '9999999999', + 'phone': '7954856587', + 'fax': '765898745', + 'email': 'michel.fletcher@agrolait.example.com', + 'website': 'http://www.agrolait.com', + 'street': '69 rue de Namur', + 'street2': false, + 'country_id': [21, 'Belgium'], + 'state_id': false, + 'city': 'Wavre', + 'zip': '1300', + 'parent_id': [8, 'Agrolait'], + 'function': 'Analyst', + 'image': '<<BASE 64 Image Data>>' + } + + mobile.methods.addContact(contact); .. image:: mobile/mobile_contact_create.png @@ -180,7 +180,7 @@ Scanning barcodes .. js:function:: scanBarcode - :returns: Scanned ``code`` from any barcode + :returns: Scanned ``code`` from any barcode The barcode API detects barcodes in real-time, on the device, in any orientation. @@ -191,11 +191,11 @@ The barcode API can read the following barcode formats: .. code-block:: javascript - mobile.methods.scanBarcode().then(function(code){ - if(code){ - // Perform operation with the scanned code - } - }); + mobile.methods.scanBarcode().then(function(code){ + if(code){ + // Perform operation with the scanned code + } + }); Switching account in device ........................... @@ -206,6 +206,6 @@ Use switchAccount to switch from one account to another on the device. .. code-block:: javascript - mobile.methods.switchAccount(); + mobile.methods.switchAccount(); .. image:: mobile/mobile_switch_account.png