Compare commits
30 Commits
master-js-
...
saas-16.2-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c6105bcf24 | ||
|
|
c91ea3d251 | ||
|
|
9878b58a04 | ||
|
|
fdea740edc | ||
|
|
a8deaf9594 | ||
|
|
4914c45d88 | ||
|
|
6757b2691b | ||
|
|
11b2c5250b | ||
|
|
d6acaf70c1 | ||
|
|
ec40c817da | ||
|
|
69248346db | ||
|
|
c69cb37be3 | ||
|
|
19288088f9 | ||
|
|
24f4348a46 | ||
|
|
dc2a988173 | ||
|
|
9fb4c01b19 | ||
|
|
7effc12f02 | ||
|
|
0d6466fbbf | ||
|
|
9651908b73 | ||
|
|
5c89a56634 | ||
|
|
7c4efb6fa9 | ||
|
|
7c8b8269eb | ||
|
|
ccd282023a | ||
|
|
19b4797d37 | ||
|
|
6def5713d3 | ||
|
|
cc997535b2 | ||
|
|
cb06fb7687 | ||
|
|
a18fe9a25b | ||
|
|
3f0a7cd34e | ||
|
|
aeed9418b4 |
2
Makefile
@@ -26,7 +26,7 @@ SOURCE_DIR = content
|
|||||||
|
|
||||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||||
ifdef VERSIONS
|
ifdef VERSIONS
|
||||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.2
|
||||||
endif
|
endif
|
||||||
ifneq ($(CURRENT_LANG),en)
|
ifneq ($(CURRENT_LANG),en)
|
||||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||||
|
|||||||
14
conf.py
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
|||||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||||
# also used in various other places throughout the built documents.
|
# also used in various other places throughout the built documents.
|
||||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||||
version = release = 'master'
|
version = release = 'saas-16.2'
|
||||||
|
|
||||||
# `current_branch` is the technical name of the current branch.
|
# `current_branch` is the technical name of the current branch.
|
||||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||||
@@ -213,6 +213,8 @@ 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.
|
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||||
versions_names = {
|
versions_names = {
|
||||||
'master': "Master",
|
'master': "Master",
|
||||||
|
'saas-16.2': "Odoo Online",
|
||||||
|
'saas-16.1': "Odoo Online",
|
||||||
'16.0': "Odoo 16",
|
'16.0': "Odoo 16",
|
||||||
'saas-15.2': "Odoo Online",
|
'saas-15.2': "Odoo Online",
|
||||||
'15.0': "Odoo 15",
|
'15.0': "Odoo 15",
|
||||||
@@ -317,6 +319,12 @@ latex_documents = [
|
|||||||
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
|
'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.
|
# 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'
|
latex_logo = 'static/img/odoo_logo.png'
|
||||||
|
|
||||||
@@ -445,6 +453,10 @@ 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):
|
def _build_url(_version=None, _lang=None):
|
||||||
if app.config.is_remote_build:
|
if app.config.is_remote_build:
|
||||||
# Project root like https://www.odoo.com/documentation
|
# Project root like https://www.odoo.com/documentation
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ personal email address or an address created by a custom domain.
|
|||||||
`Microsoft Learn: Register an application with the Microsoft identity platform
|
`Microsoft Learn: Register an application with the Microsoft identity platform
|
||||||
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
|
<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
|
Setup in Microsoft Azure Portal
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ email address or an address created by a custom domain.
|
|||||||
For more information, visit `Google's documentation
|
For more information, visit `Google's documentation
|
||||||
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
|
<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
|
Setup in Google
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
|||||||
@@ -26,9 +26,13 @@ This matrix shows the support status of every version.
|
|||||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
| | 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 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | January 2023 |
|
| Odoo saas~15.2 | |red| | N/A | N/A | March 2022 | January 2023 |
|
||||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
|
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
|
||||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||||
|
|||||||
@@ -18,6 +18,7 @@ Discover our user guides and configuration tutorials per application.
|
|||||||
applications/sales
|
applications/sales
|
||||||
applications/websites
|
applications/websites
|
||||||
applications/inventory_and_mrp
|
applications/inventory_and_mrp
|
||||||
|
applications/hr
|
||||||
applications/marketing
|
applications/marketing
|
||||||
applications/services
|
applications/services
|
||||||
applications/productivity
|
applications/productivity
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ Bank and cash
|
|||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
bank/setup
|
bank/setup
|
||||||
bank/feeds
|
bank/bank_synchronization
|
||||||
|
bank/transactions
|
||||||
bank/reconciliation
|
bank/reconciliation
|
||||||
bank/interbank
|
bank/interbank
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
======================================
|
:show-content:
|
||||||
Bank synchronization: automatic import
|
|
||||||
======================================
|
====================
|
||||||
|
Bank synchronization
|
||||||
|
====================
|
||||||
|
|
||||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||||
automatically into your database.
|
automatically into your database.
|
||||||
@@ -15,9 +17,12 @@ To connect to the banks, Odoo uses multiple web-services:
|
|||||||
|
|
||||||
- **Plaid**: United States of America and Canada
|
- **Plaid**: United States of America and Canada
|
||||||
- **Yodlee**: Worldwide
|
- **Yodlee**: Worldwide
|
||||||
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
|
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
|
||||||
- **Ponto**: Europe (:doc:`more information <ponto>`)
|
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
|
||||||
- **EnableBanking**: Scandinavian countries
|
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
:doc:`transactions`
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
@@ -196,7 +201,9 @@ You can update your credentials by going to :menuselection:`Accounting Dashboard
|
|||||||
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
|
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
|
||||||
credentials and click on the :guilabel:`Update Credentials` button.
|
credentials and click on the :guilabel:`Update Credentials` button.
|
||||||
|
|
||||||
.. seealso::
|
.. toctree::
|
||||||
* :doc:`bank_statements`
|
:titlesonly:
|
||||||
* :doc:`ponto`
|
|
||||||
* :doc:`saltedge`
|
bank_synchronization/saltedge
|
||||||
|
bank_synchronization/ponto
|
||||||
|
bank_synchronization/enablebanking
|
||||||
@@ -0,0 +1,36 @@
|
|||||||
|
==============
|
||||||
|
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.
|
||||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -1,6 +1,6 @@
|
|||||||
======================================
|
=====
|
||||||
Ponto as bank synchronization provider
|
Ponto
|
||||||
======================================
|
=====
|
||||||
|
|
||||||
**Ponto** is a service that allows companies and professionals to aggregate their accounts in one
|
**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
|
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
|
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>`_.
|
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
|
||||||
|
|
||||||
.. note::
|
.. seealso::
|
||||||
You can find more information about bank synchronization :doc:`on this page
|
- :doc:`../bank_synchronization`
|
||||||
<bank_synchronization>`.
|
- :doc:`../transactions`
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
@@ -115,10 +115,3 @@ and we advise you to contact Ponto directly.
|
|||||||
.. important::
|
.. important::
|
||||||
Using an institution in beta is beneficial for Ponto, it allows them to have real
|
Using an institution in beta is beneficial for Ponto, it allows them to have real
|
||||||
feedback on the connection with the institution.
|
feedback on the connection with the institution.
|
||||||
|
|
||||||
|
|
||||||
.. seealso::
|
|
||||||
|
|
||||||
* :doc:`bank_synchronization`
|
|
||||||
* :doc:`saltedge`
|
|
||||||
* :doc:`bank_statements`
|
|
||||||
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,6 +1,6 @@
|
|||||||
==========================================
|
=========
|
||||||
Salt Edge as bank synchronization provider
|
Salt Edge
|
||||||
==========================================
|
=========
|
||||||
|
|
||||||
**Salt Edge** is a third-party provider that aggregates banking information
|
**Salt Edge** is a third-party provider that aggregates banking information
|
||||||
from your bank accounts. It supports ~5000 institutions in more than 50
|
from your bank accounts. It supports ~5000 institutions in more than 50
|
||||||
@@ -8,12 +8,15 @@ countries.
|
|||||||
|
|
||||||
.. image:: saltedge/saltedge-logo.png
|
.. image:: saltedge/saltedge-logo.png
|
||||||
:align: center
|
:align: center
|
||||||
|
:width: 50%
|
||||||
:alt: Salt Edge Logo
|
:alt: Salt Edge Logo
|
||||||
|
|
||||||
Odoo can synchronize directly with your bank to get all bank statements imported
|
Odoo can synchronize directly with your bank to get all bank statements imported
|
||||||
automatically into your database.
|
automatically into your database.
|
||||||
|
|
||||||
Salt Edge is a free third-party provider.
|
.. seealso::
|
||||||
|
- :doc:`../bank_synchronization`
|
||||||
|
- :doc:`../transactions`
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
@@ -103,9 +106,3 @@ 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
|
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
|
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
|
||||||
*Update Credentials* to reactivate the connection.
|
*Update Credentials* to reactivate the connection.
|
||||||
|
|
||||||
.. seealso::
|
|
||||||
|
|
||||||
* :doc:`bank_synchronization`
|
|
||||||
* :doc:`ponto`
|
|
||||||
* :doc:`bank_statements`
|
|
||||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -1,13 +0,0 @@
|
|||||||
:nosearch:
|
|
||||||
|
|
||||||
==========
|
|
||||||
Bank feeds
|
|
||||||
==========
|
|
||||||
|
|
||||||
.. toctree::
|
|
||||||
:titlesonly:
|
|
||||||
|
|
||||||
feeds/bank_statements
|
|
||||||
feeds/bank_synchronization
|
|
||||||
feeds/ponto
|
|
||||||
feeds/saltedge
|
|
||||||
@@ -1,62 +0,0 @@
|
|||||||
===============
|
|
||||||
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.
|
|
||||||
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
@@ -91,7 +91,7 @@ Manage and reconcile bank statements
|
|||||||
------------------------------------
|
------------------------------------
|
||||||
|
|
||||||
The next step is to book the bank statements to finalize the transaction by creating,
|
The next step is to book the bank statements to finalize the transaction by creating,
|
||||||
:doc:`importing <feeds/bank_statements>`, or :doc:`synchronizing <feeds/bank_synchronization>` your
|
:doc:`importing <transactions>`, or :doc:`synchronizing <bank_synchronization>` your
|
||||||
:guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
|
:guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
|
||||||
:guilabel:`Reconcile` button.
|
:guilabel:`Reconcile` button.
|
||||||
|
|
||||||
|
|||||||
@@ -125,5 +125,5 @@ line*.
|
|||||||
.. seealso::
|
.. seealso::
|
||||||
|
|
||||||
- :doc:`use_cases`
|
- :doc:`use_cases`
|
||||||
- :doc:`../feeds/bank_synchronization`
|
- :doc:`../bank_synchronization`
|
||||||
- :doc:`../../receivables/customer_invoices/cash_discounts`
|
- :doc:`../../receivables/customer_invoices/cash_discounts`
|
||||||
|
|||||||
@@ -102,4 +102,4 @@ right and validate all related payments :
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
* :doc:`../feeds/bank_synchronization`
|
:doc:`../bank_synchronization`
|
||||||
|
|||||||
@@ -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
|
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
|
allows you to have all your banking data up-to-date and ready for :doc:`reconciliation
|
||||||
<../../bank/reconciliation/use_cases>` with your journal entries.
|
<../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
|
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
|
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.
|
follow the instructions.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
:doc:`../../bank/feeds/bank_synchronization`
|
:doc:`../bank_synchronization`
|
||||||
|
|
||||||
Create a bank account
|
Create a bank account
|
||||||
---------------------
|
---------------------
|
||||||
@@ -83,7 +83,7 @@ You can edit the accounting information and bank account number according to you
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../../others/multi_currency`
|
- :doc:`../../others/multi_currency`
|
||||||
- :doc:`../../bank/feeds/bank_statements`
|
- :doc:`../transactions`
|
||||||
- :doc:`../../bank/setup/outstanding_accounts`
|
- :doc:`../../bank/setup/outstanding_accounts`
|
||||||
|
|
||||||
Suspense account
|
Suspense account
|
||||||
@@ -132,5 +132,5 @@ Bank feeds
|
|||||||
with your database.
|
with your database.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../../bank/feeds/bank_synchronization`
|
- :doc:`../bank_synchronization`
|
||||||
- :doc:`../../bank/feeds/bank_statements`
|
- :doc:`../transactions`
|
||||||
|
|||||||
@@ -0,0 +1,46 @@
|
|||||||
|
============
|
||||||
|
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.
|
||||||
|
After Width: | Height: | Size: 6.2 KiB |
@@ -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.
|
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this feature.
|
:doc:`Click here <../../bank/bank_synchronization>` for more information about this feature.
|
||||||
|
|
||||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
If your Bank Institution can’t 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
|
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::
|
.. seealso::
|
||||||
* :doc:`../../bank/setup/bank_accounts`
|
* :doc:`../../bank/setup/bank_accounts`
|
||||||
* :doc:`chart_of_accounts`
|
* :doc:`chart_of_accounts`
|
||||||
* :doc:`../../bank/feeds/bank_synchronization`
|
* :doc:`../../bank/bank_synchronization`
|
||||||
* :doc:`../../../fiscal_localizations`
|
* :doc:`../../../fiscal_localizations`
|
||||||
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||||
|
|||||||
@@ -26,6 +26,8 @@ They can be applied in various ways:
|
|||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
.. _fiscal_positions/mapping:
|
||||||
|
|
||||||
Tax and Account Mapping
|
Tax and Account Mapping
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,14 @@ Adyen
|
|||||||
`Adyen <https://www.adyen.com/>`_ is a Dutch company that offers several online payment
|
`Adyen <https://www.adyen.com/>`_ is a Dutch company that offers several online payment
|
||||||
possibilities.
|
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
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,10 @@
|
|||||||
=====
|
======================================
|
||||||
OAuth
|
Microsoft Azure sign-in authentication
|
||||||
=====
|
======================================
|
||||||
|
|
||||||
Due to specific requirements in Azure's OAuth implementation,
|
Due to specific requirements in Azure's OAuth implementation, Microsoft Azure OAuth identification
|
||||||
Microsoft Azure OAuth identification is NOT compatible with Odoo at the moment.
|
is NOT compatible with Odoo at the moment.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
|
||||||
|
- :doc:`/administration/maintain/azure_oauth`
|
||||||
|
|||||||
@@ -8,6 +8,10 @@ with their Google account.
|
|||||||
This is particularly helpful if your organization uses Google Workforce and you want the employees
|
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.
|
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:
|
.. _google-sign-in/configuration:
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@@ -42,7 +46,7 @@ OAuth consent screen
|
|||||||
:align: center
|
:align: center
|
||||||
:alt: Google oauth consent selection menu
|
:alt: Google oauth consent selection menu
|
||||||
|
|
||||||
#. Choose one of the options **(Internal / External)** as instructed, and click on *Create*.
|
#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`.
|
||||||
|
|
||||||
.. image:: google/consent.png
|
.. image:: google/consent.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|||||||
@@ -5,6 +5,10 @@ Synchronize Google Calendar with Odoo
|
|||||||
Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go
|
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.
|
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
|
Setup in Google
|
||||||
===============
|
===============
|
||||||
|
|
||||||
|
|||||||
@@ -5,6 +5,10 @@ Synchronize Outlook Calendar with Odoo
|
|||||||
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
|
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
|
||||||
appointments across all related applications.
|
appointments across all related applications.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
- :doc:`/applications/general/auth/azure`
|
||||||
|
- :doc:`/administration/maintain/azure_oauth`
|
||||||
|
|
||||||
Register the application with Microsoft Azure
|
Register the application with Microsoft Azure
|
||||||
=============================================
|
=============================================
|
||||||
|
|
||||||
|
|||||||
9
content/applications/hr.rst
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
:nosearch:
|
||||||
|
|
||||||
|
===============
|
||||||
|
Human resources
|
||||||
|
===============
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
|
||||||
|
hr/attendances
|
||||||
19
content/applications/hr/attendances.rst
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
: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
|
||||||
57
content/applications/hr/attendances/hardware.rst
Normal file
@@ -0,0 +1,57 @@
|
|||||||
|
========
|
||||||
|
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.
|
||||||
BIN
content/applications/hr/attendances/hardware/rfid-reader.jpg
Normal file
|
After Width: | Height: | Size: 34 KiB |
@@ -11,4 +11,3 @@ Valuation Methods
|
|||||||
reporting/inventory_valuation_config
|
reporting/inventory_valuation_config
|
||||||
reporting/using_inventory_valuation
|
reporting/using_inventory_valuation
|
||||||
reporting/integrating_landed_costs
|
reporting/integrating_landed_costs
|
||||||
/applications/finance/accounting/others/inventory/avg_price_valuation
|
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
=================================
|
=================================
|
||||||
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
|
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
|
be reflected in the company's accounting records to accurately show the value of the company and
|
||||||
all of its assets.
|
all of its assets.
|
||||||
@@ -27,32 +29,32 @@ between locations in a company's inventory.
|
|||||||
need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing
|
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.
|
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::
|
.. tip::
|
||||||
Verify the accounting mode by activating the :ref:`developer-mode`
|
Verify the accounting mode by activating the :ref:`developer-mode` and navigating to
|
||||||
and navigating to :menuselection:`Accounting --> Configuration --> Settings`.
|
: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
|
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
|
invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are
|
||||||
both Asset Accounts in the Balance Sheet.
|
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
|
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
|
stock. Additionally, a single *Expense* account is used for both input and output accounts in
|
||||||
the Balance Sheet.
|
the balance sheet.
|
||||||
|
|
||||||
Costing Methods
|
Costing methods
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Below are the three costing methods that can be used in Odoo for inventory valuation.
|
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
|
- **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
|
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.
|
form.
|
||||||
- **Average Cost (AVCO)**: calculates the valuation of a product based on the average cost of that
|
- **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,
|
product, divided by the total number of available stock on-hand. With this costing method,
|
||||||
@@ -81,10 +83,11 @@ valuation method should apply.
|
|||||||
Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and
|
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
|
: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
|
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::
|
.. seealso::
|
||||||
:doc:`Using the inventory valuation <using_inventory_valuation>`
|
:doc:`Using the inventory valuation
|
||||||
|
</applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation>`
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical
|
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical
|
||||||
|
|||||||
@@ -1,77 +1,130 @@
|
|||||||
=============================
|
=========================
|
||||||
Using the inventory valuation
|
Using inventory valuation
|
||||||
=============================
|
=========================
|
||||||
|
|
||||||
Inventory valuation refers to how you value your stock. It’s a very
|
*Inventory valuation* is a quintessential accounting procedure that calculates the value of on-hand
|
||||||
important aspect of a business as the inventory can be the biggest asset
|
stock. Once determined, the inventory valuation amount is then incorporated into a company's overall
|
||||||
of a company.
|
value.
|
||||||
|
|
||||||
In this documentation, we will explain how the inventory valuation works
|
In Odoo, this process can be conducted manually— by warehouse employees physically counting the
|
||||||
in Odoo.
|
products— or automatically through the database.
|
||||||
|
|
||||||
Inventory valuation: the basics
|
.. 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.
|
||||||
|
|
||||||
Receive a product
|
Receive a product
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
Each time a product enters or leaves your stock, the value of your
|
For example, consider an physical product, a simple *table*, which is categorized as `Office
|
||||||
inventory is impacted. The way it is impacted depends on the
|
Furniture` in the product form's :guilabel:`Product Category` field.
|
||||||
configuration of your product (more info here).
|
|
||||||
|
|
||||||
Let’s take an example with a product - a table - configured with a
|
Navigate to the the product category itself by going to :menuselection:`Inventory app -->
|
||||||
*FIFO costing method* and an automated inventory valuation.
|
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`.
|
||||||
I purchase 10 tables at a cost of $10.
|
|
||||||
|
|
||||||
.. image:: using_inventory_valuation/use_inventory_valuation_01.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
When I’ll 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::
|
.. tip::
|
||||||
The consignment feature allows you to set owners on your stock (discover
|
Alternatively access the :guilabel:`Product Categories` dashboard by clicking on the
|
||||||
more about the consignment feature). When you receive products that are
|
:guilabel:`internal link` arrow on the individual product's form, by hovering over the
|
||||||
owned by another company, they are not taken into account in your
|
:guilabel:`Product Category` field.
|
||||||
inventory valuation.
|
|
||||||
|
|
||||||
.. image:: using_inventory_valuation/use_inventory_valuation_02.png
|
Next, assume 10 tables are purchased at a price of $10.00, each. The :abbr:`PO (Purchase Order)` for
|
||||||
:align: center
|
those tables will show the subtotal of the purchase as $100, plus any additional costs or taxes.
|
||||||
|
|
||||||
.. note::
|
.. image:: using_inventory_valuation/purchase-order.png
|
||||||
You need access rights on the accounting module to see that button.
|
:align: center
|
||||||
|
:alt: Purchase order with 10 tables products valued at $10 each.
|
||||||
|
|
||||||
In this case, I can see that the 10 tables entered the stock for a total
|
After selecting :guilabel:`Validate` on the :abbr:`PO (Purchase Order)`, use the
|
||||||
value of $100.
|
:guilabel:`Valuation` smart button to view how the value of inventory was impacted.
|
||||||
|
|
||||||
.. image:: using_inventory_valuation/use_inventory_valuation_03.png
|
.. image:: using_inventory_valuation/valuation-smart-button.png
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Valuation smart button on a receipt.
|
||||||
|
|
||||||
I can also easily access the accounting entry that has been generated
|
.. important::
|
||||||
(in case of automated inventory valuation).
|
:ref:`Developer mode <developer-mode>` must be turned on to see the *Valuation* smart button.
|
||||||
|
|
||||||
.. image:: using_inventory_valuation/use_inventory_valuation_04.png
|
.. tip::
|
||||||
:align: center
|
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.
|
||||||
|
|
||||||
Deliver a product
|
Deliver a product
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
In the same logic, when a table will be delivered, the stock valuation
|
In the same logic, when a table is shipped to a customer and leaves the warehouse, the stock
|
||||||
will be impacted and you will have access to a similar information.
|
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)`
|
||||||
|
|
||||||
.. image:: using_inventory_valuation/use_inventory_valuation_05.png
|
.. image:: using_inventory_valuation/decreased-stock-valuation.png
|
||||||
:align: center
|
:align: center
|
||||||
|
:alt: Decreased stock valuation after a product is shipped.
|
||||||
|
|
||||||
The inventory valuation report
|
The inventory valuation report
|
||||||
------------------------------
|
------------------------------
|
||||||
|
|
||||||
The summary of this is accessible via the inventory valuation report
|
To view the current value of all products in the warehouse, go to :menuselection:`Inventory app -->
|
||||||
(accessible from :menuselection:`Inventory --> Reporting --> Inventory Valuation`). It gives
|
Reporting --> Inventory Valuation`. The records in the table are organized by product, and selecting
|
||||||
you, product per product, the value of your stock. By clicking on the
|
a product's drop-down menu displays detailed records with the :guilabel:`Date`,
|
||||||
button *Inventory At Date*, you can have the same information for a
|
:guilabel:`Quantity`, and :guilabel:`Total Value` of the inventory.
|
||||||
past date.
|
|
||||||
|
|
||||||
.. image:: using_inventory_valuation/use_inventory_valuation_06.png
|
.. image:: using_inventory_valuation/inventory-valuation-products.png
|
||||||
:align: center
|
: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.
|
||||||
|
|||||||
|
After Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 3.5 KiB After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 50 KiB |
@@ -89,6 +89,8 @@ 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
|
orders and their products are grouped in one transfer, whereas the packing operation respects the
|
||||||
grouping per customer order.
|
grouping per customer order.
|
||||||
|
|
||||||
|
.. _use-routes/routes-rules:
|
||||||
|
|
||||||
Use routes and rules
|
Use routes and rules
|
||||||
====================
|
====================
|
||||||
|
|
||||||
|
|||||||
@@ -27,7 +27,9 @@ needed.
|
|||||||
in the Odoo database.
|
in the Odoo database.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
Odoo integration of Sendcloud does **not** work on free plans of Sendcloud.
|
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.
|
||||||
|
|
||||||
Warehouse configuration
|
Warehouse configuration
|
||||||
-----------------------
|
-----------------------
|
||||||
@@ -143,7 +145,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 Shipping Product`: `DPD Return 0-20kg`
|
||||||
| :guilabel:`Return Carrier`: `DPD`
|
| :guilabel:`Return Carrier`: `DPD`
|
||||||
| :guilabel:`Return Minimum Weight`: `0.00`
|
| :guilabel:`Return Minimum Weight`: `0.00`
|
||||||
| :guilabel:`Return Minimum Weight`: `20.00`
|
| :guilabel:`Return Maximum Weight`: `20.00`
|
||||||
| :guilabel:`Return Countries`: `Belgium` `Netherlands`
|
| :guilabel:`Return Countries`: `Belgium` `Netherlands`
|
||||||
|
|
||||||
.. image:: sendcloud_shipping/sendcloud-example.png
|
.. image:: sendcloud_shipping/sendcloud-example.png
|
||||||
|
|||||||
@@ -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
|
Correctly setting up a :abbr:`BoM (Bill of Materials)` helps optimize the manufacturing process and
|
||||||
save time.
|
save time.
|
||||||
|
|
||||||
Set up a bill of baterials (BoM)
|
Set up a bill of materials (BoM)
|
||||||
================================
|
================================
|
||||||
|
|
||||||
The simplest :abbr:`BoM (Bill of Materials)` setup is one without operations or instructions, only
|
The simplest :abbr:`BoM (Bill of Materials)` setup is one without operations or instructions, only
|
||||||
|
|||||||
@@ -116,15 +116,18 @@ 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.
|
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
|
Next, in the ZIP file, go to :menuselection:`mail-client-extensions-master --> gmail`, and open the
|
||||||
file called :guilabel:`README`. Follow the instructions in the :guilabel:`README` file to push the
|
file called :guilabel:`appsscript.json`. In the :guilabel:`urlFetchWhitelist` section, replace all
|
||||||
Gmail Plugin files as a Google Project.
|
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.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The computer must be able to run Linux commands in order to follow the instructions on the
|
The computer must be able to run Linux commands in order to follow the instructions on the
|
||||||
:guilabel:`README` file.
|
:guilabel:`README.md` file.
|
||||||
|
|
||||||
After that, share the Google Project with the Gmail account that the user wishes to connect to
|
After that, share the Google Project with the Gmail account that the user wishes to connect to Odoo.
|
||||||
Odoo. Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click
|
Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click
|
||||||
:guilabel:`Install the add-on` to install the Gmail Plugin.
|
:guilabel:`Install the add-on` to install the Gmail Plugin.
|
||||||
|
|
||||||
Configure the Odoo database
|
Configure the Odoo database
|
||||||
@@ -132,8 +135,7 @@ Configure the Odoo database
|
|||||||
|
|
||||||
The :guilabel:`Mail Plugin` feature must be enabled in the Odoo database in order to use the Gmail
|
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
|
Plugin. To enable the feature, go to :menuselection:`Settings --> General Settings`. Under the
|
||||||
:guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click
|
:guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click :guilabel:`Save`.
|
||||||
:guilabel:`Save`.
|
|
||||||
|
|
||||||
.. image:: gmail/mail-plugin-setting.png
|
.. image:: gmail/mail-plugin-setting.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 39 KiB |
@@ -2,61 +2,61 @@
|
|||||||
Multiple sales teams
|
Multiple sales teams
|
||||||
====================
|
====================
|
||||||
|
|
||||||
Odoo lets you manage several sales teams, departments, or channels, each with their own unique
|
Use the *Sales Teams* feature to manage several sales teams, departments, or channels, each with
|
||||||
sales processes, using *Sales Teams*.
|
their own unique sales processes.
|
||||||
|
|
||||||
|
|
||||||
Create a new Sales Team
|
Create a new sales team
|
||||||
=======================
|
=======================
|
||||||
|
|
||||||
To create a new Sales Team, go to :menuselection:`CRM --> Sales --> Teams` then click
|
To create a new sales team, go to :menuselection:`CRM --> Configuration --> Sales Teams`, then
|
||||||
:guilabel:`Create`.
|
click :guilabel:`Create`.
|
||||||
|
|
||||||
On the creation page, set an :guilabel:`Email Alias` to automatically generate a lead/opportunity
|
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. You can also choose
|
for this sales team every time a message is sent to that unique email address. Choose whether to
|
||||||
whether to accept emails from :guilabel:`Everyone`, :guilabel:`Authenticated Partners`, or
|
accept emails from :guilabel:`Everyone`, :guilabel:`Authenticated Partners`, or :guilabel:`Followers
|
||||||
:guilabel:`Followers Only`.
|
Only`.
|
||||||
|
|
||||||
Set a :guilabel:`Domain` to assign leads/opportunities to this Sales Team based on specific
|
Set an :guilabel:`Invoicing Target` if this team has specific monthly revenue goals. Set a
|
||||||
filters, such as country, language, or campaign. Set an :guilabel:`Invoicing Target` if this team
|
:guilabel:`Domain` to assign leads/opportunities to this sales team based on specific filters, such
|
||||||
has specific monthly revenue goals.
|
as country, language, or campaign.
|
||||||
|
|
||||||
.. image:: multi_sales_team/sales-team-creation.png
|
.. image:: multi_sales_team/sales-team-creation.png
|
||||||
:align: center
|
: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 Assignment tab when editing the Sales Team's
|
To add team members, click :guilabel:`Add` under the :guilabel:`Members` tab when editing the sales
|
||||||
configuration page. Select a salesperson from the dropdown menu or create new salesperson. Set a
|
team's configuration page. Select a salesperson from the drop-down menu or create new salesperson.
|
||||||
maximum number of leads that can be assigned to this salesperson in a 30-day period to ensure that
|
Set a maximum number of leads that can be assigned to this salesperson in a 30-day period to ensure
|
||||||
they do not overwork.
|
that they do not overwork.
|
||||||
|
|
||||||
.. image:: multi_sales_team/add-a-salesperson.png
|
.. image:: multi_sales_team/add-a-salesperson.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Add a Salesperson inside Odoo CRM.
|
:alt: Add a salesperson in Odoo CRM.
|
||||||
|
|
||||||
One person can be added as a team member or Team Leader to multiple Sales Teams, allowing them to
|
One person can be added as a team member or :guilabel:`Team Leader` to multiple sales teams,
|
||||||
access all of the pipelines that they need to.
|
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`. Any teams you are
|
To view the sales team dashboard, go to :menuselection:`CRM --> Sales --> Teams`. Odoo users will
|
||||||
a part of will appear as dashboard tiles.
|
see any teams that they are a part of 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
|
expected revenue, as well as a bar graph of new opportunities per week and an invoicing progress
|
||||||
bar.
|
bar.
|
||||||
|
|
||||||
.. image:: multi_sales_team/sales-team-overview.png
|
.. image:: multi_sales_team/sales-team-overview.png
|
||||||
:align: center
|
: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 you quickly
|
Click on the three dots in the corner of a tile to open a navigational menu that lets users quickly
|
||||||
view documents or reports, create new quotations or opportunities, pick a color for this team, or
|
view documents or reports, create new quotations or opportunities, pick a color for this team, or
|
||||||
access its configuration page.
|
access the team's configuration page.
|
||||||
|
|
||||||
.. image:: multi_sales_team/team-overview-three-dot-menu.png
|
.. image:: multi_sales_team/team-overview-three-dot-menu.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6.1 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,18 +1,16 @@
|
|||||||
|
.. _epos_ssc/ePOS printers:
|
||||||
|
|
||||||
=========================================
|
=========================================
|
||||||
Self-signed certificate for ePOS printers
|
Self-signed certificate for ePOS printers
|
||||||
=========================================
|
=========================================
|
||||||
|
|
||||||
ePos printers are designed specifically to work with your Point of Sale system, which sends the
|
ePOS printers are designed to work seamlessly with Point of Sale systems. Once connected, the two
|
||||||
tickets directly to the printer.
|
devices automatically share information, enabling the direct printing of tickets from the POS system
|
||||||
|
to the ePOS 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::
|
.. note::
|
||||||
Please check the following list of compatible `Epson ePOS printers
|
These `Epson ePOS printers
|
||||||
<https://c4b.epson-biz.com/modules/community/index.php?content_id=91>`_. This list includes the
|
<https://c4b.epson-biz.com/modules/community/index.php?content_id=91>`_ are compatible with Odoo:
|
||||||
following models:
|
|
||||||
|
|
||||||
- TM-H6000IV-DT (Receipt printer only)
|
- TM-H6000IV-DT (Receipt printer only)
|
||||||
- TM-T70II-DT
|
- TM-T70II-DT
|
||||||
@@ -31,56 +29,191 @@ certificate is necessary to use your printer.
|
|||||||
- TM-P60II (Peeler: Wi-Fi® model)
|
- TM-P60II (Peeler: Wi-Fi® model)
|
||||||
- TM-P80 (Wi-Fi® model)
|
- TM-P80 (Wi-Fi® model)
|
||||||
|
|
||||||
Generate a Self-signed certificate
|
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.
|
||||||
|
|
||||||
Access your ePOS printer's settings with your web browser by navigating to its IP address, for
|
.. figure:: epos_ssc/browser-https-insecure.png
|
||||||
example, `http://192.168.1.25`.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
- The printer automatically prints the IP address during startup.
|
|
||||||
- We recommend assigning a **fixed IP address** to the printer from the network router.
|
|
||||||
|
|
||||||
Go to :menuselection:`Authentication --> Certificate List` and create a new **Self-Signed
|
|
||||||
Certificate**.
|
|
||||||
|
|
||||||
- **Common Name**: the IP address of the ePos Printer, for example, `192.168.1.25`
|
|
||||||
- **Validity Period**: `10`
|
|
||||||
|
|
||||||
Create and reboot the printer, go to :menuselection:`Security --> SSL/TLS`, and check if
|
|
||||||
**Selfsigned Certificate** is selected.
|
|
||||||
|
|
||||||
Export the Self-signed certificate
|
|
||||||
==================================
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
Note that the protocol is now **HTTPS**.
|
|
||||||
|
|
||||||
Click on :menuselection:`Connection is not secure --> Certificate is not valid`.
|
|
||||||
|
|
||||||
.. image:: epos_ssc/browser-warning.png
|
|
||||||
:align: center
|
:align: center
|
||||||
:alt: The web browser indicates that the connection to the printer is not secure.
|
:alt: warning page about the connection privacy on Google Chrome
|
||||||
|
|
||||||
Go to the :guilabel:`Details` tab and click on :guilabel:`Export` Select X.509 in base 64 and save it.
|
Warning page on Google Chrome, Windows 10
|
||||||
|
|
||||||
Import the Self-signed certificate to Windows (Using Chrome)
|
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.
|
||||||
|
|
||||||
In your Chrome browser, go to :menuselection:`Settings --> Privacy and security --> Security -->
|
.. note::
|
||||||
Manage certificates`
|
The previous instructions apply to Google Chrome but are similar to other browsers.
|
||||||
|
|
||||||
Go to the :guilabel:`Authorities` tab and click on :guilabel:`Import` and select
|
.. warning::
|
||||||
your previous file. Accept all warnings and restart your browser.
|
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>`.
|
||||||
|
|
||||||
Import the Self-signed certificate to your Android device
|
.. _epos_ssc/instructions:
|
||||||
=========================================================
|
|
||||||
|
|
||||||
On your Android device, open the settings and search for *certificate*. Then, click on **Certificate
|
Generate, export, and import self-signed certificates
|
||||||
AC** (Install from device storage), and select the certificate.
|
=====================================================
|
||||||
|
|
||||||
|
For a long-term solution, you must generate a **self-signed certificate**. Then, export and import
|
||||||
|
it into your browser.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
**Generating** an SSL certificate should only be done **once**. If you create another
|
||||||
|
certificate, devices using the previous one will lose HTTPS access.
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. tab:: Windows 10 & Linux OS
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. tab:: Generate a self-signed certificate
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
.. tab:: Export a self-signed certificate
|
||||||
|
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|||||||
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 21 KiB |
@@ -1,43 +1,51 @@
|
|||||||
============================
|
=================================
|
||||||
Tax rates (fiscal positions)
|
Flexible taxes (fiscal positions)
|
||||||
============================
|
=================================
|
||||||
|
|
||||||
In Odoo, *Fiscal Positions* let you apply different taxes based on
|
When running a business, you may need to apply different taxes and record transactions on various
|
||||||
the customer location. In a *Point of Sale*, such as a restaurant, it can
|
accounts based on the location and type of business of your customers and providers.
|
||||||
be used to apply different taxes depending if the customer eats in or
|
|
||||||
takes away.
|
|
||||||
|
|
||||||
Set up fiscal positions for PoS
|
The **fiscal positions** feature enables you to establish rules that automatically select the right
|
||||||
===============================
|
taxes and accounts used for each transaction.
|
||||||
|
|
||||||
To enable this feature, go to :menuselection:`Point of Sale --> Configuration --> Point of Sale`
|
.. seealso::
|
||||||
and check *Fiscal Position per Order*. Now, you can choose the fiscal positions
|
- :doc:`../../../finance/accounting/taxation/taxes/fiscal_positions`
|
||||||
you want for your *PoS*.
|
- :doc:`../../../finance/accounting/taxation/taxes/taxes`
|
||||||
|
|
||||||
.. image:: fiscal_position/fiscal_position_01.png
|
Configuration
|
||||||
:align: center
|
=============
|
||||||
|
|
||||||
|
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>`.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
You need to create your fiscal positions before using this feature.
|
If you do not set a fiscal position, the tax remains as defined in the **customer taxes** field
|
||||||
|
on the product form.
|
||||||
|
|
||||||
Using fiscal positions
|
Use fiscal positions
|
||||||
======================
|
====================
|
||||||
|
|
||||||
Once on your *PoS* interface, click on the *Tax* button.
|
Open a :ref:`POS session <pos/start-session>` to use one of the allowed fiscal positions. Then,
|
||||||
Now, choose the fiscal position you need for the current order.
|
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.
|
||||||
|
|
||||||
.. image:: fiscal_position/fiscal_position_02.png
|
.. image:: fiscal_position/set-tax.png
|
||||||
:align: center
|
: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::
|
.. note::
|
||||||
Now, the *tax* button is replaced by a *on site* button when on the *PoS* interface.
|
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`
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 6.8 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -2,43 +2,65 @@
|
|||||||
Orders printing
|
Orders printing
|
||||||
===============
|
===============
|
||||||
|
|
||||||
To ease the workflow between the front of house and the back of the
|
Integrating printers in a restaurant or bar's workflow can enhance communication and collaboration
|
||||||
house, printing the orders taken on the PoS interface right in the
|
between the front-of-house and back-of-house teams, leading to a more streamlined and efficient
|
||||||
kitchen or bar can be a tremendous help.
|
service.
|
||||||
|
|
||||||
Activate the bar/kitchen printer
|
Configuration
|
||||||
================================
|
|
||||||
|
|
||||||
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
|
|
||||||
=============
|
=============
|
||||||
|
|
||||||
In your configuration menu you will now have a *Order Printers* option
|
.. _kitchen_printing/enable:
|
||||||
where you can add the printer.
|
|
||||||
|
|
||||||
.. image:: kitchen_printing/kitchen_printing01.png
|
Enable and create printers
|
||||||
:align: center
|
--------------------------
|
||||||
|
|
||||||
Print a kitchen/bar order
|
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.
|
||||||
|
|
||||||
.. image:: kitchen_printing/kitchen_printing02.png
|
To get a list of all the printers already created or to modify an already created printer, click
|
||||||
:align: center
|
:guilabel:`--> Printers` and select the desired printer to open the setup form.
|
||||||
|
|
||||||
Select or create a printer.
|
.. image:: kitchen_printing/printers-settings.png
|
||||||
|
:align: center
|
||||||
|
:alt: settings to enable the kitchen printers
|
||||||
|
|
||||||
Print the order in the kitchen/bar
|
.. _kitchen_printing/setup-form:
|
||||||
==================================
|
|
||||||
|
|
||||||
On your PoS interface, you now have a *Order* button.
|
Setup form
|
||||||
|
----------
|
||||||
|
|
||||||
.. image:: kitchen_printing/kitchen_printing03.png
|
From the :ref:`setup form <kitchen_printing/enable>`, select the :guilabel:`Printer Type` according
|
||||||
:align: center
|
to your installation:
|
||||||
|
|
||||||
When you press it, it will print the order on your kitchen/bar printer.
|
- 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.
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 68 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
@@ -43,5 +43,4 @@ rounding according to your settings.
|
|||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Odoo Point of Sale only support the *Add a rounding line*
|
Odoo Point of Sale only supports the :guilabel:`Add a rounding line` rounding strategy.
|
||||||
rounding strategies and *Half-up* rounding methods.
|
|
||||||
|
|||||||
@@ -15,3 +15,4 @@ Field Service
|
|||||||
|
|
||||||
fsm/sales
|
fsm/sales
|
||||||
fsm/helpdesk
|
fsm/helpdesk
|
||||||
|
fsm/default_warehouse
|
||||||
|
|||||||
42
content/applications/services/fsm/default_warehouse.rst
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
======================
|
||||||
|
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.
|
||||||
|
After Width: | Height: | Size: 6.2 KiB |
@@ -1,64 +1,164 @@
|
|||||||
===============
|
=============================
|
||||||
Getting Started
|
Getting started with Helpdesk
|
||||||
===============
|
=============================
|
||||||
|
|
||||||
Helpdesk teams provide your customers with support to queries or errors they might encounter while
|
Odoo :guilabel:`Helpdesk` is a ticket-based customer support application. Teams can track,
|
||||||
using your product/service. Therefore, a successful scheme where you can organize multiple teams
|
prioritize, and solve customer issues from their pipeline, which is organized in customizable
|
||||||
with their customized pipeline, visibilities settings, and ticket traceability is essential.
|
stages. Multiple teams can be configured and managed in one dashboard.
|
||||||
|
|
||||||
Set up teams
|
Create Helpdesk teams
|
||||||
============
|
=====================
|
||||||
|
|
||||||
| To modify or create teams, go to :menuselection:`Helpdesk --> Configuration --> Helpdesk Teams`.
|
Setting up multiple teams allows for tickets to be grouped by location or by support type.
|
||||||
| 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.).
|
|
||||||
|
|
||||||
.. image:: getting_started/helpdesk_teams_view.png
|
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
|
||||||
:align: center
|
:align: center
|
||||||
:alt: View of the helpdesk teams page in Odoo Helpdesk
|
:alt: View of the Helpdesk teams page in Odoo Helpdesk
|
||||||
|
|
||||||
Team’s productivity and visibility
|
Assignment & Visibility
|
||||||
----------------------------------
|
-----------------------
|
||||||
|
|
||||||
Teams can have individual *Assignment Methods* to ensure that tickets get redirected to the right
|
Determine to whom the team will be visible
|
||||||
person:
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
- *Manually*: tickets are manually assigned, allowing employees to manage their own workload and
|
Under the :guilabel:`Visibility` section, determine who can view this team and its tickets.
|
||||||
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.
|
|
||||||
|
|
||||||
.. image:: getting_started/productivity_visibility.png
|
- :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
|
||||||
:align: center
|
:align: center
|
||||||
:alt: View of a helpdesk team settings page emphasizing the productivity and visibility features
|
:alt: View of a Helpdesk team settings page emphasizing the assignment and visibility features
|
||||||
in Odoo Helpdesk
|
in Odoo Helpdesk
|
||||||
|
|
||||||
| For the *Random* and *Balanced* assignment methods, you can set the *Team Members* among
|
Select one of the following assignment methods, based on how workload should be allocated across
|
||||||
whom tickets are assigned. Leave the field empty to include all employees (with the proper
|
the team:
|
||||||
access rights).
|
|
||||||
| The *Team Visibility* feature allows you to specify who can see and access the team’s tickets.
|
|
||||||
Therefore, ticket’s with sensible information are only seen by the right people.
|
|
||||||
Leave the field empty to include all employees (with the proper access rights).
|
|
||||||
|
|
||||||
Set up stages and share it among teams
|
- :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.
|
||||||
|
|
||||||
To set up stages, go to :menuselection:`Helpdesk --> Configuration --> Stages`. Then, create and/or
|
Finally, add the :guilabel:`Team Members` who will be assigned tickets for this team. Leave the
|
||||||
edit stages as you need and set specific teams to use certain stages under *Team*.
|
field empty to include all employees who have the proper assignments and access rights configured in
|
||||||
|
their user account settings.
|
||||||
|
|
||||||
.. image:: getting_started/stages_teams.png
|
.. note::
|
||||||
:align: center
|
If an employee has time off scheduled in the :guilabel:`Time Off` application, they will not be
|
||||||
:alt: View of a stage’s setting page emphasizing the option to add teams in Odoo Helpdesk
|
assigned tickets during that time. If no employees are available, the system will look ahead
|
||||||
|
until there is a match.
|
||||||
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 team’s kanban view in Odoo Helpdesk
|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`/applications/general/users`
|
- :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.
|
||||||
|
|||||||
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 66 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 8.8 KiB |