Compare commits
30 Commits
19.0-addin
...
saas-16.2-
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
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:
|
||
|
|
c91ea3d251 |
[ADD] accounting: enablebanking
task-3232701
closes odoo/documentation#4001
X-original-commit:
|
||
|
|
9878b58a04 |
[MOV] accounting: structure of bank sync docs
X-original-commit:
|
||
|
|
fdea740edc |
[ADD] field service: default warehouse
task-2948598
closes odoo/documentation#3998
X-original-commit:
|
||
|
|
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:
|
||
|
|
4914c45d88 |
[IMP] Website: review website translation page
task-3255779
closes odoo/documentation#3977
X-original-commit:
|
||
|
|
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:
|
||
|
|
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:
|
||
|
|
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:
|
||
|
|
ec40c817da |
[ADD] attendances: hr and attendances categories + hardware page
Task ID: 3251124
closes odoo/documentation#3959
X-original-commit:
|
||
|
|
69248346db |
[IMP] pos: update fiscal positions page
Task ID: 2862506
closes odoo/documentation#3927
X-original-commit:
|
||
|
|
c69cb37be3 |
[IMP] mail plugins: add instructions to gmail plugin
closes odoo/documentation#3946
X-original-commit:
|
||
|
|
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:
|
||
|
|
24f4348a46 |
[IMP] General: Oauth seemore additions
closes odoo/documentation#3936
X-original-commit:
|
||
|
|
dc2a988173 |
[IMP] supported_version: release saas-16.2
closes odoo/documentation#3908
X-original-commit:
|
||
|
|
9fb4c01b19 |
[FIX] inventory: fix BoM typo
closes odoo/documentation#3912
X-original-commit:
|
||
|
|
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:
|
||
|
|
0d6466fbbf |
[IMP] accounting: bank transactions
task-3204835
closes odoo/documentation#3896
X-original-commit:
|
||
|
|
9651908b73 |
[IMP] helpdesk: updated ticketing channels setup
closes odoo/documentation#3879
X-original-commit:
|
||
|
|
5c89a56634 |
[IMP] Support: Update What can I expect
closes odoo/documentation#3885
X-original-commit:
|
||
|
|
7c4efb6fa9 |
[IMP] pos: and update kitchen printing
Task ID: 3235139
closes odoo/documentation#3874
X-original-commit:
|
||
|
|
7c8b8269eb |
[IMP] helpdesk: updated teams and stages setup content
closes odoo/documentation#3869
X-original-commit:
|
||
|
|
ccd282023a |
[IMP] inventory: fix sendcloud doc
closes odoo/documentation#3870
X-original-commit:
|
||
|
|
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
|
||
|
|
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:
|
||
|
|
cc997535b2 |
[IMP] pos: take the half-up out of the last note
Task ID: 3184227
closes odoo/documentation#3856
X-original-commit:
|
||
|
|
cb06fb7687 |
[ADD] developer: add _get_available_tokens
Introduced with this commit:
|
||
|
|
a18fe9a25b |
[FIX] dev/tuto: grammar mistake in 02_setup
task-3238089
closes odoo/documentation#3848
X-original-commit:
|
||
|
|
3f0a7cd34e |
[IMP] supported_versions: flag saas-16.1 as supported
closes odoo/documentation#3840
X-original-commit:
|
||
|
|
aeed9418b4 | [REL] saas-16.2 |
2
Makefile
|
|
@@ -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
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
===============================
|
||||
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
===============
|
||||
|
||||
|
|
|
|||
|
|
@@ -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 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -8,6 +8,7 @@ Bank and cash
|
|||
:titlesonly:
|
||||
|
||||
bank/setup
|
||||
bank/feeds
|
||||
bank/bank_synchronization
|
||||
bank/transactions
|
||||
bank/reconciliation
|
||||
bank/interbank
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
@@ -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
|
||||
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`
|
||||
|
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
|
||||
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`
|
||||
|
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,
|
||||
: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.
|
||||
|
||||
|
|
|
|||
|
|
@@ -125,5 +125,5 @@ line*.
|
|||
.. seealso::
|
||||
|
||||
- :doc:`use_cases`
|
||||
- :doc:`../feeds/bank_synchronization`
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../../receivables/customer_invoices/cash_discounts`
|
||||
|
|
|
|||
|
|
@@ -102,4 +102,4 @@ right and validate all related payments :
|
|||
:align: center
|
||||
|
||||
.. 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
|
||||
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`
|
||||
|
|
|
|||
|
|
@@ -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.
|
||||
|
||||
.. 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
|
||||
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>`_
|
||||
|
|
|
|||
|
|
@@ -26,6 +26,8 @@ They can be applied in various ways:
|
|||
Configuration
|
||||
=============
|
||||
|
||||
.. _fiscal_positions/mapping:
|
||||
|
||||
Tax and Account Mapping
|
||||
-----------------------
|
||||
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
=============
|
||||
|
||||
|
|
|
|||
|
|
@@ -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`
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
===============
|
||||
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
=============================================
|
||||
|
||||
|
|
|
|||
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/using_inventory_valuation
|
||||
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
|
||||
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
|
||||
|
|
|
|||
|
|
@@ -1,77 +1,130 @@
|
|||
=============================
|
||||
Using the inventory valuation
|
||||
=============================
|
||||
=========================
|
||||
Using inventory valuation
|
||||
=========================
|
||||
|
||||
Inventory valuation refers to how you value your stock. It’s 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.
|
||||
|
||||
Let’s 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 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.
|
||||
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.
|
||||
|
|
|
|||
|
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
|
||||
grouping per customer order.
|
||||
|
||||
.. _use-routes/routes-rules:
|
||||
|
||||
Use routes and rules
|
||||
====================
|
||||
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
|
@@ -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
|
||||
|
|
|
|||
|
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
|
||||
====================
|
||||
|
||||
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
|
||||
|
|
|
|||
|
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
|
||||
=========================================
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
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
|
||||
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`
|
||||
|
|
|
|||
|
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
|
||||
===============
|
||||
|
||||
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.
|
||||
|
|
|
|||
|
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
|
||||
|
||||
.. 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.
|
||||
|
|
|
|||
|
|
@@ -15,3 +15,4 @@ Field Service
|
|||
|
||||
fsm/sales
|
||||
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
|
||||
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
|
||||
|
||||
Team’s 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 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).
|
||||
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 stage’s 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 team’s 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.
|
||||
|
|
|
|||
|
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 |