Compare commits

...

30 Commits

Author SHA1 Message Date
fdardenne
c6105bcf24 [IMP] create JavaScript howtos
The JavaScript cheatsheet is outdated, we therefore remove it and
replace it by multiple howtos:

- Create a view from scratch
- Extending an existing view
- Create a field from scratch
- Extend an existing field
- Create a client action

There is other subjects to introduce as the web framework is big. Other
future contributions will cover them.

X-original-commit: 7e4435deb8
2023-04-04 17:16:15 +02:00
oskarenablebanking
c91ea3d251 [ADD] accounting: enablebanking
task-3232701

closes odoo/documentation#4001

X-original-commit: cc194eb979
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-03 20:02:15 +02:00
Jonathan Castillo (jcs)
9878b58a04 [MOV] accounting: structure of bank sync docs
X-original-commit: d694c6c9f5
Part-of: odoo/documentation#4001
2023-04-03 20:02:15 +02:00
Zuzanna Luczynska
fdea740edc [ADD] field service: default warehouse
task-2948598

closes odoo/documentation#3998

X-original-commit: 40ef1a26f9
Signed-off-by: zulu-odoo <zulu@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-03 18:26:24 +02:00
Benoit Socias
a8deaf9594 [IMP] tutorials: add warning about mutable global variables
The whole concept of multi-tenancy is not really approached within the
tutorial.

This commit adds a warning about never using mutable global variables
within odoo to seed the idea in the reader's mind.

task-3059110

closes odoo/documentation#3990

X-original-commit: 1ce7166f49
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-04-03 15:01:46 +02:00
“Audrey
4914c45d88 [IMP] Website: review website translation page
task-3255779

closes odoo/documentation#3977

X-original-commit: 67bada80e6
Signed-off-by: auva-odoo <auva@odoo.com>
2023-04-03 10:53:02 +02:00
Felicious
6757b2691b [IMP]: add manual valuation section
Add images and manual valuation

add ref tag and retitle doc to sentence case

Remove trailing whitespaces

update explanation

closes odoo/documentation#3983

X-original-commit: 71ede7a3d4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-01 04:55:39 +02:00
Tom Aarab (toaa)
11b2c5250b [IMP] Adyen: additional minimum requirements for users
Adding requirements for users to use Adyen. Forward to master.

closes odoo/documentation#3962

Taskid: 3159712
X-original-commit: 9b0a54b7f2
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-30 08:37:51 +02:00
Loan (lse)
d6acaf70c1 [IMP] ePoS: vulgarise the SSL ePos issue
SSL/HTTPS topic is complicated for most of
Odoo customers as it is quite technical.

This PR should help them guide them to better
understand the issue and how to fix it themselves.

Support can't be provided to each device, browsers and OS.
But we did add some guides regarding the more
"popular" ones and some "keyword" to search
online for the others.

closes odoo/documentation#3924

X-original-commit: 415a817c57
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Co-authored-by: Loredana Perazzo <lrpz@odoo.com>
2023-03-29 22:53:50 +02:00
Xavier
ec40c817da [ADD] attendances: hr and attendances categories + hardware page
Task ID: 3251124

closes odoo/documentation#3959

X-original-commit: 0124878dd4
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-29 21:45:52 +02:00
Loredana Perazzo
69248346db [IMP] pos: update fiscal positions page
Task ID: 2862506

closes odoo/documentation#3927

X-original-commit: 4a7acf8c02
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-29 08:32:22 +02:00
Melanie Nguyen (meng)
c69cb37be3 [IMP] mail plugins: add instructions to gmail plugin
closes odoo/documentation#3946

X-original-commit: 404d524deb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 04:39:48 +02:00
Melanie Nguyen (meng)
19288088f9 [IMP] sales: menuselection fix
Fixed a menuselection error and deleted instances of second-person pov
Closes task 3116083

closes odoo/documentation#3941

X-original-commit: f30f6d2003
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 03:40:34 +02:00
Timothy Kukulka (tiku)
24f4348a46 [IMP] General: Oauth seemore additions
closes odoo/documentation#3936

X-original-commit: aa4e5d7a01
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 03:40:27 +02:00
Antoine Vandevenne (anv)
dc2a988173 [IMP] supported_version: release saas-16.2
closes odoo/documentation#3908

X-original-commit: c9f53c5b88
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-28 17:09:42 +02:00
Felicious
9fb4c01b19 [FIX] inventory: fix BoM typo
closes odoo/documentation#3912

X-original-commit: f2010faafc
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-28 01:05:34 +02:00
Nicolas (vin)
7effc12f02 [IMP] coding_guidelines: fix python code indents
A few python code blocks on the coding guidelines are indented twice
(8 spaces instead of 4), which is not correct.

closes odoo/documentation#3905

X-original-commit: 16176fb508
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-03-27 18:37:39 +02:00
“Chiara
0d6466fbbf [IMP] accounting: bank transactions
task-3204835

closes odoo/documentation#3896

X-original-commit: e89211e451
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-27 15:20:00 +02:00
Jess Rogers (jero)
9651908b73 [IMP] helpdesk: updated ticketing channels setup
closes odoo/documentation#3879

X-original-commit: ab0d9c239d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-26 10:09:56 +02:00
Timothy Kukulka (tiku)
5c89a56634 [IMP] Support: Update What can I expect
closes odoo/documentation#3885

X-original-commit: 406e12822e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-26 09:12:04 +02:00
LoredanaLrpz
7c4efb6fa9 [IMP] pos: and update kitchen printing
Task ID: 3235139

closes odoo/documentation#3874

X-original-commit: e6fd7db226
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-25 01:02:02 +01:00
Jess Rogers (jero)
7c8b8269eb [IMP] helpdesk: updated teams and stages setup content
closes odoo/documentation#3869

X-original-commit: da2e4a1a60
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-25 01:01:42 +01:00
Brandon Seltenrich (BRSE)
ccd282023a [IMP] inventory: fix sendcloud doc
closes odoo/documentation#3870

X-original-commit: b9453515a0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-03-24 18:07:45 +01:00
Olivier Dony
19b4797d37 [FIX] legal: fix some broken links (pdfs, translations)
1) PDF files are generated and stored at the root of the CURRENT_BRANCH
directory. The links to those files are generated at different levels of
the doctree, which makes it impossible to use a relative path.
For example the same "Enterprise Agreement" doc in EN is published on:
 - /16.0/legal/terms/enterprise.html
 - /16.0/fr/legal/terms/enterprise.html

As a workaround, use absolute links for the PDFs. They won't work
locally for now. Can be improved later, as long as we don't break
those links located in various depths of the troctree.

2) The legal constracts aren't translated in all availables languages
(yet), so those links are 404s now. Introduced a conf.py variable
`legal_translations` with the list of languages where translated
contracts are indeed available, and falling back to the EN version
otherwise. Some languages don't have *all* the contracts translated, so
some 404 may remain temporarily.

Forward-port of f69dba70be
2023-03-23 16:42:57 +01:00
Tom Aarab (toaa)
6def5713d3 [ADD] eCommerce: customer interaction
Adding a page on customer interaction and adding redirects. Forward to
master.

closes odoo/documentation#3861

Taskid: 3224716
X-original-commit: c24f6eca7a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-21 16:34:55 +01:00
LoredanaLrpz
cc997535b2 [IMP] pos: take the half-up out of the last note
Task ID: 3184227

closes odoo/documentation#3856

X-original-commit: f3aafe2f09
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-21 11:58:08 +01:00
Valentin Vallaeys (vava)
cb06fb7687 [ADD] developer: add _get_available_tokens
Introduced with this commit:
e534ab41e7

closes odoo/documentation#3798

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-21 11:57:57 +01:00
Jonathan Castillo (jcs)
a18fe9a25b [FIX] dev/tuto: grammar mistake in 02_setup
task-3238089

closes odoo/documentation#3848

X-original-commit: 6866cfa361
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-20 16:00:35 +01:00
Antoine Vandevenne (anv)
3f0a7cd34e [IMP] supported_versions: flag saas-16.1 as supported
closes odoo/documentation#3840

X-original-commit: c466d6fd6e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-17 12:19:02 +01:00
Christophe Monniez
aeed9418b4 [REL] saas-16.2 2023-03-15 12:18:53 +01:00
156 changed files with 1841 additions and 1049 deletions

View File

@@ -26,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.2
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)

14
conf.py
View File

@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
# `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.
# `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.
# 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.
versions_names = {
'master': "Master",
'saas-16.2': "Odoo Online",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
'15.0': "Odoo 15",
@@ -317,6 +319,12 @@ latex_documents = [
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
]
# List of languages that have legal translations (excluding EN). The keys must be in
# `languages_names`. These translations will have a link to their versions of the legal
# contracts, instead of the default EN one. The main legal documents are not part of the
# translations since they have legal meaning.
legal_translations = ['de', 'es', 'fr', 'nl']
# The name of an image file (relative to this directory) to place at the top of the title page.
latex_logo = 'static/img/odoo_logo.png'
@@ -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):
if app.config.is_remote_build:
# Project root like https://www.odoo.com/documentation

View File

@@ -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
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
Setup in Microsoft Azure Portal
===============================

View File

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

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,8 @@
======================================
Bank synchronization: automatic import
======================================
:show-content:
====================
Bank synchronization
====================
Odoo can synchronize directly with your bank institution to get all bank statements imported
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
- **Yodlee**: Worldwide
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
- **Ponto**: Europe (:doc:`more information <ponto>`)
- **EnableBanking**: Scandinavian countries
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
.. seealso::
:doc:`transactions`
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
credentials and click on the :guilabel:`Update Credentials` button.
.. seealso::
* :doc:`bank_statements`
* :doc:`ponto`
* :doc:`saltedge`
.. toctree::
:titlesonly:
bank_synchronization/saltedge
bank_synchronization/ponto
bank_synchronization/enablebanking

View File

@@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

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

View File

@@ -1,6 +1,6 @@
==========================================
Salt Edge as bank synchronization provider
==========================================
=========
Salt Edge
=========
**Salt Edge** is a third-party provider that aggregates banking information
from your bank accounts. It supports ~5000 institutions in more than 50
@@ -8,12 +8,15 @@ countries.
.. image:: saltedge/saltedge-logo.png
:align: center
:width: 50%
:alt: Salt Edge Logo
Odoo can synchronize directly with your bank to get all bank statements imported
automatically into your database.
Salt Edge is a free third-party provider.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../transactions`
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
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
*Update Credentials* to reactivate the connection.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`ponto`
* :doc:`bank_statements`

View File

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

View File

@@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -91,7 +91,7 @@ Manage and reconcile bank statements
------------------------------------
The next step is to book the bank statements to finalize the transaction by creating,
:doc:`importing <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:`Reconcile` button.

View File

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

View File

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

View File

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

View File

@@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

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

View File

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

View File

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

View File

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

View File

@@ -8,6 +8,10 @@ with their Google account.
This is particularly helpful if your organization uses Google Workforce and you want the employees
within your organization to connect to Odoo with their Google Accounts.
.. seealso::
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
- :doc:`/administration/maintain/google_oauth`
.. _google-sign-in/configuration:
Configuration
@@ -42,7 +46,7 @@ OAuth consent screen
:align: center
: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
:align: center

View File

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

View File

@@ -5,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
appointments across all related applications.
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/administration/maintain/azure_oauth`
Register the application with Microsoft Azure
=============================================

View File

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

View 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

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

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

View File

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

View File

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

View File

@@ -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
grouping per customer order.
.. _use-routes/routes-rules:
Use routes and rules
====================

View File

@@ -27,7 +27,9 @@ needed.
in the Odoo database.
.. 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
-----------------------
@@ -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 Carrier`: `DPD`
| :guilabel:`Return Minimum Weight`: `0.00`
| :guilabel:`Return Minimum Weight`: `20.00`
| :guilabel:`Return Maximum Weight`: `20.00`
| :guilabel:`Return Countries`: `Belgium` `Netherlands`
.. image:: sendcloud_shipping/sendcloud-example.png

View File

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

View File

@@ -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.
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
Gmail Plugin files as a Google Project.
file called :guilabel:`appsscript.json`. In the :guilabel:`urlFetchWhitelist` section, replace all
the references to `odoo.com` with the Odoo customer's unique server domain.
Then, in the same :guilabel:`gmail` folder, open the file called :guilabel:`README.md`. Follow the
instructions in the :guilabel:`README.md` file to push the Gmail Plugin files as a Google Project.
.. note::
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
Odoo. Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click
After that, share the Google Project with the Gmail account that the user wishes to connect to Odoo.
Then, click :guilabel:`Publish` and :guilabel:`Deploy from manifest`. Lastly, click
:guilabel:`Install the add-on` to install the Gmail Plugin.
Configure the Odoo database
@@ -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
Plugin. To enable the feature, go to :menuselection:`Settings --> General Settings`. Under the
:guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click
:guilabel:`Save`.
:guilabel:`Integrations` section, activate :guilabel:`Mail Plugin`, and then click :guilabel:`Save`.
.. image:: gmail/mail-plugin-setting.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 39 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

After

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -1,18 +1,16 @@
.. _epos_ssc/ePOS printers:
=========================================
Self-signed certificate for ePOS printers
=========================================
ePos printers are designed specifically to work with your Point of Sale system, which sends the
tickets directly to the printer.
Some models don't require an IoT box, but the connection between your web browser and the printer
may require a :doc:`secure connection with the HTTPS protocol <https>`. If so, a self-signed
certificate is necessary to use your printer.
ePOS printers are designed to work seamlessly with Point of Sale systems. Once connected, the two
devices automatically share information, enabling the direct printing of tickets from the POS system
to the ePOS printer.
.. note::
Please check the following list of compatible `Epson ePOS printers
<https://c4b.epson-biz.com/modules/community/index.php?content_id=91>`_. This list includes the
following models:
These `Epson ePOS printers
<https://c4b.epson-biz.com/modules/community/index.php?content_id=91>`_ are compatible with Odoo:
- TM-H6000IV-DT (Receipt printer only)
- TM-T70II-DT
@@ -31,56 +29,191 @@ certificate is necessary to use your printer.
- TM-P60II (Peeler: 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
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
.. figure:: epos_ssc/browser-https-insecure.png
: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 -->
Manage certificates`
.. note::
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
your previous file. Accept all warnings and restart your browser.
.. warning::
The connection is lost after closing the browser window. Therefore, this method should only be
used as a **workaround** or as a pre-requisite for the :ref:`following instructions
<epos_ssc/instructions>`.
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
AC** (Install from device storage), and select the certificate.
Generate, export, and import self-signed certificates
=====================================================
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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -2,43 +2,65 @@
Orders printing
===============
To ease the workflow between the front of house and the back of the
house, printing the orders taken on the PoS interface right in the
kitchen or bar can be a tremendous help.
Integrating printers in a restaurant or bar's workflow can enhance communication and collaboration
between the front-of-house and back-of-house teams, leading to a more streamlined and efficient
service.
Activate the bar/kitchen printer
================================
To activate the *Order printing* feature, go to :menuselection:`Point
of Sales --> Configuration --> Point of sale` and select your PoS
interface.
Under the IoT Box / Hardware Proxy category, you will find *Order Printers*.
Note that you need an IoT Box to connect your Printer to the PoS.
Add a printer
Configuration
=============
In your configuration menu you will now have a *Order Printers* option
where you can add the printer.
.. _kitchen_printing/enable:
.. image:: kitchen_printing/kitchen_printing01.png
:align: center
Enable and create printers
--------------------------
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
:align: center
To get a list of all the printers already created or to modify an already created printer, click
:guilabel:`--> Printers` and select the desired printer to open the setup form.
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
:align: center
From the :ref:`setup form <kitchen_printing/enable>`, select the :guilabel:`Printer Type` according
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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

View File

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

View File

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

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -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
using your product/service. Therefore, a successful scheme where you can organize multiple teams
with their customized pipeline, visibilities settings, and ticket traceability is essential.
Odoo :guilabel:`Helpdesk` is a ticket-based customer support application. Teams can track,
prioritize, and solve customer issues from their pipeline, which is organized in customizable
stages. Multiple teams can be configured and managed in one dashboard.
Set up teams
============
Create Helpdesk teams
=====================
| To modify or create teams, go to :menuselection:`Helpdesk --> Configuration --> Helpdesk Teams`.
| Setting up multiple teams allows you to group tickets by your channels (example: BE/US), or by
your support services' types (example: IT, accounting, admin, etc.).
Setting up multiple teams allows for tickets to be grouped by location or by support type.
.. 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
:alt: View of the helpdesk teams page in Odoo Helpdesk
:alt: View of the Helpdesk teams page in Odoo Helpdesk
Teams productivity and visibility
----------------------------------
Assignment & Visibility
-----------------------
Teams can have individual *Assignment Methods* to ensure that tickets get redirected to the right
person:
Determine to whom the team will be visible
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *Manually*: tickets are manually assigned, allowing employees to manage their own workload and
target tickets they are experts at;
- *Random*: tickets are randomly assigned and everyone gets the same amount. This method ensures
that all tickets are handled as the assignment happens automatically;
- *Balanced*: tickets are assigned to the person with the least amount of tickets so that everyone
fairly gets the same amount. Thereby, you ensure that all tickets get to be taken care of.
Under the :guilabel:`Visibility` section, determine who can view this team and its tickets.
.. 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
: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
| For the *Random* and *Balanced* assignment methods, you can set the *Team Members* among
whom tickets are assigned. Leave the field empty to include all employees (with the proper
access rights).
| The *Team Visibility* feature allows you to specify who can see and access the teams tickets.
Therefore, tickets with sensible information are only seen by the right people.
Leave the field empty to include all employees (with the proper access rights).
Select one of the following assignment methods, based on how workload should be allocated across
the team:
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
edit stages as you need and set specific teams to use certain stages under *Team*.
Finally, add the :guilabel:`Team Members` who will be assigned tickets for this team. Leave the
field empty to include all employees who have the proper assignments and access rights configured in
their user account settings.
.. image:: getting_started/stages_teams.png
:align: center
:alt: View of a stages setting page emphasizing the option to add teams in Odoo Helpdesk
Stages can be shared between one or multiple teams, allowing you to adapt the pipeline to your
individual needs. They also apply a visibility and access rule, as other teams are not able to see
or use the stage.
.. image:: getting_started/helpdesk_kanbanview.png
:align: center
:alt: View of a teams kanban view in Odoo Helpdesk
.. note::
If an employee has time off scheduled in the :guilabel:`Time Off` application, they will not be
assigned tickets during that time. If no employees are available, the system will look ahead
until there is a match.
.. 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 66 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

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