Compare commits

..

1 Commits

Author SHA1 Message Date
Géry Debongnie
95d91bad36 [IMP] developer: add description of disabled prop to Dropdown
This prop has been implemented in pr https://github.com/odoo/odoo/pull/115201/files
2023-03-14 16:02:05 +01:00
153 changed files with 572 additions and 1501 deletions

12
conf.py
View File

@@ -213,8 +213,6 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-16.2': "Odoo Online",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
'15.0': "Odoo 15",
@@ -319,12 +317,6 @@ latex_documents = [
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
]
# List of languages that have legal translations (excluding EN). The keys must be in
# `languages_names`. These translations will have a link to their versions of the legal
# contracts, instead of the default EN one. The main legal documents are not part of the
# translations since they have legal meaning.
legal_translations = ['de', 'es', 'fr', 'nl']
# The name of an image file (relative to this directory) to place at the top of the title page.
latex_logo = 'static/img/odoo_logo.png'
@@ -453,10 +445,6 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
)
)
# Dynamic generation of localized legal doc links
context['legal_translations'] = legal_translations
def _build_url(_version=None, _lang=None):
if app.config.is_remote_build:
# Project root like https://www.odoo.com/documentation

View File

@@ -11,10 +11,6 @@ personal email address or an address created by a custom domain.
`Microsoft Learn: Register an application with the Microsoft identity platform
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
Setup in Microsoft Azure Portal
===============================

View File

@@ -11,10 +11,6 @@ email address or an address created by a custom domain.
For more information, visit `Google's documentation
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
.. seealso::
- :doc:`/applications/general/auth/google`
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
Setup in Google
===============

View File

@@ -26,13 +26,9 @@ This matrix shows the support status of every version.
+-----------------+-------------+----------+-------------+----------------+------------------------+
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
+=================+=============+==========+=============+================+========================+
| Odoo saas~16.2 | |green| | N/A | N/A | March 2023 | June 2023 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~16.1 | |green| | N/A | N/A | February 2023 | April 2023 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.2 | |red| | N/A | N/A | March 2022 | January 2023 |
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | January 2023 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
+-----------------+-------------+----------+-------------+----------------+------------------------+

View File

@@ -18,7 +18,6 @@ Discover our user guides and configuration tutorials per application.
applications/sales
applications/websites
applications/inventory_and_mrp
applications/hr
applications/marketing
applications/services
applications/productivity

View File

@@ -8,7 +8,6 @@ Bank and cash
:titlesonly:
bank/setup
bank/bank_synchronization
bank/transactions
bank/feeds
bank/reconciliation
bank/interbank

View File

@@ -1,36 +0,0 @@
==============
Enable Banking
==============
**Enable Banking** is a third-party provider aggregating banking information from bank accounts all
in one place. It offers non-intrusive connectivity to ASPSPs' official APIs across Europe without
storing data.
.. image:: enablebanking/enablebanking.png
:align: center
:alt: Enable Banking logo
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
import them into your database.
.. seealso::
- :doc:`../bank_synchronization`
- `Enable Banking website <https://enablebanking.com/>`_
Configuration
=============
Link bank accounts with Odoo
----------------------------
#. Start synchronization by clicking on :menuselection:`Accounting --> Configuration -->
Add a Bank Account`;
#. Select your bank;
#. Make sure you give your consent to share your account information with Odoo by clicking
:guilabel:`Continue authentication`;
.. image:: enablebanking/enablebankingauth.png
:align: center
:alt: Enable Banking authentication page
#. Finally, you are redirected to your bank's login page.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,13 @@
:nosearch:
==========
Bank feeds
==========
.. toctree::
:titlesonly:
feeds/bank_statements
feeds/bank_synchronization
feeds/ponto
feeds/saltedge

View File

@@ -0,0 +1,62 @@
===============
Bank statements
===============
Importing your bank statements allows you to keep track of your bank account transactions and
reconcile them with the ones recorded in Odoo.
We recommend using :doc:`the bank synchronization feature <bank_synchronization>` for more
efficiency. However, if you do not want to use it or if your bank is not yet supported, other
options exist:
- Import the bank statement files delivered by your bank;
- Register the bank statements manually.
Import bank statements files
============================
Odoo supports multiple file formats to import bank statements:
- SEPA recommended Cash Management format (CAMT.053);
- Comma-separated values (.CSV);
- Open Financial Exchange (.OFX);
- Quicken Interchange Format (.QIF);
- Belgium: Coded Statement of Account (.CODA).
To import a file, go to the Accounting dashboard and click on :guilabel:`Import (Statements)` under
the :guilabel:`Bank` window, or click on the drop-down menu (:guilabel:`⋮`) button and then on
:guilabel:`Import Statement`.
.. image:: bank_statements/bank-overview.png
:align: center
:alt: Import a bank statement file in Odoo Accounting
Next, select the file you want to import and click on :guilabel:`Upload`.
Once the file uploaded, the **import widget** helps you set formatting options and **map** the
different columns you want to import. You also can :guilabel:`test` the bank statement file before
importing it to your database.
.. image:: bank_statements/import-bank-statement.png
:align: center
:alt: Register bank statements manually in Odoo Accounting
Register bank statements manually
=================================
If needed, you can also record your bank statements manually. To do so, go to the
:guilabel:`Accounting dashboard` and click on the :guilabel:`Create Statements` under the
:guilabel:`Bank` window. Alternatively, you can click the drop-down menu (:guilabel:`⋮`) button, and
then :guilabel:`New Statement`.
To ease the reconciliation process, make sure to fill out the :guilabel:`Partner` field. You can
also type in the payments references in the :guilabel:`Label` field. Add a new line for each
transaction written on the original bank statement.
.. image:: bank_statements/bank-statements-03.png
:align: center
:alt: Register bank statements manually in Odoo Accounting
.. 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -1,8 +1,6 @@
:show-content:
====================
Bank synchronization
====================
======================================
Bank synchronization: automatic import
======================================
Odoo can synchronize directly with your bank institution to get all bank statements imported
automatically into your database.
@@ -17,12 +15,9 @@ To connect to the banks, Odoo uses multiple web-services:
- **Plaid**: United States of America and Canada
- **Yodlee**: Worldwide
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
.. seealso::
:doc:`transactions`
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
- **Ponto**: Europe (:doc:`more information <ponto>`)
- **EnableBanking**: Scandinavian countries
Configuration
=============
@@ -201,9 +196,7 @@ You can update your credentials by going to :menuselection:`Accounting Dashboard
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
credentials and click on the :guilabel:`Update Credentials` button.
.. toctree::
:titlesonly:
bank_synchronization/saltedge
bank_synchronization/ponto
bank_synchronization/enablebanking
.. seealso::
* :doc:`bank_statements`
* :doc:`ponto`
* :doc:`saltedge`

View File

@@ -1,6 +1,6 @@
=====
Ponto
=====
======================================
Ponto as bank synchronization provider
======================================
**Ponto** is a service that allows companies and professionals to aggregate their accounts in one
place and directly see all their transactions within one app. It is a third-party solution that is
@@ -16,9 +16,9 @@ into your database.
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../transactions`
.. note::
You can find more information about bank synchronization :doc:`on this page
<bank_synchronization>`.
Configuration
=============
@@ -115,3 +115,10 @@ and we advise you to contact Ponto directly.
.. important::
Using an institution in beta is beneficial for Ponto, it allows them to have real
feedback on the connection with the institution.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`saltedge`
* :doc:`bank_statements`

View File

@@ -1,6 +1,6 @@
=========
Salt Edge
=========
==========================================
Salt Edge as bank synchronization provider
==========================================
**Salt Edge** is a third-party provider that aggregates banking information
from your bank accounts. It supports ~5000 institutions in more than 50
@@ -8,15 +8,12 @@ countries.
.. image:: saltedge/saltedge-logo.png
:align: center
:width: 50%
:alt: Salt Edge Logo
Odoo can synchronize directly with your bank to get all bank statements imported
automatically into your database.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../transactions`
Salt Edge is a free third-party provider.
Configuration
=============
@@ -106,3 +103,9 @@ In case you already have a connection with the same credentials present on your
and this synchronization was created with Odoo, you will normally be able to find it by going to
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
*Update Credentials* to reactivate the connection.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`ponto`
* :doc:`bank_statements`

View File

@@ -91,7 +91,7 @@ Manage and reconcile bank statements
------------------------------------
The next step is to book the bank statements to finalize the transaction by creating,
:doc:`importing <transactions>`, or :doc:`synchronizing <bank_synchronization>` your
:doc:`importing <feeds/bank_statements>`, or :doc:`synchronizing <feeds/bank_synchronization>` your
:guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
:guilabel:`Reconcile` button.

View File

@@ -125,5 +125,5 @@ line*.
.. seealso::
- :doc:`use_cases`
- :doc:`../bank_synchronization`
- :doc:`../feeds/bank_synchronization`
- :doc:`../../receivables/customer_invoices/cash_discounts`

View File

@@ -102,4 +102,4 @@ right and validate all related payments :
:align: center
.. seealso::
:doc:`../bank_synchronization`
* :doc:`../feeds/bank_synchronization`

View File

@@ -4,7 +4,7 @@ Bank and cash accounts
You can manage as many bank or cash accounts as needed on your database. Configuring them well
allows you to have all your banking data up-to-date and ready for :doc:`reconciliation
<../reconciliation/use_cases>` with your journal entries.
<../../bank/reconciliation/use_cases>` with your journal entries.
In Odoo Accounting, each bank account has a dedicated journal set to post all entries in a dedicated
account. Both the journal and the account are automatically created and configured whenever you add
@@ -33,7 +33,7 @@ To connect your bank account to your database, go to :menuselection:`Accounting
follow the instructions.
.. seealso::
:doc:`../bank_synchronization`
:doc:`../../bank/feeds/bank_synchronization`
Create a bank account
---------------------
@@ -83,7 +83,7 @@ You can edit the accounting information and bank account number according to you
.. seealso::
- :doc:`../../others/multi_currency`
- :doc:`../transactions`
- :doc:`../../bank/feeds/bank_statements`
- :doc:`../../bank/setup/outstanding_accounts`
Suspense account
@@ -132,5 +132,5 @@ Bank feeds
with your database.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../transactions`
- :doc:`../../bank/feeds/bank_synchronization`
- :doc:`../../bank/feeds/bank_statements`

View File

@@ -1,46 +0,0 @@
============
Transactions
============
Importing transactions from your bank statements allows keeping track of bank account transactions
and reconciling them with the ones recorded in your accounting.
:doc:`Bank synchronization <bank_synchronization>` automates the process. However, if you do not
want to use it or if your bank is not yet supported, other options exist:
- :ref:`Import bank transactions <import-statements>` delivered by your bank;
- :ref:`Register bank transactions <register-transactions>` manually.
.. _import-statements:
Import transactions
===================
Odoo supports multiple file formats to import transactions:
- SEPA recommended Cash Management format (CAMT.053);
- Comma-separated values (.CSV);
- Open Financial Exchange (.OFX);
- Quicken Interchange Format (.QIF);
- Belgium: Coded Statement of Account (.CODA).
To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal,
click on :guilabel:`Import Transactions`.
.. image:: transactions/import-transactions.png
:align: center
:alt: Import bank transactions from bank journal
Next, select the file and upload it.
After setting the necessary formatting options and mapping the needed columns, you can run a
:guilabel:`Test` and :guilabel:`Import` your bank transactions.
.. _register-transactions:
Register bank transactions manually
===================================
You can also record your bank transactions manually. To do so, go to :guilabel:`Accounting
Dashboard`, click on the :guilabel:`Bank` journal, and then on :guilabel:`New`. Make sure to fill
out the :guilabel:`Partner` and :guilabel:`Label` fields to ease the reconciliation process.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -55,7 +55,7 @@ Connect your bank account to your database and have your bank statements synced
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
.. note::
:doc:`Click here <../../bank/bank_synchronization>` for more information about this feature.
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this feature.
If your Bank Institution cant be synchronized automatically, or if you prefer not to sync it with
your database, you may also configure your bank account manually by clicking on *Create it*, and
@@ -188,6 +188,6 @@ Send yourself a sample invoice by email to make sure everything is correctly con
.. seealso::
* :doc:`../../bank/setup/bank_accounts`
* :doc:`chart_of_accounts`
* :doc:`../../bank/bank_synchronization`
* :doc:`../../bank/feeds/bank_synchronization`
* :doc:`../../../fiscal_localizations`
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_

View File

@@ -26,8 +26,6 @@ They can be applied in various ways:
Configuration
=============
.. _fiscal_positions/mapping:
Tax and Account Mapping
-----------------------

View File

@@ -5,14 +5,6 @@ Adyen
`Adyen <https://www.adyen.com/>`_ is a Dutch company that offers several online payment
possibilities.
.. seealso::
- :ref:`payment_providers/add_new`
- :doc:`../payment_providers`
.. note::
Adyen works only with customers processing **more** than **10 million annually** or invoicing a
**minimum** of **1.000** transactions **per month**.
Configuration
=============

View File

@@ -1,10 +1,6 @@
======================================
Microsoft Azure sign-in authentication
======================================
=====
OAuth
=====
Due to specific requirements in Azure's OAuth implementation, Microsoft Azure OAuth identification
is NOT compatible with Odoo at the moment.
.. seealso::
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
- :doc:`/administration/maintain/azure_oauth`
Due to specific requirements in Azure's OAuth implementation,
Microsoft Azure OAuth identification is NOT compatible with Odoo at the moment.

View File

@@ -8,10 +8,6 @@ with their Google account.
This is particularly helpful if your organization uses Google Workforce and you want the employees
within your organization to connect to Odoo with their Google Accounts.
.. seealso::
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
- :doc:`/administration/maintain/google_oauth`
.. _google-sign-in/configuration:
Configuration
@@ -46,7 +42,7 @@ OAuth consent screen
:align: center
:alt: Google oauth consent selection menu
#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`.
#. Choose one of the options **(Internal / External)** as instructed, and click on *Create*.
.. image:: google/consent.png
:align: center

View File

@@ -5,10 +5,6 @@ Synchronize Google Calendar with Odoo
Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go
in both directions). This integration helps organize your schedule so you never miss a meeting.
.. seealso::
- :doc:`/applications/general/auth/google`
- :doc:`/administration/maintain/google_oauth`
Setup in Google
===============

View File

@@ -5,10 +5,6 @@ Synchronize Outlook Calendar with Odoo
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
appointments across all related applications.
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/administration/maintain/azure_oauth`
Register the application with Microsoft Azure
=============================================

View File

@@ -1,9 +0,0 @@
:nosearch:
===============
Human resources
===============
.. toctree::
hr/attendances

View File

@@ -1,19 +0,0 @@
:nosearch:
:show-content:
:hide-page-toc:
:show-toc:
===========
Attendances
===========
**Odoo Attendances** functions as a time clock. Employees check in and check out of work, while
managers can see who is available at any given time.
.. seealso::
`Odoo Tutorials: Attendances <https://www.odoo.com/slides/slide/attendances-684>`_
.. toctree::
:titlesonly:
attendances/hardware

View File

@@ -1,57 +0,0 @@
========
Hardware
========
Kiosk management
================
A kiosk is a self-service station that allows employees to check in and check out for work shifts.
There are two ways to set up a kiosk:
- **Laptop and desktop PC**
Running a kiosk in a web browser is the cheapest and most flexible option. You can print employee
badges with any thermal or inkjet printer compatible with your web browser.
- **Tablet and mobile phone (Android or iOS)**
Tablets and mobile phones take up much less space, and their touchscreens are easy to use.
Consider putting them in a secure stand at the front desk or mounting them securely on a wall.
.. tip::
We recommend using an iPad together with the `Heckler Design WindFall Stand
<https://hecklerdesign.com/products/windfall-stand-for-ipad>`_
RFID key fob readers
====================
Employees can scan personal RFID key fobs with an RFID reader to manage check-ins and check-outs
quickly and easily.
.. image:: hardware/rfid-reader.jpg
:align: center
:width: 40%
:alt: An RFID key fob is placed on an RFID reader
.. tip::
We recommend using the `Neuftech USB RFID Reader <https://neuftech.net/Neuftech-USB-RFID-Reader-ID-Kartenleseger%C3%A4t-Kartenleser-Kontaktlos-Card-Reader-f%C3%BCr-EM4100>`_.
.. note::
An IoT box is **not** required.
Barcode scanners
================
Employees can scan the barcode on their employee badges to manage check-ins and check-outs quickly
and easily. The kiosk mode works with most USB barcode scanners connected directly to a computer.
Bluetooth barcode scanners are also supported natively.
.. tip::
We recommend using the `Honeywell product line
<https://sps.honeywell.com/us/en/products/productivity/barcode-scanners>`_. If the barcode
scanner is connected directly to a computer, it must be configured to use the computer's keyboard
layout.
.. note::
An IoT box is **not** required.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -11,3 +11,4 @@ Valuation Methods
reporting/inventory_valuation_config
reporting/using_inventory_valuation
reporting/integrating_landed_costs
/applications/finance/accounting/others/inventory/avg_price_valuation

View File

@@ -1,9 +1,7 @@
=================================
Inventory valuation configuration
Inventory Valuation Configuration
=================================
.. _inventory/inventory_valuation_config:
All of a company's stock on-hand contributes to the valuation of its inventory. That value should
be reflected in the company's accounting records to accurately show the value of the company and
all of its assets.
@@ -29,32 +27,32 @@ between locations in a company's inventory.
need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing
basis depending on the needs and priorities of the business.
Types of accounting
Types of Accounting
-------------------
Accounting entries will depend on the accounting mode: *Continental* or *Anglo-Saxon*.
Accounting entries will depend on the accounting mode: Continental or Anglo-Saxon.
.. tip::
Verify the accounting mode by activating the :ref:`developer-mode` and navigating to
:menuselection:`Accounting --> Configuration --> Settings`.
Verify the accounting mode by activating the :ref:`developer-mode`
and navigating to :menuselection:`Accounting --> Configuration --> Settings`.
In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or
In Anglo-Saxon accounting, the costs of goods sold (COGS) are reported when products are sold or
delivered. This means that the cost of a good is only recorded as an expense when a customer is
invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are
both *Asset Accounts* in the balance sheet.
invoiced for a product. Interim Stock Accounts are used for the input and output accounts, and are
both Asset Accounts in the Balance Sheet.
In *Continental* accounting, the cost of a good is reported as soon as a product is received into
stock. Additionally, a single *Expense* account is used for both input and output accounts in
the balance sheet.
In Continental accounting, the cost of a good is reported as soon as a product is received into
stock. Additionally, a *single* Expense account is used for both input and output accounts in
the Balance Sheet.
Costing methods
Costing Methods
---------------
Below are the three costing methods that can be used in Odoo for inventory valuation.
- **Standard Price**: is the default costing method in Odoo. The cost of the product is manually
defined on the product form, and this cost is used to compute the valuation. Even if the purchase
price on a purchase order differs, the valuation will still use the cost defined on the product
price on a Purchase Order differs, the valuation will still use the cost defined on the product
form.
- **Average Cost (AVCO)**: calculates the valuation of a product based on the average cost of that
product, divided by the total number of available stock on-hand. With this costing method,
@@ -83,11 +81,10 @@ valuation method should apply.
Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and
:guilabel:`Inventory Valuation`. Pick the desired :guilabel:`Costing Method` using the drop-down
menu (e.g. :guilabel:`Standard`, :guilabel:`Average Cost (AVCO)`, or :guilabel:`First In First Out
(FIFO)`) and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
(FIFO)` and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
.. seealso::
:doc:`Using the inventory valuation
</applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation>`
:doc:`Using the inventory valuation <using_inventory_valuation>`
.. note::
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical

View File

@@ -1,130 +1,77 @@
=========================
Using inventory valuation
=========================
=============================
Using the inventory valuation
=============================
*Inventory valuation* is a quintessential accounting procedure that calculates the value of on-hand
stock. Once determined, the inventory valuation amount is then incorporated into a company's overall
value.
Inventory valuation refers to how you value your stock. Its a very
important aspect of a business as the inventory can be the biggest asset
of a company.
In Odoo, this process can be conducted manually— by warehouse employees physically counting the
products— or automatically through the database.
In this documentation, we will explain how the inventory valuation works
in Odoo.
.. seealso::
:ref:`Inventory valuation configuration <inventory/inventory_valuation_config>`
Understand the basics of inventory valuation
============================================
In order to understand how moving products in and out of stock affects the company's overall value,
consider the following product and stock moves scenario below.
Inventory valuation: the basics
===============================
Receive a product
-----------------
For example, consider an physical product, a simple *table*, which is categorized as `Office
Furniture` in the product form's :guilabel:`Product Category` field.
Each time a product enters or leaves your stock, the value of your
inventory is impacted. The way it is impacted depends on the
configuration of your product (more info here).
Navigate to the the product category itself by going to :menuselection:`Inventory app -->
Configuration --> Product Categories`, and on the form, set the :guilabel:`Costing Method` as `First
In First Out (FIFO)` and the :guilabel:`Inventory Valuation` field as `Automated`.
Lets take an example with a product - a table - configured with a
*FIFO costing method* and an automated inventory valuation.
I purchase 10 tables at a cost of $10.
.. image:: using_inventory_valuation/use_inventory_valuation_01.png
:align: center
When Ill confirm the receipt of the products, the value of my inventory
will be impacted. If I want to know what this impact is, I can click on
the valuation stat button.
.. tip::
Alternatively access the :guilabel:`Product Categories` dashboard by clicking on the
:guilabel:`internal link` arrow on the individual product's form, by hovering over the
:guilabel:`Product Category` field.
The consignment feature allows you to set owners on your stock (discover
more about the consignment feature). When you receive products that are
owned by another company, they are not taken into account in your
inventory valuation.
Next, assume 10 tables are purchased at a price of $10.00, each. The :abbr:`PO (Purchase Order)` for
those tables will show the subtotal of the purchase as $100, plus any additional costs or taxes.
.. image:: using_inventory_valuation/use_inventory_valuation_02.png
:align: center
.. image:: using_inventory_valuation/purchase-order.png
:align: center
:alt: Purchase order with 10 tables products valued at $10 each.
.. note::
You need access rights on the accounting module to see that button.
After selecting :guilabel:`Validate` on the :abbr:`PO (Purchase Order)`, use the
:guilabel:`Valuation` smart button to view how the value of inventory was impacted.
In this case, I can see that the 10 tables entered the stock for a total
value of $100.
.. image:: using_inventory_valuation/valuation-smart-button.png
:align: center
:alt: Valuation smart button on a receipt.
.. image:: using_inventory_valuation/use_inventory_valuation_03.png
:align: center
.. important::
:ref:`Developer mode <developer-mode>` must be turned on to see the *Valuation* smart button.
I can also easily access the accounting entry that has been generated
(in case of automated inventory valuation).
.. tip::
The :doc:`consignment </applications/inventory_and_mrp/inventory/management/misc/owned_stock>`
feature allows ownership to items in stock. Thus, products owned by other companies are not
accounted for in the host company's inventory valuation.
The :guilabel:`Stock Valuation` dashboard then displays valuation of all products in the shipment,
along with their quantities and valuation. In the example of 10 tables being purchased, the
:guilabel:`Total Value` column of the dashboard would display a calculated valuation of $100.
.. image:: using_inventory_valuation/stock-valuation-product.png
:align: center
:alt: Stock valuation page depicting the products within a shipment.
In Odoo, automatic inventory valuation records are also recorded in the *Accounting* app. To access
these accounting entries, navigate to :menuselection:`Accounting --> Journal Entries`, and look for
inventory valuation entries with the `STJ` prefix in the :guilabel:`Journal` and :guilabel:`Number`
columns, respectively.
.. image:: using_inventory_valuation/inventory-valuation-entry.png
:align: center
:alt: Accounting entry for the inventory valuation of 10 tables.
.. image:: using_inventory_valuation/use_inventory_valuation_04.png
:align: center
Deliver a product
-----------------
In the same logic, when a table is shipped to a customer and leaves the warehouse, the stock
valuation decreases. The :guilabel:`Valuation` smart button on the :abbr:`DO (Delivery Order)`,
likewise, displays the stock valuation record as it does on a :abbr:`PO (Purchase Order)`
In the same logic, when a table will be delivered, the stock valuation
will be impacted and you will have access to a similar information.
.. image:: using_inventory_valuation/decreased-stock-valuation.png
:align: center
:alt: Decreased stock valuation after a product is shipped.
.. image:: using_inventory_valuation/use_inventory_valuation_05.png
:align: center
The inventory valuation report
------------------------------
To view the current value of all products in the warehouse, go to :menuselection:`Inventory app -->
Reporting --> Inventory Valuation`. The records in the table are organized by product, and selecting
a product's drop-down menu displays detailed records with the :guilabel:`Date`,
:guilabel:`Quantity`, and :guilabel:`Total Value` of the inventory.
The summary of this is accessible via the inventory valuation report
(accessible from :menuselection:`Inventory --> Reporting --> Inventory Valuation`). It gives
you, product per product, the value of your stock. By clicking on the
button *Inventory At Date*, you can have the same information for a
past date.
.. image:: using_inventory_valuation/inventory-valuation-products.png
:align: center
:alt: Inventory valuation report showing multiple products.
.. note::
The :guilabel:`Inventory At Date` button, located in the top-left corner of the :guilabel:`Stock
Valuation` dashboard, shows the inventory valuation of products available during a prior
specified date.
Update product unit price
~~~~~~~~~~~~~~~~~~~~~~~~~
For any company: lead times, supply chain failures, and other risk factors can contribute to
invisible costs. Although Odoo attempts to accurately represent the stock value, *manual valuation*
serves as an additional tool to update the unit price of products.
.. important::
Manual valuation is intended for products that can be purchased and received for a cost greater
than 0, or have product categories set with :guilabel:`Costing Method` set as either `Average
Cost (AVCO)` or `First In First Out (FIFO)`.
.. image:: using_inventory_valuation/add-manual-valuation.png
:align: center
:alt: Add manual valuation of stock value to a product.
Create manual valuation entries on the :guilabel:`Stock Valuation` dashboard by first navigating to
:menuselection:`Inventory app --> Reporting --> Inventory Valuation`, and then click the little gray
drop-down icon to the left of a product's name, to then reveal stock valuation line items below as
well as a teal :guilabel:`+ (plus)` button on the right.
Click the teal :guilabel:`+ (plus)` button to open up the :guilabel:`Product Revaluation` form,
where updates to the calculation of inventory valuation can be made, by increasing or decreasing the
unit price of each product.
.. image:: using_inventory_valuation/product-revaluation.png
:align: center
:alt: Product revaluation form adding a value of $1.00 with the reason being inflation.
.. image:: using_inventory_valuation/use_inventory_valuation_06.png
:align: center

View File

@@ -89,8 +89,6 @@ Area*. Then, once the quality check is done, move them to their *Storage Locatio
orders and their products are grouped in one transfer, whereas the packing operation respects the
grouping per customer order.
.. _use-routes/routes-rules:
Use routes and rules
====================

View File

@@ -27,9 +27,7 @@ needed.
in the Odoo database.
.. important::
Odoo integration of Sendcloud works on free Sendcloud plans *only* if a bank account is linked,
since Sendcloud won't ship for free. To use shipping rules or individual custom carrier contacts,
a paid plan of Sendcloud is required.
Odoo integration of Sendcloud does **not** work on free plans of Sendcloud.
Warehouse configuration
-----------------------
@@ -145,7 +143,7 @@ After configuring and saving the form, follow these steps to load the shipping p
| :guilabel:`Return Shipping Product`: `DPD Return 0-20kg`
| :guilabel:`Return Carrier`: `DPD`
| :guilabel:`Return Minimum Weight`: `0.00`
| :guilabel:`Return Maximum Weight`: `20.00`
| :guilabel:`Return Minimum Weight`: `20.00`
| :guilabel:`Return Countries`: `Belgium` `Netherlands`
.. image:: sendcloud_shipping/sendcloud-example.png

View File

@@ -12,7 +12,7 @@ that even product variants can have their own tailored :abbr:`BoMs (Bills of Mat
Correctly setting up a :abbr:`BoM (Bill of Materials)` helps optimize the manufacturing process and
save time.
Set up a bill of materials (BoM)
Set up a bill of baterials (BoM)
================================
The simplest :abbr:`BoM (Bill of Materials)` setup is one without operations or instructions, only

View File

@@ -116,18 +116,15 @@ Delete the following three lines of text from the :file:`login.ts` file:
This removes the `odoo.com` domain constraint from the Gmail Plugin program.
Next, in the ZIP file, go to :menuselection:`mail-client-extensions-master --> gmail`, and open the
file called :guilabel:`appsscript.json`. In the :guilabel:`urlFetchWhitelist` section, replace all
the references to `odoo.com` with the Odoo customer's unique server domain.
Then, in the same :guilabel:`gmail` folder, open the file called :guilabel:`README.md`. Follow the
instructions in the :guilabel:`README.md` file to push the Gmail Plugin files as a Google Project.
file called :guilabel:`README`. Follow the instructions in the :guilabel:`README` file to push the
Gmail Plugin files as a Google Project.
.. note::
The computer must be able to run Linux commands in order to follow the instructions on the
:guilabel:`README.md` file.
:guilabel:`README` file.
After that, share the Google Project with the Gmail account that the user wishes to connect to Odoo.
Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click
After that, share the Google Project with the Gmail account that the user wishes to connect to
Odoo. Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click
:guilabel:`Install the add-on` to install the Gmail Plugin.
Configure the Odoo database
@@ -135,7 +132,8 @@ Configure the Odoo database
The :guilabel:`Mail Plugin` feature must be enabled in the Odoo database in order to use the Gmail
Plugin. To enable the feature, go to :menuselection:`Settings --> General Settings`. Under the
:guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click :guilabel:`Save`.
:guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click
:guilabel:`Save`.
.. image:: gmail/mail-plugin-setting.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -2,61 +2,61 @@
Multiple sales teams
====================
Use the *Sales Teams* feature to manage several sales teams, departments, or channels, each with
their own unique sales processes.
Odoo lets you manage several sales teams, departments, or channels, each with their own unique
sales processes, using *Sales Teams*.
Create a new sales team
Create a new Sales Team
=======================
To create a new sales team, go to :menuselection:`CRM --> Configuration --> Sales Teams`, then
click :guilabel:`Create`.
To create a new Sales Team, go to :menuselection:`CRM --> Sales --> Teams` then click
:guilabel:`Create`.
On the creation page, set an :guilabel:`Email Alias` to automatically generate a lead/opportunity
for this sales team every time a message is sent to that unique email address. Choose whether to
accept emails from :guilabel:`Everyone`, :guilabel:`Authenticated Partners`, or :guilabel:`Followers
Only`.
for this Sales Team every time a message is sent to that unique email address. You can also choose
whether to accept emails from :guilabel:`Everyone`, :guilabel:`Authenticated Partners`, or
:guilabel:`Followers Only`.
Set an :guilabel:`Invoicing Target` if this team has specific monthly revenue goals. Set a
:guilabel:`Domain` to assign leads/opportunities to this sales team based on specific filters, such
as country, language, or campaign.
Set a :guilabel:`Domain` to assign leads/opportunities to this Sales Team based on specific
filters, such as country, language, or campaign. Set an :guilabel:`Invoicing Target` if this team
has specific monthly revenue goals.
.. image:: multi_sales_team/sales-team-creation.png
:align: center
:alt: Create a sales team in Odoo CRM.
:alt: Create a Sales Team in Odoo CRM.
Add members to a sales team
Add members to a Sales Team
---------------------------
To add team members, click :guilabel:`Add` under the :guilabel:`Members` tab when editing the sales
team's configuration page. Select a salesperson from the drop-down menu or create new salesperson.
Set a maximum number of leads that can be assigned to this salesperson in a 30-day period to ensure
that they do not overwork.
To add team members, click :guilabel:`Add` under the Assignment tab when editing the Sales Team's
configuration page. Select a salesperson from the dropdown menu or create new salesperson. Set a
maximum number of leads that can be assigned to this salesperson in a 30-day period to ensure that
they do not overwork.
.. image:: multi_sales_team/add-a-salesperson.png
:align: center
:alt: Add a salesperson in Odoo CRM.
:alt: Add a Salesperson inside Odoo CRM.
One person can be added as a team member or :guilabel:`Team Leader` to multiple sales teams,
allowing them to access all of the pipelines that they need to.
One person can be added as a team member or Team Leader to multiple Sales Teams, allowing them to
access all of the pipelines that they need to.
Sales team dashboard
Sales Team dashboard
====================
To view the sales team dashboard, go to :menuselection:`CRM --> Sales --> Teams`. Odoo users will
see any teams that they are a part of as dashboard tiles.
To view the Sales Team dashboard, go to :menuselection:`CRM --> Sales --> Teams`. Any teams you are
a part of will appear as dashboard tiles.
Each tile gives an overview of the sales team's open opportunities, quotations, sales orders, and
Each tile gives an overview of the Sales Team's open opportunities, quotations, sales orders, and
expected revenue, as well as a bar graph of new opportunities per week and an invoicing progress
bar.
.. image:: multi_sales_team/sales-team-overview.png
:align: center
:alt: Sales team overview dashboard in Odoo CRM.
:alt: Sales Team Overview dashboard in Odoo CRM.
Click on the three dots in the corner of a tile to open a navigational menu that lets users quickly
Click on the three dots in the corner of a tile to open a navigational menu that lets you quickly
view documents or reports, create new quotations or opportunities, pick a color for this team, or
access the team's configuration page.
access its configuration page.
.. image:: multi_sales_team/team-overview-three-dot-menu.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -1,16 +1,18 @@
.. _epos_ssc/ePOS printers:
=========================================
Self-signed certificate for ePOS printers
=========================================
ePOS printers are designed to work seamlessly with Point of Sale systems. Once connected, the two
devices automatically share information, enabling the direct printing of tickets from the POS system
to the ePOS printer.
ePos printers are designed specifically to work with your Point of Sale system, which sends the
tickets directly to the printer.
Some models don't require an IoT box, but the connection between your web browser and the printer
may require a :doc:`secure connection with the HTTPS protocol <https>`. If so, a self-signed
certificate is necessary to use your printer.
.. note::
These `Epson ePOS printers
<https://c4b.epson-biz.com/modules/community/index.php?content_id=91>`_ are compatible with Odoo:
Please check the following list of compatible `Epson ePOS printers
<https://c4b.epson-biz.com/modules/community/index.php?content_id=91>`_. This list includes the
following models:
- TM-H6000IV-DT (Receipt printer only)
- TM-T70II-DT
@@ -29,191 +31,56 @@ to the ePOS printer.
- TM-P60II (Peeler: Wi-Fi® model)
- TM-P80 (Wi-Fi® model)
To work with Odoo, some models that can be used without an
:doc:`IoT box <../../../productivity/iot/config/connect>` may require :doc:`the HTTPS protocol
<https>` to establish a secure connection between the browser and the printer. However, trying to
reach the printer's IP address using HTTPS leads to a warning page on most web browsers.
Generate a Self-signed certificate
==================================
.. figure:: epos_ssc/browser-https-insecure.png
:align: center
:alt: warning page about the connection privacy on Google Chrome
Warning page on Google Chrome, Windows 10
In that case, you can temporarily force the connection by clicking :guilabel:`Advanced` and
:guilabel:`Proceed to [IP address] (unsafe)`. Doing so allows you to reach the page in HTTPS and use
the ePOS printer in Odoo as long as the browser window stays open.
Access your ePOS printer's settings with your web browser by navigating to its IP address, for
example, `http://192.168.1.25`.
.. note::
The previous instructions apply to Google Chrome but are similar to other browsers.
- The printer automatically prints the IP address during startup.
- We recommend assigning a **fixed IP address** to the printer from the network router.
.. warning::
The connection is lost after closing the browser window. Therefore, this method should only be
used as a **workaround** or as a pre-requisite for the :ref:`following instructions
<epos_ssc/instructions>`.
Go to :menuselection:`Authentication --> Certificate List` and create a new **Self-Signed
Certificate**.
.. _epos_ssc/instructions:
- **Common Name**: the IP address of the ePos Printer, for example, `192.168.1.25`
- **Validity Period**: `10`
Generate, export, and import self-signed certificates
=====================================================
Create and reboot the printer, go to :menuselection:`Security --> SSL/TLS`, and check if
**Selfsigned Certificate** is selected.
For a long-term solution, you must generate a **self-signed certificate**. Then, export and import
it into your browser.
Export the Self-signed certificate
==================================
.. important::
**Generating** an SSL certificate should only be done **once**. If you create another
certificate, devices using the previous one will lose HTTPS access.
To avoid having to accept the self-signed certificate several times, you can export it and then
import it to your web browser or mobile device.
.. tabs::
To do so, access your ePOS printer's settings with your web browser by navigating to its IP address,
for example, `https://192.168.1.25`. Then, accept the self-signed certificate.
.. tab:: Windows 10 & Linux OS
.. note::
Note that the protocol is now **HTTPS**.
.. tabs::
Click on :menuselection:`Connection is not secure --> Certificate is not valid`.
.. tab:: Generate a self-signed certificate
.. image:: epos_ssc/browser-warning.png
:align: center
:alt: The web browser indicates that the connection to the printer is not secure.
After forcing the connection, sign in using your printer credentials to access the ePOS
printer settings. To sign in, enter `epson` in the :guilabel:`ID` field and your printer
serial number in the :guilabel:`Password` field.
Go to the :guilabel:`Details` tab and click on :guilabel:`Export` Select X.509 in base 64 and save it.
Click :guilabel:`Certificate List` in the :guilabel:`Authentication` section, and click
:guilabel:`create` to generate a new **Self-Signed Certificate**. The :guilabel:`Common
Name` should be automatically filled out. If not, fill it in with the printer IP address
number. Select the years the certificate will be valid in the :guilabel:`Validity
Period` field, click :guilabel:`Create`, and :guilabel:`Reset` or manually restart the
printer.
Import the Self-signed certificate to Windows (Using Chrome)
============================================================
The self-signed certificate is generated. Reload the page and click :guilabel:`SSL/TLS`
in the :guilabel:`Security` section to ensure **Selfsigned Certificate** is correctly
selected in the :guilabel:`Server Certificate` section.
In your Chrome browser, go to :menuselection:`Settings --> Privacy and security --> Security -->
Manage certificates`
.. tab:: Export a self-signed certificate
Go to the :guilabel:`Authorities` tab and click on :guilabel:`Import` and select
your previous file. Accept all warnings and restart your browser.
The export process is heavily dependent on the :abbr:`OS (Operating System)` and the
browser. Start by accessing your ePOS printer settings on your web browser by navigating
to its IP address, for example, `https://192.168.1.25`. Then, force the connection as
explained in the :ref:`introduction <epos_ssc/ePOS printers>`.
Import the Self-signed certificate to your Android device
=========================================================
If you are using **Google Chrome**,
#. click :guilabel:`Not secure` next to the search bar, and :guilabel:`Certificate is
not valid`;
.. image:: epos_ssc/browser-warning.png
:align: center
:alt: Connection to the printer not secure button in Google Chrome browser.
#. go to the :guilabel:`Details` tab and click :guilabel:`Export`;
#. add `.crt` at the end of the file name to ensure it has the correct extension;
#. select :guilabel:`Base64-encoded ASCII, single certificate`, at the bottom of the
pop-up window;
#. save, and the certificate is exported.
.. warning::
Make sure that the certificate ends with the extension `.crt`. Otherwise, some
browsers might not see the file during the import process.
If you are using **Mozilla Firefox**,
#. click the **lock-shaped** icon on the left of the address bar;
#. go to :menuselection:`Connection not secure --> More information --> Security tab
--> View certificate`;
.. image:: epos_ssc/mozilla-not-secure.png
:align: center
:alt: Connection is not secure button in Mozilla Firefox browser
#. scroll down to the :guilabel:`Miscellaneous` section;
#. click :guilabel:`PEM (cert)` in the :guilabel:`Download` section;
#. save, and the certificate is exported.
.. tab:: Import a self-signed certificate
The import process is heavily dependent on the :abbr:`OS (Operating System)` and the
browser.
.. tabs::
.. tab:: Windows 10
Windows 10 manages certificates, which means that self-signed certificates must be
imported from the certification file rather than the browser. To do so,
#. open the Windows File Explorer and locate the downloaded certification file;
#. right-click on the certification file and click :guilabel:`Install
Certificate`;
#. select where to install the certificate and for whom - either for the
:guilabel:`Current User` or all users (:guilabel:`Local Machine`). Then, click
:guilabel:`Next`;
#. on the `Certificate Store` screen, tick :guilabel:`Place all certificates in
the following store`, click :guilabel:`Browse...`, and select
:guilabel:`Trusted Root Certification Authorities`;
.. image:: epos_ssc/win-cert-wizard-store.png
:align: center
#. click :guilabel:`Finish`, accept the pop-up security window;
#. restart the computer to make sure that the changes are applied.
.. tab:: Linux
If you are using **Google Chrome**,
#. open Chrome;
#. go to :menuselection:`Settings --> Privacy and security --> Security -->
Manage certificates`;
#. go to the :guilabel:`Authorities` tab, click :guilabel:`Import`, and select
the exported certification file;
#. accept all warnings;
#. click :guilabel:`ok`;
#. restart your browser.
If you are using **Mozilla Firefox**,
#. open Firefox;
#. go to :menuselection:`Settings --> Privacy & Security --> Security --> View
Certificates... --> Import`;
#. select the exported certification file;
#. tick the checkboxes and validate;
#. restart your browser.
.. tab:: Mac OS
To secure the connection on a Mac:
#. open Safari and navigate to your printer's IP address. Doing so leads to a warning page;
#. on the warning page, go to :menuselection:`Show Details --> visit this website --> Visit
Website`, validate;
#. reboot the printer so you can use it with any other browser.
.. tab:: Android OS
To import an SSL certificate into an Android device, first create and export it from a
computer. Next, transfer the `.crt` file to the device using email, Bluetooth, or USB. Once
the file is on the device,
#. open the settings and search for `certificate`;
#. click :guilabel:`Certificate AC` (Install from device storage);
#. select the certificate file to install it on the device.
.. Note::
The specific steps for installing a certificate may vary depending on the version of
Android and the device manufacturer.
.. important::
- If you need to export SSL certificates from an operating system or web browser that has not
been mentioned, search for `export SSL certificate` + `the name of your browser or operating
system` in your preferred search engine.
- Similarly, to import SSL certificates from an unmentioned OS or browser, search for `import SSL
certificate root authority` + `the name of your browser or operating system` in your preferred
search engine.
Check if the certificate was imported correctly
===============================================
To confirm your printer's connection is secure, connect to its IP address using HTTPS. For example,
navigate to `https://192.168.1.25` in your browser. If the SSL certificate has been applied
correctly, you should no longer see a warning page, and the address bar should display a padlock
icon, indicating that the connection is secure.
On your Android device, open the settings and search for *certificate*. Then, click on **Certificate
AC** (Install from device storage), and select the certificate.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -1,51 +1,43 @@
=================================
Flexible taxes (fiscal positions)
=================================
============================
Tax rates (fiscal positions)
============================
When running a business, you may need to apply different taxes and record transactions on various
accounts based on the location and type of business of your customers and providers.
In Odoo, *Fiscal Positions* let you apply different taxes based on
the customer location. In a *Point of Sale*, such as a restaurant, it can
be used to apply different taxes depending if the customer eats in or
takes away.
The **fiscal positions** feature enables you to establish rules that automatically select the right
taxes and accounts used for each transaction.
Set up fiscal positions for PoS
===============================
.. seealso::
- :doc:`../../../finance/accounting/taxation/taxes/fiscal_positions`
- :doc:`../../../finance/accounting/taxation/taxes/taxes`
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*.
Configuration
=============
To enable the feature, go to :menuselection:`Point of Sale --> Configuration --> Settings`, scroll
down to the :guilabel:`Accounting` section, and enable :guilabel:`Flexible Taxes`.
Then, set a default fiscal position that should be applied to all sales in the selected POS in the
:guilabel:`Default` field. You can also add more fiscal positions to choose from in the
:guilabel:`Allowed` field.
.. image:: fiscal_position/flexible-taxes-setting.png
:align: center
According to the :doc:`fiscal localization package <../../../finance/fiscal_localizations>`
activated, several fiscal positions are preconfigured and can be set and used in POS. However, you
can also :ref:`create new fiscal positions <fiscal_positions/mapping>`.
.. image:: fiscal_position/fiscal_position_01.png
:align: center
.. note::
If you do not set a fiscal position, the tax remains as defined in the **customer taxes** field
on the product form.
You need to create your fiscal positions before using this feature.
Use fiscal positions
====================
Using fiscal positions
======================
Open a :ref:`POS session <pos/start-session>` to use one of the allowed fiscal positions. Then,
click the :guilabel:`Tax` button next to the **book-shaped** icon and select a fiscal position from
the list. Doing so applies the defined rules automatically to all the products subject to the chosen
fiscal position's regulations.
Once on your *PoS* interface, click on the *Tax* button.
Now, choose the fiscal position you need for the current order.
.. image:: fiscal_position/set-tax.png
:align: center
.. image:: fiscal_position/fiscal_position_02.png
:align: center
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
--> Point of Sale` and enable *Fiscal Position*. Now, choose one to set as the default one.
.. image:: fiscal_position/fiscal_position_03.png
:align: center
.. note::
If a default fiscal position is set, the tax button displays the name of the fiscal position.
.. seealso::
:doc:`../../../finance/accounting/taxation/taxes/fiscal_positions`
Now, the *tax* button is replaced by a *on site* button when on the *PoS* interface.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -2,65 +2,43 @@
Orders printing
===============
Integrating printers in a restaurant or bar's workflow can enhance communication and collaboration
between the front-of-house and back-of-house teams, leading to a more streamlined and efficient
service.
To ease the workflow between the front of house and the back of the
house, printing the orders taken on the PoS interface right in the
kitchen or bar can be a tremendous help.
Configuration
Activate the bar/kitchen printer
================================
To activate the *Order printing* feature, go to :menuselection:`Point
of Sales --> Configuration --> Point of sale` and select your PoS
interface.
Under the IoT Box / Hardware Proxy category, you will find *Order Printers*.
Note that you need an IoT Box to connect your Printer to the PoS.
Add a printer
=============
.. _kitchen_printing/enable:
In your configuration menu you will now have a *Order Printers* option
where you can add the printer.
Enable and create printers
--------------------------
.. image:: kitchen_printing/kitchen_printing01.png
:align: center
To enable sending orders to a kitchen or bar printer, go to :menuselection:`Point of Sale -->
Configuration --> Settings`, scroll down to the :guilabel:`Restaurant & Bar` section, and enable
:guilabel:`Kitchen Printers`. Type in a name for the printer in the :guilabel:`Printers` field and
click :guilabel:`Create and edit...` to open a setup form.
Print a kitchen/bar order
=========================
To get a list of all the printers already created or to modify an already created printer, click
:guilabel:`--> Printers` and select the desired printer to open the setup form.
.. image:: kitchen_printing/kitchen_printing02.png
:align: center
.. image:: kitchen_printing/printers-settings.png
:align: center
:alt: settings to enable the kitchen printers
Select or create a printer.
.. _kitchen_printing/setup-form:
Print the order in the kitchen/bar
==================================
Setup form
----------
On your PoS interface, you now have a *Order* button.
From the :ref:`setup form <kitchen_printing/enable>`, select the :guilabel:`Printer Type` according
to your installation:
.. image:: kitchen_printing/kitchen_printing03.png
:align: center
- If your printer is connected to an IoT box, select :guilabel:`Use a printer connected to the IoT
Box` and select the device in the :guilabel:`IoT Device` field.
- If you use an Epson printer that does not need an IoT box, select :guilabel:`Use an Epson printer`
and enter the printer's IP address in the :guilabel:`Epson Printer IP Address` field.
.. seealso::
- :doc:`../../../productivity/iot/config/connect`
- :doc:`../../../productivity/iot/devices/printer`
- :doc:`../overview/epos_ssc`
Set your printer to print specific products based on their POS category. To do so, click
:guilabel:`Add a line` in the :guilabel:`Printed Product Categories` field. If you leave this field
empty, all products are sent to the printer regardless of their POS category.
.. image:: kitchen_printing/printer-setup.png
:align: center
:alt: setup form to configure a kitchen printer
Print orders
============
From an open session, start taking an order and click :guilabel:`Order` to send it to the bar or the
kitchen.
.. image:: kitchen_printing/order-button.png
:align: center
:alt: order button from the POS UI to send orders to a kitchen or a bar
.. note::
When products can be printed, they appear in green in the cart, and the order button turns green.
When you press it, it will print the order on your kitchen/bar printer.

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

View File

@@ -43,4 +43,5 @@ rounding according to your settings.
:align: center
.. note::
Odoo Point of Sale only supports the :guilabel:`Add a rounding line` rounding strategy.
Odoo Point of Sale only support the *Add a rounding line*
rounding strategies and *Half-up* rounding methods.

View File

@@ -15,4 +15,3 @@ Field Service
fsm/sales
fsm/helpdesk
fsm/default_warehouse

View File

@@ -1,42 +0,0 @@
======================
User default warehouse
======================
Setting up a **default warehouse** can be useful for field technicians who keep a supply in their
van or those who always resupply from the same warehouse.
Products in sales orders created during field interventions are always pulled from the same
warehouse, keeping the inventory accurate with the default warehouse feature.
.. seealso::
:doc:`../../inventory_and_mrp/inventory`
Configuration
=============
To set up a user default warehouse, the :doc:`storage locations
<../../inventory_and_mrp/inventory/management/warehouses/warehouses_locations>` and :ref:`multi-step
routes <use-routes/routes-rules>` features need to be activated. It is also necessary to have more
than one warehouse in your database.
.. seealso::
- :doc:`../../inventory_and_mrp/inventory/management/warehouses/warehouses_locations`
- :doc:`../../inventory_and_mrp/inventory/routes/concepts/use_routes`
User account
------------
To set up a default warehouse for a specific user, go to :menuselection:`Settings --> Users -->
Manage users`, open a user, then go to the :guilabel:`Preferences` tab, scroll down to
:guilabel:`Inventory`, and select the default warehouse from the drop-down menu.
.. image:: default_warehouse/user-default.png
:alt: Selection of a default warehouse on a user profile.
Default warehouse in field service tasks
========================================
Once a default warehouse has been configured for a user, the materials used for a sales order linked
to a Field Service task are pulled from that specific warehouse. In the sales order, go to the
:guilabel:`Other Info` tab, then scroll down to :guilabel:`Delivery`. The default warehouse is
applied correctly.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -1,164 +1,64 @@
=============================
Getting started with Helpdesk
=============================
===============
Getting Started
===============
Odoo :guilabel:`Helpdesk` is a ticket-based customer support application. Teams can track,
prioritize, and solve customer issues from their pipeline, which is organized in customizable
stages. Multiple teams can be configured and managed in one dashboard.
Helpdesk teams provide your customers with support to queries or errors they might encounter while
using your product/service. Therefore, a successful scheme where you can organize multiple teams
with their customized pipeline, visibilities settings, and ticket traceability is essential.
Create Helpdesk teams
=====================
Set up teams
============
Setting up multiple teams allows for tickets to be grouped by location or by support type.
| To modify or create teams, go to :menuselection:`Helpdesk --> Configuration --> Helpdesk Teams`.
| Setting up multiple teams allows you to group tickets by your channels (example: BE/US), or by
your support services' types (example: IT, accounting, admin, etc.).
To view or modify *Helpdesk* teams, go to :menuselection:`Helpdesk --> Configuration --> Teams`. To
create a new team, click on the :guilabel:`New` button in the top left of the dashboard. From there,
name the new team, and fill out the remaining fields as defined in the following sections on the
form.
.. image:: getting_started/helpdesk-teams-list.png
.. image:: getting_started/helpdesk_teams_view.png
:align: center
:alt: View of the Helpdesk teams page in Odoo Helpdesk
:alt: View of the helpdesk teams page in Odoo Helpdesk
Assignment & Visibility
-----------------------
Teams productivity and visibility
----------------------------------
Determine to whom the team will be visible
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Teams can have individual *Assignment Methods* to ensure that tickets get redirected to the right
person:
Under the :guilabel:`Visibility` section, determine who can view this team and its tickets.
- *Manually*: tickets are manually assigned, allowing employees to manage their own workload and
target tickets they are experts at;
- *Random*: tickets are randomly assigned and everyone gets the same amount. This method ensures
that all tickets are handled as the assignment happens automatically;
- *Balanced*: tickets are assigned to the person with the least amount of tickets so that everyone
fairly gets the same amount. Thereby, you ensure that all tickets get to be taken care of.
- :guilabel:`Invited internal users` have access to the team and tickets they are following. This
can be modified on each individual ticket.
- :guilabel:`All internal users` have access to the team and all of its tickets without being a
follower.
- :guilabel:`Invited portal users and all internal users` have access to the team without being a
follower. Portal users will only be able to access tickets that they are following.
.. example::
A `Customer Support` team intended to handle general issues with shipping and product issues
would have the visibility setting :guilabel:`Invited portal users and all internal users`.
However, a `Financial Services` team handling tickets related to accounting or tax information
would only need to be visible to :guilabel:`Invited internal users`.
Automatically assign new tickets
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
When tickets are received, they will need to be assigned to a member of the support team. This can
be done manually on each ticket individually, or through :guilabel:`Automatic Assignment`. Check the
box next to :guilabel:`Automatic Assignment` to enable the feature for this team.
.. image:: getting_started/assignment-visibility.png
.. image:: getting_started/productivity_visibility.png
:align: center
:alt: View of a Helpdesk team settings page emphasizing the assignment and visibility features
:alt: View of a helpdesk team settings page emphasizing the productivity and visibility features
in Odoo Helpdesk
Select one of the following assignment methods, based on how workload should be allocated across
the team:
| For the *Random* and *Balanced* assignment methods, you can set the *Team Members* among
whom tickets are assigned. Leave the field empty to include all employees (with the proper
access rights).
| The *Team Visibility* feature allows you to specify who can see and access the teams tickets.
Therefore, tickets with sensible information are only seen by the right people.
Leave the field empty to include all employees (with the proper access rights).
- :guilabel:`Each user is assigned an equal number of tickets` assigns tickets to team members
based on total ticket count, regardless of the number of open or closed tickets they are
currently assigned.
- :guilabel:`Each user has an equal number of open tickets` assigned tickets to team members based
on how many open tickets they are currently assigned. This option is useful for automatically
delegating a heavier workload to high-performers who tend to close tickets quickly.
Set up stages and share it among teams
======================================
Finally, add the :guilabel:`Team Members` who will be assigned tickets for this team. Leave the
field empty to include all employees who have the proper assignments and access rights configured in
their user account settings.
To set up stages, go to :menuselection:`Helpdesk --> Configuration --> Stages`. Then, create and/or
edit stages as you need and set specific teams to use certain stages under *Team*.
.. note::
If an employee has time off scheduled in the :guilabel:`Time Off` application, they will not be
assigned tickets during that time. If no employees are available, the system will look ahead
until there is a match.
.. image:: getting_started/stages_teams.png
:align: center
:alt: View of a stages setting page emphasizing the option to add teams in Odoo Helpdesk
Stages can be shared between one or multiple teams, allowing you to adapt the pipeline to your
individual needs. They also apply a visibility and access rule, as other teams are not able to see
or use the stage.
.. image:: getting_started/helpdesk_kanbanview.png
:align: center
:alt: View of a teams kanban view in Odoo Helpdesk
.. seealso::
- :ref:`Manage users <users/add-individual>`
- :doc:`Access rights </applications/general/users/access_rights>`
Create or modify kanban stages
==============================
:guilabel:`Stages` are used to organize the *Helpdesk* pipeline and track the progress of tickets.
Stages are customizable, and can be renamed to fit the needs of each team.
To view or modify *Helpdesk* stages, go to :menuselection:`Helpdesk --> Configuration --> Stages`.
.. important::
:ref:`Developer mode <developer-mode>` must be activated in order to access the stages menu. To
activate developer mode go to :menuselection:`Settings --> General Settings --> Developer Tools`
and click on :guilabel:`Activate the developer mode`.
The list view shows an overview of all the stages currently available in Helpdesk. They are listed
in the order they appear in the pipeline. To change the order of the stages, use the arrow buttons
on the left side of the list.
.. tip::
Change the stage order on the kanban view by dragging and dropping individual columns.
.. image:: getting_started/stages-create-new.png
:align: center
:alt: View of the stage list page emphasizing the option to create a new stage
To create a new stage, click on the :guilabel:`New` button in the top left of the dashboard.
Next, choose a name for the new stage, and add a description (though it is not required).
Fill out the remaining fields following the steps below.
.. image:: getting_started/stage-settings.png
:align: center
:alt: View of a stage's settings page in Odoo Helpdesk
Add email and SMS templates to stages
-------------------------------------
When an :guilabel:`Email Template` is added to a stage, an email is automatically sent to the the
customer when a ticket reaches that specific stage in the helpdesk pipeline. Likewise, adding an
:guilabel:`SMS Template` will result in an SMS text message being sent to the customer.
.. important::
SMS Text Messaging is an In-App Purchase (IAP) service that requires prepaid credits to work.
Refer to `SMS Pricing FAQ <https://iap-services.odoo.com/iap/sms/pricing>`_ for additional
information.
To select an existing email template, select it from the :guilabel:`Email Template` field. Click on
the arrow key to the right of the field to edit the template.
To create a new template, click the field and begin typing a new template title. Then select
:guilabel:`Create and edit`, and complete the form details.
Follow the same steps to select, edit, or create an :guilabel:`SMS Template`.
.. image:: getting_started/sms-template.png
:align: center
:alt: View of an SMS template setup page in Odoo Helpdesk
.. seealso::
:doc:`/applications/general/email_communication/email_template`
Assign stages to a team
-----------------------
Make a selection in the :guilabel:`Teams` field on the :guilabel:`Stages` form. More than one team
may be selected, since the same stage(s) can be assigned to multiple teams.
.. image:: getting_started/stages-settings-sharing.png
:align: center
:alt: View of stage setup emphasizing teams field
Fold a stage
------------
Check the :guilabel:`Folded in Kanban` box on the :guilabel:`Stages` form to display this stage as
*folded* by default in the kanban view for this team.
.. warning::
Tickets that reach a *folded* stage are considered closed. Closing a ticket before the work is
completed can result in reporting and communication issues. This setting should only be enabled
for stages that are considered *closing* stages.
Alternatively, stages can be temporarily folded in the kanban view, by clicking on the settings
icon and selecting :guilabel:`Fold`.
.. note::
Manually folding a stage from the kanban view will not close the tickets in the stage.
- :doc:`/applications/general/users`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Some files were not shown because too many files have changed in this diff Show More