Compare commits
18 Commits
AntoineVDV
...
15.0-js-co
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1fca236842 | ||
|
|
a8c58815f3 | ||
|
|
a4aa310b85 | ||
|
|
4331177bb6 | ||
|
|
debe8cb393 | ||
|
|
3a2bbc028b | ||
|
|
b28e34b357 | ||
|
|
c107d76086 | ||
|
|
b118669860 | ||
|
|
3218d318fe | ||
|
|
bb3996b936 | ||
|
|
b3845ae0d8 | ||
|
|
85410bd8dc | ||
|
|
248135a48e | ||
|
|
6833379ad3 | ||
|
|
00046cb690 | ||
|
|
ac40d2008c | ||
|
|
5cef86f181 |
11
.github/CODEOWNERS
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
# All changes to technical files (build environment and Sphinx extensions) have to be approved
|
||||
/extensions/ @odoo/doc-review
|
||||
.gitignore @odoo/doc-review
|
||||
commit_template.txt @odoo/doc-review
|
||||
conf.py @odoo/doc-review
|
||||
Makefile @odoo/doc-review
|
||||
requirements.txt @odoo/doc-review
|
||||
|
||||
# All changes to legal material have to be approved
|
||||
/content/legal/ @odoo/legal
|
||||
/content/legal.rst @odoo/legal
|
||||
4
Makefile
@@ -24,7 +24,7 @@ SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/15.0
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
@@ -69,7 +69,7 @@ gettext:
|
||||
$(HTML_BUILD_DIR)/_static/style.css: extensions/odoo_theme/static/style.scss extensions/odoo_theme/static/scss/*.scss
|
||||
@echo "Compiling stylesheets..."
|
||||
mkdir -p $(HTML_BUILD_DIR)/_static
|
||||
python3 -m pysassc extensions/odoo_theme/static/style.scss $(HTML_BUILD_DIR)/_static/style.css
|
||||
pysassc extensions/odoo_theme/static/style.scss $(HTML_BUILD_DIR)/_static/style.css
|
||||
@echo "Compilation finished."
|
||||
|
||||
#=== Development and debugging rules ===#
|
||||
|
||||
18
README.md
@@ -4,11 +4,11 @@
|
||||
|
||||
### Requirements
|
||||
|
||||
- [Git](https://www.odoo.com/documentation/master/contributing/documentation.html#install-git)
|
||||
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/master/contributing/documentation.html#python)
|
||||
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/master/requirements.txt).
|
||||
- [Make](https://www.odoo.com/documentation/master/contributing/documentation.html#make)
|
||||
- A local copy of the [odoo/odoo repository in master](https://github.com/odoo/odoo/tree/master) (Optional)
|
||||
- [Git](https://www.odoo.com/documentation/15.0/contributing/documentation.html#install-git)
|
||||
- [Python 3.6, 3.7, or 3.8](https://www.odoo.com/documentation/15.0/contributing/documentation.html#python)
|
||||
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/15.0/requirements.txt).
|
||||
- [Make](https://www.odoo.com/documentation/15.0/contributing/documentation.html#make)
|
||||
- A local copy of the [odoo/odoo repository in 15.0](https://github.com/odoo/odoo/tree/15.0) (Optional)
|
||||
|
||||
### Instructions
|
||||
|
||||
@@ -23,7 +23,7 @@
|
||||
|
||||
2. Open the file `documentation/_build/html/index.html` in your web browser to display the render.
|
||||
|
||||
3. See [this guide](https://www.odoo.com/documentation/master/contributing/documentation.html#preview-your-changes)
|
||||
3. See [this guide](https://www.odoo.com/documentation/15.0/contributing/documentation.html#preview-your-changes)
|
||||
for more detailed instructions.
|
||||
|
||||
Optional: to fully build the developer documentation with inline docstrings for documented Python
|
||||
@@ -34,11 +34,15 @@ be shown.
|
||||
## Contribute to the documentation
|
||||
|
||||
For contributions to the content of the documentation, please refer to the
|
||||
[Introduction Guide](https://www.odoo.com/documentation/master/contributing/documentation.html).
|
||||
[Introduction Guide](https://www.odoo.com/documentation/15.0/contributing/documentation.html).
|
||||
|
||||
To **report a content issue**, **request new content** or **ask a question**, use the
|
||||
[repository's issue tracker](https://github.com/odoo/documentation-user/issues) as usual.
|
||||
|
||||
If you have a pull request that is ready for review, request one from the
|
||||
[odoo/doc-review](https://github.com/orgs/odoo/teams/doc-review) team.
|
||||
|
||||
|
||||
## Learn More
|
||||
|
||||
To learn more about Odoo, in addition to the documentation, have a look at
|
||||
|
||||
58
conf.py
@@ -1,5 +1,3 @@
|
||||
# this is a test
|
||||
|
||||
import re
|
||||
import os
|
||||
import sys
|
||||
@@ -21,7 +19,7 @@ copyright = 'Odoo S.A.'
|
||||
# `version` if the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = 'master'
|
||||
version = release = '15.0'
|
||||
|
||||
# The minimal Sphinx version required to build the documentation.
|
||||
needs_sphinx = '3.0.0'
|
||||
@@ -60,44 +58,35 @@ extension_dir = Path('extensions')
|
||||
sys.path.insert(0, str(extension_dir.absolute()))
|
||||
|
||||
# Search for the directory of odoo sources to know whether autodoc should be used on the dev doc
|
||||
odoo_sources_candidate_dirs = (Path('odoo'), Path('../odoo'))
|
||||
odoo_sources_dirs = [
|
||||
d for d in odoo_sources_candidate_dirs if d.is_dir() and (d / 'odoo-bin').exists()
|
||||
]
|
||||
odoo_dir = Path('odoo')
|
||||
odoo_dir_in_path = False
|
||||
|
||||
if not odoo_sources_dirs:
|
||||
if not odoo_dir.is_dir():
|
||||
parent_odoo_dir = Path('../odoo')
|
||||
if parent_odoo_dir.is_dir():
|
||||
_logger.info('Using parent dir to find odoo sources')
|
||||
odoo_dir = parent_odoo_dir
|
||||
if not odoo_dir.is_dir():
|
||||
_logger.warning(
|
||||
"Could not find Odoo sources directory in neither of the following folders:\n"
|
||||
"%(dir_list)s\n"
|
||||
"The 'Developer' documentation will be built but autodoc directives will be skipped.\n"
|
||||
"In order to fully build the 'Developer' documentation, clone the repository with "
|
||||
"`git clone https://github.com/odoo/odoo` or create a symbolic link.",
|
||||
{'dir_list': '\n'.join([f'\t- {d.resolve()}' for d in odoo_sources_candidate_dirs])},
|
||||
f"Could not find Odoo sources directory at {odoo_dir.absolute()}.\n"
|
||||
f"The 'Developer' documentation will be built but autodoc directives will be skipped.\n"
|
||||
f"In order to fully build the 'Developer' documentation, clone the repository with "
|
||||
f"`git clone https://github.com/odoo/odoo` or create a symbolic link."
|
||||
)
|
||||
else:
|
||||
odoo_dir = odoo_sources_dirs[0].resolve()
|
||||
sys.path.insert(0, str(odoo_dir))
|
||||
if (3, 6) < sys.version_info < (3, 7):
|
||||
# Running odoo needs python 3.7 min but monkey patch version_info to be compatible with 3.6
|
||||
sys.version_info = (3, 7, 0)
|
||||
sys.path.insert(0, str(odoo_dir.absolute()))
|
||||
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 = 'master' if 'alpha' in odoo_release.version else odoo_version
|
||||
odoo_version = odoo_release.version.replace('~', '-') \
|
||||
if 'alpha' not in odoo_release.version else 'master'
|
||||
if release != odoo_version:
|
||||
_logger.warning(
|
||||
"Found Odoo sources in %(directory)s but with version '%(odoo_version)s' incompatible "
|
||||
"with documentation version '%(doc_version)s'.\n"
|
||||
"The 'Developer' documentation will be built but autodoc directives will be skipped.\n"
|
||||
"In order to fully build the 'Developer' documentation, checkout the matching branch"
|
||||
" with `cd odoo && git checkout %(doc_version)s`.",
|
||||
{'directory': odoo_dir, 'odoo_version': odoo_version, 'doc_version': version},
|
||||
f"Found Odoo sources directory but with version '{odoo_version}' incompatible with "
|
||||
f"documentation version '{version}'.\n"
|
||||
f"The 'Developer' documentation will be built but autodoc directives will be skipped.\n"
|
||||
f"In order to fully build the 'Developer' documentation, checkout the matching branch "
|
||||
f"with `cd odoo && git checkout {version}`."
|
||||
)
|
||||
else:
|
||||
_logger.info(
|
||||
"Found Odoo sources in %(directory)s matching documentation version '%(version)s'.",
|
||||
{'directory': odoo_dir, 'version': release},
|
||||
)
|
||||
_logger.info(f"Found Odoo sources directory matching documentation version {release}.")
|
||||
odoo_dir_in_path = True
|
||||
|
||||
# The Sphinx extensions to use, as module names.
|
||||
@@ -118,7 +107,7 @@ extensions = [
|
||||
# Youtube and Vimeo videos integration (youtube, vimeo directives)
|
||||
'embedded_video',
|
||||
|
||||
'custom_admonitions',
|
||||
'exercise_admonition',
|
||||
|
||||
# Redirection generator
|
||||
'redirects',
|
||||
@@ -139,7 +128,6 @@ if odoo_dir_in_path:
|
||||
todo_include_todos = False
|
||||
|
||||
intersphinx_mapping = {
|
||||
'pillow': ('https://pillow.readthedocs.io/en/stable/', None),
|
||||
'python': ('https://docs.python.org/3/', None),
|
||||
'werkzeug': ('https://werkzeug.palletsprojects.com/en/1.0.x/', None),
|
||||
}
|
||||
@@ -193,7 +181,7 @@ html_permalinks = True # Sphinx >= 3.5
|
||||
# Additional JS & CSS files that can be imported with the 'custom-js' and 'custom-css' metadata.
|
||||
# Lists are empty because the files are specified in extensions/themes.
|
||||
html_js_files = []
|
||||
html_css_files = ["css/js.css"]
|
||||
html_css_files = []
|
||||
|
||||
# PHP lexer option to not require <?php
|
||||
highlight_options = {
|
||||
|
||||
@@ -18,5 +18,4 @@ These guides provide instructions on how to install, maintain and upgrade Odoo d
|
||||
|
||||
administration/install
|
||||
administration/maintain
|
||||
administration/upgrade
|
||||
administration/odoo_sh
|
||||
|
||||
@@ -44,4 +44,4 @@ For Exim
|
||||
|
||||
.. tip::
|
||||
If you don't have access/manage your email server, use :ref:`inbound messages
|
||||
<email_communication/inbound_messages>`.
|
||||
<discuss/email_servers/inbound_messages>`.
|
||||
|
||||
@@ -302,13 +302,13 @@ Prepare
|
||||
Python
|
||||
^^^^^^
|
||||
|
||||
Odoo requires Python 3.7 or later to run. Visit `Python's download page <https://www.python.org/downloads/windows/>`_
|
||||
Odoo requires Python 3.6 or later to run. Visit `Python's download page <https://www.python.org/downloads/windows/>`_
|
||||
to download and install the latest version of Python 3 on your machine.
|
||||
|
||||
During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and make
|
||||
sure that **pip** is checked.
|
||||
|
||||
.. note:: If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
|
||||
.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous
|
||||
versions are not compatible with Odoo.
|
||||
|
||||
.. code-block:: doscon
|
||||
@@ -466,10 +466,10 @@ Prepare
|
||||
Python
|
||||
^^^^^^
|
||||
|
||||
Odoo requires Python 3.7 or later to run. Use your package manager to download and install Python 3
|
||||
Odoo requires Python 3.6 or later to run. Use your package manager to download and install Python 3
|
||||
on your machine if it is not already done.
|
||||
|
||||
.. note:: If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
|
||||
.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous
|
||||
versions are not compatible with Odoo.
|
||||
|
||||
.. code-block:: console
|
||||
@@ -505,75 +505,50 @@ create a new PostgreSQL user:
|
||||
.. note:: Because your PostgreSQL user has the same name as your Unix login, you will be able to
|
||||
connect to the database without password.
|
||||
|
||||
.. _install/python-dependencies:
|
||||
Dependencies
|
||||
^^^^^^^^^^^^
|
||||
|
||||
Python Dependencies
|
||||
^^^^^^^^^^^^^^^^^^^
|
||||
For libraries using native code, it is necessary to install development tools and native
|
||||
dependencies before the Python dependencies of Odoo. They are available in `-dev` or `-devel`
|
||||
packages for Python, PostgreSQL, libxml2, libxslt1, libevent, libsasl2 and libldap2.
|
||||
|
||||
Debian/Ubuntu
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Using your **distribution packages** is the preferred way of installing dependencies.
|
||||
|
||||
For Debian-based systems, these packages are listed in the `debian/control
|
||||
<https://github.com/odoo/odoo/blob/master/debian/control>`_ file of the Odoo sources.
|
||||
|
||||
On Debian/Ubuntu, the following commands should install the required packages:
|
||||
On Debian/Unbuntu, the following command should install all the required libraries:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cd /CommunityPath
|
||||
$ sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y
|
||||
$ sudo apt install python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \
|
||||
libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev libfreetype6-dev \
|
||||
liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libpq-dev
|
||||
|
||||
Install with pip
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Alternatively, you can use **pip** to install python dependencies. As some of the packages need a
|
||||
compilation step, they require system libraries to be installed.
|
||||
|
||||
On Debian/Ubuntu-based systems, the following command should install these required libraries:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo apt install python3-pip libldap2-dev libpq-dev libsasl2-dev
|
||||
|
||||
Odoo dependencies are listed in the :file:`requirements.txt` file located at the root of the Odoo
|
||||
Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo
|
||||
community directory.
|
||||
|
||||
.. note::
|
||||
The python packages in :file:`requirements.txt` are based on their stable/LTS Debian/Ubuntu
|
||||
corresponding version at the moment of the Odoo release.
|
||||
.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo
|
||||
or with your system. You can use virtualenv_ to create isolated Python environments.
|
||||
|
||||
E.g., for Odoo 15.0, the `python3-babel` package version is 2.8.0 in Debian Bullseye and 2.6.0
|
||||
in Ubuntu Focal. The lowest version is then chosen in the :file:`requirements.txt`.
|
||||
|
||||
Navigate to the path of your Odoo Community installation (:file:`CommunityPath`) and run **pip** on
|
||||
the requirements file to install the requirements for the current user.
|
||||
Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip**
|
||||
on the requirements file:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cd /CommunityPath
|
||||
$ pip install -r requirements.txt
|
||||
$ cd /CommunityPath
|
||||
$ pip3 install setuptools wheel
|
||||
$ pip3 install -r requirements.txt
|
||||
|
||||
.. tip::
|
||||
It can be preferable not to mix python modules packages between different instances of Odoo or
|
||||
with your system. You can use virtualenv_ to create isolated Python environments.
|
||||
.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in
|
||||
version `0.12.5 <the wkhtmltopdf download page_>`_ for it to support headers and
|
||||
footers. See our `wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for more
|
||||
details on the various versions.
|
||||
|
||||
Other Dependencies
|
||||
^^^^^^^^^^^^^^^^^^
|
||||
For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is
|
||||
needed:
|
||||
|
||||
- `wkhtmltopdf` must be installed manually in version `0.12.5
|
||||
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/0.12.5/>`_ to support headers and footers.
|
||||
See our `wiki about wkhtmltopdf <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for more details
|
||||
on the various versions.
|
||||
- Languages with a right-to-left interface (such as Arabic or Hebrew) require the `rtlcss` package:
|
||||
#. Download and install **nodejs** and **npm** with your package manager.
|
||||
#. Install `rtlcss`:
|
||||
|
||||
#. Download and install **nodejs** and **npm** with your package manager.
|
||||
#. Install `rtlcss`:
|
||||
.. code-block:: console
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo npm install -g rtlcss
|
||||
$ sudo npm install -g rtlcss
|
||||
|
||||
Running Odoo
|
||||
''''''''''''
|
||||
@@ -660,10 +635,10 @@ Prepare
|
||||
Python
|
||||
^^^^^^
|
||||
|
||||
Odoo requires Python 3.7 or later to run. Use your preferred package manager (homebrew_, macports_)
|
||||
Odoo requires Python 3.6 or later to run. Use your preferred package manager (homebrew_, macports_)
|
||||
to download and install Python 3 on your machine if it is not already done.
|
||||
|
||||
.. note:: If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
|
||||
.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous
|
||||
versions are not compatible with Odoo.
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -7,8 +7,8 @@ Maintain
|
||||
.. toctree::
|
||||
|
||||
maintain/update
|
||||
maintain/db_upgrade
|
||||
maintain/enterprise
|
||||
maintain/hosting_changes
|
||||
maintain/online
|
||||
maintain/on_premise
|
||||
maintain/db_premise
|
||||
maintain/supported_versions
|
||||
|
||||
@@ -1,6 +1,9 @@
|
||||
==============================
|
||||
On-premise database management
|
||||
==============================
|
||||
|
||||
.. _db_premise:
|
||||
|
||||
===============================
|
||||
On-premises Database management
|
||||
===============================
|
||||
|
||||
Register a database
|
||||
===================
|
||||
@@ -9,7 +12,7 @@ To register your database, you just need to enter your Subscription Code in the
|
||||
banner in the App Switcher. Make sure you do not add extra spaces before or after
|
||||
your subscription code. If the registration is successful, it will turn green and
|
||||
will provide you with the Expiration Date of your freshly-registered database. You
|
||||
can check this Expiration Date in the About menu (Odoo 9) or in the Settings Dashboard
|
||||
can check this Epiration Date in the About menu (Odoo 9) or in the Settings Dashboard
|
||||
(Odoo 10).
|
||||
|
||||
Registration Error Message
|
||||
@@ -18,7 +21,7 @@ Registration Error Message
|
||||
If you are unable to register your database, you will likely encounter this
|
||||
message:
|
||||
|
||||
.. image:: on_premise/error_message_sub_code.png
|
||||
.. image:: media/error_message_sub_code.png
|
||||
:align: center
|
||||
:alt: Something went wrong while registering your database,
|
||||
you can try again or contact Odoo Help
|
||||
@@ -41,14 +44,14 @@ Solutions
|
||||
* You can unlink the old database yourself on your `Odoo Contract
|
||||
<https://accounts.odoo.com/my/subscription>`__ with the button "Unlink database"
|
||||
|
||||
.. image:: on_premise/unlink_single_db.png
|
||||
.. image:: media/unlink_single_db.png
|
||||
:align: center
|
||||
|
||||
|
||||
A confirmation message will appear; make sure this is the correct database as
|
||||
it will be deactivated shortly:
|
||||
|
||||
.. image:: on_premise/unlink_confirm_enterprise_edition.png
|
||||
.. image:: media/unlink_confirm_enterprise_edition.png
|
||||
:align: center
|
||||
|
||||
|
||||
@@ -62,7 +65,7 @@ Solutions
|
||||
<https://accounts.odoo.com/my/subscription>`__, a short message will appear
|
||||
specifying which database is problematic:
|
||||
|
||||
.. image:: on_premise/unlink_db_name_collision.png
|
||||
.. image:: media/unlink_db_name_collision.png
|
||||
:align: center
|
||||
|
||||
|
||||
@@ -93,7 +96,7 @@ Error message due to too many users
|
||||
If you have more users in your local database than provisionned in your
|
||||
Odoo Enterprise subscription, you may encounter this message:
|
||||
|
||||
.. image:: on_premise/add_more_users.png
|
||||
.. image:: media/add_more_users.png
|
||||
:align: center
|
||||
:alt: This database will expire in X days, you
|
||||
have more users than your subscription allows
|
||||
@@ -122,7 +125,7 @@ Database expired error message
|
||||
If your database reaches its expiration date before your renew your subscription,
|
||||
you will encounter this message:
|
||||
|
||||
.. image:: on_premise/database_expired.png
|
||||
.. image:: media/database_expired.png
|
||||
:align: center
|
||||
:alt: This database has expired.
|
||||
|
||||
@@ -154,7 +157,7 @@ You can duplicate your database by accessing the database manager on your
|
||||
server (<odoo-server>/web/database/manager). In this page, you can easily
|
||||
duplicate your database (among other things).
|
||||
|
||||
.. image:: on_premise/db_manager.gif
|
||||
.. image:: media/db_manager.gif
|
||||
:align: center
|
||||
|
||||
|
||||
@@ -172,5 +175,5 @@ System Parameters`, we advise you to use a `uuid generator <https://www.uuidtool
|
||||
use the unix command ``uuidgen`` to generate a new uuid. You can then simply replace it like any
|
||||
other record by clicking on it and using the edit button.
|
||||
|
||||
.. image:: on_premise/db_uuid.png
|
||||
.. image:: media/db_uuid.png
|
||||
:align: center
|
||||
413
content/administration/maintain/db_upgrade.rst
Normal file
@@ -0,0 +1,413 @@
|
||||
|
||||
.. |assistance-contact| replace::
|
||||
If you need Odoo assistance on this matter, please contact your Odoo Account Manager or contact
|
||||
our `Sales department`_.
|
||||
.. _Sales department: mailto:sales@odoo.com
|
||||
|
||||
.. _db-upgrade:
|
||||
|
||||
================
|
||||
Versions upgrade
|
||||
================
|
||||
|
||||
.. _db-upgrade/overview:
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
.. _db-upgrade/process:
|
||||
|
||||
The upgrade process
|
||||
-------------------
|
||||
|
||||
This documentation is for our *On-Premise* (self-hosted) and *Odoo.sh* customers.
|
||||
|
||||
.. _db-upgrade/definition:
|
||||
|
||||
Definition
|
||||
~~~~~~~~~~
|
||||
|
||||
An upgrade is switching to a newer version of Odoo (e.g., Odoo 13.0 to Odoo 14.0)
|
||||
|
||||
An upgrade does not cover:
|
||||
|
||||
* changing :ref:`Editions <db-upgrade/faq/editions-change>` (i.e., Community to Enterprise edition)
|
||||
* switching :ref:`hosting type <db-upgrade/faq/hosting-types-switch>` (i.e., On-Premise to Online or
|
||||
Odoo.sh)
|
||||
* migration from another ERP to Odoo
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _db-upgrade/process-workflow:
|
||||
|
||||
Process workflow
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
The upgrade process in a nutshell:
|
||||
|
||||
#. You create a test upgrade request.
|
||||
#. | The request is processed by Odoo:
|
||||
| This happens via an automated process that runs the database through an upgrade script and
|
||||
takes between 20 and 120 minutes. Only if an issue(s) arises will we have to intervene
|
||||
manually and adjust the script specifically to your database until the upgrade succeeds.
|
||||
#. Odoo delivers a test database.
|
||||
#. You test your database for possible discrepancies (see :ref:`db-upgrade/test-guidance`)
|
||||
#. If there are any discrepancies, you report them to the Upgrade support team via the
|
||||
:ref:`Help portal <db-upgrade/test-assistance>`.
|
||||
#. We will fix the issues and send you a new test database.
|
||||
#. Once you completed the testing and are happy with the result, you decide on a date and time when
|
||||
you stop users from accessing Odoo, freeze all data entries and create an upgrade request for the
|
||||
production upgrade.
|
||||
#. Odoo delivers the production database through the automated process.
|
||||
#. You restore it in your Production environment a few short hours later and continue working on the
|
||||
newly upgraded database.
|
||||
|
||||
.. _db-upgrade/service-level:
|
||||
|
||||
Service Level Agreement
|
||||
-----------------------
|
||||
|
||||
What is covered by the Enterprise Licence?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
|
||||
following service at all times.
|
||||
|
||||
The upgrade of:
|
||||
|
||||
* standard applications
|
||||
* Studio customization (as long as the Studio app is still active)
|
||||
* customizations done by our consulting and developer services *if* they are covered by a
|
||||
‘Maintenance of Customisations’ subscription
|
||||
|
||||
The Upgrade Service is limited to the technical conversion and adaptation of your database (standard
|
||||
modules and data) to make it compatible with the targeted version.
|
||||
|
||||
What upgrading does NOT cover
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* The cleaning of pre-existing data & configuration while upgrading
|
||||
* Any new developments and/or upgrade of your own :ref:`custom modules
|
||||
<db-upgrade/faq/custom-modules>`
|
||||
* `Training <https://www.odoo.com/learn>`_ on the new version
|
||||
|
||||
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription
|
||||
Agreement <upgrade>` page.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _db-upgrade/get-started:
|
||||
|
||||
Get started
|
||||
===========
|
||||
|
||||
The upgrade process varies depending on where your database is hosted.
|
||||
|
||||
.. _db-upgrade/online:
|
||||
|
||||
Online (SaaS)
|
||||
-------------
|
||||
|
||||
If you are hosted Online, please check your `database manager <https://www.odoo.com/my/databases>`_.
|
||||
|
||||
.. _db-upgrade/odoo-sh:
|
||||
|
||||
Odoo.sh
|
||||
-------
|
||||
|
||||
If you are Odoo.sh hosted, check our :doc:`specific instructions to be able to upgrade
|
||||
<../odoo_sh/advanced/upgrade_your_database>`.
|
||||
|
||||
.. _db-upgrade/on-premise:
|
||||
|
||||
On-Premise
|
||||
----------
|
||||
|
||||
There are two possibilities:
|
||||
|
||||
#. Via the interface of our `website form <https://upgrade.odoo.com>`_
|
||||
#. | For technically-advanced users and partners, via the following command line (to be used on the
|
||||
machine where your database is hosted):
|
||||
| ``python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t 14.0``
|
||||
|
||||
What does it do?
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
The above command will dump your database to a file, then send it to the upgrade platform for
|
||||
upgrade, displaying you the live logs, then restore the upgraded database back on your server as a
|
||||
duplicate test database.
|
||||
|
||||
.. _db-upgrade/steps:
|
||||
|
||||
Steps
|
||||
=====
|
||||
|
||||
.. _db-upgrade/steps-test:
|
||||
|
||||
The testing phase
|
||||
-----------------
|
||||
|
||||
.. _db-upgrade/test-process:
|
||||
|
||||
Test process
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Also referred to as the pre-production phase, the test phase allows you to review an upgraded
|
||||
version of your database without affecting your production database in any way.
|
||||
|
||||
We suggest that you run the test upgrade process at least once, but you can do it as often as you
|
||||
want (one at a time).
|
||||
|
||||
Once you receive your upgraded test database, you should check that all data, processes and
|
||||
functionality are still correct and working as expected.
|
||||
|
||||
If you do find discrepancies, you'll be able to:
|
||||
|
||||
* | :ref:`Report your issues <db-upgrade/test-assistance>`
|
||||
| and/or
|
||||
* Ask for a new :ref:`test request <db-upgrade/test-db-request>` after the reported issues have
|
||||
been fixed in the upgrade script.
|
||||
|
||||
When you do not find any discrepancies, you'll be able to:
|
||||
|
||||
* Move on to the upgrade of your :ref:`production database <db-upgrade/production-live>`.
|
||||
|
||||
.. _db-upgrade/test-db-request:
|
||||
|
||||
Request a test database
|
||||
~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When filling the `website form <https://upgrade.odoo.com>`_, select *Testing* purpose.
|
||||
|
||||
.. image:: media/db-upgrade-test-purpose.png
|
||||
:align: center
|
||||
:alt: Selection of the "Testing" purpose in the upgrade form on Odoo
|
||||
|
||||
.. _db-upgrade/test-guidance:
|
||||
|
||||
Test guidance
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Every business and organization has its own operational needs and will have to test its specific
|
||||
Odoo instance respectively. However, we recommend you look at `the test scenario
|
||||
<https://docs.google.com/document/d/1ypNs7JKPOsjNbKpdiKFH7Al6g6whZ9jr7f7duAQ5E1w/>`_ we created, a
|
||||
high-level idea of what you should test and look out for.
|
||||
|
||||
.. todo:: change link "test scenario" once the related doc is published
|
||||
|
||||
.. _db-upgrade/test-assistance:
|
||||
|
||||
Assistance
|
||||
~~~~~~~~~~
|
||||
|
||||
If you encounter issues or problems in the **test database**, please contact the Odoo Upgrade
|
||||
Support:
|
||||
|
||||
#. Connect to our `Odoo Support page <https://www.odoo.com/help>`_.
|
||||
#. Under the *Ticket Description* section, select *An issue related to my upgrade* ticket type.
|
||||
|
||||
.. image:: media/db-upgrade-test-assistance.png
|
||||
:align: center
|
||||
:alt: Selection of "An issue related to my upgrade" as Ticket Type in the support form on Odoo
|
||||
|
||||
.. warning::
|
||||
If you choose another *Ticket Description* type, the request will be redirected to another
|
||||
team than the upgrade one and will slow down the processing and response time.
|
||||
|
||||
#. Please provide as much detail as you can. Where applicable, illustrate the current and previous
|
||||
flows with videos and/or screenshots. This will avoid clarifying questions and speed up the
|
||||
resolution process significantly.
|
||||
|
||||
.. image:: media/db-upgrade-test-assistance-details.png
|
||||
:align: center
|
||||
:alt: "Detailed Description" field in the support form on Odoo
|
||||
|
||||
.. note::
|
||||
* The purpose of the test phase is not to correct existing data or configurations in your
|
||||
database.
|
||||
* |assistance-contact|
|
||||
|
||||
.. _db-upgrade/steps-production:
|
||||
|
||||
The production launch
|
||||
---------------------
|
||||
|
||||
.. _db-upgrade/production-live:
|
||||
|
||||
Production goes live
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The production upgrade request is when you decide to upgrade your current database with all your
|
||||
production data (invoices, VAT returns, inventories, current orders) to a new version of your choice.
|
||||
|
||||
After your :ref:`tests <db-upgrade/steps-test>` are completed to your satisfaction, submit the
|
||||
request to upgrade your production database via our `website form <https://upgrade.odoo.com>`_.
|
||||
Select *Production* purpose.
|
||||
|
||||
.. image:: media/db-upgrade-production-purpose.png
|
||||
:align: center
|
||||
:alt: Selection of the "Production" purpose in the upgrade form on Odoo
|
||||
|
||||
.. danger::
|
||||
Going into production without first testing may lead to:
|
||||
|
||||
- business interruptions (e.g. no longer having the possibility to validate an action)
|
||||
- poor customer experiences (e.g. an eCommerce website that does not work correctly)
|
||||
|
||||
.. _db-upgrade/production-assistance:
|
||||
|
||||
Assistance
|
||||
~~~~~~~~~~
|
||||
|
||||
If you encounter issues or problems in the **production database**, please contact the **Odoo
|
||||
Support**:
|
||||
|
||||
#. Connect to our `Odoo Support page <https://www.odoo.com/help>`_.
|
||||
#. Under the *Ticket Description* section, select the appropriate type related to your issue but
|
||||
**do not select** the option *An issue related to my upgrade*.
|
||||
|
||||
.. note::
|
||||
After upgrading to production, the support will be provided by the Support team instead of the
|
||||
Upgrade team.
|
||||
|
||||
#. Please provide as much detail as you can. Where applicable, illustrate the current and previous
|
||||
flows with videos and/or screenshots. This will avoid clarifying questions and speed up the
|
||||
resolution process significantly.
|
||||
|
||||
.. image:: media/db-upgrade-production-assistance-details.png
|
||||
:align: center
|
||||
:alt: "Detailed Description" field in the support form on Odoo
|
||||
|
||||
.. warning::
|
||||
If you choose *An issue related to my upgrade* as ticket type, the request will be redirected
|
||||
to another team than the support one and will slow down the processing and response time.
|
||||
|
||||
.. _db-upgrade/faq:
|
||||
|
||||
FAQ
|
||||
===
|
||||
|
||||
.. _db-upgrade/faq/why:
|
||||
|
||||
Why upgrade?
|
||||
------------
|
||||
|
||||
* You benefit from the latest features of the :ref:`new major version
|
||||
<db-upgrade/faq/release-notes>` released by Odoo.
|
||||
* If you are in an :ref:`unsupported version <db-upgrade/supported-versions>`, you get a new version
|
||||
with support.
|
||||
|
||||
.. _db-upgrade/faq/when:
|
||||
|
||||
When to upgrade?
|
||||
----------------
|
||||
|
||||
Whenever you want. You can make your upgrade request as soon as a new version is released on our
|
||||
`website form <https://upgrade.odoo.com>`_.
|
||||
|
||||
.. _db-upgrade/faq/availability:
|
||||
|
||||
Availability of the new version
|
||||
-------------------------------
|
||||
|
||||
Please kindly note that as soon as we announce the release of a new major version (usually at the
|
||||
end of year), the Upgrade Service team needs to adapt the upgrade scripts to it, which is why the
|
||||
new version is not immediately available for existing databases.
|
||||
|
||||
.. _db-upgrade/faq/finalization:
|
||||
|
||||
Finalization of the upgrade (:abbr:`ETA (Estimated Time of Arrival)`)
|
||||
---------------------------------------------------------------------
|
||||
|
||||
Unfortunately, it is impossible to give time estimates for every upgrade request. Odoo offers so
|
||||
many possibilities (e.g. branding, workflows, customization, etc) that it can get tricky to upgrade,
|
||||
and translate to the new structure. If you use multiple apps managing sensitive data (e.g.,
|
||||
Accounting, Inventory, etc.), some cases may still require a human intervention, making the process
|
||||
slower.
|
||||
|
||||
This is especially true during the first months following the release of a new major version, which
|
||||
can significantly lengthen the upgrade delay.
|
||||
|
||||
In general, the ‘smaller’ the database, the quickest the upgrade. A single-user database that uses
|
||||
only CRM will be processed faster than a multi-company, multi-user database that uses Accounting,
|
||||
Sales, Purchase, and Manufacturing.
|
||||
|
||||
So, in a nutshell, what can impact your upgrade lead time?
|
||||
|
||||
* Source & targeted versions
|
||||
* Installed apps
|
||||
* Volume of data
|
||||
* Amount of customization (models, fields, methods, workflows, reports, website, etc.)
|
||||
* Installation of new apps or configuration changes after the start of the test phase
|
||||
|
||||
Usually, the delays experienced during the first request (waiting time between the time you
|
||||
submitted your first request for a test upgrade) can generally give you an idea of the time to wait
|
||||
for the production request.
|
||||
|
||||
.. _db-upgrade/faq/custom-modules:
|
||||
|
||||
Upgrade of the custom modules
|
||||
-----------------------------
|
||||
|
||||
As stated in our :doc:`/legal/terms/enterprise`, section :ref:`charges_standard`, this optional
|
||||
service is subject to additional fees.
|
||||
|
||||
If you have a custom code, you can choose to have it upgraded by our services, by one of our
|
||||
`partners <https://www.odoo.com/partners>`_ or you can do it yourself.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _db-upgrade/faq/editions-change:
|
||||
|
||||
Editions change (from Community to Enterprise)
|
||||
----------------------------------------------
|
||||
|
||||
An upgrade does not cover a change of `Editions <https://www.odoo.com/page/editions>`_
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _db-upgrade/faq/hosting-types-switch:
|
||||
|
||||
Switching the hosting types (Self-hosted vs Online vs Odoo.sh)
|
||||
--------------------------------------------------------------
|
||||
|
||||
An upgrade does not cover a change of `Hosting types <https://www.odoo.com/page/hosting-types>`_.
|
||||
|
||||
Open the following link to get :doc:`more information about how to change your hosting type
|
||||
<hosting_changes>`.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _db-upgrade/faq/release-notes:
|
||||
|
||||
Release Notes by version
|
||||
------------------------
|
||||
|
||||
Open our `Release Note <https://www.odoo.com/page/release-notes>`_ page to get a summary of the new
|
||||
features and improvements made in each version.
|
||||
|
||||
.. _db-upgrade/assistance:
|
||||
|
||||
Assistance
|
||||
==========
|
||||
|
||||
.. _db-upgrade/contact:
|
||||
|
||||
Contact our Upgrade service support
|
||||
-----------------------------------
|
||||
|
||||
Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo
|
||||
Upgrade Team <mailto:upgrade@odoo.com>`_. We will be very pleased to answer it as soon as possible.
|
||||
|
||||
.. _db-upgrade/supported-versions:
|
||||
|
||||
Supported versions
|
||||
------------------
|
||||
|
||||
Please note that Odoo provides support and bug fixing only for the three last major versions of Odoo.
|
||||
|
||||
This is a factor to take into consideration before upgrading. If you are on an older version, we
|
||||
suggest you to prefer the most recent version to benefit from a longer support (before having to
|
||||
upgrade again).
|
||||
|
||||
You can get more information about our :doc:`supported versions <supported_versions>`.
|
||||
@@ -49,7 +49,7 @@ From Odoo.sh to Odoo Online
|
||||
|
||||
1. Uninstall all the **non-standard apps**: test it in a staging build first, then do it in your production build.
|
||||
2. **If you have time constraints, contact us earlier to schedule the transfer.**
|
||||
3. `Create a support ticket <https://www.odoo.com/help>`_ and include your subscription number and the URL you want to use for your database (e.g.: my-company.odoo.com).
|
||||
3. `Create a support ticket <https://www.odoo.com/help>`_ and attach the dump (if the file is too large, use any file transfer service and attach the link to your ticket). Also include your subscription number and the URL you want to use for your database (e.g.: my-company.odoo.com).
|
||||
4. We will make sure your database is compatible and upload it to our cloud. In case of technical issues, we will get in touch with you.
|
||||
5. It's done!
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
|
Before Width: | Height: | Size: 9.5 KiB After Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.7 KiB After Width: | Height: | Size: 8.7 KiB |
|
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
|
Before Width: | Height: | Size: 89 KiB After Width: | Height: | Size: 89 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
@@ -1,143 +0,0 @@
|
||||
=================================
|
||||
Online (SaaS) 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
|
||||
: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
|
||||
:align: right
|
||||
:alt: Clicking on the gear icon opens the drop-down menu.
|
||||
|
||||
Open the drop-down menu next to the database you want to manage by clicking on the gear icon.
|
||||
|
||||
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`
|
||||
|
||||
.. _online/upgrade:
|
||||
|
||||
Upgrade
|
||||
=======
|
||||
|
||||
Upgrade the database to the latest Odoo version.
|
||||
|
||||
.. warning::
|
||||
Upgrading a database to a newer version of Odoo is a complex operation that requires time and
|
||||
caution. It is essential to test the upgrade before upgrading the production database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../upgrade/process`
|
||||
|
||||
.. _online/duplicate:
|
||||
|
||||
Duplicate
|
||||
=========
|
||||
|
||||
Make an exact copy of the database to be able to perform testing without compromising the daily
|
||||
operations.
|
||||
|
||||
.. important::
|
||||
- By checking *For testing purposes*, all external communication (emails, payments, delivery
|
||||
orders, etc.) are disabled by default on the duplicated database.
|
||||
- Duplicate databases expire automatically after 15 days.
|
||||
|
||||
.. _online/rename:
|
||||
|
||||
Rename
|
||||
======
|
||||
|
||||
Rename the database and its URL.
|
||||
|
||||
.. _online/download:
|
||||
|
||||
Download
|
||||
========
|
||||
|
||||
Download instantly a ZIP file with a backup of the database.
|
||||
|
||||
.. note::
|
||||
Databases are backed up daily according to the `Odoo Cloud SLA
|
||||
<https://www.odoo.com/cloud-sla>`_.
|
||||
|
||||
.. _online/domains:
|
||||
|
||||
Domains
|
||||
=======
|
||||
|
||||
Configure custom domains to access the database via another URL.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/websites/website/publish/domain_name`
|
||||
|
||||
.. _online/tags:
|
||||
|
||||
Tags
|
||||
====
|
||||
|
||||
Add tags to sort your databases out. You can search the tags in the search bar.
|
||||
|
||||
.. _online/delete:
|
||||
|
||||
Delete
|
||||
======
|
||||
|
||||
Delete a database instantly.
|
||||
|
||||
.. danger::
|
||||
Deleting a database means that all data is permanently lost. The deletion is instant and for all
|
||||
users. It is recommended to create a backup of the database before deleting it.
|
||||
|
||||
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
|
||||
:align: center
|
||||
:alt: A warning message is prompted before deleting a database.
|
||||
|
||||
.. note::
|
||||
- Only an administrator can delete a database.
|
||||
- The database name is immediately available for a new database.
|
||||
- It is not possible to delete a database if it is expired or linked to a subscription. If
|
||||
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:
|
||||
|
||||
Contact Support
|
||||
===============
|
||||
|
||||
Access the Odoo `support page <https://www.odoo.com/help>`_ with your database's details already
|
||||
pre-filled.
|
||||
|
||||
.. _online/users:
|
||||
|
||||
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
|
||||
:align: center
|
||||
:alt: Clicking on "Add more users" adds additional email fields.
|
||||
|
||||
To remove users, select the users to remove and click on *Remove*.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/users/manage_users`
|
||||
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
@@ -9,4 +9,5 @@ Advanced
|
||||
|
||||
advanced/containers
|
||||
advanced/submodules
|
||||
advanced/upgrade_your_database
|
||||
advanced/frequent_technical_questions
|
||||
|
||||
@@ -1,7 +1,9 @@
|
||||
|
||||
=======================
|
||||
Odoo.sh version upgrade
|
||||
=======================
|
||||
=====================
|
||||
Upgrade your database
|
||||
=====================
|
||||
|
||||
.. _odoosh-advanced-upgrade_your_database:
|
||||
|
||||
Download and Upload your database
|
||||
=================================
|
||||
@@ -213,8 +213,6 @@ This link contains various monitoring metrics of the current build.
|
||||
You can zoom, change the time range or select a specific metric on each graph.
|
||||
On the graphs, annotations help you relate to changes on the build (database import, git push, etc...).
|
||||
|
||||
.. _odoosh/logs:
|
||||
|
||||
Logs
|
||||
----
|
||||
A viewer to have a look to your server logs.
|
||||
@@ -384,9 +382,7 @@ we are considering the feature if there is enough demand.
|
||||
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
||||
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
||||
settings to increase the deliverability of your outgoing emails.
|
||||
The configuration steps are explained in the documentation about :ref:`SPF
|
||||
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
|
||||
|
||||
The configuration steps are explained in the :ref:`Discuss app documentation <discuss-email_servers-spf-compliant>`.
|
||||
|
||||
.. Warning::
|
||||
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
||||
|
||||
@@ -184,4 +184,4 @@ as you can only have one database linked per subscription.
|
||||
|
||||
If you plan to make it your production,
|
||||
unlink your former database from the subscription, and register the newly imported database.
|
||||
Read the :doc:`database registration documentation <../../maintain/on_premise>` for instructions.
|
||||
Read the :ref:`database registration documentation <db_premise>` for instructions.
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
:nosearch:
|
||||
|
||||
=======
|
||||
Upgrade
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
|
||||
upgrade/process
|
||||
upgrade/odoo_sh
|
||||
upgrade/service_level
|
||||
upgrade/faq
|
||||
@@ -1,171 +0,0 @@
|
||||
.. |assistance-contact| replace::
|
||||
If you need Odoo assistance on this matter, please get in touch with your Odoo Account Manager or
|
||||
our `Sales department`_.
|
||||
.. _Sales department: mailto:sales@odoo.com
|
||||
|
||||
===
|
||||
FAQ
|
||||
===
|
||||
|
||||
.. _upgrade-faq/why:
|
||||
|
||||
Why upgrade
|
||||
===========
|
||||
|
||||
* You benefit from the latest features of the :ref:`new major version
|
||||
<upgrade-faq/release-notes>` released by Odoo.
|
||||
* If you are in an :ref:`unsupported version <upgrade/supported-versions>`, you get a new version
|
||||
with support.
|
||||
|
||||
.. _upgrade-faq/when:
|
||||
|
||||
When to upgrade
|
||||
===============
|
||||
|
||||
Whenever you want. You can make your upgrade request as soon as a new version is released or when
|
||||
your version turns unsupported, and you still wish to enjoy support.
|
||||
|
||||
.. _upgrade-faq/availability:
|
||||
|
||||
Availability of the new version
|
||||
===============================
|
||||
|
||||
As soon as Odoo announces the release of a new major version, you can create a test upgrade request
|
||||
to try the latest version. Please note that at this point, the upgrade scripts will only have been
|
||||
tested with demo data. Please report any issue you might encounter while testing via the `Odoo
|
||||
Support page <https://www.odoo.com/help>`_ and make sure to be happy with your test version before
|
||||
requesting the upgrade of your database in production.
|
||||
|
||||
.. _upgrade-faq/duration:
|
||||
|
||||
Duration of the upgrade
|
||||
=======================
|
||||
|
||||
It is impossible to give time estimates for every upgrade request.
|
||||
|
||||
In general, the "smaller" the database, the quickest the upgrade request is completed. A single-user
|
||||
database that uses only CRM will be processed faster than a multi-company, multi-user database that
|
||||
uses Accounting, Sales, Purchase, and Manufacturing.
|
||||
|
||||
You can expect the time it takes for the platform to upgrade the test database will be similar to
|
||||
the production upgrade.
|
||||
|
||||
.. _upgrade-faq/project:
|
||||
|
||||
The upgrade project
|
||||
===================
|
||||
|
||||
It depends on the user involvement (the time spent on testing, reporting problems, etc.) and the
|
||||
issues encountered that might need to be addressed by our technical team.
|
||||
|
||||
So, in a nutshell, what can impact your upgrade lead time?
|
||||
|
||||
* Source & targeted versions
|
||||
* Installed apps
|
||||
* Volume of data
|
||||
* Amount of customization (models, fields, methods, workflows, reports, website, etc.)
|
||||
* Installation of new apps or configuration changes after the start of the test phase
|
||||
* User commitment
|
||||
|
||||
.. _upgrade-faq/custom-modules:
|
||||
|
||||
Upgrade of the custom modules
|
||||
=============================
|
||||
|
||||
As stated in our :doc:`/legal/terms/enterprise`, section :ref:`charges_standard`, this optional
|
||||
service is subject to additional fees.
|
||||
|
||||
Depending on your situation, the custom code could be upgraded by our services, by one of our
|
||||
partners, or you can do it yourself.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _upgrade-faq/editions-change:
|
||||
|
||||
Editions change (from Community to Enterprise)
|
||||
==============================================
|
||||
|
||||
The upgrade always returns an Enterprise edition of Odoo, whether the database you sent was a
|
||||
community or enterprise edition. It is required to have an enterprise subscription to upgrade.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. seealso::
|
||||
- `Editions <https://www.odoo.com/page/editions>`_
|
||||
|
||||
.. _upgrade-faq/hosting-types-switch:
|
||||
|
||||
Switching the hosting types (Self-Hosting vs. Online Hosting - SaaS vs. Cloud Platform - Odoo.sh)
|
||||
=================================================================================================
|
||||
|
||||
An upgrade does not cover a change of `Hosting types <https://www.odoo.com/page/hosting-types>`_.
|
||||
|
||||
Open the following link to get :doc:`more information about how to change your hosting type
|
||||
<../maintain/hosting_changes>`.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _upgrade-faq/release-notes:
|
||||
|
||||
Release Notes by version
|
||||
========================
|
||||
|
||||
Open our `Release Note <https://www.odoo.com/page/release-notes>`_ page to get a summary of the new
|
||||
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.
|
||||
|
||||
How many tests to perform before upgrading to production?
|
||||
---------------------------------------------------------
|
||||
|
||||
As many as needed. When you are comfortable with the database, run a last test upgrade 48 hours
|
||||
before requesting your production upgrade and test your workflows one last time.
|
||||
|
||||
How to/Where to report upgrade issues?
|
||||
--------------------------------------
|
||||
|
||||
If you encounter issues during the upgrade process, please contact the Odoo Support through the
|
||||
`Odoo Support page <https://www.odoo.com/help>`_
|
||||
|
||||
- To report an issue discovered during the testing phase, please select **An issue related to my
|
||||
upgrade (test phase)**.
|
||||
- To report an issue discovered post-upgrade, please select **An issue related to my upgrade
|
||||
(production)**
|
||||
|
||||
Upgrading to production
|
||||
-----------------------
|
||||
|
||||
Once you have completed testing and are happy with the result, you decide on a date and time when
|
||||
you stop users from accessing Odoo, freeze all data entries, and create an upgrade request for the
|
||||
production upgrade.
|
||||
|
||||
|
||||
How is my data handled in the Upgrade Platform?
|
||||
-----------------------------------------------
|
||||
|
||||
The Odoo Upgrade platform uses the same Privacy Policy as the rest of Odoo.com services.
|
||||
|
||||
Your data is hosted on servers that follow our security guidelines, namely:
|
||||
|
||||
- SSL - All web connections to client instances are protected with 256-bit SSL encryption
|
||||
(HTTPS with a 2048-bit modulus SSL certificate), and running behind Grade A SSL stacks. All our
|
||||
certificate chains are using SHA-2 already.
|
||||
- Safe System - Our servers are running recent Linux distribution with up-to-date security patches,
|
||||
with firewall and intrusion countermeasures (not disclosed for obvious reasons).
|
||||
|
||||
Servers are located at the same locations as our Cloud providers with the following services:
|
||||
|
||||
- Restricted perimeter, physically accessed by authorized data center employees only
|
||||
- Physical access control with security badges or biometrical security
|
||||
- Security cameras monitoring the data center locations 24/7
|
||||
- Security personnel on-site 24/7
|
||||
|
||||
The uploaded and migrated databases uploaded to the Upgrade platform are kept for up to 3 months and
|
||||
are permanently deleted following that period.
|
||||
|
||||
You can learn more about privacy and data handling at Odoo by visiting our `General Data Protection
|
||||
Regulation page <https://www.odoo.com/gdpr>`_.
|
||||
@@ -1,256 +0,0 @@
|
||||
.. |assistance-contact| replace::
|
||||
If you need Odoo assistance on this matter, please get in touch with your Odoo Account Manager or
|
||||
our `Sales department`_.
|
||||
.. _Sales department: mailto:sales@odoo.com
|
||||
|
||||
===============
|
||||
Upgrade process
|
||||
===============
|
||||
|
||||
.. _upgrade/overview:
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
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)
|
||||
* Migration from another ERP to Odoo
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _upgrade/process-workflow:
|
||||
|
||||
Process workflow
|
||||
----------------
|
||||
|
||||
The upgrade process in a nutshell:
|
||||
|
||||
#. You create a test upgrade request.
|
||||
#. | Odoo processes the request:
|
||||
| This happens via an automated process that runs the database through an upgrade script and
|
||||
takes between 20 and 120 minutes. Only if an issue(s) arises will we have to intervene
|
||||
manually and adjust the script specifically to your database until the upgrade succeeds.
|
||||
#. Odoo delivers a test database.
|
||||
#. You test your database for possible discrepancies (see :ref:`upgrade/test-guidance`)
|
||||
#. If there are any discrepancies, you report them to the Upgrade support team via the help portal
|
||||
(see :ref:`upgrade/test-assistance`).
|
||||
#. We will fix the issues and send you a new test database.
|
||||
#. Once you have completed the testing and are happy with the result, you decide on a date and time
|
||||
when you stop users from accessing Odoo, freeze all data entries, and create an upgrade request
|
||||
for the production upgrade.
|
||||
#. Odoo delivers the production database through the automated process.
|
||||
#. You restore it in your Production environment a few short hours later and continue working on the
|
||||
newly upgraded database (this is done automatically on SaaS).
|
||||
|
||||
.. _upgrade/get-started:
|
||||
|
||||
Get started
|
||||
===========
|
||||
|
||||
The upgrade process varies depending on where your database is hosted.
|
||||
|
||||
.. _upgrade/online:
|
||||
|
||||
Online Hosting (SaaS)
|
||||
---------------------
|
||||
|
||||
The upgrade request is made via your `database manager <https://www.odoo.com/my/databases>`_.
|
||||
|
||||
.. image:: process/online-access-databases.png
|
||||
:align: center
|
||||
:alt: Click on the profile button then on "My Databases"
|
||||
|
||||
.. image:: process/online-upgrade-button.png
|
||||
:align: center
|
||||
:alt: Click on the settings button next to your database, then on "Upgrade"
|
||||
|
||||
.. _upgrade/odoo-sh:
|
||||
|
||||
Cloud Platform (Odoo.sh)
|
||||
------------------------
|
||||
|
||||
:doc:`odoo_sh`
|
||||
|
||||
.. _upgrade/on-premise:
|
||||
|
||||
Self-Hosting (On-Premise)
|
||||
-------------------------
|
||||
|
||||
There are two possibilities:
|
||||
|
||||
#. Via `Odoo Upgrade service <https://upgrade.odoo.com>`_
|
||||
#. | For technically advanced users and partners, via the following command line on the machine
|
||||
where your database is hosted:
|
||||
| ``python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target
|
||||
version>``
|
||||
|
||||
The above command will dump your database to a file, send it to the upgrade platform for an upgrade,
|
||||
display you the live logs, and restore the upgraded database back on your server as a duplicate test
|
||||
database.
|
||||
|
||||
.. _upgrade/testing-phase:
|
||||
|
||||
Testing Phase (pre-production phase)
|
||||
====================================
|
||||
|
||||
This phase allows you to review an upgraded version of your database without affecting your
|
||||
production database in any way.
|
||||
|
||||
We suggest that you run the test upgrade process at least once, but you can do it as many times as
|
||||
you need (one at a time).
|
||||
|
||||
Once you receive your upgraded test database, check that all data, processes, and functionality are
|
||||
still correct and working as expected.
|
||||
|
||||
If you do find discrepancies, report your issues (see :ref:`upgrade/test-assistance`) and request
|
||||
a new test database (see :ref:`upgrade/test-db-request`) when the reported issues are fixed in
|
||||
the upgrade script.
|
||||
|
||||
If you do not find any discrepancies, you'll be able to move on to the upgrade of your
|
||||
:ref:`production database <upgrade/production-live>`.
|
||||
|
||||
.. _upgrade/test-db-request:
|
||||
|
||||
Request a test database
|
||||
-----------------------
|
||||
|
||||
When filling the `website form <https://upgrade.odoo.com>`_, select *Testing* purpose.
|
||||
|
||||
.. image:: process/test-purpose.png
|
||||
:align: center
|
||||
:alt: Selection of the "Testing" purpose in the upgrade form on Odoo
|
||||
|
||||
.. _upgrade/test-guidance:
|
||||
|
||||
Test guidance
|
||||
-------------
|
||||
|
||||
Every business and organization has its own operational needs and has to test its specific Odoo
|
||||
instance respectively. We recommend you look at `the test scenario
|
||||
<https://docs.google.com/document/d/1ypNs7JKPOsjNbKpdiKFH7Al6g6whZ9jr7f7duAQ5E1w/>` for further
|
||||
information.
|
||||
|
||||
.. todo:: change link "test scenario" once the related doc is published
|
||||
|
||||
.. _upgrade/test-assistance:
|
||||
|
||||
Assistance
|
||||
----------
|
||||
|
||||
If you encounter an issue in the **test database**, please get in touch with Odoo Upgrade Support
|
||||
via the `Odoo Support page <https://www.odoo.com/help>`_.
|
||||
|
||||
Under the *Ticket Description* section, select *An issue related to my upgrade* ticket type.
|
||||
|
||||
.. image:: process/test-assistance.png
|
||||
:align: center
|
||||
:alt: Selection of "An issue related to my upgrade" as Ticket Type in the support form on Odoo
|
||||
|
||||
.. warning::
|
||||
If you choose another *Ticket Description* type, the request will be redirected to another
|
||||
team. This will slow down the processing and response time.
|
||||
|
||||
Please provide as much detail as you can (i.e., videos and screenshots to illustrate your issue).
|
||||
This will avoid clarifying questions and speed up the resolution process significantly.
|
||||
|
||||
.. image:: process/test-assistance-details.png
|
||||
:align: center
|
||||
:alt: "Detailed Description" field in the support form on Odoo
|
||||
|
||||
.. note::
|
||||
* The purpose of the test phase is not to correct existing data or configurations in your
|
||||
database.
|
||||
* |assistance-contact|
|
||||
|
||||
.. _upgrade/steps-production:
|
||||
|
||||
The production launch
|
||||
---------------------
|
||||
|
||||
.. _upgrade/production-live:
|
||||
|
||||
Production goes live
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The production upgrade request is when you decide to upgrade your current database with all your
|
||||
production data (invoices, VAT returns, inventories, current orders) to a new version of your
|
||||
choice.
|
||||
|
||||
After your :ref:`tests <upgrade/testing-phase>` are completed to your satisfaction, submit the
|
||||
request to upgrade your production database via our `website form <https://upgrade.odoo.com>`_.
|
||||
Select *Production* purpose.
|
||||
|
||||
.. image:: process/production-purpose.png
|
||||
:align: center
|
||||
:alt: Selection of the "Production" purpose in the upgrade form on Odoo
|
||||
|
||||
.. danger::
|
||||
Going into production without first testing may lead to:
|
||||
|
||||
- business interruptions (e.g., no longer having the possibility to validate an action)
|
||||
- poor customer experiences (e.g., an eCommerce website that does not work correctly)
|
||||
|
||||
.. _upgrade/production-assistance:
|
||||
|
||||
Assistance
|
||||
~~~~~~~~~~
|
||||
|
||||
If you encounter issues or problems in the **production database**, please get in touch with **Odoo
|
||||
Support**:
|
||||
|
||||
#. Connect to our `Odoo Support page <https://www.odoo.com/help>`_.
|
||||
#. Under the *Ticket Description* section, select the appropriate type related to your issue but
|
||||
**do not select** the option *An issue related to my upgrade*.
|
||||
|
||||
.. note::
|
||||
After upgrading to production, the support will be provided by the Support team instead of the
|
||||
Upgrade team.
|
||||
|
||||
#. Please provide as much detail as you can (i.e., videos and screenshots to illustrate your issue).
|
||||
This will avoid clarifying questions and speed up the resolution process significantly.
|
||||
|
||||
.. image:: process/production-assistance-details.png
|
||||
:align: center
|
||||
:alt: "Detailed Description" field in the support form on Odoo
|
||||
|
||||
.. warning::
|
||||
If you choose *An issue related to my upgrade* as ticket type, the request will be redirected
|
||||
to another team than the support one and will slow down the processing and response time.
|
||||
|
||||
.. _upgrade/assistance:
|
||||
|
||||
Assistance
|
||||
==========
|
||||
|
||||
.. _upgrade/contact:
|
||||
|
||||
Contact our Upgrade service support
|
||||
-----------------------------------
|
||||
|
||||
Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo
|
||||
Upgrade Team <mailto:upgrade@odoo.com>`_. We will be happy to answer it as soon as possible.
|
||||
|
||||
.. _upgrade/supported-versions:
|
||||
|
||||
Supported versions
|
||||
------------------
|
||||
|
||||
Please note that Odoo provides support and bug fixing only for the three last major versions of
|
||||
Odoo.
|
||||
|
||||
This is a factor to take into consideration before upgrading. If you are on an older version, we
|
||||
suggest you to prefer the most recent version to benefit from longer support (before having to
|
||||
upgrade again).
|
||||
|
||||
You can get more information about our :doc:`supported versions <../maintain/supported_versions>`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`faq`
|
||||
- :doc:`odoo_sh`
|
||||
- :doc:`service_level`
|
||||
- :doc:`../maintain/supported_versions`
|
||||
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 10 KiB |
@@ -1,37 +0,0 @@
|
||||
.. |assistance-contact| replace::
|
||||
If you need Odoo assistance on this matter, please get in touch with your Odoo Account Manager or
|
||||
our `Sales department`_.
|
||||
.. _Sales department: mailto:sales@odoo.com
|
||||
|
||||
=======================
|
||||
Service Level Agreement
|
||||
=======================
|
||||
|
||||
What is covered by the Enterprise Licence?
|
||||
==========================================
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
|
||||
following service at all times.
|
||||
|
||||
The upgrade of:
|
||||
|
||||
* standard applications
|
||||
* Studio customization (as long as the Studio app is still active)
|
||||
* customizations done by our consulting and developer services *if* they are covered by a
|
||||
‘Maintenance of Customisations’ subscription
|
||||
|
||||
The Upgrade Service is limited to your database's technical conversion and adaptation (standard
|
||||
modules and data) to make it compatible with the targeted version.
|
||||
|
||||
What upgrading does NOT cover
|
||||
=============================
|
||||
|
||||
* The cleaning of pre-existing data & configuration while upgrading
|
||||
* Any new developments and/or upgrades of your own :ref:`custom modules
|
||||
<upgrade-faq/custom-modules>`
|
||||
* `Training <https://www.odoo.com/learn>`_ on the latest version
|
||||
|
||||
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription
|
||||
Agreement <upgrade>` page.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
@@ -10,5 +10,4 @@ Finance
|
||||
finance/accounting
|
||||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/payment_acquirers
|
||||
finance/sign
|
||||
@@ -2,360 +2,44 @@
|
||||
France
|
||||
======
|
||||
|
||||
.. _france/fec:
|
||||
FEC
|
||||
===
|
||||
|
||||
FEC - Fichier des Écritures Comptables
|
||||
======================================
|
||||
|
||||
An FEC :dfn:`Fichier des Écritures Comptables` audit file contains all the accounting data and entries
|
||||
recorded in all the accounting journals for a financial year. The entries in the file must be
|
||||
arranged in chronological order.
|
||||
|
||||
Since January 1st, 2014, every French company is required to produce and transmit this file upon
|
||||
request by the tax authorities for audit purposes.
|
||||
|
||||
FEC Import
|
||||
----------
|
||||
|
||||
To make the onboarding of new users easier, Odoo Enterprise's French :doc:`fiscal localization
|
||||
<../overview/fiscal_localization_packages>` includes the **FEC Import** feature (module name:
|
||||
``l10n_fr_fec_import``), which enables the import of existing FEC files from older software.
|
||||
|
||||
To enable this feature, go to :menuselection:`Accounting --> Configuration --> Settings -->
|
||||
Accounting Import`, enable **FEC Import**, and *Save*.
|
||||
|
||||
Next, go to :menuselection:`Accounting --> Configuration --> FEC Import`, upload your FEC file, and
|
||||
click on *Import*.
|
||||
|
||||
.. note::
|
||||
|
||||
| Importing FEC files from different year takes no particular action or computation.
|
||||
| Should multiple files contain any "Reports à Nouveaux" (RAN) with the starting balance of the
|
||||
year, you might need to cancel those entries in the User Interface. Odoo makes those entries
|
||||
(RAN) useless.
|
||||
|
||||
File formats
|
||||
~~~~~~~~~~~~
|
||||
|
||||
FEC files can only be in CSV format, as the XML format is not supported.
|
||||
|
||||
.. note::
|
||||
|
||||
The FEC CSV file has a plain text format representing a data table, with the first line being a
|
||||
header and defining the list of fields for each entry, and each following line representing one
|
||||
accounting entry, in no predetermined order.
|
||||
|
||||
Our module expects the files to meet the following technical specifications:
|
||||
|
||||
- **Encoding**: UTF-8, UTF-8-SIG and iso8859_15.
|
||||
- **Separator**: any of these: `;` or `|` or `,` or `TAB`.
|
||||
- **Line terminators**: both CR+LF (`\\r\\n`) and LF (`\\n`) character groups are supported.
|
||||
- **Date format**: `%Y%m%d`
|
||||
|
||||
Fields description and use
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| # | Field name | Description | Use | Format |
|
||||
+====+===============+======================================+===================================+=================+
|
||||
| 01 | JournalCode | Journal Code | `journal.code` and `journal.name` | Alphanumeric |
|
||||
| | | | if `JournalLib` is not provided | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 02 | JournalLib | Journal Label | `journal.name` | Alphanumeric |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 03 | EcritureNum | Numbering specific to each journal | `move.name` | Alphanumeric |
|
||||
| | | sequence number of the entry | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 04 | EcritureDate | Accounting entry Date | `move.date` | Date (yyyyMMdd) |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 05 | CompteNum | Account Number | `account.code` | Alphanumeric |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 06 | CompteLib | Account Label | `account.name` | Alphanumeric |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 07 | CompAuxNum | Secondary account Number | `partner.ref` | Alphanumeric |
|
||||
| | | (accepts null) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 08 | CompAuxLib | Secondary account Label | `partner.name` | Alphanumeric |
|
||||
| | | (accepts null) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 09 | PieceRef | Document Reference | `move.ref` and `move.name` | Alphanumeric |
|
||||
| | | | if `EcritureNum` is not provided | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 10 | PieceDate | Document Date | `move.date` | Date (yyyyMMdd) |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 11 | EcritureLib | Account entry Label | `move_line.name` | Alphanumeric |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 12 | Debit | Debit amount | `move_line.debit` | Float |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 13 | Credit | Credit amount | `move_line.credit` | Float |
|
||||
| | | (Field name "Crédit" is not allowed) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 14 | EcritureLet | Accounting entry cross reference | `move_line.fec_matching_number` | Alphanumeric |
|
||||
| | | (accepts null) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 15 | DateLet | Accounting entry date | unused | Date (yyyyMMdd) |
|
||||
| | | (accepts null) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 16 | ValidDate | Accounting entry validation date | unused | Date (yyyyMMdd) |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 17 | Montantdevise | Currency amount | `move_line.amount_currency` | Float |
|
||||
| | | (accepts null) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 18 | Idevise | Currency identifier | `currency.name` | Alphanumeric |
|
||||
| | | (accepts null) | | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
|
||||
These two fields can be found in place of the others in the sence above.
|
||||
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 12 | Montant | Amount | `move_line.debit` | Float |
|
||||
| | | | or `move_line.credit` | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
| 13 | Sens | Can be "C" for Credit | determines `move_line.debit` | Char |
|
||||
| | | or "D" for Debit | or `move_line.credit` | |
|
||||
+----+---------------+--------------------------------------+-----------------------------------+-----------------+
|
||||
|
||||
Implementation details
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The following accounting entities are imported from the FEC files: **Accounts, Journals, Partners**,
|
||||
and **Moves**.
|
||||
|
||||
Our module determines the encoding, the line-terminator character, and the separator that are used
|
||||
in the file.
|
||||
|
||||
A check is then performed to see if every line has the correct number of fields corresponding to the
|
||||
header.
|
||||
|
||||
If the check passes, then the file is read in full, kept in memory, and scanned. Accounting entities
|
||||
are imported one type at a time, in the following order.
|
||||
|
||||
Accounts
|
||||
********
|
||||
|
||||
Every accounting entry is related to an account, which should be determined by the field
|
||||
`CompteNum`.
|
||||
|
||||
Code matching
|
||||
*************
|
||||
|
||||
Should a similar account code already be present in the system, the existing one is used instead of
|
||||
creating a new one.
|
||||
|
||||
Accounts in Odoo generally have a number of digits that are default for the fiscal localization. As
|
||||
the FEC module is related to the French localization, the default number of relevant digits is 6.
|
||||
|
||||
This means that the account codes the trailing zeroes are right-trimmed, and that the comparison
|
||||
between the account codes in the FEC file and the ones already existing in Odoo is performed only on
|
||||
the first six digits of the codes.
|
||||
|
||||
.. example::
|
||||
The account code `65800000` in the file is matched against an existing `658000` account in Odoo,
|
||||
and that account is used instead of creating a new one.
|
||||
|
||||
Reconcilable flag
|
||||
*****************
|
||||
|
||||
An account is technically flagged as *reconcilable* if the first line in which it appears has the
|
||||
`EcritureLet` field filled out, as this flag means that the accounting entry is going to be
|
||||
reconciled with another one.
|
||||
|
||||
.. note::
|
||||
|
||||
In case the line somehow has this field not filled out, but the entry still has to be reconciled
|
||||
with a payment that hasn't yet been recorded, this isn't a problem anyway; the account is
|
||||
flagged as reconcilable as soon as the import of the move lines requires it.
|
||||
|
||||
Account type and Templates matching
|
||||
***********************************
|
||||
|
||||
As the **type** of the account is not specified in the FEC format, **new** accounts are created
|
||||
with the default type *Current Assets* and then, at the end of the import process, they are
|
||||
matched against the installed Chart of Account templates. Also, the *reconcile* flag is also
|
||||
computed this way.
|
||||
|
||||
The match is done with the left-most digits, starting by using all digits, then 3, then 2.
|
||||
|
||||
.. example::
|
||||
|
||||
+------------+------------+-----------------+---------------------+---------------------+
|
||||
| Name | Code | Full comparison | 3-digits comparison | 2-digits comparison |
|
||||
+============+============+=================+=====================+=====================+
|
||||
| Template | `400000` | `400000` | `400` | `40` |
|
||||
+------------+------------+-----------------+---------------------+---------------------+
|
||||
| CompteNum | `40100000` | `40100000` | `401` | `40` |
|
||||
+------------+------------+-----------------+---------------------+---------------------+
|
||||
| **Result** | | | | Match **found** |
|
||||
+------------+------------+-----------------+---------------------+---------------------+
|
||||
|
||||
The type of the account is then flagged as *payable* and *reconcilable* as per the account template.
|
||||
|
||||
Journals
|
||||
********
|
||||
|
||||
Journals are also checked against those already existing in Odoo to avoid duplicates, also in the
|
||||
case of multiple FEC files imports.
|
||||
|
||||
Should a similar journal code already be present in the system, the existing one is used instead of
|
||||
creating a new one.
|
||||
|
||||
New journals have their name prefixed by the string ``FEC-``.
|
||||
|
||||
.. example::
|
||||
`ACHATS` -> `FEC-ACHATS`
|
||||
|
||||
The journals are *not* archived, the user is entitled to handle them as he wishes.
|
||||
|
||||
Journal type determination
|
||||
**************************
|
||||
|
||||
The journal type is also not specified in the format (as per the accounts) and therefore it is
|
||||
at first created with the default type `general`.
|
||||
|
||||
At the end of the import process, the type is determined as per these rules regarding related
|
||||
moves and accounts:
|
||||
|
||||
- | `bank`: Moves in these journals always have a line (debit or credit) impacting a
|
||||
liquidity account.
|
||||
| `cash` / `bank` can be interchanged, so `bank` is set everywhere when this condition is met.
|
||||
- | `sale`: Moves in these journals mostly have debit lines on receivable accounts and
|
||||
credit lines on tax income accounts.
|
||||
| Sale refund journal items are debit/credit inverted.
|
||||
- | `purchase`: Moves in these journals mostly have credit lines on payable accounts and
|
||||
debit lines on expense accounts.
|
||||
| Purchase refund journal items are debit/credit inverted.
|
||||
- | `general`: for everything else.
|
||||
|
||||
.. note::
|
||||
|
||||
- A minimum of three moves is necessary for journal type identification.
|
||||
- A threshold of 70% of moves must correspond to a criteria for a journal type to be determined.
|
||||
|
||||
.. example::
|
||||
Suppose we are analyzing the moves that share a certain `journal_id`.
|
||||
|
||||
+------------------------------------------------------------+-------+------------+
|
||||
| Moves | Count | Percentage |
|
||||
+============================================================+=======+============+
|
||||
| that have a sale account line and no purchase account line | 0 | 0 |
|
||||
+------------------------------------------------------------+-------+------------+
|
||||
| that have a purchase account line and no sale account line | 1 | 25% |
|
||||
+------------------------------------------------------------+-------+------------+
|
||||
| that have a liquidity account line | 3 | **75%** |
|
||||
+------------------------------------------------------------+-------+------------+
|
||||
| **Total** | 4 | 100% |
|
||||
+------------------------------------------------------------+-------+------------+
|
||||
|
||||
The journal `type` would be `bank`, because the bank moves percentage (75%) exceeds the threshold
|
||||
(70%).
|
||||
|
||||
Partners
|
||||
********
|
||||
|
||||
Each partner keeps its `Reference` from the field `CompAuxNum`.
|
||||
|
||||
.. note::
|
||||
|
||||
These fields are searchable, in line with former FEC imports on the accounting expert's side for
|
||||
fiscal/audit purposes.
|
||||
If you have installed the French Accounting, you will be able to download the FEC.
|
||||
For this, go in :menuselection:`Accounting --> Reporting --> France --> FEC`.
|
||||
|
||||
.. tip::
|
||||
|
||||
Users can merge partners with the Data Cleaning App, where Vendors and Customers or similar
|
||||
partner entries may be merged by the user, with assistance from the system that groups them by
|
||||
similar entries.
|
||||
|
||||
Moves
|
||||
*****
|
||||
|
||||
Entries are immediately posted and reconciled after submission, using the `EcritureLet` field to
|
||||
do the matching between the entries themselves.
|
||||
|
||||
The `EcritureNum` field represents the name of the moves. We noticed that sometimes it may not be
|
||||
filled out. In this case, the field `PieceRef` is used.
|
||||
|
||||
Rounding issues
|
||||
***************
|
||||
|
||||
There is a rounding tolerance with a currency-related precision on debit and credit (i.e., 0.01 for
|
||||
EUR). Under this tolerance, a new line is added to the move, named *Import rounding difference*,
|
||||
targeting the accounts:
|
||||
|
||||
- `658000` Charges diverses de gestion courante, for added debits
|
||||
- `758000` Produits divers de gestion courante, for added credits
|
||||
|
||||
Missing move name
|
||||
*****************
|
||||
|
||||
Should the `EcritureNum` not be filled out, it may also happen that the `PieceRef` field is also
|
||||
not suited to determine the move name (it may be used as an accounting move line reference) leaving
|
||||
no way to actually find which lines are to be grouped in a single move, and effectively impeding the
|
||||
creation of balanced moves.
|
||||
|
||||
One last attempt is made, grouping all lines from the same journal and date (`JournalLib`,
|
||||
`EcritureDate`). Should this grouping generate balanced moves (sum(credit) - sum(debit) = 0), then
|
||||
each different combination of journal and date creates a new move.
|
||||
|
||||
.. example::
|
||||
`ACH` + `2021/05/01` --> new move on journal `ACH` with name `20210501`.
|
||||
|
||||
Should this attempt fail, the user is prompted an error message with all the move lines that are
|
||||
supposedly unbalanced.
|
||||
|
||||
Partner information
|
||||
*******************
|
||||
|
||||
If a line has the partner information specified, the information is copied to the accounting move
|
||||
itself if the targeted Journal is of type *payable* or *receivable*.
|
||||
|
||||
Export
|
||||
------
|
||||
|
||||
If you have installed the French :doc:`fiscal localization
|
||||
<../overview/fiscal_localization_packages>`, you should be able to download the FEC. To do so, go to
|
||||
:menuselection:`Accounting --> Reporting --> France --> FEC`.
|
||||
|
||||
.. tip::
|
||||
|
||||
If you do not see the submenu **FEC**, go to :menuselection:`Apps`, remove the *Apps* filter,
|
||||
then search for the module named **France-FEC** and make sure it is installed.
|
||||
|
||||
.. seealso::
|
||||
|
||||
- `Official Technical Specification (fr)
|
||||
<https://www.legifrance.gouv.fr/codes/article_lc/LEGIARTI000027804775>`_
|
||||
- `Test-Compta-Demat (Official FEC Testing tool)
|
||||
<https://github.com/DGFiP/Test-Compta-Demat>`_
|
||||
If you do not see the submenu **FEC**, go in **Apps** and search for the module
|
||||
called **France-FEC** and verify if it is well installed.
|
||||
|
||||
French Accounting Reports
|
||||
=========================
|
||||
|
||||
If you have installed the French Accounting, you will have access to some accounting reports
|
||||
specific to France:
|
||||
If you have installed the French Accounting, you will have access to some accounting reports specific to France:
|
||||
|
||||
- Bilan comptable
|
||||
- Compte de résultats
|
||||
- Plan de Taxes France
|
||||
- Plan de Taxes France
|
||||
|
||||
Get the VAT anti-fraud certification with Odoo
|
||||
==============================================
|
||||
|
||||
As of January 1st 2018, a new anti-fraud legislation comes into effect
|
||||
in France and DOM-TOM. This new legislation stipulates certain criteria
|
||||
concerning the inalterability, security, storage and archiving of sales data.
|
||||
These legal requirements are implemented in Odoo, version 9 onward,
|
||||
As of January 1st 2018, a new anti-fraud legislation comes into effect
|
||||
in France and DOM-TOM. This new legislation stipulates certain criteria
|
||||
concerning the inalterability, security, storage and archiving of sales data.
|
||||
These legal requirements are implemented in Odoo, version 9 onward,
|
||||
through a module and a certificate of conformity to download.
|
||||
|
||||
Is my company required to use anti-fraud software?
|
||||
--------------------------------------------------
|
||||
Is my company required to use an anti-fraud software?
|
||||
-----------------------------------------------------
|
||||
|
||||
Your company is required to use an anti-fraud cash register software like
|
||||
Your company is required to use an anti-fraud cash register software like
|
||||
Odoo (CGI art. 286, I. 3° bis) if:
|
||||
|
||||
- You are taxable (not VAT exempt) in France or any DOM-TOM,
|
||||
- Some of your customers are private individuals (B2C).
|
||||
* You are taxable (not VAT exempt) in France or any DOM-TOM,
|
||||
* Some of your customers are private individuals (B2C).
|
||||
|
||||
This rule applies to any company size. Auto-entrepreneurs are exempted from
|
||||
This rule applies to any company size. Auto-entrepreneurs are exempted from
|
||||
VAT and therefore are not affected.
|
||||
|
||||
Get certified with Odoo
|
||||
@@ -363,143 +47,135 @@ Get certified with Odoo
|
||||
|
||||
Getting compliant with Odoo is very easy.
|
||||
|
||||
Your company is requested by the tax administration to deliver a certificate
|
||||
of conformity testifying that your software complies with the anti-fraud
|
||||
legislation. This certificate is granted by Odoo SA to Odoo Enterprise users
|
||||
Your company is requested by the tax administration to deliver a certificate
|
||||
of conformity testifying that your software complies with the anti-fraud
|
||||
legislation. This certificate is granted by Odoo SA to Odoo Enterprise users
|
||||
`here <https://www.odoo.com/my/contract/french-certification/>`_.
|
||||
If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise
|
||||
</administration/maintain/enterprise>` or contact your Odoo service provider.
|
||||
|
||||
In case of non-conformity, your company risks a fine of €7,500.
|
||||
|
||||
To get the certification, just follow the following steps:
|
||||
To get the certification just follow the following steps:
|
||||
|
||||
- If you use **Odoo Point of Sale**, :ref:`install <general/install>` the **France - VAT Anti-Fraud
|
||||
* If you use **Odoo Point of Sale**, :ref:`install <general/install>` the **France - VAT Anti-Fraud
|
||||
Certification for Point of Sale (CGI 286 I-3 bis)** module by going to :menuselection:`Apps`,
|
||||
removing the *Apps* filter, then searching for *l10n_fr_pos_cert*, and installing the module.
|
||||
|
||||
- Make sure a country is set on your company, otherwise your entries won’t be
|
||||
* Make sure a country is set on your company, otherwise your entries won’t be
|
||||
encrypted for the inalterability check. To edit your company’s data,
|
||||
go to :menuselection:`Settings --> Users & Companies --> Companies`.
|
||||
Select a country from the list; Do not create a new country.
|
||||
- Download the mandatory certificate of conformity delivered by Odoo SA `here <https://www.odoo.com/my/contract/french-certification/>`__.
|
||||
* Download the mandatory certificate of conformity delivered by Odoo SA `here <https://www.odoo.com/my/contract/french-certification/>`__.
|
||||
|
||||
.. note::
|
||||
|
||||
- To install the module in any system created before
|
||||
December 18th 2017, you should update the modules list.
|
||||
To do so, activate the :ref:`developer mode <developer-mode>`.
|
||||
Then go to the *Apps* menu and press *Update Modules List* in the top-menu.
|
||||
- In case you run Odoo on-premise, you need to update your installation
|
||||
and restart your server beforehand.
|
||||
- If you have installed the initial version of the anti-fraud module
|
||||
(prior to December 18th 2017), you need to update it.
|
||||
The module's name was *France - Accounting - Certified CGI 286 I-3 bis*.
|
||||
After an update of the modules list, search for
|
||||
the updated module in *Apps*, select it and click *Upgrade*.
|
||||
Finally, make sure the following module *l10n_fr_sale_closing*
|
||||
is installed.
|
||||
* To install the module in any system created before
|
||||
December 18th 2017, you should update the modules list.
|
||||
To do so, activate the :ref:`developer mode <developer-mode>`.
|
||||
Then go to the *Apps* menu and press *Update Modules List* in the top-menu.
|
||||
* In case you run Odoo on-premise, you need to update your installation
|
||||
and restart your server beforehand.
|
||||
* If you have installed the initial version of the anti-fraud module
|
||||
(prior to December 18th 2017), you need to update it.
|
||||
The module's name was *France - Accounting - Certified CGI 286 I-3 bis*.
|
||||
After an update of the modules list, search for
|
||||
the updated module in *Apps*, select it and click *Upgrade*.
|
||||
Finally, make sure the following module *l10n_fr_sale_closing*
|
||||
is installed.
|
||||
|
||||
Anti-fraud features
|
||||
-------------------
|
||||
|
||||
The anti-fraud module introduces the following features:
|
||||
|
||||
- **Inalterability**: deactivation of all the ways to cancel or modify
|
||||
* **Inalterability**: deactivation of all the ways to cancel or modify
|
||||
key data of POS orders, invoices and journal entries;
|
||||
- **Security**: chaining algorithm to verify the inalterability;
|
||||
- **Storage**: automatic sales closings with computation of both period
|
||||
* **Security**: chaining algorithm to verify the inalterability;
|
||||
* **Storage**: automatic sales closings with computation of both period
|
||||
and cumulative totals (daily, monthly, annually).
|
||||
|
||||
Inalterability
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
All the possible ways to cancel and modify key data of paid POS orders,
|
||||
confirmed invoices and journal entries are deactivated,
|
||||
if the company is located in France or in any DOM-TOM.
|
||||
All the possible ways to cancel and modify key data of paid POS orders,
|
||||
confirmed invoices and journal entries are deactivated,
|
||||
if the company is located in France or in any DOM-TOM.
|
||||
|
||||
.. note::
|
||||
|
||||
If you run a multi-companies environment, only the documents of such companies are impacted.
|
||||
.. note:: If you run a multi-companies environment, only the documents of
|
||||
such companies are impacted.
|
||||
|
||||
Security
|
||||
~~~~~~~~
|
||||
|
||||
To ensure inalterability, every order or journal entry is encrypted
|
||||
upon validation.
|
||||
This number (or hash) is calculated from the key data of the document as
|
||||
To ensure the inalterability, every order or journal entry is encrypted
|
||||
upon validation.
|
||||
This number (or hash) is calculated from the key data of the document as
|
||||
well as from the hash of the precedent documents.
|
||||
|
||||
The module introduces an interface to test the data inalterability.
|
||||
If any information is modified on a document after its validation,
|
||||
the test will fail. The algorithm recomputes all the hashes and compares them
|
||||
against the initial ones. In case of failure, the system points out the first
|
||||
The module introduces an interface to test the data inalterability.
|
||||
If any information is modified on a document after its validation,
|
||||
the test will fail. The algorithm recomputes all the hashes and compares them
|
||||
against the initial ones. In case of failure, the system points out the first
|
||||
corrupted document recorded in the system.
|
||||
|
||||
Users with *Manager* access rights can launch the inalterability check.
|
||||
For POS orders, go to
|
||||
:menuselection:`Point of Sales --> Reporting --> French Statements`.
|
||||
For invoices or journal entries,
|
||||
Users with *Manager* access rights can launch the inalterability check.
|
||||
For POS orders, go to
|
||||
:menuselection:`Point of Sales --> Reporting --> French Statements`.
|
||||
For invoices or journal entries,
|
||||
go to :menuselection:`Invoicing/Accounting --> Reporting --> French Statements`.
|
||||
|
||||
Storage
|
||||
~~~~~~~
|
||||
|
||||
The system also processes automatic sales closings on a daily, monthly
|
||||
The system also processes automatic sales closings on a daily, monthly
|
||||
and annual basis.
|
||||
Such closings distinctly compute the sales total of the period as well as
|
||||
the cumulative grand totals from the very first sales entry recorded
|
||||
Such closings distinctly compute the sales total of the period as well as
|
||||
the cumulative grand totals from the very first sales entry recorded
|
||||
in the system.
|
||||
|
||||
Closings can be found in the *French Statements* menu of Point of Sale,
|
||||
Closings can be found in the *French Statements* menu of Point of Sale,
|
||||
Invoicing and Accounting apps.
|
||||
|
||||
.. note::
|
||||
* Closings compute the totals for journal entries of sales journals (Journal Type = Sales).
|
||||
|
||||
- Closings compute the totals for journal entries of sales journals (Journal Type = Sales).
|
||||
* For multi-companies environments, such closings are performed by company.
|
||||
|
||||
- For multi-companies environments, such closings are performed by company.
|
||||
* POS orders are posted as journal entries at the closing of the POS session.
|
||||
Closing a POS session can be done anytime.
|
||||
To prompt users to do it on a daily basis, the module prevents from resuming
|
||||
a session opened more than 24 hours ago.
|
||||
Such a session must be closed before selling again.
|
||||
|
||||
- POS orders are posted as journal entries at the closing of the POS session.
|
||||
Closing a POS session can be done anytime.
|
||||
To prompt users to do it on a daily basis, the module prevents from resuming
|
||||
a session opened more than 24 hours ago.
|
||||
Such a session must be closed before selling again.
|
||||
* A period’s total is computed from all the journal entries posted after the
|
||||
previous closing of the same type, regardless of their posting date.
|
||||
If you record a new sales transaction for a period already closed,
|
||||
it will be counted in the very next closing.
|
||||
|
||||
- A period’s total is computed from all the journal entries posted after the
|
||||
previous closing of the same type, regardless of their posting date.
|
||||
If you record a new sales transaction for a period already closed,
|
||||
it will be counted in the very next closing.
|
||||
.. tip:: For test & audit purposes such closings can be manually generated in the
|
||||
:ref:`developer mode <developer-mode>`. Then go to :menuselection:`Settings -->
|
||||
Technical --> Automation --> Scheduled Actions`.
|
||||
|
||||
.. tip::
|
||||
|
||||
- For test & audit purposes such closings can be manually generated in the
|
||||
:ref:`developer mode <developer-mode>`.
|
||||
- Then go to :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`.
|
||||
|
||||
Responsibilities
|
||||
----------------
|
||||
|
||||
Do not uninstall the module! If you do so, the hashes will be reset and none
|
||||
Do not uninstall the module! If you do so, the hashes will be reset and none
|
||||
of your past data will be longer guaranteed as being inalterable.
|
||||
|
||||
Users remain responsible for their Odoo instance and must use it with
|
||||
due diligence. It is not permitted to modify the source code which guarantees
|
||||
Users remain responsible for their Odoo instance and must use it with
|
||||
due diligence. It is not permitted to modify the source code which guarantees
|
||||
the inalterability of data.
|
||||
|
||||
Odoo absolves itself of all and any responsibility in case of changes
|
||||
|
||||
Odoo absolves itself of all and any responsibility in case of changes
|
||||
in the module’s functions caused by 3rd party applications not certified by Odoo.
|
||||
|
||||
|
||||
More Information
|
||||
----------------
|
||||
|
||||
You can find more information about this legislation in the following official documents.
|
||||
You will find more information about this legislation in the official documents:
|
||||
|
||||
.. seealso::
|
||||
|
||||
- `Frequently Asked Questions
|
||||
<https://www.economie.gouv.fr/files/files/directions_services/dgfip/controle_fiscal/actualites_reponses/logiciels_de_caisse.pdf>`_
|
||||
- `Official Statement
|
||||
<http://bofip.impots.gouv.fr/bofip/10691-PGP.html?identifiant=BOI-TVA-DECLA-30-10-30-20160803>`_
|
||||
- `Item 88 of Finance Law 2016
|
||||
<https://www.legifrance.gouv.fr/affichTexteArticle.do?idArticle=JORFARTI000031732968&categorieLien=id&cidTexte=JORFTEXT000031732865>`_
|
||||
* `Frequently Asked Questions <https://www.economie.gouv.fr/files/files/directions_services/dgfip/controle_fiscal/actualites_reponses/logiciels_de_caisse.pdf>`_
|
||||
* `Official Statement <http://bofip.impots.gouv.fr/bofip/10691-PGP.html?identifiant=BOI-TVA-DECLA-30-10-30-20160803>`_
|
||||
* `Item 88 of Finance Law 2016 <https://www.legifrance.gouv.fr/affichTexteArticle.do?idArticle=JORFARTI000031732968&categorieLien=id&cidTexte=JORFTEXT000031732865>`_
|
||||
|
||||
@@ -30,7 +30,8 @@ elettronica sono i seguenti:
|
||||
di posta elettronica certificata sono fornite dal tuo fornitore o dal
|
||||
Ministero. Lo stesso server deve essere configurato come server che
|
||||
gestisce tutta la corrispondenza mail in Odoo, per saperne di più si
|
||||
può consultare la relativa :doc:`guida </applications/general/email_communication/email_servers>`.
|
||||
può consultare la relativa :doc:`guida
|
||||
</applications/productivity/discuss/advanced/email_servers>`.
|
||||
|
||||
- Indirizzo PEC dell’Azienda, tale indirizzo deve essere lo stesso
|
||||
registrato presso l’Agenzia delle Entrate per l’utilizzo dei servizi
|
||||
|
||||
@@ -22,6 +22,10 @@ selected at the creation of the database.
|
||||
To install a new package, go to :menuselection:`Accounting --> Configuration --> Fiscal
|
||||
Localization`, click on **Install More Packages**, and install your country's module.
|
||||
|
||||
.. image:: media/fiscal_localization_packages_modules.png
|
||||
:align: center
|
||||
:alt: Install the appropriate module as fiscal localization package in Odoo Accounting.
|
||||
|
||||
Once done, select your country's package, and click on *Save*.
|
||||
|
||||
.. image:: media/fiscal_localization_packages_selection.png
|
||||
|
||||
@@ -6,6 +6,10 @@ Odoo Accounting can be used in many countries out of the box by installing the a
|
||||
Here is a list of all :doc:`Fiscal Localization Packages <fiscal_localization_packages>` that are
|
||||
available on Odoo.
|
||||
|
||||
.. image:: media/fiscal_localization_packages_modules.png
|
||||
:align: center
|
||||
:alt: Odoo Accounting.
|
||||
|
||||
Fiscal Localization Packages available
|
||||
======================================
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 34 KiB |
@@ -17,7 +17,7 @@ Configuration
|
||||
Make sure your :ref:`Payment Acquirers are correctly configured <payment_acquirers/configuration>`.
|
||||
|
||||
.. note::
|
||||
By default, ":doc:`Wire Transfer </applications/finance/payment_acquirers/wire_transfer>`" is the only
|
||||
By default, ":doc:`Wire Transfer </applications/general/payment_acquirers/wire_transfer>`" is the only
|
||||
Payment Acquirer activated, but you still have to fill out the payment details.
|
||||
|
||||
To activate the Invoice Online Payment, go to :menuselection:`Accounting --> Configuration -->
|
||||
@@ -42,4 +42,4 @@ They can choose which Payment Acquirer to use by clicking on *Pay Now*.
|
||||
|
||||
.. seealso::
|
||||
|
||||
- :doc:`/applications/finance/payment_acquirers`
|
||||
- :doc:`/applications/general/payment_acquirers`
|
||||
|
||||
@@ -7,5 +7,4 @@ Declarations
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
declarations/tax_returns
|
||||
declarations/intrastat
|
||||
declarations/tax_returns
|
||||
@@ -1,29 +0,0 @@
|
||||
=========
|
||||
Intrastat
|
||||
=========
|
||||
|
||||
**Intrastat** is the system for data collection and statistic production of goods traded among the
|
||||
EU Member States. Organizations whose annual trade surpasses a certain threshold must provide data
|
||||
about the goods traded with other EU countries.
|
||||
|
||||
.. seealso::
|
||||
- `Eurostat Statistics Explained - Glossary: Intrastat
|
||||
<https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Glossary:Intrastat>`_
|
||||
|
||||
.. note::
|
||||
As of January 1, 2022, the reporting requirements have changed. One main modification concerns
|
||||
the transaction codes which are now switching to a 2-digits format. All transactions recorded
|
||||
after this date have to follow the new system’s rules.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Go to :menuselection:`Accounting --> Settings --> Customer Invoices`, then enable **Intrastat** and
|
||||
*Save*. Once the Intrastat has been activated you are able to choose the **Default incoterm**.
|
||||
|
||||
.. important::
|
||||
If you created your Odoo database prior to **January 13, 2022**, please :ref:`upgrade
|
||||
<general/upgrade>` the ``account_intrastat`` module to add the new transaction codes and
|
||||
:ref:`install <general/install>` the ``account_intrastat_expiry`` module to archive the old
|
||||
codes.
|
||||
|
||||
@@ -8,6 +8,7 @@ countries :
|
||||
|
||||
- **Balance Sheet**
|
||||
- **Profit and Loss**
|
||||
- **Chart of Account**
|
||||
- **Executive Summary**
|
||||
- **General Ledger**
|
||||
- **Aged Payable**
|
||||
@@ -44,6 +45,14 @@ report period.
|
||||
.. image:: media/main_reports10.png
|
||||
:align: center
|
||||
|
||||
Chart of account
|
||||
----------------
|
||||
|
||||
A listing of all your accounts grouped by class.
|
||||
|
||||
.. image:: media/main_reports08.png
|
||||
:align: center
|
||||
|
||||
Executive Summary
|
||||
-----------------
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 11 KiB |
@@ -43,52 +43,6 @@ In Odoo
|
||||
and the zip code). Go to :menuselection:`Settings --> Users & Companies --> Companies`
|
||||
to open and edit your Company record.
|
||||
|
||||
Automatically post taxes to the correct Tax Payable account
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
* For each one of your companies that uses TaxCloud, it might be necessary to create a
|
||||
**User-Defined Default** so that the new taxes generated by the TaxCloud integration are created
|
||||
with the correct Tax Payable account:
|
||||
|
||||
.. warning::
|
||||
A User-Defined Default impacts all records at creation. It means that **every** new tax will be
|
||||
set up to record income in the specified Tax Payable account, unless the tax is manually edited
|
||||
to specify a different income account (or there exists another User-Defined Default that takes
|
||||
precedence).
|
||||
|
||||
* In :menuselection:`Accounting --> Configuration --> Chart of Accounts`, select the Tax Payable
|
||||
account for the company. Take note of the account's ``id`` in the URL string.
|
||||
|
||||
.. image:: taxcloud/user-default-find-account-id.png
|
||||
:alt: The account's ID can be found in the URL string as 'id=...'.
|
||||
:align: center
|
||||
|
||||
* Activate the :ref:`developer mode <developer-mode>`, then go to
|
||||
:menuselection:`Settings --> Technical --> Actions --> User-Defined Defaults`, and
|
||||
click on *Create*.
|
||||
|
||||
* Click on *Field*, then, in the drop-down menu, on *Search More*.
|
||||
|
||||
.. image:: taxcloud/user-default-search-field.png
|
||||
:alt: Click on 'Search More' in the 'Field' drop-down menu.
|
||||
:align: center
|
||||
|
||||
* In the pop-up's search box, filter on the model ``tax.repartition.line`` and the field ``account``.
|
||||
Select the ``account`` field of the ``tax.repartition.line`` model.
|
||||
|
||||
.. image:: taxcloud/user-default-select-field.png
|
||||
:alt: Select the 'account' field of the 'tax.repartition.line' model.
|
||||
:align: center
|
||||
|
||||
* In the **Default Value** field, enter the ID of the company's Tax Payable account.
|
||||
Select the company for which this configuration should apply in the *Company* field.
|
||||
Click *Save*.
|
||||
|
||||
.. image:: taxcloud/user-default-enter-default-account-id.png
|
||||
:alt: Enter the ID of the company's Tax Payable account.
|
||||
:align: center
|
||||
|
||||
|
||||
How it works
|
||||
============
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 9.5 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 16 KiB |
@@ -21,7 +21,7 @@ Otherwise keep the cost at 0.0 and employees will report the real cost per expen
|
||||
.. image:: expenses/product.png
|
||||
:align: center
|
||||
|
||||
Here are some examples:
|
||||
Here are some examples to configure:
|
||||
|
||||
* Restaurant:
|
||||
|
||||
@@ -45,7 +45,7 @@ That way, employees report expenses with
|
||||
prices including taxes, which is usually the expected behaviour.
|
||||
|
||||
.. tip::
|
||||
The *Sales* app allows you to specify units of measure for your
|
||||
The *Sales* app allows you to specify unit of measures for your
|
||||
expense types (units, miles, nights, etc.).
|
||||
Go to :menuselection:`Sales --> Configuration --> Settings` and check
|
||||
*Some products may be sold/purchased in different units of measure (advanced)*.
|
||||
@@ -181,10 +181,10 @@ Setup
|
||||
- Go to the product configuration menu and set the invoicing method on
|
||||
all your Expense types:
|
||||
|
||||
- Ordered quantities: it will invoice expenses based on the ordered
|
||||
- Ordered quantities : it will invoice expenses based on the ordered
|
||||
quantity
|
||||
|
||||
- Delivered quantities: it will invoice expenses based on the
|
||||
- Delivered quantities :it will invoice expenses based on the
|
||||
expenses quantity
|
||||
|
||||
- At cost: will invoice expenses at their real cost.
|
||||
@@ -231,4 +231,4 @@ lines. Such items show up in blue (i.e. to invoice).
|
||||
.. image:: expenses/invoicing_04.png
|
||||
:align: center
|
||||
|
||||
e (i.e. to invoice).
|
||||
e (i.e. to invoice).
|
||||
@@ -1,144 +0,0 @@
|
||||
======
|
||||
Paypal
|
||||
======
|
||||
|
||||
`Paypal <https://www.paypal.com/>`_ is available and popular worldwide. It doesn't charge any
|
||||
subscription fee, and creating an account is very easy. That's why we recommend it for starters in
|
||||
Odoo. It works as a seamless flow where the customer is routed to the Paypal website to register the
|
||||
payment.
|
||||
|
||||
Settings in Odoo
|
||||
================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your PayPal account, which comprise:
|
||||
|
||||
- **Email**: your login email address in Paypal.
|
||||
- **Merchant Account ID**: the code of the merchant account used to identify your Paypal account.
|
||||
- **PDT Identity Token**: the key used to verify the authenticity of transactions.
|
||||
- **Use IPN**: whether you want to use Instant Payment Notification. Already checked, you don't have
|
||||
to change it.
|
||||
|
||||
You can copy your credentials from your Paypal account and paste them into the related fields under
|
||||
the **Credentials** tab.
|
||||
|
||||
To retrieve the **Merchant Account ID**, log into your Paypal account and go to
|
||||
:menuselection:`Account menu --> Account Settings --> Business information`.
|
||||
|
||||
To set the **PDT Identity Token**, switch to :ref:`developer mode <developer-mode>` and retrieve the
|
||||
token by following the configuration step :ref:`paypal/enable-pdt`.
|
||||
|
||||
.. important::
|
||||
If you are trying Paypal as a test, using a :ref:`Paypal Sandbox account <paypal/testing>`,
|
||||
change the **State** to *Test Mode*. We recommend doing this on a test Odoo database rather than
|
||||
on your main database.
|
||||
|
||||
Configuration tab
|
||||
-----------------
|
||||
|
||||
You can charge extra fees to your customers for paying with Paypal to cover the transaction fees
|
||||
Paypal charges you. Once redirected to Paypal, your customer sees an extra amount applied to the
|
||||
order amount.
|
||||
|
||||
To activate this, go to Paypal configuration's Configuration tab in Odoo and activate *Add Extra
|
||||
Fees*.
|
||||
|
||||
You can refer to `Paypal Fees <https://www.paypal.com/webapps/mpp/paypal-fees>`_ to set up fees.
|
||||
|
||||
.. note::
|
||||
`Traders in the EU <https://europa.eu/youreurope/citizens/consumers/shopping/pricing-payments/
|
||||
index_en.htm>`_ are not allowed to charge extra fees for paying with credit cards.
|
||||
|
||||
Settings in Paypal
|
||||
==================
|
||||
|
||||
First, set up your Paypal account to build a seamless customer experience with Odoo.
|
||||
|
||||
Log into your PayPal account and open the account settings. Then, go to :menuselection:`Account menu
|
||||
--> Account settings --> Website payments`.
|
||||
|
||||
Enable Auto Return
|
||||
------------------
|
||||
|
||||
The *Auto Return* feature automatically redirects your customers to Odoo once the payment is
|
||||
processed.
|
||||
|
||||
From the *Website payments* settings page, go to :menuselection:`Website preferences --> Update -->
|
||||
Auto return for website payments` and select **On**. Enter the address of your Odoo database (e.g.,
|
||||
`https://yourcompany.odoo.com`) in the **Return URL** field.
|
||||
|
||||
.. note::
|
||||
Any URL will do the job. Odoo only needs the setting to be enabled since it uses another URL.
|
||||
|
||||
.. _paypal/enable-pdt:
|
||||
|
||||
Enable Payment Data Transfer (PDT)
|
||||
----------------------------------
|
||||
|
||||
Enable the *Payment Data Transfer* feature to receive payment confirmations immediately. This
|
||||
feature also displays the payment status to the customers and verifies the authenticity of the
|
||||
payments.
|
||||
|
||||
From the *Website payments* settings page, go to :menuselection:`Website preferences --> Update -->
|
||||
Payment data transfer` and select **On**. PayPal displays your **PDT Identity Token** as soon as
|
||||
the change is saved.
|
||||
|
||||
Paypal Account Optional
|
||||
-----------------------
|
||||
|
||||
We advise you to not prompt customers to log in with a Paypal account when they get to pay. Let them
|
||||
pay with debit/credit cards as well, or you might lose some deals. Make sure this setting is turned
|
||||
on.
|
||||
|
||||
Payment Messages Format
|
||||
-----------------------
|
||||
|
||||
Suppose you use accented characters (or anything else than primary Latin characters) for your
|
||||
customer names or addresses. In that case, you **must** configure the encoding format of the payment
|
||||
request sent by Odoo to Paypal. Otherwise, some transactions fail without notice.
|
||||
|
||||
To do so, go to `your production account <https://www.paypal.com/cgi-bin/customerprofileweb
|
||||
?cmd=_profile-language-encoding>`_. Then, click *More Options* and set the two default encoding
|
||||
formats as **UTF-8**.
|
||||
|
||||
Your Paypal account is ready!
|
||||
|
||||
.. tip::
|
||||
- For Encrypted Website Payments & EWP_SETTINGS error, please check the `Paypal documentation
|
||||
<https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/
|
||||
encryptedwebpayments#encrypted-website-payments-ewp>`_.
|
||||
- Configure your :ref:`Paypal Sandbox account <paypal/testing>`, then follow this
|
||||
`link <https://sandbox.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-language-encoding>`_
|
||||
to configure the encoding format in a test environment.
|
||||
|
||||
.. _paypal/testing:
|
||||
|
||||
Test environment
|
||||
================
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
Thanks to Paypal Sandbox accounts, you can test the entire payment flow in Odoo.
|
||||
|
||||
Log into the `Paypal Developer Site <https://developer.paypal.com/>`_ using your Paypal
|
||||
credentials, which creates two sandbox accounts:
|
||||
|
||||
- A business account (to use as merchants, e.g.,
|
||||
`pp.merch01-facilitator@example.com <mailto:pp.merch01-facilitator@example.com>`_).
|
||||
- A default personal account (to use as shoppers, e.g.,
|
||||
`pp.merch01-buyer@example.com <mailto:pp.merch01-buyer@example.com>`_).
|
||||
|
||||
Log into Paypal Sandbox using the merchant account and follow the same configuration instructions.
|
||||
Enter your sandbox credentials in Odoo and ensure Paypal is set on *Test Mode*. We recommend doing
|
||||
this on a test Odoo database rather than your main database.
|
||||
|
||||
Run a test transaction from Odoo using the sandbox personal account.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -1,86 +0,0 @@
|
||||
======
|
||||
Stripe
|
||||
======
|
||||
|
||||
`Stripe <https://stripe.com/>`_ is a United States-based online payment solution provider, allowing
|
||||
businesses to accept **credit cards** and other payment methods.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your Stripe account, which comprises:
|
||||
|
||||
- :ref:`Publishable Key <stripe/api_keys>`: The key solely used to identify the account with Stripe.
|
||||
- :ref:`Secret Key <stripe/api_keys>`: The key to sign the merchant account with Stripe.
|
||||
- :ref:`Webhook Signing Secret <stripe/webhook>`: When you enable your webhook on your Stripe
|
||||
account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo.
|
||||
|
||||
.. important::
|
||||
If you are trying Stripe as a test, in the **test mode**, change the **State** to *Test
|
||||
Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. _stripe/api_keys:
|
||||
|
||||
Publishable and Secret keys
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To retrieve the publishable and secret keys, follow this `link to your API keys
|
||||
<https://dashboard.stripe.com/account/apikeys>`_, or log into your Stripe dashboard and go to
|
||||
:menuselection:`Developers --> API Keys --> Standard Keys`.
|
||||
|
||||
.. _stripe/webhook:
|
||||
|
||||
Webhook Signing Secret
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To retrieve the webhook signing secret, you first need to create a webhook.
|
||||
|
||||
To do so, follow this `link to your webhooks <https://dashboard.stripe.com/webhooks>`_, or log into
|
||||
your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Then, click on **Add
|
||||
endpoint** in your **Hosted endpoints**. A form opens, where you'll need to add the following data:
|
||||
|
||||
- | In the **Endpoint URL**, enter your Odoo database's URL followed by ``/payment/stripe/webhook``.
|
||||
| For example: ``https://yourcompany.odoo.com/payment/stripe/webhook``
|
||||
- At the end of the form, you can **Select events** to listen to. Click on it and, in the
|
||||
**Checkout** section, select **checkout.session.completed**.
|
||||
|
||||
.. note::
|
||||
It is possible to select other events, but they are currently not processed by Odoo.
|
||||
|
||||
When you click on **Add endpoint**, your Webhook is configured. You can then click on **reveal** to
|
||||
display your signing secret.
|
||||
|
||||
.. _stripe/local-payment-methods:
|
||||
|
||||
Enable local payment methods
|
||||
----------------------------
|
||||
|
||||
Local payment methods are payment methods that are only available for certain merchants and
|
||||
customers countries and currencies.
|
||||
|
||||
Odoo supports the following local payment methods:
|
||||
|
||||
- Bancontact
|
||||
- EPS
|
||||
- giropay
|
||||
- iDEAL
|
||||
- Przelewy24 (P24)
|
||||
|
||||
To enable specific local payment methods with Stripe, list them as supported payment icons. To do
|
||||
so, go to :menuselection:`Payment Acquirers --> Stripe --> Configuration` and add the desired
|
||||
payment methods in the **Supported Payment Icons** field. If the desired payment method is already
|
||||
listed, you don't have anything to do. If a payment icon record doesn't exist in the database, its
|
||||
related payment method is considered enabled with Stripe.
|
||||
|
||||
.. image:: media/stripe_enable_local_payment_method.png
|
||||
:align: center
|
||||
:alt: Select and add icons of the payment methods you want to enable
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_acquirers`
|
||||
@@ -1,3 +1,5 @@
|
||||
:show-content:
|
||||
|
||||
====
|
||||
Sign
|
||||
====
|
||||
@@ -9,9 +11,6 @@ filled out with the user's detail if they are logged in.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Sign: product page <https://www.odoo.com/app/sign>`_
|
||||
- `Odoo Tutorials: Sign <https://www.odoo.com/slides/sign-61>`_
|
||||
|
||||
.. _sign/validity:
|
||||
|
||||
Validity of electronic signatures
|
||||
=================================
|
||||
@@ -69,53 +68,6 @@ Overall, to be recognized as valid, electronic signatures have to meet five crit
|
||||
|
||||
.. note::
|
||||
The information provided here does not constitute legal advice; it is provided for general
|
||||
informational purposes only. As laws governing electronic signatures rapidly evolve, we cannot
|
||||
guarantee whether all information is up to date or not. We advise contacting a local attorney for
|
||||
legal advice regarding electronic signature compliance and validity.
|
||||
|
||||
.. _sign/field-types:
|
||||
|
||||
Field Types
|
||||
===========
|
||||
|
||||
By configuring your own *Field Types*, also known as *Signature Item Types*, you can make the
|
||||
signing process even faster for your customers, partners, and employees.
|
||||
|
||||
To create and customize fields, activate the :ref:`developer mode <developer-mode>`. Then head to
|
||||
:menuselection:`Documents --> Configuration --> Field Types` and click on *Create*.
|
||||
|
||||
After giving your new field a name, select one of the six *Types* available:
|
||||
|
||||
- **Signature**: users are prompted to enter their signature either by drawing it, automatically
|
||||
generating one based on their name, or uploading a local file (usually an image). Each subsequent
|
||||
*Signature* field then reuses the data entered in the first field.
|
||||
- **Initial**: users are prompted to enter their initials, in a similar way to the *Signature*
|
||||
field.
|
||||
- **Text**: users enter text on a single line.
|
||||
- **Multiline Text**: users enter text on multiple lines.
|
||||
- **Checkbox**: users can tick a box (e.g.,to mark their approval or consent).
|
||||
- **Selection**: users choose a single option from a variety of options.
|
||||
|
||||
Next, you have the option to auto-complete fields for users based on their Odoo profile information
|
||||
by using *Automatic Partner Field*. To this end, the *Name*, *Email*, *Phone*, and *Company* fields
|
||||
are preconfigured in your database.
|
||||
|
||||
.. note::
|
||||
Users can freely edit auto-completed fields.
|
||||
|
||||
.. image:: sign/field-example.png
|
||||
:align: center
|
||||
:alt: Company field example in Odoo Sign
|
||||
|
||||
You can then change the size of the field by editing the *Default Width* and *Default Height*. Both
|
||||
sizes are defined as a percentage of the full-page expressed as a decimal, with 1 equalling the
|
||||
full-page's width or height. By default, the width of new fields you create is set to 15% (0.150)
|
||||
of a full-page's width, while their height is set to 1.5% (0.015) of a full-page's height.
|
||||
|
||||
Next, write a *Tip*. Tips are displayed inside arrows on the left-hand side of the user's screen
|
||||
during the signing process. You can also use a *Placeholder* text to be displayed inside the field
|
||||
before it is completed.
|
||||
|
||||
.. image:: sign/tip-placeholder.png
|
||||
:align: center
|
||||
:alt: Tip and placeholder example in Odoo Sign
|
||||
informational purposes only. As laws governing electronic signatures evolve rapidly, we cannot
|
||||
guarantee that the information is up to date. We advise you to should contact a local attorney to
|
||||
obtain legal advice.
|
||||
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 13 KiB |
@@ -8,9 +8,8 @@ Miscellaneous
|
||||
general/auth
|
||||
general/apps_modules
|
||||
general/export_import_data
|
||||
general/email_communication
|
||||
general/payment_acquirers
|
||||
general/voip
|
||||
general/calendars
|
||||
general/in_app_purchase
|
||||
general/developer_mode
|
||||
|
||||
@@ -33,45 +33,23 @@ Activate through a browser extension
|
||||
:align: center
|
||||
:alt: View of odoo’s debug icon in a chrome’s toolbar
|
||||
|
||||
Activate through the command palette
|
||||
====================================
|
||||
|
||||
The command palette tool has a command to activate the debug mode: open it with
|
||||
the keyboard shortcut `ctrl+k`, then type `debug`: a command will show up to
|
||||
activate the debug mode.
|
||||
|
||||
.. image:: developer_mode/command_palette.png
|
||||
:align: center
|
||||
:alt: Command palette with debug command
|
||||
|
||||
Activate through the URL
|
||||
========================
|
||||
|
||||
In the URL, add ``?debug=1`` or ``?debug=true`` after *web*. To deactivate the
|
||||
debug mode, add `?debug=0` instead.
|
||||
In the URL add ``?debug=1`` or ``?debug=true`` after *web*.
|
||||
|
||||
.. image:: url.png
|
||||
:align: center
|
||||
:alt: Overview of an url with the debug mode command added in Odoo
|
||||
|
||||
.. tip::
|
||||
Additional modes are available for developers: `?debug=assets` enables the
|
||||
:ref:`assets mode <frontend/framework/assets_debug_mode>`, and `?debug=tests` enables
|
||||
the :ref:`tests mode <frontend/framework/tests_debug_mode>`.
|
||||
Developers: type ``?debug=assets`` and activate the mode with assets.
|
||||
|
||||
Locate the mode tools
|
||||
=====================
|
||||
|
||||
The Developer mode tools can be accessed from the *Open Developer Tools* button,
|
||||
located on the header of your pages. This menu contains additional tools that
|
||||
are useful to understand or edit technical data, such as the views or the actions.
|
||||
It contains some useful menu items such as:
|
||||
|
||||
- edit action
|
||||
- manage filters
|
||||
- edit the current view
|
||||
- see the `fields view get`
|
||||
- and much more.
|
||||
The Developer mode tools can be accessed from the *Open Developer Tools* button, located on the
|
||||
header of your pages.
|
||||
|
||||
.. image:: button_location.png
|
||||
:align: center
|
||||
|
||||
|
Before Width: | Height: | Size: 37 KiB |
@@ -1,13 +0,0 @@
|
||||
:nosearch:
|
||||
|
||||
===================
|
||||
Email Communication
|
||||
===================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
email_communication/email_servers
|
||||
email_communication/email_domain
|
||||
email_communication/email_template
|
||||
email_communication/faq
|
||||
@@ -1,163 +0,0 @@
|
||||
========================
|
||||
Sending emails with Odoo
|
||||
========================
|
||||
|
||||
Using your email domain in Odoo
|
||||
===============================
|
||||
|
||||
Documents in Odoo (a CRM opportunity, a sales order, an invoice ...) have a discussion thread,
|
||||
called *chatter*.
|
||||
|
||||
When you post a message in the chatter, this message is sent by email to the followers of the
|
||||
document. If a follower replies to the message, the reply updates the chatter, and Odoo relays the
|
||||
reply to the followers.
|
||||
|
||||
Emails from your users to partners (customers, vendors) are sent from the email address of your
|
||||
users. Similarly, emails from partners to users are sent from the email address of the partners.
|
||||
This allows you to recognize at a glance who sent an email relayed by Odoo.
|
||||
|
||||
If your database is hosted on our cloud (Odoo Online or Odoo.sh), it is not necessary to add an
|
||||
outgoing email server to send emails from your custom domain. You can enjoy this feature by using
|
||||
the default Odoo email server.
|
||||
|
||||
.. important::
|
||||
The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200
|
||||
emails sent per day for databases with an Enterprise subscription. This limit can be increased
|
||||
under certain conditions. See our :doc:`FAQ <faq>` or contact support for more
|
||||
information.
|
||||
|
||||
However, it is recommended that you configure your domain name to ensure that emails from your
|
||||
users reach your partners, rather than being considered spam.
|
||||
|
||||
For the same reason, we recommend that you always give your users an email address from a domain
|
||||
you manage, rather than a generic email address (gmail.com, outlook.com, etc.).
|
||||
|
||||
.. _email_communication/spf_compliant:
|
||||
|
||||
Be SPF compliant
|
||||
================
|
||||
|
||||
The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which
|
||||
servers are allowed to send email from that domain. When a server receives an incoming email,
|
||||
it checks whether the IP address of the sending server is on the list of allowed IPs according
|
||||
to the SPF record of the sender.
|
||||
|
||||
.. note::
|
||||
The SPF verification is performed on the domain mentioned in the Return-Path field of the email.
|
||||
In the case of an email sent by Odoo, this domain corresponds to the value of the
|
||||
`mail.catchall.domain` key in the database system parameters.
|
||||
|
||||
See the :ref:`documentation on incoming emails <email_communication/inbound_messages>`.
|
||||
|
||||
The SPF policy of a domain is set using a TXT record. How to create or modify a TXT record depends
|
||||
on the provider hosting the DNS zone of your domain name. In order for the verification to work
|
||||
properly, each domain can only have one SPF record.
|
||||
|
||||
If your domain name does not yet have an SPF record, the content of the record to create is as
|
||||
follows:
|
||||
|
||||
``v=spf1 include:_spf.odoo.com ~all``
|
||||
|
||||
If your domain name already has an SPF record, you need to update this record (and do not create a
|
||||
new one).
|
||||
|
||||
.. example::
|
||||
|
||||
If your TXT record is `v=spf1 include:_spf.google.com ~all`, you need to edit it to add
|
||||
`include:_spf.odoo.com`: `v=spf1 include:_spf.odoo.com include:_spf.google.com ~all`
|
||||
|
||||
You can check if your SPF record is valid with a free tool like
|
||||
`MXToolbox SPF <https://mxtoolbox.com/spf.aspx>`_.
|
||||
|
||||
.. _email_communication/DKIM_compliant:
|
||||
|
||||
Enable DKIM
|
||||
===========
|
||||
|
||||
The DomainKeys Identified Mail (DKIM) allows you to authenticate your emails with a digital signature.
|
||||
|
||||
When sending an email, the Odoo server includes a unique DKIM signature in the headers. The
|
||||
recipient's server decrypts this signature using the DKIM record in your domain name. If the
|
||||
signature and the key contained in the record match, this guarantees that your message is authentic
|
||||
and has not been altered during transport.
|
||||
|
||||
To enable DKIM, you must add a CNAME record to the DNS zone of your domain name:
|
||||
|
||||
``odoo._domainkey IN CNAME odoo._domainkey.odoo.com.``
|
||||
|
||||
.. tip::
|
||||
If your domain name is `mycompany.com`, you need to create a subdomain
|
||||
`odoo._domainkey.mycompany.com` whose canonical name is `odoo._domainkey.odoo.com.`.
|
||||
|
||||
How to create or modify a CNAME record depends on the provider hosting the DNS zone of your domain
|
||||
name. The most common providers are list below.
|
||||
|
||||
You can check if your DKIM record is valid with a free tool like
|
||||
`DKIM Core <https://dkimcore.org/tools/>`_. If a selector is asked, enter `odoo`.
|
||||
|
||||
Check your DMARC policy
|
||||
=======================
|
||||
|
||||
The Domain-based Message Authentication, Reporting & Conformance (DMARC) is a protocol that unifies SPF
|
||||
and DKIM. The instructions contained in the DMARC record of a domain name tell the destination
|
||||
server what to do with an incoming email that fails the SPF and/or DKIM check.
|
||||
|
||||
There are three DMARC policies:
|
||||
- ``p=none``
|
||||
- ``p=quarantine``
|
||||
- ``p=reject``
|
||||
|
||||
``p=quarantine`` and ``p=reject`` instruct the server that receives an email to quarantine that
|
||||
email or ignore it if the SPF and/or DKIM check fails.
|
||||
|
||||
If your domain name uses DMARC and has defined one of these policies, it is therefore imperative
|
||||
to be SPF compliant or to enable DKIM.
|
||||
|
||||
.. danger::
|
||||
Yahoo or AOL are examples of email providers with a DMARC policy set to ``p=reject``. We
|
||||
strongly advise against using an *@yahoo.com* or *@aol.com* address for your users. These emails
|
||||
will never reach their recipient.
|
||||
|
||||
``p=none`` is used for the domain owner to receive reports about entities using their domain. It
|
||||
should not impact the deliverability if the DMARC check fails.
|
||||
|
||||
You can check the DMARC record of a domain name with a tool like
|
||||
`MXToolbox DMARC <https://mxtoolbox.com/DMARC.aspx>`_.
|
||||
|
||||
If one of your partners, customer or vendor, uses DMARC and has defined one of these policies, the
|
||||
Odoo server cannot relay emails from this partner to your users.
|
||||
|
||||
You need to :ref:`handle user notifications in Odoo <discuss_app/notification_preferences>`, or replace the
|
||||
email address of the partner with a default email address.
|
||||
|
||||
.. _email_communication/SPFDKIM_common_providers:
|
||||
|
||||
SPF, DKIM & DMARC documentation of common providers
|
||||
===================================================
|
||||
|
||||
- `OVH DNS <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/>`_
|
||||
- `OVH SPF <https://docs.ovh.com/us/en/domains/web_hosting_the_spf_record/>`_
|
||||
- `GoDaddy TXT record <https://www.godaddy.com/help/add-a-txt-record-19232>`_
|
||||
- `GoDaddy SPF <https://www.godaddy.com/help/add-an-spf-record-19218>`_
|
||||
- `GoDaddy DKIM <https://www.godaddy.com/help/add-a-cname-record-19236>`_
|
||||
- `NameCheap <https://www.namecheap.com/support/knowledgebase/article.aspx/317/2237/how-do-i-add-txtspfdkimdmarc-records-for-my-domain/>`_
|
||||
- `CloudFlare DNS <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
|
||||
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
|
||||
- `Azure DNS <https://docs.microsoft.com/en-us/azure/dns/dns-getstarted-portal>`_
|
||||
|
||||
To fully test your configuration, the tool `Mail-Tester <https://www.mail-tester.com/>`_ will give
|
||||
you a full overview of the content and configuration you have in one email sent! Mail-Tester can
|
||||
also be used for other lesser known providers.
|
||||
|
||||
Use a default email address
|
||||
===========================
|
||||
|
||||
To force the email address from which emails are sent, you need to create the following key in
|
||||
the System Parameters of the database:
|
||||
|
||||
- If ``mail.default.from`` is set, and contains a full email address, all outgoing emails are sent
|
||||
from the given address. This is a requirement to use `Outlook with Odoo
|
||||
<https://docs.microsoft.com/en-us/exchange/mail-flow-best-practices/how-to-set-up-a-multifunction-device-or-application-to-send-email-using-microsoft-365-or-office-365#option-1-authenticate-your-device-or-application-directly-with-a-microsoft-365-or-office-365-mailbox-and-send-mail-using-smtp-auth-client-submission>`_.
|
||||
|
||||
You access the **System Parameters** in :ref:`developer mode <developer-mode>` in the :menuselection:`Settings -->
|
||||
Technical --> Parameters --> System Parameters` menu.
|
||||
|
Before Width: | Height: | Size: 40 KiB |
@@ -1,98 +0,0 @@
|
||||
===============
|
||||
Email Templates
|
||||
===============
|
||||
|
||||
We all know writing good emails is vital to get a high response rate, but you do not want to
|
||||
rewrite the same structure every time, do you? That is where email templates come in.
|
||||
Without the need to rewrite the entire email structure every time, you save time to focus on
|
||||
the content. Multiple templates also let you deliver the right message to the right audience,
|
||||
improving their overall experience with the company.
|
||||
|
||||
.. note::
|
||||
The email templates use QWeb. The composer allows you to edit emails in their final rendering,
|
||||
making customizations more robust as you don’t have to edit code.
|
||||
|
||||
Defining a default reply to on your mail template
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Although the field *reply to* is available within the mail templates, **this field is only used
|
||||
for mass mailing** mode (this means when sending templates on what we call bulk emailing). You
|
||||
can send emails in bulk in almost every app that has a list view. Select the records you want
|
||||
and click on the action button. If you have an option to send an email, you will see a mail
|
||||
composer with possible values to define:
|
||||
|
||||
.. image:: email_template/composer-mass-mailing-quotations.png
|
||||
:align: center
|
||||
:alt: Composer in mass mailing mode after selecting multiple quotations.
|
||||
|
||||
You can also define them by default on the template:
|
||||
|
||||
.. image:: email_template/reply-to-template-sales.png
|
||||
:align: center
|
||||
:alt: Reply-to field on template.
|
||||
|
||||
Because of this, setting a value in this field is useless as the value defined will be totally
|
||||
ignored. The default *reply-to* value is the default catchall email address to ensure a
|
||||
communication between your customer and your Odoo database. For more information about the way
|
||||
the catchall works, please check :ref:`how to manage inbound messages <email_communication/inbound_messages>`.
|
||||
|
||||
Transactional emails and corresponding URL for each company
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
When using Odoo, multiple events trigger the sending of automated emails. These emails are known
|
||||
as transactional emails and sometimes contain links pointing to your Odoo database.
|
||||
|
||||
By default, links generated by the database use the dynamic web.base.url key defined in the system
|
||||
parameters. More information about this :ref:`parameter <app-website/web_base_url>`.
|
||||
|
||||
If the website application isn't installed, the web.base.url key will always be the default
|
||||
parameter used to generate all the links.
|
||||
|
||||
It’s important to know that this key can only have a single value, meaning that in a
|
||||
multi-website/company database environment, even if you have a specific domain name for each
|
||||
website, the links generated to share a document or within a transactional email might remain the
|
||||
same, whatever the website/company related to the sending of the email/document.
|
||||
|
||||
This is not always the case as some Odoo applications have a link established in the database with
|
||||
the website application, meaning that in this case, if a specific domain is defined for the
|
||||
websites, the URL generated in the email template will use the domain defined on the corresponding
|
||||
website of the company.
|
||||
|
||||
.. caution::
|
||||
A document shared using the documents application will always use the web.base.url key, as the
|
||||
document shared isn't associated with any particular website. Meaning that the URL will always be
|
||||
the same (the web.base.url key value), whatever the company it's shared from, this is a known
|
||||
limitation!
|
||||
|
||||
On the other hand, sales orders made by a customer on one of your Odoo e-commerce websites have a
|
||||
link established with the website from which the order was made. As a result, the e-mail sent for
|
||||
the sales orders uses the domain name defined for the corresponding website to generate the links.
|
||||
|
||||
For more information about how to configure your domains, we invite you to check :doc:`our domain name
|
||||
documentation </applications/websites/website/publish/domain_name>`.
|
||||
|
||||
Updating translations within email templates
|
||||
********************************************
|
||||
|
||||
Email templates are automatically translated. Changing the translations shouldn’t be necessary.
|
||||
However, if for a specific reason you’d like to change some of the translations, this can be done.
|
||||
|
||||
Like any modification in the code, keep in mind that modifications that aren’t done correctly (for
|
||||
example modifications leading to bad syntax) can break the template, as a result, the template
|
||||
will appear blank.
|
||||
|
||||
In order to edit your translations, follow these steps from the template.
|
||||
|
||||
#. Click on the edit button, then on the language button
|
||||
|
||||
.. image:: email_template/edit-language-template.png
|
||||
:align: left
|
||||
:alt: Edit the language of a template
|
||||
|
||||
#. A pop-up window with the different languages installed on the database will be displayed. From
|
||||
here, editing the translations will be possible. Don't forget to hit the save button to preserve
|
||||
your changes.
|
||||
|
||||
.. image:: email_template/translation-body.png
|
||||
:align: left
|
||||
:alt: Translation of the body of the Application template in the different languages installed.
|
||||
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 34 KiB |
|
Before Width: | Height: | Size: 96 KiB |
@@ -1,174 +0,0 @@
|
||||
===
|
||||
FAQ
|
||||
===
|
||||
|
||||
This document contains an explanation of the most recurring mailing concerns.
|
||||
|
||||
We will start by addressing issues of outgoing emails (ex: my client has not received my email),
|
||||
and then, of incoming emails (ex: I do not receive responses from my customers in the database).
|
||||
|
||||
Outgoing emails
|
||||
===============
|
||||
|
||||
.. _red_envelop:
|
||||
|
||||
What do you have to check if your email is not sent?
|
||||
----------------------------------------------------
|
||||
|
||||
The first indicator showing you that the email has not been sent is the red envelope next to the
|
||||
date and time of the message.
|
||||
|
||||
.. image:: faq/red-envelop.png
|
||||
:align: center
|
||||
:alt: Red envelope displayed in chatter
|
||||
|
||||
Common error messages
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. _email_communication/daily_limit_mail:
|
||||
|
||||
You reached your daily limit:
|
||||
*****************************
|
||||
|
||||
.. image:: faq/email-limit.png
|
||||
:align: center
|
||||
:alt: Warning in Odoo upon email limit reached
|
||||
|
||||
Each email service provider has its own email sending limits. The limits may be daily, hourly,
|
||||
and sometimes even per minute. This is the same for Odoo, we have to limit our customers to prevent
|
||||
our e-mail servers from being blacklisted.
|
||||
|
||||
Here are the default limits for new databases:
|
||||
|
||||
- 200 emails/day for Odoo Online and Odoo.sh databases with an active subscription,
|
||||
|
||||
- 50 emails/day for one-app free and trial databases,
|
||||
|
||||
- in case of migration, your daily limit might be reset to 50 emails a day.
|
||||
|
||||
In case you hit the limit, you can:
|
||||
|
||||
- Ask our support team to increase your daily limit. We will analyze the situation of your database
|
||||
depending on (non-exhaustive list):
|
||||
|
||||
- How many users in your database,
|
||||
- Which apps are installed,
|
||||
- Your bounce rate: the percentage of email addresses that did not receive your emails because
|
||||
it was returned by a mail server on its way to the final recipient. You can contact the `support
|
||||
<https://www.odoo.com/help>`_.
|
||||
|
||||
- Use your own outgoing email server to be independent of Odoo’s mail limit (please refer
|
||||
to :doc:`the corresponding documentation </applications/general/email_communication/email_servers>`),
|
||||
- Wait until 11pm UTC for the reset and click on the retry button: The :ref:`Developer mode <developer-mode>`
|
||||
must be activated. Then, go to :menuselection:`Settings --> Technical --> Emails`
|
||||
|
||||
.. image:: faq/email-retry-technical.png
|
||||
:align: center
|
||||
:alt: Retry button of an emails
|
||||
|
||||
.. warning::
|
||||
The daily limit is global to your database and can rise quickly! By default an internal message,
|
||||
a notification, a note, etc. counts as an email in your daily limit if it notifies someone.
|
||||
|
||||
You can mitigate this by receiving your :ref:`notifications in Odoo <discuss_app/notification_preferences>`
|
||||
instead of by emails.
|
||||
|
||||
SMTP Error
|
||||
**********
|
||||
|
||||
You can find out why an email wasn't transmitted successfully by reviewing the Simple Mail
|
||||
Transport Protocol (SMTP) error messages. SMTP is a protocol to describe the email structure
|
||||
and transmit it over the Internet, and the error messages generated by email services are helpful
|
||||
tools to diagnose and troubleshoot email problems.
|
||||
|
||||
No Error
|
||||
********
|
||||
|
||||
Odoo is not always capable of providing information for the reason it failed. The different
|
||||
providers implement a personalized policy of the bounce emails and it is not always possible
|
||||
for Odoo to interpret it correctly.
|
||||
|
||||
If you have this problem on a recurring basis with the same client or the same domain, please
|
||||
do not hesitate to contact `Odoo Support <https://www.odoo.com/help>`_ for help in finding a reason.
|
||||
|
||||
Note: in such case, one of the most common reasons is related to :ref:`SPF <email_communication/spf_compliant>`
|
||||
and/or :ref:`DKIM <email_communication/DKIM_compliant>` configuration.
|
||||
|
||||
Why is my email sent late?
|
||||
**************************
|
||||
|
||||
It may happen that you schedule an email campaign but it is not sent on time. We know that
|
||||
we use a delayed job to send emails that we consider as not urgent (Newsletters concept
|
||||
such as mass mailing, marketing automation, events). The system utility **cron** can be used
|
||||
to schedule programs to run automatically at predetermined intervals. We use that policy in order
|
||||
to avoid cluttering the mail servers and prioritize the communication.
|
||||
|
||||
The emails considered urgent (communication from one person to another one such as
|
||||
Sales Orders, Invoices, Purchase Orders, etc.) are sent directly.
|
||||
|
||||
.. image:: faq/email-scheduled-later.png
|
||||
:align: center
|
||||
:alt: Email scheduled to be sent later.
|
||||
|
||||
By default, the Mass Mailing cron runs every 60 minutes. So, you should wait maximum an hour
|
||||
before the campaign is actually sent.
|
||||
|
||||
Incoming emails
|
||||
===============
|
||||
|
||||
When you have an issue with incoming emails, there might not be an indication per se in Odoo.
|
||||
This is the client who tries to contact a database who will get a bounce (most of the
|
||||
time 550: mailbox unavailable).
|
||||
|
||||
Emails are not received
|
||||
-----------------------
|
||||
|
||||
Depending on the platform you are using:
|
||||
|
||||
- The **Odoo.sh** users can find their live logs on the folder :file:`~/logs/`.
|
||||
|
||||
- The folder :file:`~/logs/` (preferably accessed by the command line) of an Odoo.sh contains
|
||||
a list of files containing the logs of the database. The log files are created everyday
|
||||
at 5:00 AM UTC. The two last days are not compressed, while the older ones are, in order
|
||||
to gain space. The naming of the files for Today and Yesterday are :file:`odoo.log` and
|
||||
:file:`odoo.log.1`. For the following, they are named with their dates and compressed.
|
||||
See the Odoo.sh documentation about :ref:`logs <odoosh/logs>`. Use the command ``grep`` and
|
||||
``zgrep`` (for the compressed ones) to search through the files.
|
||||
|
||||
- The **SaaS** users won’t have access to their logs. However you can still contact
|
||||
`Odoo Support <https://www.odoo.com/help>`_ , if you have a recurring issue
|
||||
with the same client or domain.
|
||||
|
||||
Get help from support
|
||||
---------------------
|
||||
|
||||
In order to get helped efficiently, please provide as much information as possible. Here is a list
|
||||
of what can be helpful:
|
||||
|
||||
- The **EML** of the email, stating for *Electronic Mail*, is the file format containing all the
|
||||
technical information required for an investigation. The documentation of your own email provider
|
||||
might help you on how to get your EML files. Once you get the EML of the email, adding it
|
||||
in the attachment of your ticket is the most efficient way for us to investigate. The support
|
||||
will mainly focus on redundant issues.
|
||||
|
||||
.. seealso::
|
||||
- `Gmail documentation
|
||||
<https://support.google.com/mail/answer/29436>`_
|
||||
- `Outlook documentation
|
||||
<https://support.microsoft.com/en-us/office/view-internet-message-headers-in-outlook-cd039382-dc6e-4264-ac74-c048563d212c#tab=Web>`_
|
||||
|
||||
- The exact flow you are following in order to normally receive those emails in Odoo. Here are
|
||||
examples of questions whose answers can be useful:
|
||||
|
||||
- Is this simply a reply from an email going out from Odoo ?
|
||||
|
||||
- Are you using an incoming email server or somehow redirecting?
|
||||
|
||||
- Can you provide us with an example of an email that has been correctly forwarded ?
|
||||
|
||||
- Providing answers to the following questions:
|
||||
|
||||
- Is it a generic issue or is it specific to a use case? If yes, which one exactly?
|
||||
|
||||
- Is it working as expected? In case the email is sent using Odoo, the bounce email should reach
|
||||
the Odoo database and display the :ref:`red envelope <red_envelop>`.
|
||||
|
Before Width: | Height: | Size: 5.7 KiB |
|
Before Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 3.3 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -38,18 +38,31 @@ trust.
|
||||
or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference number to the data
|
||||
stored safely in the payment acquirers' systems.
|
||||
|
||||
.. _payment_acquirers/supported_acquirers:
|
||||
.. _payment_acquirers/acquirers:
|
||||
|
||||
Supported payment acquirers
|
||||
===========================
|
||||
Payment acquirers
|
||||
=================
|
||||
|
||||
From an accounting perspective, we can distinguish two types of payment acquirers: the payment
|
||||
acquirers that are third-party services and require you to follow another accounting workflow, and
|
||||
the payments that go directly on the bank account and follow the usual reconciliation workflow.
|
||||
From an accounting perspective, we can distinguish two types of payment acquirers: the payments that
|
||||
go directly on the bank account and follow the usual reconciliation workflow, and the payment
|
||||
acquirers that are third-party services and require you to follow another accounting workflow.
|
||||
|
||||
.. _payment_acquirers/online_acquirers:
|
||||
.. _payment_acquirers/bank_payments:
|
||||
|
||||
Online payment acquirers
|
||||
Bank payments
|
||||
-------------
|
||||
|
||||
- | :doc:`Wire Transfer <payment_acquirers/wire_transfer>`
|
||||
| When selected, Odoo displays your payment information with a payment reference. You have to
|
||||
approve the payment manually once you have received it on your bank account.
|
||||
- | SEPA Direct Debit
|
||||
| Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged
|
||||
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for
|
||||
more information about this payment method.
|
||||
|
||||
.. _payment_acquirers/online_providers:
|
||||
|
||||
Online payment providers
|
||||
------------------------
|
||||
|
||||
+-------------------------------+----------------------+------------+-----------------+-----------+
|
||||
@@ -99,27 +112,13 @@ Online payment acquirers
|
||||
added and configured on your Accounting app to do a bank reconciliation, which is an accounting
|
||||
control process.
|
||||
|
||||
.. _payment_acquirers/bank_payments:
|
||||
|
||||
Bank payments
|
||||
-------------
|
||||
|
||||
- | :doc:`Wire Transfer <payment_acquirers/wire_transfer>`
|
||||
| When selected, Odoo displays your payment information with a payment reference. You have to
|
||||
approve the payment manually once you have received it on your bank account.
|
||||
- | SEPA Direct Debit
|
||||
| Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged
|
||||
directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for
|
||||
more information about this payment method.
|
||||
|
||||
.. _payment_acquirers/configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. note::
|
||||
Each acquirer has its specific configuration flow, depending on :ref:`which feature is available
|
||||
<payment_acquirers/online_acquirers>`.
|
||||
Some of the features described in this section are available only with some payment acquirers. Refer
|
||||
to :ref:`the table above <payment_acquirers/online_providers>` for more details.
|
||||
|
||||
.. _payment_acquirers/add_new:
|
||||
|
||||
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB |
@@ -5,24 +5,8 @@ Buckaroo
|
||||
`Buckaroo <https://www.buckaroo.eu/>`_ is a Dutch-based company that offers several online payment
|
||||
possibilities.
|
||||
|
||||
Configuration on Buckaroo Plaza
|
||||
===============================
|
||||
|
||||
Enable Push responses
|
||||
---------------------
|
||||
|
||||
Log into `Buckaroo Plaza <https://plaza.buckaroo.nl>`_ and go to :menuselection:`My Buckaroo
|
||||
--> Websites --> Push settings`. Then,
|
||||
|
||||
#. Check **Enable Push Response** in the **Delayed and Push responses** section.
|
||||
#. | Enter your Odoo database URL followed by `/payment/buckaroo/webhook` in both the **Push URI
|
||||
Success** and **Push URI Failure** text fields.
|
||||
| For example: `https://yourcompany.odoo.com/payment/buckaroo/webhook`.
|
||||
#. Leave the other fields at their default value.
|
||||
#. Click on **Save** to finalize the configuration.
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
@@ -44,7 +28,7 @@ the **Credentials** tab.
|
||||
Website Key
|
||||
~~~~~~~~~~~
|
||||
|
||||
In order to retrieve the Website Key, log into Buckaroo Plaza, go to
|
||||
In order to retrieve the Website Key, log into your Buckaroo account, go to
|
||||
:menuselection:`Configuration --> Templates --> Your Website`.
|
||||
|
||||
.. _buckaroo/secret_key:
|
||||
@@ -52,7 +36,7 @@ In order to retrieve the Website Key, log into Buckaroo Plaza, go to
|
||||
Secret Key
|
||||
~~~~~~~~~~
|
||||
|
||||
In order to retrieve the Website Key, log into Buckaroo Plaza, go to
|
||||
In order to retrieve the Website Key, log into your Buckaroo account, go to
|
||||
:menuselection:`Configuration --> Security --> Secret Key`.
|
||||
|
||||
.. important::
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
@@ -5,8 +5,8 @@ Ogone
|
||||
`Ogone <https://www.ingenico.com/>`_, also known as **Ingenico Payment Services** is a France-based
|
||||
company that provides the technology involved in secure electronic transactions.
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
@@ -56,7 +56,7 @@ Checks for e-Commerce & Alias Gateway`, and retrieve **SHA Key IN**.
|
||||
SHA Key OUT
|
||||
~~~~~~~~~~~
|
||||
|
||||
In order to retrieve the SHA Key OUT, log into your ogone account, go to
|
||||
In order to retrieve the API Key and the Client Key, log into your ogone account, go to
|
||||
:menuselection:`Configuration --> Technical Information --> Transaction feedback --> All transaction
|
||||
submission modes`, and get or generate your **API Key** and **Client Key**. Be careful to copy your
|
||||
API key as you'll not be allowed to get it later without generating a new one.
|
||||
@@ -65,24 +65,5 @@ API key as you'll not be allowed to get it later without generating a new one.
|
||||
If you are trying Ogone as a test, with the Test Account, change the **State** to *Test Mode*. We
|
||||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
Configuration on Ogone
|
||||
======================
|
||||
|
||||
Now that Odoo can communicate with Ogone, we need to make sure that Ogone can send information to
|
||||
your database.
|
||||
|
||||
To do so, log into your Ogone account and go to :menuselection:`Configuration --> Technical
|
||||
Information --> Transaction feedback --> Direct HTTP server-to-server request`.
|
||||
|
||||
Then, fill the form with the following data:
|
||||
|
||||
- In the **Timing of the request**, select *Online but switch to a deferred request when the online
|
||||
requests fail*.
|
||||
- | Enter your Odoo databases URL in both **URLs** followed by ``/payment/ogone/return``.
|
||||
| For example: ``https://yourcompany.odoo.com/payment/ogone/return``
|
||||
- Select *POST* for the **Request Method**.
|
||||
|
||||
Save, and you are ready to go!
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_acquirers`
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
142
content/applications/general/payment_acquirers/paypal.rst
Normal file
@@ -0,0 +1,142 @@
|
||||
======
|
||||
Paypal
|
||||
======
|
||||
|
||||
`Paypal <https://www.paypal.com/>`_ is available and popular worldwide. It doesn't charge any
|
||||
subscription fee and creating an account is very easy. That's why we definitely recommend it for
|
||||
starters in Odoo. It works as a seamless flow where the customer is routed to Paypal website to
|
||||
register the payment.
|
||||
|
||||
Settings in Odoo
|
||||
================
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_acquirers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your PayPal account, which comprise:
|
||||
|
||||
- **Email ID**: your login email address in Paypal.
|
||||
- **Merchant ID**: the code of the merchant account used to identify your Paypal account.
|
||||
- **Use IPN**: either you want to use Instant Payment Notification. Already checked, you don't have
|
||||
to change it.
|
||||
|
||||
You can copy your credentials from your Paypal account, and paste them in the related fields under
|
||||
the **Credentials** tab.
|
||||
|
||||
To retrieve them, log into your Paypal account, and go to :menuselection:`Your account menu -->
|
||||
Account settings --> Business Profile --> Business Information`
|
||||
|
||||
.. important::
|
||||
If you are trying Paypal as a test, with a *sandbox account*, change the **State** to *Test
|
||||
Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
Configuration tab
|
||||
-----------------
|
||||
|
||||
You can charge extra fees to your customers for paying with Paypal;
|
||||
This to cover the transaction fees Paypal charges you. Once redirected to Paypal, your customer sees
|
||||
an extra applied to the order amount.
|
||||
|
||||
To activate this, go to the Configuration tab of Paypal configuration in Odoo and check *Add Extra
|
||||
Fees*.
|
||||
|
||||
You can refer to `Paypal Fees <https://www.paypal.com/webapps/mpp/paypal-fees>`_ to set up fees.
|
||||
|
||||
.. note::
|
||||
`Traders in the EU <https://europa.eu/youreurope/citizens/consumers/shopping/pricing-payments/
|
||||
index_en.htm>`_ are not allowed to charge extra fees for paying with credit cards.
|
||||
|
||||
Settings in Paypal
|
||||
==================
|
||||
|
||||
First, let’s see how to set up your Paypal account in order to build a seamless customer experience
|
||||
with Odoo.
|
||||
|
||||
Log in and open the settings. Go to :menuselection:`Your account menu --> Account settings -->
|
||||
Product & Services --> Website payments` and click **Update** on **Website preferences**.
|
||||
|
||||
Auto Return
|
||||
-----------
|
||||
|
||||
*Auto Return* automatically redirects your customers to Odoo once the payment is processed. Check
|
||||
*Auto Return* and enter your domain name with the suffix ``/shop/confirmation`` as *Return URL*
|
||||
(e.g. `https://yourcompany.odoo.com/shop/confirmation`).
|
||||
|
||||
This URL is requested in Paypal but not used in practice as Odoo transmits it at each transaction.
|
||||
Don’t worry if you manage several sales channels or Odoo databases.
|
||||
|
||||
Payment Data Transfer (PDT)
|
||||
---------------------------
|
||||
|
||||
*Payment Data Transfer* delivers the payment confirmation to Odoo as soon as it is processed.
|
||||
Without it, Odoo cannot end the sales flow. This setting must be activated as well. When saving, an
|
||||
*Identity Token* is generated. You will be later requested to enter it in Odoo.
|
||||
|
||||
Paypal Account Optional
|
||||
-----------------------
|
||||
|
||||
We advise you to not prompt customers to log in with a Paypal account when they get to pay. Let them
|
||||
pay with debit/credit cards as well, or you might lose some deals. Make sure this setting is turned
|
||||
on.
|
||||
|
||||
Instant Payment Notification (IPN)
|
||||
----------------------------------
|
||||
|
||||
PDT sends order confirmations once and only once. As a result, your site must be running when it
|
||||
happens; otherwise, it will never receive the message. That’s why we advise to activate the *Instant
|
||||
Payment Notification* (IPN) on top. With IPN, delivery of order confirmations is virtually
|
||||
guaranteed since IPN resends a confirmation until your site acknowledges receipt.
|
||||
|
||||
| To activate IPN, get back to *Website payments* menu and click *Update* in *Instant Payment
|
||||
Notification*.
|
||||
| The *Notification URL* to set is your domain name + “payment/paypal/ipn” (e.g.
|
||||
`https://yourcompany.odoo.com/payment/paypal/ipn`).
|
||||
|
||||
Payment Messages Format
|
||||
-----------------------
|
||||
|
||||
If you use accented characters (or anything else than basic Latin characters) for your customer
|
||||
names, addresses... you MUST configure the encoding format of the payment request sent by Odoo to
|
||||
Paypal.
|
||||
|
||||
.. danger::
|
||||
If you don't configure this setting, some transactions fail without notice.
|
||||
|
||||
To do so, open:
|
||||
|
||||
- `this page for a test account <https://sandbox.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-language-encoding>`_
|
||||
- `this page for a production account <https://www.paypal.com/cgi-bin/customerprofileweb?cmd=_profile-language-encoding>`_
|
||||
|
||||
Then, click *More Options* and set the two default encoding formats as **UTF-8**.
|
||||
|
||||
Your Paypal account is ready!
|
||||
|
||||
.. tip::
|
||||
For Encrypted Website Payments & EWP_SETTINGS error, please check the `Paypal documentation
|
||||
<https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/
|
||||
encryptedwebpayments#encrypted-website-payments-ewp>`_.
|
||||
|
||||
Test environment
|
||||
================
|
||||
|
||||
You can test the entire payment flow in Odoo thanks to Paypal Sandbox accounts.
|
||||
|
||||
Log in to `Paypal Developer Site <https://developer.paypal.com/>`__ with your Paypal credentials.
|
||||
|
||||
This will create two sandbox accounts:
|
||||
|
||||
- A business account (to use as merchant, e.g. `pp.merch01-facilitator@example.com <mailto:pp.merch01-facilitator@example.com>`__).
|
||||
|
||||
- A default personal account (to use as shopper, e.g. `pp.merch01-buyer@example.com <mailto:pp.merch01-buyer@example.com>`__).
|
||||
|
||||
Log in to Paypal Sandbox with the merchant account and follow the same configuration instructions.
|
||||
Enter your sandbox credentials in Odoo and make sure Paypal is still set on *Test Mode*. We
|
||||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
Run a test transaction from Odoo using the sandbox personal account.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_acquirers`
|
||||