Compare commits
44 Commits
bram
...
master-rpc
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
ea2c945e35 | ||
|
|
6725754169 | ||
|
|
cabd6e7f85 | ||
|
|
d4923d6350 | ||
|
|
8db94fe7fe | ||
|
|
5d7209d635 | ||
|
|
a154e01cee | ||
|
|
ece2d4c081 | ||
|
|
57f447e302 | ||
|
|
7858ac6c68 | ||
|
|
e56bc8a5b9 | ||
|
|
18c2c74848 | ||
|
|
e63b92a718 | ||
|
|
ac813f2b5b | ||
|
|
6419980663 | ||
|
|
894e1be9c6 | ||
|
|
59db0ca18c | ||
|
|
ab1a7d0a69 | ||
|
|
06d0ff6ca8 | ||
|
|
219a7cc82f | ||
|
|
b9217c292a | ||
|
|
814917793a | ||
|
|
7423cfa8f8 | ||
|
|
9d9548da4a | ||
|
|
c1bc6ddf6e | ||
|
|
f42bf525e9 | ||
|
|
ade054b752 | ||
|
|
9a5b5b0614 | ||
|
|
4fe6fbee12 | ||
|
|
cd549cb386 | ||
|
|
d41a66758f | ||
|
|
3a7be7730d | ||
|
|
c8ab0c1535 | ||
|
|
0e567a08de | ||
|
|
9baab389c9 | ||
|
|
46a80f60c5 | ||
|
|
aab2d6615a | ||
|
|
991b8142fe | ||
|
|
f4bbbcb6c1 | ||
|
|
768ab1b586 | ||
|
|
7424e4176c | ||
|
|
8287c88bd4 | ||
|
|
53e7277b6a | ||
|
|
2c7d61f938 |
7
conf.py
@@ -95,7 +95,7 @@ else:
|
||||
import odoo.addons
|
||||
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
|
||||
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
|
||||
odoo_version = odoo_release.version.replace('~', '-') # Change saas~XX.Y to saas-XX.Y
|
||||
odoo_version = '.'.join(str(s) for s in odoo_release.version_info[:2]).replace('~', '-') # Change saas~XX.Y to saas-XX.Y
|
||||
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
|
||||
if release != odoo_version:
|
||||
_logger.warning(
|
||||
@@ -145,6 +145,9 @@ extensions = [
|
||||
# Content tabs
|
||||
'sphinx_tabs.tabs',
|
||||
|
||||
# Spoilers
|
||||
'spoilers',
|
||||
|
||||
# Strange html domain logic used in memento pages
|
||||
'html_domain',
|
||||
]
|
||||
@@ -187,6 +190,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",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.3': "Odoo Online",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
|
||||
@@ -97,7 +97,7 @@ Configuration sample
|
||||
* Allow tcp connection on localhost
|
||||
* Allow tcp connection from 192.168.1.x network
|
||||
|
||||
in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:
|
||||
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/pg_hba.conf`` set:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
@@ -105,7 +105,7 @@ in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:
|
||||
host all all 127.0.0.1/32 md5
|
||||
host all all 192.168.1.0/24 md5
|
||||
|
||||
in ``/etc/postgresql/9.5/main/postgresql.conf`` set:
|
||||
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/postgresql.conf`` set:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
@@ -172,7 +172,7 @@ in Odoo the db_sslmode control the ssl security of the connection
|
||||
with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
|
||||
or 'verify-full'
|
||||
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/current/static/libpq-ssl.html>`_
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/12/static/libpq-ssl.html>`_
|
||||
|
||||
.. _builtin_server:
|
||||
|
||||
@@ -290,6 +290,10 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
upstream odoochat {
|
||||
server 127.0.0.1:8072;
|
||||
}
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
# http -> https
|
||||
server {
|
||||
@@ -741,8 +745,8 @@ Here are the supported browsers:
|
||||
.. _socat: http://www.dest-unreach.org/socat/
|
||||
.. _PostgreSQL connection settings:
|
||||
.. _listen to network interfaces:
|
||||
https://www.postgresql.org/docs/9.6/static/runtime-config-connection.html
|
||||
https://www.postgresql.org/docs/12/static/runtime-config-connection.html
|
||||
.. _use an SSH tunnel:
|
||||
https://www.postgresql.org/docs/9.6/static/ssh-tunnels.html
|
||||
https://www.postgresql.org/docs/12/static/ssh-tunnels.html
|
||||
.. _WSGI: https://wsgi.readthedocs.org/
|
||||
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
|
||||
|
||||
@@ -33,7 +33,7 @@ Editions
|
||||
========
|
||||
|
||||
There are two different Editions_ of Odoo: the Community and Enterprise versions.
|
||||
Using the Enterprise version is possible on our SaaS_ and accessing the code is
|
||||
Using the Enterprise version is possible on `Odoo Online`_ and accessing the code is
|
||||
restricted to Enterprise customers and partners. The Community version is freely
|
||||
available to anyone.
|
||||
|
||||
@@ -55,17 +55,17 @@ around and try things out with no commitment.
|
||||
|
||||
Demo_ instances require no local installation, just a web browser.
|
||||
|
||||
SaaS
|
||||
----
|
||||
Odoo Online
|
||||
-----------
|
||||
|
||||
Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_
|
||||
Trivial to start with, fully managed and migrated by Odoo S.A., `Odoo Online`_
|
||||
provides private instances and starts out free. It can be used to discover and
|
||||
test Odoo and do non-code customizations (i.e. incompatible with custom modules
|
||||
or the Odoo Apps Store) without having to install it locally.
|
||||
|
||||
Can be used for both testing Odoo and long-term production use.
|
||||
|
||||
Like demo_ instances, SaaS_ instances require no local installation, a web
|
||||
Like demo_ instances, `Odoo Online`_ instances require no local installation, a web
|
||||
browser is sufficient.
|
||||
|
||||
|
||||
@@ -146,13 +146,13 @@ Repository
|
||||
.. group-tab:: Debian/Ubuntu
|
||||
|
||||
Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can
|
||||
be used to install *Odoo Community Edition* by executing the following commands **as root**:
|
||||
be used to install *Odoo Community Edition* by executing the following commands:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
|
||||
# echo "deb http://nightly.odoo.com/15.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
|
||||
# apt-get update && apt-get install odoo
|
||||
$ wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
|
||||
$ echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/16.0/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
|
||||
$ sudo apt-get update && sudo apt-get install odoo
|
||||
|
||||
You can then use the usual `apt-get upgrade` command to keep your installation up-to-date.
|
||||
|
||||
@@ -432,7 +432,7 @@ PostgreSQL
|
||||
.. group-tab:: Windows
|
||||
|
||||
Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL
|
||||
<https://www.postgresql.org/download/windows/>`_ (supported version: 10.0 and later).
|
||||
<https://www.postgresql.org/download/windows/>`_ (supported version: 12.0 and later).
|
||||
|
||||
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
|
||||
to create a new PostgreSQL user:
|
||||
@@ -452,7 +452,7 @@ PostgreSQL
|
||||
.. group-tab:: Linux
|
||||
|
||||
Odoo uses PostgreSQL as database management system. Use your package manager to download and
|
||||
install PostgreSQL (supported version: 10.0 and later).
|
||||
install PostgreSQL (supported version: 12.0 and later).
|
||||
|
||||
It can be achieved by executing the following:
|
||||
|
||||
@@ -475,7 +475,7 @@ PostgreSQL
|
||||
.. group-tab:: Mac OS
|
||||
|
||||
Odoo uses PostgreSQL as database management system. Use `postgres.app
|
||||
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 10.0 and
|
||||
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 12.0 and
|
||||
later).
|
||||
|
||||
.. tip::
|
||||
@@ -726,24 +726,24 @@ official Odoo `docker image <https://hub.docker.com/_/odoo/>`_ page.
|
||||
.. _demo: https://demo.odoo.com
|
||||
.. _docker: https://www.docker.com
|
||||
.. _download: https://www.odoo.com/page/download
|
||||
.. _Ubuntu 20.04 (Focal): http://releases.ubuntu.com/20.04/
|
||||
.. _Ubuntu 20.04 (Focal): https://releases.ubuntu.com/20.04/
|
||||
.. _EPEL: https://fedoraproject.org/wiki/EPEL
|
||||
.. _PostgreSQL: http://www.postgresql.org
|
||||
.. _PostgreSQL: https://www.postgresql.org
|
||||
.. _the official installer:
|
||||
.. _install pip:
|
||||
https://pip.pypa.io/en/latest/installing.html#install-pip
|
||||
.. _Quilt: http://en.wikipedia.org/wiki/Quilt_(software)
|
||||
.. _saas: https://www.odoo.com/page/start
|
||||
.. _Quilt: https://en.wikipedia.org/wiki/Quilt_(software)
|
||||
.. _Odoo Online: https://www.odoo.com/page/start
|
||||
.. _the wkhtmltopdf download page: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5
|
||||
.. _UAC: http://en.wikipedia.org/wiki/User_Account_Control
|
||||
.. _wkhtmltopdf: http://wkhtmltopdf.org
|
||||
.. _UAC: https://en.wikipedia.org/wiki/User_Account_Control
|
||||
.. _wkhtmltopdf: https://wkhtmltopdf.org
|
||||
.. _pip: https://pip.pypa.io
|
||||
.. _macports: https://www.macports.org
|
||||
.. _homebrew: http://brew.sh
|
||||
.. _homebrew: https://brew.sh
|
||||
.. _wheels: https://wheel.readthedocs.org/en/latest/
|
||||
.. _virtualenv: https://pypi.python.org/pypi/virtualenv
|
||||
.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/en/latest/
|
||||
.. _pywin32: http://sourceforge.net/projects/pywin32/files/pywin32/
|
||||
.. _pywin32: https://sourceforge.net/projects/pywin32/files/pywin32/
|
||||
.. _community-repository: https://github.com/odoo/odoo
|
||||
.. _enterprise-repository: https://github.com/odoo/enterprise
|
||||
.. _Editions: https://www.odoo.com/pricing#pricing_table_features
|
||||
|
||||
@@ -11,6 +11,6 @@ Maintain
|
||||
maintain/update
|
||||
maintain/enterprise
|
||||
maintain/hosting_changes
|
||||
maintain/online
|
||||
maintain/odoo_online
|
||||
maintain/on_premise
|
||||
maintain/supported_versions
|
||||
|
||||
@@ -62,11 +62,11 @@ database manager.
|
||||
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
|
||||
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
|
||||
|
||||
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
|
||||
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, then on :guilabel:`Domain names`.
|
||||
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
|
||||
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
|
||||
database, then on :guilabel:`Domain names`.
|
||||
|
||||
.. image:: domain_names/register-promote.png
|
||||
.. image:: domain_names/register-menu.png
|
||||
:align: center
|
||||
:alt: Clicking on Domain Names from an Odoo website
|
||||
|
||||
|
||||
BIN
content/administration/maintain/domain_names/register-menu.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 38 KiB |
@@ -1,18 +1,18 @@
|
||||
=================================
|
||||
Online (SaaS) database management
|
||||
=================================
|
||||
===============================
|
||||
Odoo Online database management
|
||||
===============================
|
||||
|
||||
To manage a database, sign in to https://www.odoo.com and access the `database management page
|
||||
<https://www.odoo.com/my/databases>`_ by clicking on the user icon, then on *My Databases*.
|
||||
|
||||
.. image:: online/my-databases.png
|
||||
.. image:: odoo_online/my-databases.png
|
||||
:align: center
|
||||
:alt: Clicking on the user icon opens a drop-down menu. "My databases" button is highlighted.
|
||||
|
||||
.. note::
|
||||
Make sure you are connected as the administrator of the database you want to manage.
|
||||
|
||||
.. image:: online/dropdown-menu.png
|
||||
.. image:: odoo_online/dropdown-menu.png
|
||||
:align: right
|
||||
:alt: Clicking on the gear icon opens the drop-down menu.
|
||||
|
||||
@@ -20,17 +20,17 @@ Open the drop-down menu next to the database you want to manage by clicking on t
|
||||
|
||||
Several actions are available:
|
||||
|
||||
- :ref:`online/upgrade`
|
||||
- :ref:`online/duplicate`
|
||||
- :ref:`online/rename`
|
||||
- :ref:`online/download`
|
||||
- :ref:`online/domains`
|
||||
- :ref:`online/tags`
|
||||
- :ref:`online/delete`
|
||||
- :ref:`online/contact-support`
|
||||
- :ref:`online/users`
|
||||
- :ref:`odoo_online/upgrade`
|
||||
- :ref:`odoo_online/duplicate`
|
||||
- :ref:`odoo_online/rename`
|
||||
- :ref:`odoo_online/download`
|
||||
- :ref:`odoo_online/domains`
|
||||
- :ref:`odoo_online/tags`
|
||||
- :ref:`odoo_online/delete`
|
||||
- :ref:`odoo_online/contact-support`
|
||||
- :ref:`odoo_online/users`
|
||||
|
||||
.. _online/upgrade:
|
||||
.. _odoo_online/upgrade:
|
||||
|
||||
Upgrade
|
||||
=======
|
||||
@@ -56,7 +56,7 @@ upgrade to the latest version (e.g., 13.0 to 15.1).
|
||||
- :doc:`../upgrade`
|
||||
- :doc:`supported_versions`
|
||||
|
||||
.. _online/duplicate:
|
||||
.. _odoo_online/duplicate:
|
||||
|
||||
Duplicate
|
||||
=========
|
||||
@@ -69,14 +69,14 @@ operations.
|
||||
orders, etc.) are disabled by default on the duplicated database.
|
||||
- Duplicate databases expire automatically after 15 days.
|
||||
|
||||
.. _online/rename:
|
||||
.. _odoo_online/rename:
|
||||
|
||||
Rename
|
||||
======
|
||||
|
||||
Rename the database and its URL.
|
||||
|
||||
.. _online/download:
|
||||
.. _odoo_online/download:
|
||||
|
||||
Download
|
||||
========
|
||||
@@ -87,7 +87,7 @@ Download instantly a ZIP file with a backup of the database.
|
||||
Databases are backed up daily according to the `Odoo Cloud SLA
|
||||
<https://www.odoo.com/cloud-sla>`_.
|
||||
|
||||
.. _online/domains:
|
||||
.. _odoo_online/domains:
|
||||
|
||||
Domains
|
||||
=======
|
||||
@@ -97,14 +97,14 @@ Configure custom domains to access the database via another URL.
|
||||
.. seealso::
|
||||
- :doc:`domain_names`
|
||||
|
||||
.. _online/tags:
|
||||
.. _odoo_online/tags:
|
||||
|
||||
Tags
|
||||
====
|
||||
|
||||
Add tags to sort your databases out. You can search the tags in the search bar.
|
||||
|
||||
.. _online/delete:
|
||||
.. _odoo_online/delete:
|
||||
|
||||
Delete
|
||||
======
|
||||
@@ -118,7 +118,7 @@ Delete a database instantly.
|
||||
Read carefully the warning message that pops up and proceed only if you fully understand the
|
||||
implications of deleting a database:
|
||||
|
||||
.. image:: online/delete.png
|
||||
.. image:: odoo_online/delete.png
|
||||
:align: center
|
||||
:alt: A warning message is prompted before deleting a database.
|
||||
|
||||
@@ -129,7 +129,7 @@ implications of deleting a database:
|
||||
needed, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
- To delete your account, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
|
||||
.. _online/contact-support:
|
||||
.. _odoo_online/contact-support:
|
||||
|
||||
Contact Support
|
||||
===============
|
||||
@@ -137,7 +137,7 @@ Contact Support
|
||||
Access the Odoo `support page <https://www.odoo.com/help>`_ with your database's details already
|
||||
pre-filled.
|
||||
|
||||
.. _online/users:
|
||||
.. _odoo_online/users:
|
||||
|
||||
Invite / Remove Users
|
||||
=====================
|
||||
@@ -145,7 +145,7 @@ Invite / Remove Users
|
||||
To invite users, fill out the email address of the new user and click on *Invite*. To add multiple
|
||||
users, click on *Add more users*.
|
||||
|
||||
.. image:: online/invite-users.png
|
||||
.. image:: odoo_online/invite-users.png
|
||||
:align: center
|
||||
:alt: Clicking on "Add more users" adds additional email fields.
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
@@ -8,8 +8,9 @@ Supported versions
|
||||
Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
|
||||
|
||||
.. note::
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online <online>`
|
||||
hosting every two months. Odoo Online users can then benefit from the latest features of Odoo.
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online
|
||||
<odoo_online>` hosting every two months. Odoo Online users can then benefit from the latest
|
||||
features of Odoo.
|
||||
|
||||
- Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly.
|
||||
- Online versions are *not* released for Odoo.sh and On-Premise installations.
|
||||
@@ -25,6 +26,8 @@ This matrix shows the support status of every version.
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
||||
+=================+=============+==========+=============+================+========================+
|
||||
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
|
||||
@@ -33,7 +36,7 @@ This matrix shows the support status of every version.
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 14.0** | |green| | |green| | |green| | October 2020 | October 2023 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 13.0** | |green| | |green| | |green| | October 2019 | October 2022 (planned) |
|
||||
| **Odoo 13.0** | |red| | |red| | |red| | October 2019 | October 2022 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~12.3 | |red| | N/A | N/A | August 2019 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
||||
@@ -131,7 +131,7 @@ Odoo Online databases
|
||||
|
||||
.. Warning::
|
||||
|
||||
Saas releases (e.g. *saas-**) are not supported on Odoo.sh.
|
||||
Online versions (e.g. *saas-**) are not supported on Odoo.sh.
|
||||
|
||||
Upload the backup
|
||||
-----------------
|
||||
|
||||
@@ -12,7 +12,7 @@ Upgrade
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
upgrade/online_hosting
|
||||
upgrade/odoo_online
|
||||
upgrade/odoo_sh
|
||||
upgrade/on_premise
|
||||
upgrade/faq
|
||||
@@ -22,8 +22,8 @@ An upgrade is switching to a newer version of Odoo (e.g., Odoo 14.0 to Odoo 15.0
|
||||
An upgrade does not cover:
|
||||
|
||||
* Changing :ref:`editions <upgrade-faq/editions-change>` (i.e., Community to Enterprise edition)
|
||||
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Online or
|
||||
Odoo.sh)
|
||||
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Odoo Online
|
||||
or Odoo.sh)
|
||||
* Migration from another ERP to Odoo
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
@@ -54,7 +54,7 @@ The upgrade process in a nutshell:
|
||||
newly upgraded database (this is done automatically on Odoo Online).
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Upgrade process for Odoo Online (SaaS) <upgrade/online_hosting>`
|
||||
- :doc:`Upgrade process for Odoo Online <upgrade/odoo_online>`
|
||||
- :doc:`Upgrade process for Odoo.sh <upgrade/odoo_sh>`
|
||||
- :doc:`Upgrade process for On-Premise <upgrade/on_premise>`
|
||||
|
||||
@@ -225,8 +225,8 @@ Service Level Agreement
|
||||
What is covered by the Enterprise Licence?
|
||||
------------------------------------------
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
|
||||
following services at all times.
|
||||
Databases hosted on Odoo’s Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
|
||||
enjoy the following services at all times.
|
||||
|
||||
The upgrade of:
|
||||
|
||||
|
||||
@@ -108,8 +108,8 @@ community or enterprise edition. It is required to have an enterprise subscripti
|
||||
|
||||
.. _upgrade-faq/hosting-types-switch:
|
||||
|
||||
Switching the hosting types (Self-Hosting vs. Online Hosting - SaaS vs. Cloud Platform - Odoo.sh)
|
||||
=================================================================================================
|
||||
Switching the hosting types (On-premise vs. Odoo Online vs. Odoo.sh)
|
||||
====================================================================
|
||||
|
||||
An upgrade does not cover a change of `Hosting types <https://www.odoo.com/page/hosting-types>`_.
|
||||
|
||||
@@ -151,8 +151,8 @@ features and improvements made in each version.
|
||||
How long is my test available for
|
||||
=================================
|
||||
|
||||
An Odoo Online (SaaS) test database is available for one month by default. We can extend this trial
|
||||
period upon request. For Odoo.sh or on-premise, there is no restriction.
|
||||
An Odoo Online test database is available for one month by default. We can extend this trial period
|
||||
upon request. For Odoo.sh or on-premise, there is no restriction.
|
||||
|
||||
How many tests to perform before upgrading to production?
|
||||
=========================================================
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
==================
|
||||
Odoo Online (SaaS)
|
||||
==================
|
||||
===========
|
||||
Odoo Online
|
||||
===========
|
||||
|
||||
Requesting a test upgrade
|
||||
=========================
|
||||
@@ -8,17 +8,17 @@ Requesting a test upgrade
|
||||
#. Go to your `database manager <https://www.odoo.com/my/databases/>`_
|
||||
#. Click on your profile icon and select *My Databases*.
|
||||
|
||||
.. image:: online_hosting/accessing-my-databases.png
|
||||
.. image:: odoo_online/accessing-my-databases.png
|
||||
:alt: Selecting My Databases under my profile
|
||||
|
||||
#. Click on the action settings icon next to your main database and select the *Upgrade* option.
|
||||
|
||||
.. image:: online_hosting/upgrade-option.png
|
||||
.. image:: odoo_online/upgrade-option.png
|
||||
:alt: Selecting the action settings icon
|
||||
|
||||
#. In the pop-up message that will appear, select Test Upgrade.
|
||||
|
||||
.. image:: online_hosting/select-test-upgrade.png
|
||||
.. image:: odoo_online/select-test-upgrade.png
|
||||
:alt: Selecting test upgrade
|
||||
|
||||
#. This triggers the automated upgrade process. A confirmation email is then sent to you with the
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
@@ -2,71 +2,61 @@
|
||||
Bank statements
|
||||
===============
|
||||
|
||||
Importing your bank statements in Odoo Accounting allows you to keep track of the financial
|
||||
movements that occur on your bank accounts and reconcile them with the transactions recorded in your
|
||||
accounting.
|
||||
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 you use bank synchronization for more efficiency. Please read the related
|
||||
documentation: :doc:`bank_synchronization`.
|
||||
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:
|
||||
|
||||
However, if you don't want to use bank synchronization or if your bank is not a supported
|
||||
institution, you still have other options:
|
||||
|
||||
#. Import the bank statement files delivered by your bank
|
||||
#. Register the bank statements manually
|
||||
- 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)
|
||||
- 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 them, go to :menuselection:`Accounting --> Overview --> Bank`, click on *Import
|
||||
Statements*, or on the three dots, and then on *Import Statement*.
|
||||
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-statements-01.png
|
||||
.. 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 *Import*.
|
||||
Next, select the file you want to import and click on :guilabel:`Upload`.
|
||||
|
||||
Odoo opens an **import widget** to help you set the **Formatting Options** and **map** the
|
||||
different columns you want to import.
|
||||
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/bank-statements-02.png
|
||||
.. image:: bank_statements/import-bank-statement.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
Quicken Interchange Format (.QIF) is an older file format that is no longer supported since 2005.
|
||||
If possible, prefer OFX files over QIF.
|
||||
|
||||
Register bank statements manually
|
||||
=================================
|
||||
|
||||
If needed, you can also record your 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 do so, go to :menuselection:`Accounting --> Overview --> Bank`, click on *Create Statements*, or
|
||||
on the three dots, and then on *New Statement*.
|
||||
|
||||
Add a new line for each transaction written on the original bank statement.
|
||||
|
||||
To ease the reconciliation process, make sure to fill out the *Partner* field. You can also write
|
||||
the payments’ references in the *Label* field.
|
||||
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 it is not the
|
||||
case, make sure that there is no mistake in the transactions’ amounts.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank_synchronization`
|
||||
.. todo:: add doc link to new documentation about reconciliation
|
||||
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.
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -1,18 +1,15 @@
|
||||
======================================
|
||||
Bank synchronization: Automatic import
|
||||
Bank synchronization: automatic import
|
||||
======================================
|
||||
|
||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||
automatically into your database.
|
||||
|
||||
To check if your bank is compatible with Odoo, go to `Odoo Accounting Features
|
||||
<https://www.odoo.com/page/accounting-features>`_, and click on *See list of supported institutions*.
|
||||
<https://www.odoo.com/page/accounting-features>`_, and click on
|
||||
:guilabel:`See list of supported institutions`.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-doc.png
|
||||
:align: center
|
||||
:alt: Checking a bank's compatibility with Odoo
|
||||
|
||||
More than 20,000 institutions around the world are supported.
|
||||
Odoo supports more than 25,000 institutions around the world.
|
||||
|
||||
To connect to the banks, Odoo uses multiple web-services:
|
||||
|
||||
@@ -20,9 +17,7 @@ To connect to the banks, Odoo uses multiple web-services:
|
||||
- **Yodlee**: Worldwide
|
||||
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
|
||||
- **Ponto**: Europe (:doc:`more information <ponto>`)
|
||||
|
||||
.. important::
|
||||
- Bank synchronization is not available for trial databases.
|
||||
- **EnableBanking**: Scandinavian countries
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -38,49 +33,50 @@ following address:
|
||||
|
||||
- https://production.odoofin.com/
|
||||
|
||||
First Synchronization
|
||||
First synchronization
|
||||
---------------------
|
||||
|
||||
You can start synchronization either by going to :menuselection:`Accounting --> Configuration
|
||||
--> Add a Bank Account` or via the configuration bar on the accounting dashboard.
|
||||
You can start synchronization either by going to the Accounting app and
|
||||
:menuselection:`Accounting Dashboard --> Configuration --> Banks: Add a Bank Account`.
|
||||
|
||||
Now you can search for your bank institution. Select it and follow the steps to synchronize with it.
|
||||
|
||||
.. note::
|
||||
If you have any issues during your first synchronization, please verify that your
|
||||
web browser doesn't block pop-ups and that your adblocker is disabled.
|
||||
web browser doesn't block pop-ups and that your ad-blocker is disabled.
|
||||
|
||||
During your first synchronization, you will be asked for a phone number to secure your account.
|
||||
The reason we ask for such information is that we don't want your data falling into the wrong
|
||||
hands. Therefore, if we detect suspicious activity on your account, we block all requests coming
|
||||
from your account, and you need to reactivate it using that phone number.
|
||||
The third-party provider may request more information in order to connect with your bank institution.
|
||||
.. important::
|
||||
When choosing the date for the first bank statement synchronization, pick the date when you
|
||||
start recording accounting transaction on your Odoo accounting database. For example, if you
|
||||
import your closing balance in Odoo on the 31/12/2022 and you start recording accounting
|
||||
transactions on the 01/01/2023, your synchronization date should be 01/01/2023.
|
||||
|
||||
You must provide a phone number during your first synchronization to secure your account. We ask for
|
||||
such information because we don't want your data falling into the wrong hands. Therefore, if we
|
||||
detect suspicious activities on your account, we block all requests coming from your account, and
|
||||
you need to reactivate it using that phone number.
|
||||
|
||||
The third-party provider may request more information in order to connect with your
|
||||
bank institution.
|
||||
This information is not stored on Odoo's servers.
|
||||
|
||||
By default, transactions fetched from an online source are grouped inside the same statement, and
|
||||
one bank statement is created per month. You can change the bank statement creation periodicity
|
||||
in your journal settings.
|
||||
|
||||
You can find all your synchronizations by going to :menuselection:`Accounting --> Configuration -->
|
||||
Online Synchronization`.
|
||||
You can find all your synchronizations by going to :menuselection:`Accounting Dashboard -->
|
||||
Configuration --> Accounting: Online Synchronization`.
|
||||
|
||||
Synchronize manually
|
||||
--------------------
|
||||
|
||||
After your first synchronization, the created journals are synchronized by default every 12 hours.
|
||||
If you wish, you can synchronize manually by clicking on the *Synchronize Now* button on the
|
||||
dashboard.
|
||||
If you wish, you can synchronize manually by clicking on the :guilabel:`Synchronize Now` button on
|
||||
the dashboard.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-sync-now-dashboard.png
|
||||
:align: center
|
||||
:alt: Synchronize Now Button
|
||||
|
||||
Or you can go to :menuselection:`Accounting --> Configuration --> Online Synchronization`,
|
||||
select your institution and then click on the *Fetch Transactions* button.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-form-view.png
|
||||
:align: center
|
||||
:alt: Online Synchronization Form view
|
||||
Or you can go to :menuselection:`Accounting Dashboard --> Configuration -->
|
||||
Accounting: Online Synchronization`, select your institution and then click on the
|
||||
:guilabel:`fetch transactions` button.
|
||||
|
||||
.. important::
|
||||
Some institutions do not allow transactions to be fetched automatically. For such institutions,
|
||||
@@ -95,14 +91,14 @@ Synchronization in error
|
||||
------------------------
|
||||
|
||||
To report a connection error to the `Odoo support <https://www.odoo.com/help>`_, go to
|
||||
:menuselection:`Accounting --> Configuration --> Online Synchronization`, select the connection
|
||||
that failed, and copy the error description and the reference.
|
||||
:menuselection:`Accounting Dashboard--> Configuration --> Accounting: Online Synchronization`,
|
||||
select the connection that failed, and copy the error description and the reference.
|
||||
|
||||
Synchronization disconnected
|
||||
----------------------------
|
||||
|
||||
If your connection with the proxy is disconnected, you can reconnect with the proxy using the
|
||||
*Reconnect* button.
|
||||
:guilabel:`Fetch Account` button.
|
||||
|
||||
.. note::
|
||||
This disconnection can be caused by the Odoo support. In this case, please contact the `support
|
||||
@@ -121,24 +117,19 @@ Users who have created a database before December 2020 need to install the new m
|
||||
use the new functionalities.
|
||||
|
||||
To do so, go to :menuselection:`Apps --> Update Apps List`, remove the default filter in the search
|
||||
bar and type: **account_online_synchronization**. You can then click on the *Install* button to
|
||||
install the new module.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-module.png
|
||||
:align: center
|
||||
:alt: Installation button of the account_online_synchronization module
|
||||
|
||||
bar and type `account_online_synchronization`. You can then click on :guilabel:`Install`.
|
||||
Finally, make sure all your users refresh their Odoo page by pressing CTRL+F5.
|
||||
|
||||
.. Note::
|
||||
|
||||
- All previous synchronizations are disconnected during the installation and won't work anymore.
|
||||
You can find them directly in the synchronization menu (:menuselection:`Accounting -->
|
||||
Configuration --> Online Synchronization`). It is not possible to resynchronize these
|
||||
connections; you have to make new ones.
|
||||
- Please do not uninstall *account_online_sync* which is the previous module for online
|
||||
- You can find them directly in the synchronization menu
|
||||
(:menuselection:`Accounting Dashboard --> Configuration -->
|
||||
Accounting: Online Synchronization`). It is not possible to resynchronize these connections;
|
||||
you have to make new ones.
|
||||
- Do not uninstall `account_online_sync`, which is the previous module for online
|
||||
synchronization. The new one overrides it.
|
||||
- By default *account_online_synchronization* is installed automatically with Accounting.
|
||||
- By default, `account_online_synchronization` is installed automatically with Accounting.
|
||||
|
||||
FAQ
|
||||
===
|
||||
@@ -148,14 +139,15 @@ The synchronization is not working in real-time. Is that normal?
|
||||
|
||||
The process is not intended to work in real-time as third party providers synchronize your accounts
|
||||
at different intervals. To force the synchronization and fetch the statements, go to your
|
||||
*Accounting dashboard*, and click on the *Synchronize Now* button. You can also synchronize and
|
||||
fetch transactions through :menuselection:`Accounting --> Configuration --> Online Synchronization`.
|
||||
Some providers only allow one refresh per day, so it is possible that clicking on *Synchronize Now*
|
||||
does not get your latest transactions if you already performed such action earlier in the day.
|
||||
:guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. You can also
|
||||
synchronize and fetch transactions through :menuselection:`Accounting Dashboard -->
|
||||
Configuration --> Accounting: Online Synchronization`. Some providers only allow one refresh per
|
||||
day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get your latest
|
||||
transactions if you already performed such action earlier in the day.
|
||||
|
||||
A transaction can be visible on your bank account, but not be fetched if it has the status
|
||||
*Pending*. Only transactions with the *Posted* status will be retrieved. If it is not *Posted* yet,
|
||||
you will have to wait until the status changes.
|
||||
A transaction can be visible on your bank account but not be fetched if it has the status
|
||||
:guilabel:`Pending`. Only transactions with the :guilabel:`Posted` status will be retrieved. If the
|
||||
transaction is not **Posted** yet, you will have to wait until the status changes.
|
||||
|
||||
Is the Online Bank Synchronization feature included in my contract?
|
||||
-------------------------------------------------------------------
|
||||
@@ -188,8 +180,9 @@ Why don't I see any transactions?
|
||||
---------------------------------
|
||||
|
||||
During your first synchronization, you selected the bank accounts you decided to synchronize with
|
||||
Odoo. If you didn't synchronize any of your accounts, you can go to :menuselection:`Accounting -->
|
||||
Configuration --> Online Synchronization` to click on the *Fetch Accounts* button on the connection.
|
||||
Odoo. If you didn't synchronize any of your accounts, you can go to
|
||||
:menuselection:`Accounting Dashboard --> Configuration --> Accounting: Online Synchronization` to
|
||||
click on the :guilabel:`Fetch Account` button on the connection.
|
||||
|
||||
There may also be no new transactions.
|
||||
|
||||
@@ -199,9 +192,9 @@ database, please `submit a support ticket <https://www.odoo.com/help>`_.
|
||||
How can I update my bank credentials?
|
||||
-------------------------------------
|
||||
|
||||
You can update your credentials by going to :menuselection:`Accounting --> Configuration --> Online
|
||||
Synchronization`, open the connection you want to update your credentials and click on the *Update
|
||||
Credentials* button.
|
||||
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`
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
@@ -64,8 +64,8 @@ Link your Ponto account with your Odoo database
|
||||
#. Finish the flow.
|
||||
|
||||
.. note::
|
||||
You have to authorize all the accounts you want to access in Odoo but, Odoo will filter the
|
||||
accounts based on the institution you selected at the second step.
|
||||
You have to authorize all the accounts you want to access in Odoo, but Odoo will filter the
|
||||
accounts based on the institution you selected in the second step.
|
||||
|
||||
Update your synchronization credentials
|
||||
---------------------------------------
|
||||
|
||||
@@ -1,95 +1,136 @@
|
||||
=============
|
||||
Bank Accounts
|
||||
=============
|
||||
|
||||
You can manage as many **Bank Accounts** as needed on your database. Configuring them well allows
|
||||
you to make sure that all your banking data is up to date and ready for the reconciliation with your
|
||||
*Journal Entries*.
|
||||
|
||||
In Odoo Accounting, each Bank Account is configured to have a dedicated *Journal* which is
|
||||
configured to post all entries in a dedicated *Account*.
|
||||
|
||||
.. note:: Whenever you add a Bank Account, a dedicated journal and a dedicated account are
|
||||
automatically created and configured.
|
||||
|
||||
Every **Bank Journal** is displayed by default on the **Accounting Overview** in the form of a
|
||||
convenient card. It includes action buttons that are displayed when appropriate.
|
||||
|
||||
.. image:: bank_accounts/bank_accounts_card.png
|
||||
:align: center
|
||||
:alt: Bank Journals Cards are displayed on the Accounting Overview in Odoo Accounting
|
||||
|
||||
.. _bank_accounts_add:
|
||||
|
||||
Add a new Bank Account
|
||||
======================
|
||||
Bank and cash accounts
|
||||
======================
|
||||
|
||||
You can either connect your bank account to your Odoo database, or configure your bank account
|
||||
manually and :doc:`upload the bank statements manually <../feeds/bank_statements>`.
|
||||
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.
|
||||
|
||||
Bank Synchronization
|
||||
--------------------
|
||||
|
||||
Connect your bank account to your database and have your bank statements synced automatically.
|
||||
|
||||
To synchronize a new bank account, go to :menuselection:`Accounting --> Configuration`, click on
|
||||
*Add a Bank Account*, then find your bank in the list, click on *Connect*, and follow the
|
||||
instructions on-screen.
|
||||
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
|
||||
a bank account.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this bank
|
||||
synchronization.
|
||||
Cash journals and accounts must be configured manually.
|
||||
|
||||
.. image:: bank_accounts/bank_accounts_connect.png
|
||||
Bank journals are displayed by default on the :guilabel:`Accounting Dashboard` in the form of cards
|
||||
which include action buttons.
|
||||
|
||||
.. image:: bank_accounts/card.png
|
||||
:align: center
|
||||
:alt: Select a bank institution in the list and connect it to Odoo Accounting
|
||||
:alt: Bank journals are displayed on the Accounting Dashboard and contain action buttons
|
||||
|
||||
Manual configuration
|
||||
--------------------
|
||||
.. _bank_accounts/manage:
|
||||
|
||||
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.
|
||||
Manage your bank and cash accounts
|
||||
==================================
|
||||
|
||||
To add a new bank account manually, go to :menuselection:`Accounting --> Configuration`, click on
|
||||
*Add a Bank Account*, then on *Create it*, and fill out the form.
|
||||
Connect your bank for automatic synchronization
|
||||
-----------------------------------------------
|
||||
|
||||
- **Name**: the bank account's name, as displayed on Odoo.
|
||||
- **Account Number**: your bank account number (IBAN in Europe).
|
||||
- **Bank**: click on *Create and Edit* to configure the bank's details. Add the bank institution's
|
||||
name and its Identifier Code (BIC or SWIFT).
|
||||
- **Code**: this code is your Journal's *Short Code*, as displayed on Odoo. By default, Odoo creates
|
||||
a new Journal with this Short Code.
|
||||
- **Journal**: This field is displayed if you have an existing Bank Journal that is not linked yet
|
||||
to a bank account. If so, then select the *Journal* you want to use to record the financial
|
||||
transactions linked to this bank account or create a new one by clicking on *Create and Edit*.
|
||||
|
||||
.. note::
|
||||
Odoo detects the bank account type (e.g., IBAN) and enables some features accordingly.
|
||||
|
||||
.. image:: bank_accounts/bank_accounts_manual.png
|
||||
:align: center
|
||||
:alt: Add manually a new bank account in Odoo Accounting
|
||||
.. _bank_accounts_configuration:
|
||||
|
||||
Advanced configuration
|
||||
======================
|
||||
|
||||
To edit an existing bank account, go to :menuselection:`Accounting --> Configuration --> Bank
|
||||
Accounts`, and open the bank account you want to modify.
|
||||
|
||||
If you need to edit the bank account details, go to the *Bank Account* field and click on the
|
||||
*External Link* button next to the list arrow. There, you can edit the bank account's number,
|
||||
Account Holder, Account Holder Name, and your Bank Institution's details by clicking on the
|
||||
*External Link* next to the *Bank* field. These details are used to register some payments.
|
||||
|
||||
You can configure which types of payments are enabled in the **Payment Method Types** section and
|
||||
how the bank statements are recorded and posted in the **Bank Statements** section.
|
||||
|
||||
.. image:: bank_accounts/bank_accounts_configuration.png
|
||||
:align: center
|
||||
:alt: Advanced configuration of a bank account in Odoo Accounting
|
||||
To connect your bank account to your database, go to :menuselection:`Accounting --> Configuration
|
||||
--> Banks: Add a Bank Account`, select your bank in the list, click on :guilabel:`Connect`, and
|
||||
follow the instructions.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../../bank/feeds/bank_synchronization`
|
||||
* :doc:`../feeds/bank_statements`
|
||||
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_
|
||||
:doc:`../../bank/feeds/bank_synchronization`
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
|
||||
If your banking institution is not available in Odoo, or if you don't want to connect your bank
|
||||
account to your database, you can configure your bank account manually.
|
||||
|
||||
To manually add a bank account, go to :menuselection:`Accounting --> Configuration --> Banks:
|
||||
Add a Bank Account`, click on :guilabel:`Create it` (at the bottom right), and fill out the form.
|
||||
|
||||
.. note::
|
||||
- Odoo automatically detects the bank account type (e.g., IBAN) and enables some features
|
||||
accordingly.
|
||||
- A default bank journal is available and can be used to configure your bank account by going to
|
||||
:menuselection:`Accounting --> Configuration --> Accounting: Journals --> Bank`. Open it and
|
||||
edit the different fields to match your bank account information.
|
||||
|
||||
Create a cash journal
|
||||
---------------------
|
||||
|
||||
To create a new cash journal, go to :menuselection:`Accounting --> Configuration --> Accounting:
|
||||
Journals`, click on :guilabel:`Create` and select :guilabel:`Cash` in the :guilabel:`Type` field.
|
||||
|
||||
For more information on the accounting information fields, read the
|
||||
:ref:`bank_accounts/configuration` section of this page.
|
||||
|
||||
.. note::
|
||||
A default cash journal is available and can be used straight away. You can review it by going to
|
||||
:menuselection:`Accounting --> Configuration --> Accounting: Journals --> Cash`.
|
||||
|
||||
Edit an existing bank or cash journal
|
||||
-------------------------------------
|
||||
|
||||
To edit an existing bank journal, go to :menuselection:`Accounting --> Configuration --> Accounting:
|
||||
Journals` and select the journal you want to modify.
|
||||
|
||||
.. _bank_accounts/configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
You can edit the accounting information and bank account number according to your needs.
|
||||
|
||||
.. image:: bank_accounts/bank-journal-config.png
|
||||
:align: center
|
||||
:alt: Manually configure your bank information
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../others/multi_currency`
|
||||
- :doc:`../../bank/feeds/bank_statements`
|
||||
- :doc:`../../bank/setup/outstanding_accounts`
|
||||
|
||||
Suspense account
|
||||
----------------
|
||||
|
||||
Bank statement transactions are posted on the :guilabel:`Suspense Account` until the final
|
||||
reconciliation allows finding the right account.
|
||||
|
||||
Profit and loss accounts
|
||||
------------------------
|
||||
|
||||
The :guilabel:`Profit Account` is used to register a profit when the ending balance of a cash
|
||||
register differs from what the system computes, while the :guilabel:`Loss Account` is used to
|
||||
register a loss when the ending balance of a cash register differs from what the system computes.
|
||||
|
||||
Currency
|
||||
--------
|
||||
|
||||
You can edit the currency used to enter the statements.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../others/multi_currency`
|
||||
|
||||
Account number
|
||||
--------------
|
||||
|
||||
If you need to **edit your bank account details**, click on the external link arrow next to your
|
||||
:guilabel:`Account Number`. On the new page, click on the external link arrow next to your
|
||||
:guilabel:`Bank` and update your bank information accordingly. These details are used when
|
||||
registering payments.
|
||||
|
||||
.. image:: bank_accounts/bank-account-number.png
|
||||
:align: center
|
||||
:alt: Edit your bank information
|
||||
|
||||
Bank feeds
|
||||
----------
|
||||
|
||||
:guilabel:`Bank Feeds` defines how the bank statements are registered. Three options are available:
|
||||
|
||||
- :guilabel:`Undefined yet`, which should be selected when you don’t know yet if you will
|
||||
synchronize your bank account with your database or not.
|
||||
- :guilabel:`Import (CAMT, CODA, CSV, OFX, QIF)`, which should be selected if you want to import
|
||||
your bank statement using a different format.
|
||||
- :guilabel:`Automated Bank Synchronization`, which should be selected if your bank is synchronized
|
||||
with your database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../bank/feeds/bank_synchronization`
|
||||
- :doc:`../../bank/feeds/bank_statements`
|
||||
|
||||
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
|
Before Width: | Height: | Size: 9.3 KiB |
|
After Width: | Height: | Size: 6.4 KiB |
@@ -13,7 +13,7 @@ Be careful, you can only change the accounting package as long as you have not c
|
||||
|
||||
.. tip::
|
||||
|
||||
When you create a new SaaS database, the SKR03 is installed by default.
|
||||
When you create a new Odoo Online database, the SKR03 is installed by default.
|
||||
|
||||
German Accounting Reports
|
||||
=========================
|
||||
@@ -224,8 +224,8 @@ accordance with the GoBD guidelines.
|
||||
Once bookings have been finally posted, they can no longer be changed or deleted via the
|
||||
application.
|
||||
|
||||
- If Odoo is used in the cloud, regular backups are part of the SaaS service. In addition, regular
|
||||
backups can be downloaded and backed up on external systems.
|
||||
- If Odoo is used in the cloud, regular backups are part of the Odoo Online service. In addition,
|
||||
regular backups can be downloaded and backed up on external systems.
|
||||
|
||||
.. seealso::
|
||||
`Odoo Cloud Hosting - Service Level Agreement <https://www.odooo.com/cloud-sla>`_
|
||||
|
||||
@@ -17,7 +17,7 @@ then choose the package you want in the **Fiscal Localization** section.
|
||||
Be careful, you can only change the accounting package as long as you have not created any accounting entry.
|
||||
|
||||
.. tip::
|
||||
When you create a new SaaS database, the PGCE PYMEs 2008 is installed by default.
|
||||
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
|
||||
|
||||
Spanish Accounting Reports
|
||||
==========================
|
||||
|
||||
@@ -67,8 +67,8 @@ Starting from the 1st January 2018, new reduced VAT rates will be
|
||||
applied in Switzerland. The normal 8.0% rate will switch to 7.7% and the
|
||||
specific rate for the hotel sector will switch from 3.8% to 3.7%.
|
||||
|
||||
How to update your taxes in Odoo Enterprise (SaaS or On Premise)?
|
||||
-----------------------------------------------------------------
|
||||
How to update your taxes in Odoo Enterprise (Odoo Online or On-premise)?
|
||||
------------------------------------------------------------------------
|
||||
|
||||
If you have the V11.1 version, all the work is already been done, you
|
||||
don't have to do anything.
|
||||
|
||||
@@ -2,146 +2,50 @@
|
||||
Pay several bills at once
|
||||
=========================
|
||||
|
||||
Odoo provides a simple and effective way to handle several bills at
|
||||
once, with various quick or complex options. With one single process,
|
||||
anyone is able to handle bills and payment in just a few clicks.
|
||||
|
||||
Pay multiple bills with one payment
|
||||
===================================
|
||||
|
||||
Record several payments
|
||||
-----------------------
|
||||
|
||||
In the following example, we will generate some bills. You can control
|
||||
the whole process from your accounting dashboard (first screen you get
|
||||
when you open the accounting application).
|
||||
|
||||
.. image:: multiple/multiple01.png
|
||||
:align: center
|
||||
|
||||
To create a bill, open the Dashboard menu and click on **Vendor Bills**.
|
||||
In the Vendor Bills window, click on **Create**.
|
||||
|
||||
.. image:: multiple/multiple02.png
|
||||
:align: center
|
||||
|
||||
Choose the vendor from which you wish to purchase the product, and click
|
||||
on Add an item to add one (or more) product(s). Click on **Save** and then
|
||||
**Validate**.
|
||||
|
||||
Pay supplier bills, one after the other
|
||||
---------------------------------------
|
||||
|
||||
.. image:: multiple/multiple03.png
|
||||
:align: center
|
||||
|
||||
We will now record a payment for one bill only. Open the bill, then
|
||||
click on **Register Payment**. Insert the Payment Method, Date and Amount,
|
||||
and click on **Validate**.
|
||||
|
||||
.. image:: multiple/multiple04.png
|
||||
:align: center
|
||||
|
||||
Once you have validated the payment, the system will automatically
|
||||
reconcile the payment with the bill, and set the bill as **Paid**. The
|
||||
system will also generate a move from the payment account and reconcile
|
||||
it with the expense transaction.
|
||||
|
||||
Pay several bills altogether
|
||||
----------------------------
|
||||
|
||||
In order to illustrate the process thoroughly, create at least 2 more
|
||||
bills following the above standing guide. **Make sure all bills come
|
||||
from the same vendor.**
|
||||
|
||||
.. image:: multiple/multiple05.png
|
||||
:align: center
|
||||
|
||||
In the Vendors Bills, select the new bills you have just created by
|
||||
checking the box next to each of them. In the Action menu located in the
|
||||
middle of the page, click on **Register Payment**.
|
||||
|
||||
.. image:: multiple/multiple06.png
|
||||
:align: center
|
||||
|
||||
Insert the details of the payment. The system calculated the total
|
||||
amount for both bills, but you can modify it freely. Click on **Validate**.
|
||||
|
||||
Record the payment, reconcile afterwards
|
||||
----------------------------------------
|
||||
|
||||
You can also reconcile a payment with bills after the payment has been
|
||||
recorded.
|
||||
|
||||
First, we need to create a payment
|
||||
|
||||
This will handle from :menuselection:`Dashboard --> Bank journal -->
|
||||
More Option --> Send Money`
|
||||
|
||||
.. image:: multiple/multiple07.png
|
||||
:align: center
|
||||
|
||||
Creating payment order with check payment method. Selecting related
|
||||
Vendor and amount which remain to pay. After filling all details, we
|
||||
will confirm the payment order which will generate payment transaction
|
||||
with the system.
|
||||
|
||||
.. image:: multiple/multiple08.png
|
||||
:align: center
|
||||
|
||||
As you can see, bill payment status show what is posted and what is
|
||||
remaining to reconcile.
|
||||
|
||||
After receiving bank statement from the bank with payment detail, you
|
||||
can reconcile the transaction from the Dashboard. It will automatically
|
||||
map the transaction amount.
|
||||
Odoo offers the possibility of grouping multiple bills' payments into one, facilitating the
|
||||
reconciliation process.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../supplier_bills/manage`
|
||||
- :doc:`../../bank/reconciliation/use_cases`
|
||||
|
||||
Partial payments of several supplier bills
|
||||
==========================================
|
||||
Group payments
|
||||
==============
|
||||
|
||||
How to pay several supplier bills having cash discounts at once?
|
||||
----------------------------------------------------------------
|
||||
To register the payment of multiple bills at once, go to :menuselection:`Accounting app -->
|
||||
Vendors --> Bills`. Then, select the bills you wish to register a payment for by **ticking** the
|
||||
boxes next to the bills. When done, either click :guilabel:`Register Payment` or
|
||||
:menuselection:`Action --> Register Payment`.
|
||||
|
||||
You already learned how to pay bills in various way but what about
|
||||
partial payment? We are taking another example where we will do partial
|
||||
payment for various bills.
|
||||
.. image:: multiple/register-payment-button.png
|
||||
:align: center
|
||||
:alt: Register payment button.
|
||||
|
||||
We are creating multiple bills and partially pay them through bank
|
||||
statements.
|
||||
.. note::
|
||||
Payments can only be registered for :guilabel:`posted` bills.
|
||||
|
||||
We are adding payment terms which allow some cash discount where vendor
|
||||
offer us early payment discount.
|
||||
When registering the payments, a **pop-up window** appears. From here, you can either create
|
||||
**separate payments** for each bill all at once by clicking :guilabel:`Create Payment`, *or* create
|
||||
one payment by combining **all** bills' payments. To **combine** all payments, tick the
|
||||
:guilabel:`Group Payments` box.
|
||||
|
||||
.. image:: multiple/multiple09.png
|
||||
:align: center
|
||||
.. note::
|
||||
The :guilabel:`Group Payments` option only appears when selecting two or more bills.
|
||||
|
||||
We are creating the following bills with the assignment of the above
|
||||
payment term.
|
||||
.. image:: multiple/multiple-group-payments.png
|
||||
:align: center
|
||||
:alt: Group payments options when registering a payment.
|
||||
|
||||
.. image:: multiple/multiple10.png
|
||||
:align: center
|
||||
When selecting :guilabel:`Group Payments`, the :guilabel:`amount, currency, date and memo` are all
|
||||
set automatically, but you can modify them according to your needs.
|
||||
|
||||
We have created the following bills:
|
||||
Partial group payments with cash discounts
|
||||
------------------------------------------
|
||||
|
||||
.. image:: multiple/multiple11.png
|
||||
:align: center
|
||||
|
||||
We will pay the invoices by creating bank statement where we will adjust
|
||||
the cash discount our vendor provided under payment terms.
|
||||
|
||||
.. image:: multiple/multiple12.png
|
||||
:align: center
|
||||
|
||||
Before reconciling this bank statement, we need to create one statement
|
||||
model for cash discount.
|
||||
|
||||
.. image:: multiple/multiple13.png
|
||||
:align: center
|
||||
|
||||
Now we are going back to bank statement and opening reconcile view.
|
||||
In case of **partial group payments with cash discounts**, you can follow the steps found on the
|
||||
:doc:`cash discount documentation page <../../receivables/customer_invoices/cash_discounts>`. Make
|
||||
sure to apply the :doc:`payment terms <../../receivables/customer_invoices/payment_terms>` to the
|
||||
**bills** *instead* of the invoices.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../bank/reconciliation/reconciliation_models`
|
||||
:doc:`../../receivables/customer_invoices/payment_terms`
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 36 KiB |
@@ -71,8 +71,8 @@ Pricing
|
||||
:guilabel:`View My Services`.
|
||||
|
||||
.. important::
|
||||
- If you are on Odoo Online (SaaS) and have the Enterprise version, you benefit from free trial
|
||||
credits to test the feature.
|
||||
- If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits
|
||||
to test the feature.
|
||||
|
||||
.. seealso::
|
||||
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_.
|
||||
@@ -20,8 +20,8 @@ Odoo supports, among others, the following formats.
|
||||
|
||||
* - Format Name
|
||||
- Applicability
|
||||
* - Factur-X (CII)
|
||||
- Default format on Odoo (enabled by default)
|
||||
* - Factur-X (PDF/A-3)
|
||||
- For French and German companies
|
||||
* - Peppol BIS Billing 3.0 (UBL)
|
||||
- For companies whose countries are part of the `EAS list
|
||||
<https://docs.peppol.eu/poacc/billing/3.0/codelist/eas/>`_
|
||||
@@ -68,8 +68,9 @@ visible in the attachment section, or embedded in the PDF.
|
||||
.. note::
|
||||
- For E-FFF, the xml file only appears after having generated the PDF (:guilabel:`Print` or
|
||||
:guilabel:`Send & Print` button), since the PDF needs to be embedded inside the xml.
|
||||
- By default, the :guilabel:`Factur-X` option is enabled. It means that an XML file is
|
||||
automatically included in the PDF document that is sent.
|
||||
- Every PDF generated from Odoo contains a :guilabel:`Factur-X` XML file (for interoperability purpose).
|
||||
For German and French companies, the option :guilabel:`Factur-X (PDF/A-3)` in addition enables
|
||||
validation checks on the invoice and generates a PDF/A-3 compliant file, required by plaftorms like Chorus Pro.
|
||||
- The formats available depend on the country registered in your company's :guilabel:`General
|
||||
Information`.
|
||||
- Odoo supports the **Peppol BIS Billing 3.0** format that can be used via existing access
|
||||
|
||||
|
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 7.7 KiB |
@@ -42,6 +42,6 @@ Pricing
|
||||
*View my Services*.
|
||||
|
||||
.. tip::
|
||||
- If you are on Odoo Online (SAAS) and have the Enterprise version, you benefit from free trial
|
||||
credits to test the feature.
|
||||
- If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits
|
||||
to test the feature.
|
||||
- Click `here <https://iap.odoo.com/privacy#header_4>`_ to know about our *Privacy Policy*.
|
||||
|
||||
@@ -1,95 +1,116 @@
|
||||
=======================
|
||||
Manage cash basis taxes
|
||||
=======================
|
||||
================
|
||||
Cash basis taxes
|
||||
================
|
||||
|
||||
The cash basis taxes are due when the payment has been done and not at
|
||||
the validation of the invoice (as it is the case with standard taxes).
|
||||
Reporting your income and expenses to the administration based on the
|
||||
cash basis method is legal in some countries and under some conditions.
|
||||
Cash basis taxes are due when the payment is made, as opposed to standard taxes that are due when
|
||||
the invoice is confirmed. Reporting your income and expenses to the government based on the cash
|
||||
basis method is mandatory in some countries and under some conditions.
|
||||
|
||||
Example : You sell a product in the 1st quarter of your fiscal year and
|
||||
receive the payment the 2nd quarter of your fiscal year. Based on the
|
||||
cash basis method, the tax you have to pay to the administration is due
|
||||
for the 2nd quarter.
|
||||
.. example::
|
||||
You sell a product in the 1st quarter of your fiscal year, and the payment is received in the 2nd
|
||||
quarter. Based on the cash basis method, the tax you must pay is for the 2nd quarter.
|
||||
|
||||
How to configure cash basis taxes ?
|
||||
------------------------------------
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
You first have to activate the setting in
|
||||
:menuselection:`Accounting --> Configuration --> Settings --> Allow Tax Cash Basis`.
|
||||
You will be asked to define the Tax Cash Basis Journal.
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings` and under the :guilabel:`Taxes`
|
||||
section, enable :guilabel:`Cash Basis`.
|
||||
|
||||
.. image:: cash_basis_taxes/cash_basis_taxes01.png
|
||||
:width: 5.04688in
|
||||
:height: 0.79688in
|
||||
Then, define the :guilabel:`Tax Cash Basis Journal`. Click on the external link button next to the
|
||||
journal to update its default properties such as the :guilabel:`Journal Name`, :guilabel:`Type` or
|
||||
:guilabel:`Short Code`.
|
||||
|
||||
.. image:: cash_basis_taxes/tax_cash_basis_journal.png
|
||||
:align: center
|
||||
:alt: Select your Tax Cash Basis Journal and click on the external link
|
||||
|
||||
Once this is done, you can configure your taxes in
|
||||
:menuselection:`Accounting --> Configuration --> Taxes`.
|
||||
At first set the proper transitional accounts to post taxes
|
||||
until you register the payment.
|
||||
.. note::
|
||||
By default, the journal entries of the :guilabel:`Cash Basis Taxes` journal are named using the
|
||||
:guilabel:`CABA` short code.
|
||||
|
||||
.. image:: cash_basis_taxes/cash_basis_taxes02.png
|
||||
Once this is done, go to :menuselection:`Accounting --> Configuration --> Accounting: Taxes` to
|
||||
configure your taxes. You can either :guilabel:`Create` a new tax or update an existing one by
|
||||
clicking on it.
|
||||
|
||||
The :guilabel:`Account` column reflects the proper transitional accounts to post taxes until the
|
||||
payment is registered.
|
||||
|
||||
.. image:: cash_basis_taxes/account_column.png
|
||||
:align: center
|
||||
:alt: Fill in the account column with a transitional accounts where taxes go until the payment
|
||||
is registered
|
||||
|
||||
In the *Advanced Options* tab you will turn *Tax Due* to
|
||||
*Based on Payment*. You will then have to
|
||||
define the *Tax Received* account in which to post the tax amount
|
||||
when the payment is received and the *Base Tax Received Account*
|
||||
to post the base tax amount for an accurate tax report.
|
||||
In the :guilabel:`Advanced Options` tab, decide of the :guilabel:`Tax Exigilibity`. Select
|
||||
:guilabel:`Based on Payment`, so the tax is due when the payment of the invoice is received. You can
|
||||
then also define the :guilabel:`Cash Basis Transition Account` where the tax amount is recorded as
|
||||
long as the original invoice has not been reconciled.
|
||||
|
||||
.. image:: cash_basis_taxes/cash_basis_taxes03.png
|
||||
.. image:: cash_basis_taxes/advanced_options.png
|
||||
:align: center
|
||||
:alt: Fill in the Cash Basis Transition Account where taxes amounts go until payment
|
||||
reconciliation.
|
||||
|
||||
What is the impact of cash basis taxes in my accounting ?
|
||||
----------------------------------------------------------
|
||||
Impact of cash basis taxes on accounting
|
||||
----------------------------------------
|
||||
|
||||
Let’s take an example. You make a sale of $100 with a 15% cash basis
|
||||
tax. When you validate the customer invoice, the following entry is
|
||||
created in your accounting:
|
||||
To illustrate the impact of cash basis taxes on accounting transactions, let's take an example with
|
||||
the sales of a product that costs 1,000$, with a cash basis tax of 15%.
|
||||
|
||||
+-----------------------------+---------------------------+
|
||||
| Customer Invoices Journal | |
|
||||
+=============================+===========================+
|
||||
| **Debit** | **Credit** |
|
||||
+-----------------------------+---------------------------+
|
||||
| Receivables $115 | |
|
||||
+-----------------------------+---------------------------+
|
||||
| | Temporary Tax Account $15 |
|
||||
+-----------------------------+---------------------------+
|
||||
| | Income Account $100 |
|
||||
+-----------------------------+---------------------------+
|
||||
.. image:: cash_basis_taxes/customer_invoice_with_cbt.png
|
||||
:align: center
|
||||
:alt:
|
||||
|
||||
A few days later, you receive the payment:
|
||||
The following entries are created in your accounting, and the tax report is currently empty.
|
||||
|
||||
+----------------+--------------------+
|
||||
| Bank Journal | |
|
||||
+================+====================+
|
||||
| **Debit** | **Credit** |
|
||||
+----------------+--------------------+
|
||||
| Bank $115 | |
|
||||
+----------------+--------------------+
|
||||
| | Receivables $115 |
|
||||
+----------------+--------------------+
|
||||
+----------------------------+----------------------------+
|
||||
|**Customer journal (INV)** |
|
||||
+============================+============================+
|
||||
| **Debit** |**Credit** |
|
||||
+----------------------------+----------------------------+
|
||||
| Receivable $1,150 | |
|
||||
+----------------------------+----------------------------+
|
||||
| |Income $1,000 |
|
||||
+----------------------------+----------------------------+
|
||||
| |Temporary tax account $150 |
|
||||
+----------------------------+----------------------------+
|
||||
|
||||
When you reconcile the invoice and the payment, this entry is generated:
|
||||
When the payment is then received, it is registered as below :
|
||||
|
||||
+--------------------------+----------------------------+
|
||||
| Tax Cash Basis Journal |
|
||||
+==========================+============================+
|
||||
| **Debit** | **Credit** |
|
||||
+--------------------------+----------------------------+
|
||||
| Temporary Tax Account $15| |
|
||||
+--------------------------+----------------------------+
|
||||
| | Tax Received Account $15 |
|
||||
+--------------------------+----------------------------+
|
||||
| Income Account $100 | |
|
||||
+--------------------------+----------------------------+
|
||||
| | Income Account $100 |
|
||||
+--------------------------+----------------------------+
|
||||
+----------------------------+----------------------------+
|
||||
| **Bank journal (BANK)** |
|
||||
+============================+============================+
|
||||
| **Debit** |**Credit** |
|
||||
+----------------------------+----------------------------+
|
||||
| Bank $1,150 | |
|
||||
+----------------------------+----------------------------+
|
||||
| |Receivable $1,150 |
|
||||
+----------------------------+----------------------------+
|
||||
|
||||
.. tip::
|
||||
The last two journal items are neutral but they are needed to insure
|
||||
correct tax reports in Odoo with accurate base tax amounts.
|
||||
We advise to use a default revenue account.
|
||||
The balance of this account will then always be at zero.
|
||||
.. note::
|
||||
Once the payment is registered, you can use the :guilabel:`Cash Basis Entries` smart button on
|
||||
the invoice to access them directly.
|
||||
|
||||
Finally, upon reconciliation of the invoice with the payment, the below entry is automatically
|
||||
created:
|
||||
|
||||
+----------------------------+----------------------------+
|
||||
| **Tax Cash Basis Journal (Caba)** |
|
||||
+============================+============================+
|
||||
| **Debit** |**Credit** |
|
||||
+----------------------------+----------------------------+
|
||||
| Income account $1,000 | |
|
||||
+----------------------------+----------------------------+
|
||||
| Temporary tax account $150 | |
|
||||
+----------------------------+----------------------------+
|
||||
| | Income account $1,000 |
|
||||
+----------------------------+----------------------------+
|
||||
| | Tax Received $150 |
|
||||
+----------------------------+----------------------------+
|
||||
|
||||
The journal items :guilabel:`Income account` vs. :guilabel:`Income account` are neutral, but they
|
||||
are needed to ensure correct tax reports in Odoo with accurate base tax amounts.
|
||||
|
||||
Using a default :guilabel:`Base Tax Received Account` is recommended so your balance is at zero and
|
||||
your income account is not polluted by unnecessary accounting movements. To do so, go to
|
||||
:menuselection:`Configuration --> Settings --> Taxes`, and select a
|
||||
:guilabel:`Base Tax Received Account` under :guilabel:`Cash Basis`.
|
||||
|
||||
|
After Width: | Height: | Size: 6.0 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 8.9 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
@@ -4,8 +4,8 @@ Documents
|
||||
|
||||
**Odoo Documents** allows you to store, view and manage files within Odoo.
|
||||
|
||||
You can upload any type of file (max 64MB per file on Odoo Online/SaaS), and organize them in
|
||||
various workspaces.
|
||||
You can upload any type of file (max 64MB per file on Odoo Online), and organize them in various
|
||||
workspaces.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Documents: product page <https://www.odoo.com/app/documents>`_
|
||||
|
||||
@@ -59,6 +59,8 @@ debug mode, add `?debug=0` instead.
|
||||
:ref:`assets mode <frontend/framework/assets_debug_mode>`, and `?debug=tests` enables
|
||||
the :ref:`tests mode <frontend/framework/tests_debug_mode>`.
|
||||
|
||||
.. _developer-mode/mode-tools:
|
||||
|
||||
Locate the mode tools
|
||||
=====================
|
||||
|
||||
|
||||
@@ -1,240 +1,210 @@
|
||||
====================================================
|
||||
Send and Receive Emails in Odoo with an Email Server
|
||||
Send and receive emails in Odoo with an email server
|
||||
====================================================
|
||||
|
||||
If you are a user of Odoo Online or Odoo.sh...
|
||||
==============================================
|
||||
Odoo Online or Odoo.sh users
|
||||
============================
|
||||
|
||||
You have nothing to do! **Odoo sets up its own mail servers for your database.**
|
||||
Outgoing and incoming emails work out-of-the-box!
|
||||
|
||||
Unless you plan to send large batches of mass mailing that could require the
|
||||
use of an external mail server, simply enjoy your new Odoo database.
|
||||
Since **Odoo sets up its own mail servers for the database**, outgoing and incoming emails already
|
||||
work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be done!
|
||||
|
||||
Unless an external mail server is required to send large batches of mass mailing, simply use the
|
||||
standard online Odoo database normally since it has already been preconfigured for email.
|
||||
|
||||
Scope of this documentation
|
||||
===========================
|
||||
|
||||
This document is **mainly dedicated to Odoo on-premise users** who don't
|
||||
benefit from an out-of-the-box solution to send and receive emails in Odoo,
|
||||
unlike `Odoo Online <https://www.odoo.com/trial>`_ & `Odoo.sh <https://www.odoo.sh>`_.
|
||||
This document is **mainly dedicated to Odoo on-premise users** who don't benefit from an
|
||||
out-of-the-box solution to send and receive emails in Odoo, unlike `Odoo Online <https://www.odoo.
|
||||
com/trial>`_ and `Odoo.sh <https://www.odoo.sh>`_.
|
||||
|
||||
The following sections below contain information on how to integrate an external email server with
|
||||
Odoo.
|
||||
|
||||
.. warning::
|
||||
If no one in your company is used to manage email servers, we strongly recommend that
|
||||
you opt for those Odoo hosting solutions. Their email system
|
||||
works instantly and is monitored by professionals.
|
||||
Nevertheless you can still use your own email servers if you want
|
||||
to manage your email server's reputation yourself.
|
||||
If no one in the company is used to managing email servers, Odoo Online and Odoo.sh are strongly
|
||||
recommended. Those Odoo hosting types' email systems work instantly and are monitored by
|
||||
professionals. Nevertheless, a company can use their own email server if they want to manage the
|
||||
email server's reputation themselves.
|
||||
|
||||
You will find here some useful
|
||||
information on how to integrate your own email solution with Odoo.
|
||||
.. note::
|
||||
Office 365 email servers don't easily allow the sending of external emails from hosts like Odoo.
|
||||
Refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-
|
||||
multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
|
||||
c805d654b4c4>`_ to make it work.
|
||||
|
||||
.. note::
|
||||
Office 365 email servers don't easily allow to send external emails from hosts like Odoo. Refer
|
||||
to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4>`_
|
||||
to make it work.
|
||||
Manage outbound messages
|
||||
========================
|
||||
|
||||
How to manage outbound messages
|
||||
===============================
|
||||
As a system admin, go to :menuselection:`Settings --> General Settings`
|
||||
and check *External Email Servers*. Then, click *Outgoing Mail Servers* to create one and reference
|
||||
the SMTP data of your email server. Once all the information has been filled out, click on
|
||||
*Test Connection*.
|
||||
As a system admin, go to :menuselection:`Settings --> General Settings --> Discuss` in Odoo, and
|
||||
enable the :guilabel:`External Email Servers` option. Then, click :guilabel:`Save`. Next, click
|
||||
:guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail
|
||||
server record in Odoo. Reference the SMTP data of the external email server. Once all the
|
||||
information has been filled out, click :guilabel:`Test Connection`.
|
||||
|
||||
Here is a typical configuration for a G Suite server.
|
||||
|
||||
.. image:: email_servers/outgoing-server.png
|
||||
:align: center
|
||||
:align: center
|
||||
:alt: The typical G Suite configuration on Odoo.
|
||||
|
||||
Then set your email domain name in the General Settings.
|
||||
Then, go back to :menuselection:`Settings --> General Settings --> Discuss` and set the email
|
||||
domain name in the :guilabel:`Alias Domain` name. Finally, click :guilabel:`Save` to finish setting
|
||||
up the email server.
|
||||
|
||||
.. note::
|
||||
If you get a ``[AUTHENTICATIONFAILED] Invalid credentials (Failure)`` warning when you *Test
|
||||
Connection* on a Gmail address, activate the *Less secure app access* option. A direct link can
|
||||
be `accessed here <https://myaccount.google.com/lesssecureapps?pli=1>`_.
|
||||
If an `[AUTHENTICATION FAILED] Invalid credentials (Failure)` warning appears when
|
||||
:guilabel:`Test Connection` is clicked for a Gmail address, activate the :guilabel:`Less secure
|
||||
app access` option. A direct link can be `accessed here <https://myaccount.google.com/
|
||||
lesssecureapps?pli=1>`_.
|
||||
|
||||
In addition to that, enable the IMAP setting on your Gmail account.
|
||||
In addition to that, enable the :guilabel:`IMAP setting` on the Gmail account.
|
||||
|
||||
Use an Office 365 server
|
||||
------------------------
|
||||
|
||||
Can I use an Office 365 server
|
||||
------------------------------
|
||||
You can use an Office 365 server if you run Odoo on-premise.
|
||||
Office 365 SMTP relays are not compatible with Odoo Online unless you configure
|
||||
Odoo to :ref:`force the outgoing "From" address <email_communication/default_from>` .
|
||||
An Office 365 server can be used if the database's hosting type is **Odoo on-premise**. Office 365
|
||||
SMTP relays are not compatible with Odoo Online or Odoo.sh unless Odoo is configured to
|
||||
:ref:`force the outgoing "From" address <email_communication/default_from>`.
|
||||
|
||||
Please refer to `Microsoft's documentation
|
||||
<https://support.office.com/en-us/article/How-to-set-up-a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-c805d654b4c4>`_
|
||||
to configure a SMTP relay for your Odoo's IP address.
|
||||
Please refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-
|
||||
a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
|
||||
c805d654b4c4>`_ to configure an SMTP relay for the Odoo database's IP address.
|
||||
|
||||
How to use a G Suite server
|
||||
---------------------------
|
||||
You can use an G Suite server for any Odoo hosting type.
|
||||
To do so you need to setup the SMTP relay service. The configuration steps are explained in
|
||||
`Google documentation <https://support.google.com/a/answer/2956491?hl=en>`__.
|
||||
Use a G Suite server
|
||||
--------------------
|
||||
|
||||
A G Suite server can be used for any Odoo hosting type. To do so, set up the SMTP relay service.
|
||||
The configuration steps are explained in `Google documentation <https://support.google.com
|
||||
/a/answer/2956491?hl=en>`__.
|
||||
|
||||
Restriction
|
||||
-----------
|
||||
Please note that port 25 is blocked for security reasons on our SaaS and Odoo.sh platform. Try using
|
||||
465, 587, or 2525.
|
||||
|
||||
Please note that port 25 is blocked for security reasons on Odoo Online and Odoo.sh platforms. Try
|
||||
using ports 465, 587, or 2525 instead.
|
||||
|
||||
.. _email_communication/default_from:
|
||||
|
||||
Use a default "From" email address
|
||||
----------------------------------
|
||||
|
||||
Sometimes, an email's "From" (outgoing) address can belong to a
|
||||
different domain, and that can be a problem.
|
||||
Sometimes, an email's "From" (outgoing) address can belong to a different domain, and that can be a
|
||||
problem.
|
||||
|
||||
For example, if a customer with address *mary@customer.example.com* responds to
|
||||
a message, Odoo will try to redistribute that same email to other subscribers
|
||||
in the thread. But if the domain *customer.example.com* forbids that kind of
|
||||
usage for security, the Odoo's redistributed email would get
|
||||
rejected by some recipients' mail servers.
|
||||
For example, if a customer with the email address *mary\@customer.example.com* responds to a
|
||||
message, Odoo will try to redistribute that same email to the other subscribers in the thread.
|
||||
However, if the domain *customer.example.com* forbids that kind of usage for security, the email
|
||||
that Odoo is trying to redistribute would get rejected by some recipients' email servers.
|
||||
|
||||
To avoid those kind of problems, you should make sure all emails use a "From"
|
||||
address from your authorized domain.
|
||||
To avoid that problem, make sure all emails use a "From" address from the same authorized domain.
|
||||
|
||||
If your MTA supports `SRS (Sender Rewriting Scheme)
|
||||
<https://en.wikipedia.org/wiki/Sender_Rewriting_Scheme>`_, you can enable it
|
||||
to handle these situations. However, that is more complex and requires more
|
||||
technical knowledge that is not meant to be covered by this documentation.
|
||||
If the MTA supports `SRS (Sender Rewriting Scheme) <https://en.wikipedia.org/wiki/Sender_Rewriting
|
||||
_Scheme>`_, SRS can be enabled to handle these situations. However, that is more complex and
|
||||
requires more technical knowledge that is not meant to be covered by this documentation.
|
||||
|
||||
Instead, you can also configure Odoo to do something similar by itself:
|
||||
Instead, Odoo can be configured to do something similar by itself:
|
||||
|
||||
#. Set your domain name in the General Settings.
|
||||
#. Set the :guilabel:`Alias Domain` name in the :menuselection:`Settings --> General Settings
|
||||
--> Discuss`.
|
||||
|
||||
.. image:: email_servers/alias-domain.png
|
||||
:align: center
|
||||
.. image:: email_servers/alias-domain.png
|
||||
:alt: Setting the domain alias configuration on Odoo.
|
||||
|
||||
#. Click on *Outgoing Mail Servers*
|
||||
#. Turn on :doc:`developer mode </applications/general/developer_mode>`.
|
||||
#. Go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`.
|
||||
#. Add one system parameter from the following list:
|
||||
|
||||
#. Create a new one.
|
||||
|
||||
#. Fill its *From Filter*.
|
||||
|
||||
.. image:: email_servers/outgoing_server_from_filter.png
|
||||
:align: center
|
||||
|
||||
* Use a domain (such as ``mycompany.example.com``) to keep the original "From"
|
||||
address for mails that come from that domain.
|
||||
|
||||
* Use an address (such as ``outgoing@mycompany.example.com``) to allow only
|
||||
that outgoing address.
|
||||
|
||||
* Keep it empty to use this server for any email address.
|
||||
|
||||
With this configuration in place, if Odoo sends an email that doesn't match any
|
||||
of the *from filters*, it will alter the email's "From" before sending it to
|
||||
the MTA.
|
||||
|
||||
It will use the default outgoing email address, composed like this:
|
||||
``{mail.default.from}@{mail.catchall.domain}``.
|
||||
|
||||
#. In developer mode, go to :menuselection:`Settings --> Technical -->
|
||||
Parameters --> System Parameters`.
|
||||
|
||||
#. Add these system parameters:
|
||||
|
||||
* ``mail.default.from``: local part of default outgoing email address.
|
||||
|
||||
* ``mail.catchall.domain``: domain part of default outgoing email address.
|
||||
* To use the same "From" address for *all* outgoing messages, use the key `mail.force.smtp.from`
|
||||
and set that address as value (such as `outgoing@mycompany.example.com`).
|
||||
* To keep the original "From" address for emails that use the same domain, but change it for
|
||||
emails that use a different domain, use the key `mail.dynamic.smtp.from` and set the value as
|
||||
the email address that should be used in those cases (such as `outgoing@mycompany.example.com`
|
||||
).
|
||||
|
||||
.. _email_communication/inbound_messages:
|
||||
|
||||
How to manage inbound messages
|
||||
==============================
|
||||
Manage inbound messages
|
||||
=======================
|
||||
|
||||
Odoo relies on generic email aliases to fetch incoming messages.
|
||||
|
||||
* **Reply messages** of messages sent from Odoo are routed to their original
|
||||
discussion thread (and to the inbox of all its followers) by the
|
||||
catchall alias (**catchall@**).
|
||||
|
||||
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo.
|
||||
This is especially used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__
|
||||
to opt-out invalid recipients.
|
||||
|
||||
* **Original messages**: Several business objects have their own alias to
|
||||
create new records in Odoo from incoming emails:
|
||||
* **Reply messages** of messages sent from Odoo are routed to their original discussion thread (and
|
||||
to the inbox of all its followers) by the catchall alias (**catchall@**).
|
||||
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo. This is especially
|
||||
used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__ to opt-out invalid
|
||||
recipients.
|
||||
* **Original messages**: Several business objects have their own alias to create new records in
|
||||
Odoo from incoming emails:
|
||||
|
||||
* Sales Channel (to create Leads or Opportunities in `Odoo CRM <https://www.odoo.com/page/crm>`__),
|
||||
|
||||
* Support Channel (to create Tickets in `Odoo Helpdesk <https://www.odoo.com/page/helpdesk>`__),
|
||||
|
||||
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page/project-management>`__),
|
||||
|
||||
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page/recruitment>`__),
|
||||
|
||||
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page
|
||||
/project-management>`__),
|
||||
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page
|
||||
/recruitment>`__),
|
||||
* etc.
|
||||
|
||||
Depending on your mail server, there might be several methods to fetch emails.
|
||||
The easiest and most recommended method is to manage one email address per Odoo
|
||||
alias in your mail server.
|
||||
Depending on the mail server, there might be several methods to fetch emails. The easiest and most
|
||||
recommended method is to manage one email address per Odoo alias in the mail server.
|
||||
|
||||
* Create the corresponding email addresses in your mail server
|
||||
(catchall@, bounce@, sales@, etc.).
|
||||
* Set your domain name in the General Settings.
|
||||
* Create the corresponding email addresses in the mail server (catchall@, bounce@, sales@, etc.).
|
||||
* Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings -->
|
||||
Discuss`.
|
||||
|
||||
.. image:: email_servers/alias-domain.png
|
||||
* If the database's hosting type is Odoo on-premise, create an :guilabel:`Incoming Mail Server` in
|
||||
Odoo for each alias. This can be done from the General Settings as well. Fill out the form
|
||||
according to the email provider's settings. Leave the :guilabel:`Actions to Perform on Incoming
|
||||
Mails` field blank. Once all the information has been filled out, click on :guilabel:`TEST &
|
||||
CONFIRM`.
|
||||
|
||||
.. image:: email_servers/incoming-server.png
|
||||
:align: center
|
||||
:alt: Incoming mail server configuration on Odoo.
|
||||
|
||||
* If the database's hosting type is Odoo Online or Odoo.sh, redirecting incoming messages to Odoo's
|
||||
domain name instead of the external email server is recommended. That way, incoming messages can
|
||||
be received without delay. Odoo Online only fetches incoming messages of external servers once
|
||||
every hour. Redirections for all email addresses should be set to Odoo's domain name in the email
|
||||
server (e.g. *catchall\@mydomain.ext* to *catchall\@mycompany.odoo.com*).
|
||||
|
||||
All the aliases are customizable in Odoo. Object aliases can be edited from their respective
|
||||
configuration view.
|
||||
|
||||
.. tip::
|
||||
To edit catchall and bounce aliases, first activate the :ref:`developer mode <developer-mode>`.
|
||||
Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to
|
||||
customize the aliases (*mail.catchall.alias* & *mail.bounce.alias*).
|
||||
|
||||
.. image:: email_servers/system-parameters.png
|
||||
:align: center
|
||||
:alt: System parameters with catchall configuration in Odoo.
|
||||
|
||||
* If you use Odoo on-premise, create an *Incoming Mail Server* in Odoo for each alias.
|
||||
You can do it from the General Settings as well. Fill out the form according
|
||||
to your email provider’s settings.
|
||||
Leave the *Actions to Perform on Incoming Mails* blank. Once all the
|
||||
information has been filled out, click on *TEST & CONFIRM*.
|
||||
By default, inbound messages are fetched every 5 minutes in Odoo on-premise.
|
||||
|
||||
.. image:: email_servers/incoming-server.png
|
||||
:align: center
|
||||
|
||||
* If you use Odoo Online or Odoo.sh, We do recommend to redirect incoming messages
|
||||
to Odoo's domain name rather than exclusively use your own email server.
|
||||
That way you will receive incoming messages without delay. Indeed, Odoo Online is fetching
|
||||
incoming messages of external servers once per hour only.
|
||||
You should set redirections for all the email addresses to Odoo's domain name in your
|
||||
email server (e.g. *catchall@mydomain.ext* to *catchall@mycompany.odoo.com*).
|
||||
|
||||
.. tip:: All the aliases are customizable in Odoo.
|
||||
Object aliases can be edited from their respective configuration view.
|
||||
To edit catchall and bounce aliases, you first need to activate the
|
||||
:ref:`developer mode <developer-mode>`.
|
||||
|
||||
Then go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`
|
||||
to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*).
|
||||
|
||||
.. image:: email_servers/system-parameters.png
|
||||
:align: center
|
||||
|
||||
.. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise.
|
||||
You can change this value in :ref:`developer mode <developer-mode>`.
|
||||
Go to :menuselection:`Settings --> Technical --> Automation -->
|
||||
Scheduled Actions` and look for *Mail: Fetchmail Service*.
|
||||
|
||||
.. note::
|
||||
This value can be changed in :ref:`developer mode <developer-mode>`. Go to
|
||||
:menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for
|
||||
:guilabel:`Mail: Fetchmail Service`.
|
||||
|
||||
Set up different dedicated servers for transactional and mass mails
|
||||
===================================================================
|
||||
|
||||
Odoo is subject to a :ref:`daily email limit <email_communication/daily_limit_mail>` to prevent abuse.
|
||||
However, if needed, you can use a separate Mail Transfer Agent (MTA) servers for transactional
|
||||
e-mails and mass mailings.
|
||||
Example: use Odoo's own mail server for transactional e-mails, and Sendgrid, Amazon SES, or Mailgun
|
||||
for mass mailings. Another alternative is to use Postmark for transactional e-mails, and Amazon SES
|
||||
or Sendgrid for mass mailings.
|
||||
In Odoo a separate Mail Transfer Agent (MTA) server can be used for transactional emails and mass
|
||||
mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun or
|
||||
Sendgrid for mass mailings.
|
||||
|
||||
.. note::
|
||||
A default outgoing email server is already configured. You should not create an alternative one
|
||||
unless you want to use a specific external outgoing email server for technical reasons.
|
||||
.. tip::
|
||||
A default outgoing email server is already configured. Do not create an alternative one unless a
|
||||
specific external outgoing email server is needed for technical reasons.
|
||||
|
||||
To do this, you should first activate the :ref:`developer mode <developer-mode>` and then go to
|
||||
:menuselection:`Settings --> Technical --> Outgoing` e-mail servers. There you have to create two
|
||||
e-mail MTA server settings. One for transactional e-mails and one for mass mail servers. Be sure to
|
||||
mark the priority of transactional e-mail servers as low as the mass email servers.
|
||||
To do this, first activate the :ref:`developer mode <developer-mode>`, and then go to
|
||||
:menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two email MTA
|
||||
server settings; one for the transactional emails and one for the mass mailing server. Make sure
|
||||
to give priority to the transactional server over the mass mailing server by providing a lower
|
||||
priority number for the transactional MTA server.
|
||||
|
||||
Now, go to :menuselection:`Email Marketing --> Settings` and enable *Dedicated Server*.
|
||||
Now, go to :menuselection:`Email Marketing --> Settings` and enable :guilabel:`Dedicated Server`.
|
||||
With these settings, Odoo uses the server with the lower priority for transactional emails, and the
|
||||
server here selected for mass mails.
|
||||
Note that in this case, you have to set your domain's Sender Policy Framework (SPF) records to
|
||||
include both transactional and mass mail servers. If your server resides with xxxx.odoo.com, the
|
||||
available options are Sendinblue and Mailchimp, as your e-mails would be originated from the
|
||||
xxxx.odoo.com domain.
|
||||
server here selected for mass mails. Note that in this case, the domain's Sender Policy Framework
|
||||
(SPF) records must be set to include both transactional and mass mail servers.
|
||||
|
||||
@@ -135,7 +135,7 @@ Depending on the platform you are using:
|
||||
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
||||
``zgrep`` (for the compressed ones) to search through the files.
|
||||
|
||||
- The **SaaS** users won’t have access to their logs. However you can still contact
|
||||
- **Odoo Online** users won’t have access to their logs. However you can still contact
|
||||
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
||||
with the same client or domain.
|
||||
|
||||
|
||||
@@ -16,8 +16,8 @@ Services`.
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
If I am on Odoo Online (SAAS) and have the Enterprise version, I benefit from free credits to
|
||||
test our IAP features.
|
||||
If I am on Odoo Online and have the Enterprise version, I benefit from free credits to test our
|
||||
IAP features.
|
||||
|
||||
IAP accounts
|
||||
============
|
||||
@@ -57,7 +57,7 @@ IAP services available
|
||||
|
||||
Different services are available depending on the hosting type of your Database:
|
||||
|
||||
- *Odoo Online (SAAS)*: only the IAP services provided by Odoo can be used (i.e. the SMS, Snailmail,
|
||||
- *Odoo Online*: only the IAP services provided by Odoo can be used (i.e. the SMS, Snailmail,
|
||||
Reveal and Partner Autocomplete features);
|
||||
- *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party
|
||||
apps can be used.
|
||||
|
||||
@@ -11,6 +11,7 @@ Warehouse Management
|
||||
management/products
|
||||
management/warehouses
|
||||
management/replenishment_strategies
|
||||
management/inventory_adjustments
|
||||
management/delivery
|
||||
management/incoming
|
||||
management/misc
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
:nosearch:
|
||||
|
||||
=====================
|
||||
Inventory adjustments
|
||||
=====================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
inventory_adjustments/count_products
|
||||
inventory_adjustments/cycle_counts
|
||||
@@ -0,0 +1,100 @@
|
||||
=====================
|
||||
Inventory adjustments
|
||||
=====================
|
||||
|
||||
In any warehouse management system, the recorded inventory counts in the database might not always
|
||||
match the actual inventory counts in the warehouse. The discrepancy between the two counts can be
|
||||
due to theft, damages, human errors, or other factors. As such, inventory adjustments must be made
|
||||
to reconcile the differences, and ensure that the recorded counts in the database match the actual
|
||||
counts in the warehouse.
|
||||
|
||||
In Odoo, inventory adjustments can be accessed through :menuselection:`Inventory --> Operations -->
|
||||
Inventory Adjustments`.
|
||||
|
||||
The :guilabel:`Inventory Adjustments` page shows all products that are currently in stock. Each
|
||||
line contains the following information:
|
||||
|
||||
- :guilabel:`Product`
|
||||
- :guilabel:`Lot/Serial Number`
|
||||
- :guilabel:`On Hand Quantity`
|
||||
|
||||
Add a new line
|
||||
==============
|
||||
|
||||
To add an inventory adjustment line, click :guilabel:`Create` and fill in the :guilabel:`Product`
|
||||
and :guilabel:`Counted Quantity` fields. Then click :guilabel:`Save`.
|
||||
|
||||
At this stage, the count is recorded but not yet *applied*. Meaning the quantity on hand is not yet
|
||||
updated to match the new :guilabel:`Counted Quantity`.
|
||||
|
||||
To apply the new :guilabel:`Counted Quantity`, click :guilabel:`Apply` on the line or the
|
||||
:guilabel:`Apply All` button on the top of the page. If :guilabel:`Apply All` is clicked, a
|
||||
reference or reason can be entered before clicking :guilabel:`Apply`.
|
||||
|
||||
.. image:: count_products/apply-inventory-adjustment.png
|
||||
:scale: 60%
|
||||
:align: center
|
||||
:alt: Apply all option applies the inventory adjustment once a reason is specified.
|
||||
|
||||
Count products
|
||||
==============
|
||||
|
||||
Counting products is a recurring activity in a warehouse. Once a count is complete, go to
|
||||
:menuselection:`Inventory --> Operations --> Inventory Adjustments` to update the
|
||||
:guilabel:`Counted Quantity` column for each product line.
|
||||
|
||||
If a count matches the :guilabel:`On Hand Quantity` recorded in the database, click on
|
||||
:guilabel:`Set`, which will copy the value in the :guilabel:`On Hand Quantity` field and paste it
|
||||
in the :guilabel:`Counted Quantity` field. A move with `0.00` :guilabel:`Quantity Done` will be
|
||||
recorded in the product's inventory adjustment history.
|
||||
|
||||
If a count does *not* match the :guilabel:`On Hand Quantity` recorded in the database, record the
|
||||
count in the :guilabel:`Counted Quantity` field. When :guilabel:`Apply` is clicked, a move with the
|
||||
difference between the :guilabel:`On Hand Quantity` and :guilabel:`Counted Quantity` will be
|
||||
recorded in the product's inventory adjustment history.
|
||||
|
||||
.. image:: count_products/history-inventory-adjustments.png
|
||||
:align: center
|
||||
:alt: Inventory Adjustments History dashboard detailing a list of prior product moves.
|
||||
|
||||
.. note::
|
||||
Sometimes a count occurs, but can not be applied in the database right away. In the time between
|
||||
the actual count and applying the inventory adjustment, product moves can occur. In that case,
|
||||
the :guilabel:`On Hand Quantity` in the database can change and will not be consistent with the
|
||||
counted quantity. As an extra caution measure, Odoo will ask for confirmation before applying
|
||||
the inventory adjustment.
|
||||
|
||||
Plan counts
|
||||
===========
|
||||
|
||||
Each inventory adjustment line contains the following information:
|
||||
|
||||
- :guilabel:`Scheduled Date`: the date at which a count should be made.
|
||||
- :guilabel:`User`: the person in charge of the count.
|
||||
- :guilabel:`Accounting Date`: the date at which the adjustments will be accounted. The column is
|
||||
hidden by default, but can be made visible by opening the column options icon.
|
||||
|
||||
.. important::
|
||||
In the Barcode app, users can only view counts assigned to them that are scheduled for today or
|
||||
earlier.
|
||||
|
||||
To plan big counts, select the desired product lines on the :guilabel:`Inventory Adjustments` page.
|
||||
Then, click :guilabel:`Request a Count` and fill in the following information:
|
||||
|
||||
- :guilabel:`Inventory Date`: the planned date of the count.
|
||||
- :guilabel:`User`: the user responsible for the count.
|
||||
- :guilabel:`Accounting Date`: the date at which the inventory adjustment will be accounted.
|
||||
- :guilabel:`Count`: to leave the :guilabel:`On Hand Quantity` of each product line blank, select
|
||||
:guilabel:`Leave Empty`. To prefill the :guilabel:`On Hand Quantity` of each product line with
|
||||
the current value recorded in the database, select :guilabel:`Set Current Value`.
|
||||
|
||||
Finally, click :guilabel:`Confirm` to request the count.
|
||||
|
||||
By default, after an inventory adjustment is applied, the scheduled date for the next count is the
|
||||
31st of December of the current year. To modify the default scheduled date, go to
|
||||
:menuselection:`Inventory --> Configuration --> Settings --> Operations` and change the date in the
|
||||
:guilabel:`Annual Inventory Day and Month` setting.
|
||||
|
||||
.. image:: count_products/annual-inventory.png
|
||||
:align: center
|
||||
:alt: Adjust the next inventory count date with the Annual Inventory Day and Month setting.
|
||||
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,41 @@
|
||||
============
|
||||
Cycle counts
|
||||
============
|
||||
|
||||
In most companies, the stock is only counted once a year. That's why by default, after making an
|
||||
inventory adjustment in Odoo, the scheduled date for the next count is set on the 31st of
|
||||
December. However, for some businesses it's crucial to have an accurate inventory count at all
|
||||
times.
|
||||
|
||||
The goal of cycle counts is to keep critical stock levels accurate by counting more often at key
|
||||
locations.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In Odoo, cycle counts are location-based. The frequency of the counts is defined by the storage
|
||||
location. To activate storage locations, go to :menuselection:`Inventory --> Configuration -->
|
||||
Settings --> Warehouse` and activate the :guilabel:`Storage Locations` setting. Next, click
|
||||
:guilabel:`Save` to apply the setting.
|
||||
|
||||
.. image:: cycle_counts/storage-locations-setting.png
|
||||
:align: center
|
||||
:alt: Enable Storage Locations in Odoo settings.
|
||||
|
||||
Change the inventory frequency
|
||||
==============================
|
||||
|
||||
To change a location's inventory frequency, first, go to the locations by clicking
|
||||
:menuselection:`Inventory --> Configuration --> Locations`.
|
||||
|
||||
Then, click on a location to open the location settings. Next, click on :guilabel:`Edit`. In the
|
||||
:guilabel:`Inventory Frequency (Days)` field, set the number of days. For example, a location that
|
||||
needs an inventory count every 30 days would set the :guilabel:`Inventory Frequency (Days)` value
|
||||
to `30`. Once the value is entered, click :guilabel:`Save` to apply the setting to the location.
|
||||
Now, once an inventory adjustment is applied to this location, the next scheduled count date will
|
||||
be automatically set based on the number of days in the :guilabel:`Inventory Frequency (Days)`
|
||||
setting.
|
||||
|
||||
.. image:: cycle_counts/inventory-frequency.png
|
||||
:align: center
|
||||
:alt: Edit a location to change the inventory frequency.
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 3.4 KiB |
@@ -10,3 +10,4 @@ Miscellaneous Operations
|
||||
|
||||
misc/owned_stock
|
||||
misc/batch_transfers
|
||||
misc/wave_transfers
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
======================
|
||||
Process wave transfers
|
||||
======================
|
||||
|
||||
While a batch transfer is a group of several pickings, a **wave transfer** only contains some parts
|
||||
of different pickings. Both methods are used to pick orders in a warehouse, and depending on the
|
||||
situation, one method may be a better fit than the other.
|
||||
|
||||
To handle orders of a specific product category, or fetch products that are at the same location,
|
||||
wave transfers are the ideal method.
|
||||
|
||||
In Odoo, wave transfers are actually batch transfers with an extra step: transfers are split before
|
||||
being grouped in a batch.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Before a wave transfer can be created, the :guilabel:`Batch Transfers` and :guilabel:`Wave
|
||||
Transfers` options must be activated.
|
||||
|
||||
First, go to :menuselection:`Inventory --> Configuration --> Settings`. In the
|
||||
:guilabel:`Operations` section, enable :guilabel:`Batch Transfers` and :guilabel:`Wave Transfers`.
|
||||
Then, click :guilabel:`Save` to apply the settings.
|
||||
|
||||
.. image:: wave_transfers/wave-transfers-setting.png
|
||||
:align: center
|
||||
:alt: View of Odoo Inventory app settings to enable the wave transfers option.
|
||||
|
||||
Add products to a wave
|
||||
======================
|
||||
|
||||
Now that the settings are activated, start a wave transfer by adding products to a wave.
|
||||
|
||||
Wave transfers can only contain product lines from transfers of the same operation type. To view
|
||||
all the transfers and product lines in a specific operation, first go to the :guilabel:`Inventory`
|
||||
dashboard and locate the desired operation type's card. Then, open the options menu (the three dots
|
||||
icon in the corner of the operation type's card) and click :guilabel:`Operations`.
|
||||
|
||||
.. image:: wave_transfers/list-of-operations.png
|
||||
:align: center
|
||||
:alt: How to get an operation type's list of operations.
|
||||
|
||||
On the operations page, select the product lines you want to add in a new or existing wave. Then,
|
||||
click :guilabel:`Add to Wave`.
|
||||
|
||||
.. image:: wave_transfers/select-lines.png
|
||||
:align: center
|
||||
:alt: Select lines to add to the wave.
|
||||
|
||||
.. tip::
|
||||
Use the :guilabel:`Filters` in the search bar to group lines with the same product, location,
|
||||
carrier, etc...
|
||||
|
||||
After that, a pop-up box appears.
|
||||
|
||||
To add the selected lines to an existing wave transfer, select the :guilabel:`an existing wave
|
||||
transfer` option and select the existing wave transfer from the drop-down menu.
|
||||
|
||||
To create a new wave transfer, select the :guilabel:`a new wave transfer` option. If creating a new
|
||||
wave transfer, an employee can also be set in the optional :guilabel:`Responsible` field. Once the
|
||||
desired options are selected, click :guilabel:`Confirm` to add the product lines to a wave.
|
||||
|
||||
View wave transfers
|
||||
===================
|
||||
|
||||
To view all wave transfers and their statuses, go to :menuselection:`Inventory --> Operations -->
|
||||
Wave Transfers`. Wave transfers can also be viewed in the :guilabel:`Barcode` app by going to
|
||||
:menuselection:`Barcode --> Batch Transfers`.
|
||||
|
After Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
@@ -1,76 +1,138 @@
|
||||
==============================================
|
||||
How to select the right replenishment strategy
|
||||
==============================================
|
||||
===============================
|
||||
Select a replenishment strategy
|
||||
===============================
|
||||
|
||||
Minimum Stock rules and Make to Order have similar consequences but
|
||||
different rules. They should be used depending on your manufacturing and
|
||||
delivery strategies.
|
||||
In Odoo, there are two strategies for replenishing inventory: **Reordering Rules** and the **Make
|
||||
to Order (MTO)** route. Although these strategies differ slightly, they both have similar
|
||||
consequences: triggering the automatic creation of a purchase or manufacturing order. The choice of
|
||||
which strategy to use depends on the business's manufacturing and delivery processes.
|
||||
|
||||
Terminology
|
||||
===========
|
||||
|
||||
Minimum stock rule
|
||||
-------------------
|
||||
Replenishment report and reordering rules
|
||||
-----------------------------------------
|
||||
|
||||
Minimum Stock rules are used to ensure that you always have the minimum
|
||||
amount of a product in stock in order to manufacture your products
|
||||
and/or answer to your customer needs. When the stock level of a product
|
||||
reaches its minimum the system will automatically generate a procurement
|
||||
order with the quantity needed to reach the maximum stock level.
|
||||
The replenishment report is a list of all products that have a negative forecast quantity.
|
||||
|
||||
Reordering rules are used to ensure that there's always a minimum amount of a product in stock in
|
||||
order to manufacture products and/or fulfill sales orders. When the stock level of a product
|
||||
reaches its minimum, Odoo automatically generates a purchase order with the quantity needed to
|
||||
reach the maximum stock level.
|
||||
|
||||
Reordering rules can be created and managed in the replenishment report or from the product form.
|
||||
|
||||
Make to Order
|
||||
-------------
|
||||
|
||||
The Make to Order function will trigger a Purchase Order of the amount
|
||||
of the Sales Order related to the product. The system will **not** check
|
||||
the current stock. This means that a draft purchase order will be
|
||||
generated regardless of the quantity on hand of the product.
|
||||
Make to Order (MTO) is a procurement route that creates a draft purchase order or manufacturing
|
||||
order each time a sales order is confirmed, *regardless of the current stock level*.
|
||||
|
||||
Unlike products replenished using reordering rules, Odoo automatically links the sales order to the
|
||||
purchase order (PO) or manufacturing order (MO) generated by the MTO route. Another difference
|
||||
between reordering rules and MTO is with MTO, Odoo generates a draft :abbr:`PO (Purchase Order)` or
|
||||
:abbr:`MO (Manufacturing Order)` immediately after the sales order is confirmed. With reordering
|
||||
rules, Odoo generates a draft :abbr:`PO (Purchase Order)` or :abbr:`MO (Manufacturing Order)` when
|
||||
the product's forecasted stock falls below the set minimum quantity. In addition, Odoo will
|
||||
automatically add quantities to the :abbr:`PO (Purchase Order)`/:abbr:`MO (Manufacturing Order)` as
|
||||
the forecast changes, as long as the :abbr:`PO (Purchase Order)`/:abbr:`MO (Manufacturing Order)`
|
||||
is not confirmed.
|
||||
|
||||
The MTO route is the best replenishment strategy for products that are customized and should be
|
||||
used for this purpose only.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Minimum stock rules
|
||||
-------------------
|
||||
Replenishment report and reordering rules
|
||||
-----------------------------------------
|
||||
|
||||
The Minimum Stock Rules configuration is available through your
|
||||
Inventory module. In the Inventory Control menu select "Reordering Rule"
|
||||
in the drop down menu. There, click on "Create" to set minimum and
|
||||
maximum stock values for a given product.
|
||||
To access the replenishment report, go to :menuselection:`Inventory --> Operations -->
|
||||
Replenishment`. By default, the replenishment report shows every product that needs to be manually
|
||||
reordered. If there is no specific rule for a product, Odoo assumes that the :guilabel:`Minimum
|
||||
Quantity` and :guilabel:`Maximum Quantity` stock are both `0.00`.
|
||||
|
||||
.. image:: strategies/strategies01.png
|
||||
:align: center
|
||||
.. image:: strategies/replenishment-report.png
|
||||
:align: center
|
||||
:alt: The replenishment report shows products that need to be reordered manually.
|
||||
|
||||
.. note::
|
||||
Show tooltips for "minimum quantity", "maximum quantity" and "quantity multiple"
|
||||
fields
|
||||
For products that don't have a set reordering rule, Odoo calculates the forecast as sales orders,
|
||||
deliveries, and receipts are confirmed. For products that have a set reordering rule, Odoo
|
||||
calculates the forecast normally, but also takes into account the purchase/manufacturing lead
|
||||
time and security lead time.
|
||||
|
||||
Then, click on your product to access the related product form and, on
|
||||
the "Inventory submenu", do not forget to select a supplier.
|
||||
Before creating a new reordering rule, make sure the product has a vendor or a bill of materials
|
||||
configured on the product form. Also, make sure the :guilabel:`Product Type` is set to `Storable
|
||||
Product` on the product form. By definition, a consumable product does not have its inventory
|
||||
levels tracked, so Odoo can not account for a consumable product in the stock valuation.
|
||||
|
||||
.. image:: strategies/strategies02.png
|
||||
:align: center
|
||||
To create a new reordering rule from the replenishment report, go to :menuselection:`Inventory -->
|
||||
Operations --> Replenishment`, click :guilabel:`Create`, and set the :guilabel:`Product`. If
|
||||
desired, set a :guilabel:`Min Quantity` and a :guilabel:`Max Quantity`. Finally, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. tip::
|
||||
Don't forget to select the right product type. A consumable
|
||||
can not be stocked and will thus not be accounted for in the stock valuation.
|
||||
To create a new reordering rule from the product form, go to :menuselection:`Inventory --> Products
|
||||
--> Products`, select a product to open its product form, click the :guilabel:`Reordering Rules`
|
||||
smart button, and click :guilabel:`Create`. Then, fill out the fields and save the new reordering
|
||||
rule.
|
||||
|
||||
Make to Order
|
||||
--------------
|
||||
By default, the quantity in the :guilabel:`To Order` field is the quantity required to reach the
|
||||
set :guilabel:`Max Quantity`. However, the :guilabel:`To Order` quantity can be adjusted by
|
||||
clicking on the field, changing the value, and clicking :guilabel:`Save`. To replenish a product
|
||||
manually, click :guilabel:`Order Once`.
|
||||
|
||||
The Make to Order configuration is available on your product form
|
||||
through your :menuselection:`Inventory --> Inventory control --> Products` (or any
|
||||
other module where products are available).
|
||||
To automate replenishment, click :guilabel:`Automate Orders`. When this button is clicked, Odoo
|
||||
will automatically generate a draft :abbr:`PO (Purchase Order)`/:abbr:`MO (Manufacturing Order)`
|
||||
every time the forecasted stock level falls below the set :guilabel:`Min Quantity` of the
|
||||
reordering rule.
|
||||
|
||||
On the product form, under Inventory, click on "Make To Order".
|
||||
|
||||
.. image:: strategies/strategies03.png
|
||||
:align: center
|
||||
A reordering rule can be temporarily deactivated for a given period by using the :guilabel:`Snooze`
|
||||
button.
|
||||
|
||||
Choice between the two options
|
||||
------------------------------
|
||||
.. image:: strategies/reordering-rule-snooze-settings.png
|
||||
:align: center
|
||||
:alt: Snooze feature to temporarily deactivate reordering rules.
|
||||
|
||||
The choice between the two options is thus dependent of your inventory
|
||||
strategy. If you prefer to have a buffer and always have at least a
|
||||
minimum amount, the minimum stock rule should be used. If you want to
|
||||
reorder your stocks only if your sale is confirmed it is better to use
|
||||
the Make to Order.
|
||||
A :abbr:`PO (Purchase Order)` or :abbr:`MO (Manufacturing Order)` created by a manual replenishment
|
||||
will have `Replenishment Report` as the source document. A :abbr:`PO (Purchase Order)` or
|
||||
:abbr:`MO (Manufacturing Order)` created by an automated reordering rule will have the sales
|
||||
order(s) reference number(s) that triggered the rule as the source document.
|
||||
|
||||
.. image:: strategies/rfq-source-document.png
|
||||
:align: center
|
||||
:alt: Look at the source panel showing where RFQ/MFG orders originated from.
|
||||
|
||||
Make to order
|
||||
-------------
|
||||
|
||||
Since the Make to Order (MTO) route is only recommended for customized products, the route is
|
||||
hidden by default.
|
||||
|
||||
To activate the Make to Order (MTO) route in Odoo:
|
||||
|
||||
#. Go to :menuselection:`Inventory --> Configuration --> Settings --> Warehouse`.
|
||||
#. Activate :guilabel:`Multi-Step Routes` setting and click :guilabel:`Save`.
|
||||
#. Go to :menuselection:`Inventory --> Configuration --> Routes`.
|
||||
#. Click on :menuselection:`Filters --> Archived` to show archived routes.
|
||||
#. Select the checkbox next to :guilabel:`Replenish on Order (MTO)`, and click on
|
||||
:menuselection:`Action --> Unarchive`.
|
||||
|
||||
.. note::
|
||||
Activating the :guilabel:`Multi-Step Routes` setting also activates :guilabel:`Storage Locations`
|
||||
setting. If these features aren't applicable to the warehouse, disable these settings after
|
||||
unarchiving the MTO route.
|
||||
|
||||
To set a product's procurement route to MTO, go to :menuselection:`Inventory --> Products -->
|
||||
Products`, click on a product to open the product form, and click :guilabel:`Edit`. Then, click on
|
||||
the :guilabel:`Inventory` tab and in the :guilabel:`Routes` options, select :guilabel:`Replenish on
|
||||
Order (MTO)`. For products purchased directly from a vendor, make sure the :guilabel:`Buy` route is
|
||||
selected in addition to the MTO route and a vendor is configured in the :guilabel:`Purchase` tab.
|
||||
For products manufactured in-house, make sure the :guilabel:`Manufacture` route is selected in
|
||||
addition to the MTO route and a bill of materials is configured for the product. Finally, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. image:: strategies/replenish-on-order-product-setting.png
|
||||
:align: center
|
||||
:alt: Enable the Replenish on Order (MTO) route on the product settings.
|
||||
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 15 KiB |
@@ -1,107 +1,112 @@
|
||||
==============================
|
||||
Use Different Units of Measure
|
||||
Use different units of measure
|
||||
==============================
|
||||
|
||||
In some cases, handling products in different units of measure is
|
||||
necessary. For example, if you buy products in a country where the
|
||||
metric system is of application and sell in a country where the imperial
|
||||
system is used, you will need to convert the units. Another common use
|
||||
case is buying products in bigger packs to your supplier and selling
|
||||
them in units to your customers.
|
||||
In some cases, handling products in different units of measure is necessary. For example, a
|
||||
business can buy products from a country that uses the metric system, and then sell those products
|
||||
in a country that uses the imperial system, so the business needs to convert the units. Another
|
||||
case for unit conversion is when a business buys products in a big pack from a supplier and then
|
||||
sells those products in individual units.
|
||||
|
||||
You can set up Odoo to work with different units of measure for one
|
||||
product.
|
||||
Odoo can be set up to use different units of measure for one product.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
In the *Inventory* application, go to :menuselection:`Configuration --> Settings`. In
|
||||
the *Products* section, activate *Units of Measure*, then *Save*.
|
||||
To use different units of measure in Odoo, first go to :menuselection:`Inventory --> Configuration
|
||||
--> Settings --> Products` and activate the :guilabel:`Units of Measure` setting. Then, click
|
||||
:guilabel:`Save`.
|
||||
|
||||
.. image:: uom/uom_01.png
|
||||
:align: center
|
||||
.. image:: uom/uom-enable-setting.png
|
||||
:align: center
|
||||
:alt: Enable Units of Measure in the Inventory settings.
|
||||
|
||||
Create New Units of Measure
|
||||
Units of measure categories
|
||||
===========================
|
||||
|
||||
In the *Inventory* application go to :menuselection:`Configuration --> UoM`. There,
|
||||
hit *Create*. As an example, we will create a Box of 6 units that we
|
||||
will use for the Egg product.
|
||||
After enabling the units of measure setting, view the default units of measure categories in
|
||||
:menuselection:`Inventory --> Configuration --> Units of Measures --> UoM Categories`. The
|
||||
category is important for unit conversion, Odoo can only convert a product's units from one unit to
|
||||
another only if both units belong to the same category.
|
||||
|
||||
.. image:: uom/uom_02.png
|
||||
:align: center
|
||||
.. image:: uom/uom-categories.png
|
||||
:align: center
|
||||
:alt: Set units of measure categories.
|
||||
|
||||
The category is important for unit conversion, you will be able to
|
||||
convert products from one unit to another only if those units belong to
|
||||
the same category. The box of 6 is 6 times bigger than the reference
|
||||
unit of measure for the category which is “Units” here.
|
||||
Each units of measure category has a reference unit. The reference unit is highlighted in blue in
|
||||
the :guilabel:`Uom` column of the :guilabel:`Units of Measure Categories` page. Odoo uses the
|
||||
reference unit as a base for any new units.
|
||||
|
||||
.. image:: uom/uom_03.png
|
||||
:align: center
|
||||
To create a new unit, first select the correct category. For example, to sell a product in a box of
|
||||
six units, click on the :guilabel:`Unit` category line. Next, click :guilabel:`Edit`. After that,
|
||||
click :guilabel:`Add a line`. Then, in the :guilabel:`Unit of Measure` field, title the new unit
|
||||
`Box of 6`. In the :guilabel:`Type` field, select :guilabel:`Bigger than the reference Unit of
|
||||
Measure`. In the :guilabel:`Ratio` field, enter `6.00000` since a box of six is six times bigger
|
||||
than the reference unit (`1.00000`). Finally, click :guilabel:`Save`.
|
||||
|
||||
Specify Units of Measure on your Products
|
||||
=========================================
|
||||
Click on the :guilabel:`Unit` category.
|
||||
|
||||
In the :menuselection:`Inventory application --> Master Data --> Products`, open the
|
||||
product which you would like to change the purchase/sale unit of
|
||||
measure, and click on *Edit*.
|
||||
Click :guilabel:`Add a line`. As an example, we will create a Box of 6 units that we will use for
|
||||
the Egg product. The box of 6 is 6 times bigger than the reference unit of measure for the category
|
||||
which is “Units” here.
|
||||
|
||||
In the *General Information* tab, you can select the *Unit of
|
||||
Measure* in which the product will be sold, which is also the unit in
|
||||
which internal transfers will take place. You can also select the
|
||||
*Purchase Unit of Measure*, which is the unit in which you purchase
|
||||
the product.
|
||||
.. image:: uom/convert-products-by-unit.png
|
||||
:align: center
|
||||
:alt: Convert products from one unit to another as long as they belong to the same category.
|
||||
|
||||
.. image:: uom/uom_04.png
|
||||
:align: center
|
||||
Specify a product's units of measure
|
||||
====================================
|
||||
|
||||
Transfer from One Unit to Another
|
||||
=================================
|
||||
To set units of measure on a product, first go to :menuselection:`Inventory --> Products -->
|
||||
Products` and click on a product to open its settings. Then, click on :guilabel:`Edit`.
|
||||
|
||||
Buy in the Purchase UoM
|
||||
-----------------------
|
||||
In the :guilabel:`General Information` tab, edit the :guilabel:`Unit of Measure` field to specify
|
||||
the unit of measure that the product is sold in. The specified unit will also be the unit used to
|
||||
keep track of the product's inventory and internal transfers. Edit the :guilabel:`Purchase UoM`
|
||||
field to specify the unit of measure that the product is purchased in.
|
||||
|
||||
In the *Purchase* application, *Create* a new request for quotation
|
||||
in which you include the product with the different *Units of Measure*
|
||||
and *Confirm* it.
|
||||
Unit conversion
|
||||
===============
|
||||
|
||||
.. image:: uom/uom_05.png
|
||||
:align: center
|
||||
Buy products in the Purchase UoM
|
||||
--------------------------------
|
||||
|
||||
On the automatically generated purchase orders, the UoM used is the Box
|
||||
of 6, meaning the Purchase UoM. You have of course the possibility to
|
||||
manually modify the UoM if necessary. When you enter the *Receipt*
|
||||
which is linked to the purchase order, you can observe that the 10 boxes
|
||||
of 6 units have been converted in 60 units. Indeed, the stock is managed
|
||||
in units.
|
||||
When creating a new request for quotation (RFQ) in the Purchase app, Odoo automatically uses the
|
||||
product's specified purchase unit of measure. However, if needed, the :guilabel:`UoM` can be
|
||||
manually edited on the RFQ.
|
||||
|
||||
.. image:: uom/uom_06.png
|
||||
:align: center
|
||||
After the RFQ is confirmed into a purchase order (PO), click on the :guilabel:`Receipt` smart
|
||||
button at the top right corner of the PO. Odoo automatically converts the purchase unit of measure
|
||||
into the product's sales/inventory unit of measure, so the :guilabel:`Demand` column of the
|
||||
delivery receipt shows the converted quantity.
|
||||
|
||||
For example, if the product's purchase UoM is `Box of 6` and its sales/inventory unit of measure is
|
||||
`Units`, the PO shows the quantity in boxes of six, and the delivery receipt shows the quantity in
|
||||
units.
|
||||
|
||||
Replenishment
|
||||
-------------
|
||||
|
||||
When doing a replenishment via the *Replenish* button on the product
|
||||
form, you have the possibility to use a different unit of measure.
|
||||
A request for quotation for a product can also be generated directly from the product form using
|
||||
the :guilabel:`Replenish` button. After clicking :guilabel:`Replenish`, a replenish assistant box
|
||||
pops up. The purchase unit of measure can be manually edited here if needed. Then, click
|
||||
:guilabel:`Confirm` to create the RFQ.
|
||||
|
||||
.. image:: uom/uom_07.png
|
||||
:align: center
|
||||
Next, click the :guilabel:`Units Forecasted` smart button on the product form and scroll down to
|
||||
:menuselection:`Forecasted Inventory --> Requests for quotation`. Click on the RFQ reference number
|
||||
to open the draft RFQ. The purchase UoM can also be edited here if needed.
|
||||
|
||||
.. image:: uom/uom_08.png
|
||||
:align: center
|
||||
Sell in a different UoM
|
||||
-----------------------
|
||||
|
||||
Sell in bigger UoM
|
||||
------------------
|
||||
When creating a new quotation in the Sales app, Odoo automatically uses the product's specified
|
||||
unit of measure. However, if needed, the :guilabel:`UoM` can be manually edited on the quotation.
|
||||
|
||||
You can choose the unit of measure on the sale order document and decide
|
||||
to sell the eggs by the dozen. When doing so, the price is automatically
|
||||
computed from Units UoM to adapt to the selected *UoM*.
|
||||
After the quotation is sent to the customer and confirmed into a sales order (SO), click on the
|
||||
:guilabel:`Delivery` smart button at the top right corner of the SO. Odoo automatically converts
|
||||
the unit of measure into the product's inventory unit of measure, so the :guilabel:`Demand` column
|
||||
of the delivery shows the converted quantity.
|
||||
|
||||
.. image:: uom/uom_09.png
|
||||
:align: center
|
||||
|
||||
In the delivery order, the *UoM* used in the sale order is converted
|
||||
to the *UoM* used for stock management, in our use case, the Units.
|
||||
|
||||
.. image:: uom/uom_10.png
|
||||
:align: center
|
||||
For example, if the product's UoM on the SO was changed to `Box of 6`, but its inventory unit of
|
||||
measure is `Units`, the SO shows the quantity in boxes of six, and the delivery shows the quantity
|
||||
in units.
|
||||
|
||||
|
After Width: | Height: | Size: 73 KiB |
|
After Width: | Height: | Size: 22 KiB |