Compare commits

...

44 Commits

Author SHA1 Message Date
Julien Castiaux
ea2c945e35 [IMP] developer/api/external_api: update for /RPC2
All the code snippets have been updated to use the new XML-RPC API at
the /RPC2 endpoint.

Co-authored-by: Xavier Morel <xmo@odoo.com>
2022-12-08 17:32:32 +01:00
Tom Aarab (toaa)
6725754169 [IMP] accounting: updated multiple payments page
Previous page was based on V13. Forward up to 16.

closes odoo/documentation#2919

Taskid: 3045197
X-original-commit: e4839ea7e9
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-07 13:50:26 +01:00
Tom Aarab (toaa)
cabd6e7f85 [IMP] accounting: updated bank statement page
Previous version used V13 screenshots.

task - 2902004

closes odoo/documentation#2914

X-original-commit: de7fddab6c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-07 11:27:04 +01:00
Chong Wang (cwg)
d4923d6350 [IMP] orm/changelog: store translations in jsonb
closes odoo/documentation#2901

X-original-commit: f2fd03b8fc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-03 16:43:31 +01:00
Xavier
8db94fe7fe [ADD] Studio: PDF reports
closes odoo/documentation#2895

Id: 2978638
X-original-commit: 5ad9d5eb0b
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2022-11-02 21:17:01 +01:00
“Chiara
5d7209d635 [IMP] accounting: Bank Synchronization: automatic import
closes odoo/documentation#2900

X-original-commit: 7fb5a21d64
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-11-02 19:19:53 +01:00
Antoine Vandevenne (anv)
a154e01cee [IMP] extensions/spoilers: add an extension for spoilers
It is often needed in developer tutorials to show excerpts of code for
examples and solutions. This takes quite some page space and, for the
latter, it is not always desired to show the final code result right
after the exercise objective.

This commit adds a spoiler feature to the documentation to allow hiding
content until the reader wants to display it.

The feature relies on the new `.. spoiler:: Button label` directive.

task-3036845

closes odoo/documentation#2877

X-original-commit: 4d7a88639a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Morgan Meganck <morm@odoo.com>
Co-authored-by: Stefano Rigano <sri@odoo.com>
2022-10-28 14:21:05 +02:00
stefanorigano (SRI)
ece2d4c081 [IMP] odoo_theme: add default BS functions
Prior to this change it was not possible to use Bootstrap default SCSS
functions in 'bootstrap_overridden.scss'.

This commit mirrors odoo framework's architecture, injecting bootstrap
'_functions.scss' at the beginning of the documentation's SCSS "bundle".

Commit preparatory to the introduction of the 'Spoiler' documentation
component.

task-3036845

X-original-commit: 1691e8970b
Part-of: odoo/documentation#2877
2022-10-28 14:21:04 +02:00
Donatienne Pirlot
57f447e302 [IMP] accounting: update and improve the cash basis taxes documentation
closes odoo/documentation#2872

Id: 2381690
X-original-commit: 8770938a97
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-28 14:20:56 +02:00
Donatienne Pirlot
7858ac6c68 [IMP] accounting: update the bank accounts documentation
ID:2607774

closes odoo/documentation#2881

X-original-commit: 285252d1fd
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-10-28 13:23:09 +02:00
Olivier Dony
e56bc8a5b9 [IMP] legal: OE v10a - clarified wording for Section 5.1
The "(at that time") wording could be confusing - the goal was really to
refer to the price at the time of the deviation, not the price at the
conclusion of the agreement. This should be clearer.

Validated with SBR.
2022-10-27 18:14:27 +02:00
Xavier Morel
18c2c74848 [REM] reference: long deprecated SavepointCase
closes odoo/documentation#2844

Related: odoo/enterprise#33244
Related: odoo/odoo#98138
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-26 19:03:50 +02:00
Victor Feyens
e63b92a718 [FIX] developer/cli: remove unsupported cli options
Removed by c0647b5c52

Fixes odoo/odoo#104060

closes odoo/documentation#2863

X-original-commit: 1225c93112
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-26 01:58:48 +02:00
Victor Feyens
ac813f2b5b [FIX] developer/guidelines: do not mention deprecated xml tags
act_window & report xml tags have been deprecated by
6835aeb0de
two years ago, we should avoid mentioning them in the guidelines.

Furthermore, in 17.0 they won't be available anymore.

closes odoo/documentation#2862

X-original-commit: 758463edd4
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-25 21:20:53 +02:00
Zachary Straub (ZST)
6419980663 [IMP] inventory: thd batch updates
closes odoo/documentation#2855

X-original-commit: ac3ec17266
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-25 21:20:45 +02:00
niyasraphy
894e1be9c6 [IMP] report_barcode function: parameter type to barcode_type
ee324e8374

closes odoo/documentation#2847

X-original-commit: 3f34c3874c
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-24 18:59:30 +02:00
Christophe Monniez
59db0ca18c [FIX] install: update installation from the nightly debian repo
As the `apt-key` command will is deprecated and will be removed in the
next Debian release, it's time to update the documentation.

closes odoo/documentation#2846

X-original-commit: 1c2d59b280
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-24 17:07:13 +02:00
Jonathan Castillo (jcs)
ab1a7d0a69 [IMP] *: Remove "SaaS" to keep only the "Odoo Online" appellation
task-3034812

closes odoo/documentation#2839

X-original-commit: 9b69e0d77e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-10-21 20:00:56 +02:00
Jonathan Castillo (jcs)
06d0ff6ca8 [IMP] *: consistency for the use of "Odoo Online" (and SaaS)
task-3034812

X-original-commit: 2c17b6fb4a
Part-of: odoo/documentation#2839
2022-10-21 20:00:55 +02:00
Xavier Morel
219a7cc82f [ADD] reference/orm: grouped method
closes odoo/documentation#2783

Related: odoo/odoo#101522
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-21 13:06:06 +02:00
nbe-odoo
b9217c292a [FIX] website: rst and file organization for plausible.rst
- external links
- notes
- indentation
- media filenames
- images compression
- images alt tags
- light content improvement

closes odoo/documentation#2831

X-original-commit: 87392b7262
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Co-authored-by: Nicolas Bebawi (nbe) <nbe@odoo.com>
Co-authored-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2022-10-20 17:17:18 +02:00
zzk2000
814917793a [FW][FIX] administration/install: Odoo 16 distribution link
closes odoo/documentation#2830

Forward-port-of: odoo/documentation#2817
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-20 17:17:15 +02:00
tsm-odoo
7423cfa8f8 [IMP] install: add $connection_upgrade map documentation
Before this commit, following the install documentation to setup
the odoochat server would fail. This was due to the fact that the
documentation about how to define the `$connection_upgrade` variable
was missing.

This PR fixes this issue.

closes odoo/documentation#2829

X-original-commit: 9ed3575f19
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2022-10-20 17:17:12 +02:00
Olivier Dony
9d9548da4a [IMP] legal: make PDF links relative
This way we don't need to update the links nor risk a desynchronization
between the version of the PDF and the HTML.

Previously version 15.0 and 16.0 still referenced the 14.0 PDFs
(which are the same at the moment, but still...)
2022-10-19 19:11:49 +02:00
Olivier Dony
c1bc6ddf6e [FIX] legal: enterprise terms FR fall 2022 pricing typo 2022-10-19 19:11:45 +02:00
“Friederike
f42bf525e9 [FIX] legal: enterprise terms DE translation update (v9c) 2022-10-19 19:11:41 +02:00
Elias
ade054b752 [FIX] developer/howtos/rdtraining: Update warning message
Update warning output for missing access rules.
Also reflect up-to-date contents of res.country.state.csv.

closes odoo/documentation#2826

X-original-commit: e21dbd01c9
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-18 13:17:37 +02:00
Victor Feyens
9a5b5b0614 [FIX] *: Odoo 16 requires postgresql 12
Update the minimal version in the installation doc
Make all postgresql docs references target the v12 documentation
Fix some non http links on the way

closes odoo/documentation#2822

X-original-commit: 93b383e95d
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-18 12:19:30 +02:00
Olivier Dony
4fe6fbee12 [CHG] legal: enterprise terms for fall 2022 pricing
- removal of "per app" notion
- addition of "subscription plan" notion
2022-10-13 12:20:27 +02:00
Antoine Vandevenne (anv)
cd549cb386 [IMP] supported_version: release 16.0 and deprecate 13.0
closes odoo/documentation#2814

X-original-commit: 3c61d24b1d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-12 09:39:45 +02:00
Demesmaeker
d41a66758f [IMP] sale_amazon: support all marketplaces
task-2939972

closes odoo/documentation#2806

X-original-commit: 91f3859a53
Related: odoo/enterprise#32699
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-11 16:57:18 +02:00
Victor Feyens
3a7be7730d [IMP] developer/orm: environment documentation
Move Environment explanation to the class docstring and autogenerate the
doc

Add documentation on some util methods.

closes odoo/documentation#2803

X-original-commit: 7c42ab8eaf
Related: odoo/odoo#102969
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-10-10 19:55:40 +02:00
Victor Feyens
c8ab0c1535 [FIX] developer/iap: wrong :class: element
X-original-commit: b7f5b3e04b
Part-of: odoo/documentation#2803
2022-10-10 19:55:40 +02:00
Antoine Vandevenne (anv)
0e567a08de [IMP] reference/payment: auto-document the method _get_removal_values
Task - 3002532

closes odoo/documentation#2802

X-original-commit: 7696235acb
Related: odoo/odoo#102951
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-10 19:03:20 +02:00
Antoine Vandevenne (anv)
9baab389c9 [ADD] reference/standard_modules: API reference for the payment engine
task-2804999

closes odoo/documentation#2797

X-original-commit: 668ac2c650
Related: odoo/odoo#102716
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-09 09:11:46 +02:00
Xavier-Do
46a80f60c5 [ADD] developer/reference: add a reference page on performance
closes odoo/documentation#2794

X-original-commit: 4d8e3f9785
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-10-06 18:01:00 +02:00
Julien Van Roy
aab2d6615a [IMP] accounting/electronic_invoicing: update factur-x usage
Update Factur-X mentions and screenshot.

task-2957808
https://github.com/odoo/odoo/pull/99699

closes odoo/documentation#2789

X-original-commit: 1387c5e8c3
Related: odoo/odoo#102311
Related: odoo/enterprise#32344
Signed-off-by: Julien Van Roy <juvr@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-10-06 10:43:01 +02:00
Denis Ledoux
991b8142fe [IMP] developer/reference: move model view related methods out of orm
The model method `get_views` and `get_view` are moved
from `odoo/models.py` to `odoo/addons/base/models/ir_ui_view.py`.

The documentation is updated accordingly,
to put the documentation related to `get_views` in the
views chapter of the documentation.

closes odoo/documentation#2786

X-original-commit: 0bdf714112
Related: odoo/odoo#102117
Signed-off-by: Denis Ledoux (dle) <dle@odoo.com>
2022-10-04 18:06:37 +02:00
Aleksander
f4bbbcb6c1 [FW][IMP] howtos/rdtraining: give the meaning of "ACL"
closes odoo/documentation#2779

Forward-port-of: odoo/documentation#2774
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-09-30 12:34:44 +02:00
Jonathan Quique (jqu)
768ab1b586 [IMP] email_communication: can't use Odoo STMP with another mail server
Customer may want to use their own SMTP for email marketing, and Odoo default SMTP for everything else. There is no good way to do this. Previously we suggested adding Odoo SMTP as an outgoing email server but we don't want to share credentials anymore.
R&D is working on a solution (e.g. showing the Odoo default email server in the list rather than keeping it as an "hidden feature") but for the time being, if you use an outgoing email server, you give up using the Odoo default SMTP.

closes odoo/documentation#2771

X-original-commit: 7b21e6001b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-09-29 14:23:59 +02:00
Jonathan Castillo (jcs)
7424e4176c [IMP] website: register domain name menu path
closes odoo/documentation#2766

X-original-commit: 81352e98b2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-09-28 00:20:45 +02:00
Wesley Kao (weka)
8287c88bd4 [IMP] MRP: updated Variants BOM Management rst content
closes odoo/documentation#2764

X-original-commit: b3d5e928aa
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-09-27 19:14:46 +02:00
Xavier-Do
53e7277b6a [FIX]: fix odoo_version detection
Right now if the version is not "final (and not alpha)"
documentation will say 16.0beta != 16.0

closes odoo/documentation#2748

X-original-commit: 406f3aac18
Signed-off-by: Xavier Dollé (xdo) <xdo@odoo.com>
2022-09-26 09:35:48 +02:00
Fabrice Henrion
2c7d61f938 [FIX] accounting: grammar fix in ponto
closes odoo/documentation#2759

X-original-commit: dad110c7cc
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-09-23 11:22:40 +02:00
270 changed files with 4603 additions and 3506 deletions

View File

@@ -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",

View File

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

View File

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

View File

@@ -11,6 +11,6 @@ Maintain
maintain/update
maintain/enterprise
maintain/hosting_changes
maintain/online
maintain/odoo_online
maintain/on_premise
maintain/supported_versions

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

View File

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

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

View File

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

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

View File

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

View File

@@ -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 Odoos Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
following services at all times.
Databases hosted on Odoos Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
enjoy the following services at all times.
The upgrade of:

View File

@@ -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?
=========================================================

View File

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

View File

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

View File

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

View File

@@ -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 cant 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 dont 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`

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

View File

@@ -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>`_

View File

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

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

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

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@@ -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>`_

View File

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

View File

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

View File

@@ -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 wont have access to their logs. However you can still contact
- **Odoo Online** users wont 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.

View File

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

View File

@@ -11,6 +11,7 @@ Warehouse Management
management/products
management/warehouses
management/replenishment_strategies
management/inventory_adjustments
management/delivery
management/incoming
management/misc

View File

@@ -0,0 +1,11 @@
:nosearch:
=====================
Inventory adjustments
=====================
.. toctree::
:titlesonly:
inventory_adjustments/count_products
inventory_adjustments/cycle_counts

View File

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

View File

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

View File

@@ -10,3 +10,4 @@ Miscellaneous Operations
misc/owned_stock
misc/batch_transfers
misc/wave_transfers

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

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