Compare commits
120 Commits
18.0
...
saas-15.1-
Author | SHA1 | Date | |
---|---|---|---|
![]() |
96b8d78c92 | ||
![]() |
7cf800f84e | ||
![]() |
1333bffc0c | ||
![]() |
4bfb89bb9c | ||
![]() |
4df4d2db83 | ||
![]() |
81500d89ce | ||
![]() |
890b4c31fa | ||
![]() |
56496aede7 | ||
![]() |
3e8ed2aa35 | ||
![]() |
59ab5966cc | ||
![]() |
e441f7fdd0 | ||
![]() |
ab3428355f | ||
![]() |
4024ca9e72 | ||
![]() |
9ab23b7456 | ||
![]() |
0c5859de57 | ||
![]() |
49dab677fe | ||
![]() |
9d24b835d7 | ||
![]() |
5cb16a772f | ||
![]() |
f9a9c9cc02 | ||
![]() |
8aa6d9a72c | ||
![]() |
deb743e1d7 | ||
![]() |
9fc9363b3f | ||
![]() |
b2886e2ee2 | ||
![]() |
1cbe885e92 | ||
![]() |
b745456d47 | ||
![]() |
2fdb1ffc79 | ||
![]() |
0a3dd86eef | ||
![]() |
269031e162 | ||
![]() |
c073f53c1c | ||
![]() |
3b9362eed0 | ||
![]() |
d0d75af4a1 | ||
![]() |
888e72785b | ||
![]() |
ff97fbc392 | ||
![]() |
04d25efbef | ||
![]() |
81972f5737 | ||
![]() |
856365c473 | ||
![]() |
88f61bf187 | ||
![]() |
234caaa947 | ||
![]() |
03e05613ca | ||
![]() |
4d35ac3199 | ||
![]() |
0fac3da61d | ||
![]() |
c7cbe7f234 | ||
![]() |
26b0251ff5 | ||
![]() |
92cb732684 | ||
![]() |
04cae556ea | ||
![]() |
e4b94e9d46 | ||
![]() |
dd89b2947c | ||
![]() |
51301eb432 | ||
![]() |
7f0b281d29 | ||
![]() |
8d4bf8f379 | ||
![]() |
15bbd5c2e7 | ||
![]() |
71efdf7ecb | ||
![]() |
6bb2000fe4 | ||
![]() |
e5b7530b84 | ||
![]() |
4ac68055da | ||
![]() |
ba4462a686 | ||
![]() |
764cea6e92 | ||
![]() |
be5c872d7e | ||
![]() |
46163e8e34 | ||
![]() |
ccb87a6f72 | ||
![]() |
b321c9f79f | ||
![]() |
4fec161a6f | ||
![]() |
a731b2ca04 | ||
![]() |
bb05f4ae7b | ||
![]() |
869577cf2c | ||
![]() |
98293a9e29 | ||
![]() |
79fa2961aa | ||
![]() |
78804e6c1d | ||
![]() |
fb68acf097 | ||
![]() |
337b36320c | ||
![]() |
31709ad082 | ||
![]() |
696ab7de05 | ||
![]() |
9659f18836 | ||
![]() |
f8ab5aa5fe | ||
![]() |
3b804d40ba | ||
![]() |
fcc925a6d5 | ||
![]() |
251c2b9156 | ||
![]() |
bd10492d42 | ||
![]() |
93ae401194 | ||
![]() |
a2dee66e13 | ||
![]() |
96d6d9a8bb | ||
![]() |
30479c8dd5 | ||
![]() |
946a87d731 | ||
![]() |
3e22e871d3 | ||
![]() |
4ac7ce7678 | ||
![]() |
cbe6aad9e9 | ||
![]() |
4691efface | ||
![]() |
38e541b527 | ||
![]() |
fdda5c538a | ||
![]() |
77a3b40c95 | ||
![]() |
89132be618 | ||
![]() |
2ca3dcb7d1 | ||
![]() |
71f1d10159 | ||
![]() |
37ee0f3130 | ||
![]() |
272bbe7a8c | ||
![]() |
ffdfdc4e50 | ||
![]() |
9209d4896c | ||
![]() |
4b1cb7bf11 | ||
![]() |
bc2bf45778 | ||
![]() |
3a42d8107b | ||
![]() |
7763c22db4 | ||
![]() |
20f04ea36b | ||
![]() |
8c56ec064d | ||
![]() |
f612d5f105 | ||
![]() |
6483288614 | ||
![]() |
27c06354cb | ||
![]() |
97e46b57bd | ||
![]() |
b305db3c0d | ||
![]() |
3c8bdfaac1 | ||
![]() |
27ce4aa4c9 | ||
![]() |
a5edcd6f7c | ||
![]() |
e0f1b7969f | ||
![]() |
3bc44e3fcd | ||
![]() |
c9bc9f7f51 | ||
![]() |
fd9d7d4dc0 | ||
![]() |
3c00fd6adf | ||
![]() |
67234ef779 | ||
![]() |
3625b5fb98 | ||
![]() |
fa80c9e340 | ||
![]() |
d3d0531832 |
2
.gitattributes
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Include RST files in language statistics on GitHub.
|
||||
*.rst linguist-detectable
|
11
.github/CODEOWNERS
vendored
@ -1,11 +0,0 @@
|
||||
# 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
|
3
.gitignore
vendored
@ -1,6 +1,7 @@
|
||||
*.pyc
|
||||
.*
|
||||
*.mo
|
||||
.*
|
||||
!.gitattributes
|
||||
|
||||
# Sphinx build files
|
||||
_build/
|
||||
|
6
Makefile
@ -19,12 +19,14 @@ SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSIO
|
||||
-D versions=$(VERSIONS) -D languages=$(LANGUAGES) -D language=$(CURRENT_LANG) \
|
||||
-D is_remote_build=$(IS_REMOTE_BUILD) \
|
||||
-A google_analytics_key=$(GOOGLE_ANALYTICS_KEY) \
|
||||
-A plausible_script=$(PLAUSIBLE_SCRIPT) \
|
||||
-A plausible_domain=$(PLAUSIBLE_DOMAIN) \
|
||||
-j $(WORKERS)
|
||||
SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-15.1
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
@ -77,6 +79,6 @@ $(HTML_BUILD_DIR)/_static/style.css: extensions/odoo_theme/static/style.scss ext
|
||||
fast: SPHINXOPTS += -A collapse_menu=True
|
||||
fast: html
|
||||
|
||||
static: $(HTML_BUILD_DIR)/static/style.css
|
||||
static: $(HTML_BUILD_DIR)/_static/style.css
|
||||
cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/
|
||||
cp -r static/* $(HTML_BUILD_DIR)/_static/
|
||||
|
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/saas-15.1/contributing/documentation.html#install-git)
|
||||
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/saas-15.1/contributing/documentation.html#python)
|
||||
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/saas-15.1/requirements.txt).
|
||||
- [Make](https://www.odoo.com/documentation/saas-15.1/contributing/documentation.html#make)
|
||||
- A local copy of the [odoo/odoo repository in saas-15.1](https://github.com/odoo/odoo/tree/saas-15.1) (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/saas-15.1/contributing/documentation.html#preview-your-changes)
|
||||
for more detailed instructions.
|
||||
|
||||
Optional: to fully build the developer documentation with inline docstrings for documented Python
|
||||
@ -34,15 +34,11 @@ 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/saas-15.1/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
|
||||
|
152
conf.py
@ -1,9 +1,12 @@
|
||||
import re
|
||||
import os
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import docutils
|
||||
from pygments.lexers import JsonLexer, XmlLexer
|
||||
from sphinx.ext import graphviz
|
||||
from sphinx.util import logging
|
||||
import sphinx
|
||||
|
||||
@ -19,7 +22,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 = 'saas-15.1'
|
||||
|
||||
# The minimal Sphinx version required to build the documentation.
|
||||
needs_sphinx = '3.0.0'
|
||||
@ -53,6 +56,11 @@ add_function_parentheses = True
|
||||
|
||||
#=== Extensions configuration ===#
|
||||
|
||||
source_read_replace_vals = {
|
||||
'GITHUB_PATH': f'https://github.com/odoo/odoo/blob/{version}',
|
||||
'GITHUB_ENT_PATH': f'https://github.com/odoo/enterprise/blob/{version}',
|
||||
}
|
||||
|
||||
# Add extensions directory to PYTHONPATH
|
||||
extension_dir = Path('extensions')
|
||||
sys.path.insert(0, str(extension_dir.absolute()))
|
||||
@ -74,13 +82,18 @@ if not odoo_sources_dirs:
|
||||
{'dir_list': '\n'.join([f'\t- {d.resolve()}' for d in odoo_sources_candidate_dirs])},
|
||||
)
|
||||
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
|
||||
# Running odoo needs python 3.7 min but monkey patch version_info to be compatible with 3.6.
|
||||
sys.version_info = (3, 7, 0)
|
||||
odoo_dir = odoo_sources_dirs[0].resolve()
|
||||
source_read_replace_vals['ODOO_RELPATH'] = '/../' + str(odoo_sources_dirs[0])
|
||||
source_read_replace_vals['ODOO_ABSPATH'] = str(odoo_dir)
|
||||
sys.path.insert(0, str(odoo_dir))
|
||||
import odoo.addons
|
||||
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
|
||||
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
|
||||
odoo_version = odoo_release.version if 'alpha' not in odoo_release.version else 'master'
|
||||
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
|
||||
if release != odoo_version:
|
||||
_logger.warning(
|
||||
"Found Odoo sources in %(directory)s but with version '%(odoo_version)s' incompatible "
|
||||
@ -97,12 +110,18 @@ else:
|
||||
)
|
||||
odoo_dir_in_path = True
|
||||
|
||||
# Mapping between odoo models related to master data and the declaration of the
|
||||
# data. This is used to point users to available xml_ids when giving values for
|
||||
# a field with the autodoc_field extension.
|
||||
model_references = {
|
||||
'account.account.type': 'addons/account/data/data_account_type.xml',
|
||||
'res.country': 'odoo/addons/base/data/res_country_data.xml',
|
||||
'res.currency': 'odoo/addons/base/data/res_currency_data.xml',
|
||||
}
|
||||
|
||||
# The Sphinx extensions to use, as module names.
|
||||
# They can be extensions coming with Sphinx (named 'sphinx.ext.*') or custom ones.
|
||||
extensions = [
|
||||
# Parse Python docstrings (autodoc, automodule, autoattribute directives)
|
||||
'sphinx.ext.autodoc' if odoo_dir_in_path else 'autodoc_placeholder',
|
||||
|
||||
# Link sources in other projects (used to build the reference doc)
|
||||
'sphinx.ext.intersphinx',
|
||||
|
||||
@ -115,23 +134,32 @@ extensions = [
|
||||
# Youtube and Vimeo videos integration (youtube, vimeo directives)
|
||||
'embedded_video',
|
||||
|
||||
'exercise_admonition',
|
||||
'custom_admonitions',
|
||||
|
||||
# Redirection generator
|
||||
'redirects',
|
||||
|
||||
# Code switcher (switcher and case directives)
|
||||
'switcher',
|
||||
# Content tabs
|
||||
'sphinx_tabs.tabs',
|
||||
|
||||
# Strange html domain logic used in memento pages
|
||||
'html_domain',
|
||||
]
|
||||
|
||||
if odoo_dir_in_path:
|
||||
# GitHub links generation
|
||||
extensions += [
|
||||
'sphinx.ext.linkcode',
|
||||
'github_link',
|
||||
# Parse Python docstrings (autodoc, automodule, autoattribute directives)
|
||||
'sphinx.ext.autodoc',
|
||||
'autodoc_field',
|
||||
]
|
||||
else:
|
||||
extensions += [
|
||||
'autodoc_placeholder',
|
||||
]
|
||||
extensions.append('sphinx.ext.graphviz' if shutil.which('dot') else 'graphviz_placeholder')
|
||||
|
||||
todo_include_todos = False
|
||||
|
||||
@ -151,7 +179,20 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
sphinx.util.i18n.docname_to_domain
|
||||
) = lambda docname, compact: docname.split('/')[1 if docname.startswith('applications/') else 0]
|
||||
|
||||
supported_languages = {
|
||||
# The version names that should be shown in the version switcher, if the config option `versions`
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'saas-15.1': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
'13.0': "Odoo 13",
|
||||
}
|
||||
|
||||
# The language names that should be shown in the language switcher, if the config option `languages`
|
||||
# is populated. If a language is passed to `languages` but is not listed here, it will not be shown.
|
||||
languages_names = {
|
||||
'de': 'Deutsch',
|
||||
'en': 'English',
|
||||
'es': 'Español',
|
||||
@ -165,6 +206,9 @@ supported_languages = {
|
||||
# The specifications of redirect rules used by the redirects extension.
|
||||
redirects_file = 'redirects.txt'
|
||||
|
||||
sphinx_tabs_disable_tab_closing = True
|
||||
sphinx_tabs_disable_css_loading = True
|
||||
|
||||
#=== Options for HTML output ===#
|
||||
|
||||
html_theme = 'odoo_theme'
|
||||
@ -247,6 +291,22 @@ latex_logo = 'static/img/odoo_logo.png'
|
||||
# If true, show URL addresses after external links.
|
||||
latex_show_urls = 'True'
|
||||
|
||||
# https://github.com/sphinx-doc/sphinx/issues/4054#issuecomment-329097229
|
||||
def source_read_replace(app, docname, source):
|
||||
"""Substitute parts of strings with computed values.
|
||||
|
||||
Since the RST substitution is not working everywhere, i.e. in directives'
|
||||
options, we need to be able to input those values when reading the sources.
|
||||
This is using the config `source_read_replace_vals`, mapping a name to its
|
||||
replacement. This will look for the name surrounded by curly braces in the source.
|
||||
|
||||
Meant to be connected to the `source-read` event.
|
||||
"""
|
||||
result = source[0]
|
||||
for key in app.config.source_read_replace_vals:
|
||||
result = result.replace(f"{{{key}}}", app.config.source_read_replace_vals[key])
|
||||
source[0] = result
|
||||
|
||||
|
||||
def setup(app):
|
||||
# Generate all alternate URLs for each document
|
||||
@ -255,12 +315,34 @@ def setup(app):
|
||||
app.add_config_value('versions', None, 'env')
|
||||
app.add_config_value('languages', None, 'env')
|
||||
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
|
||||
app.add_config_value('source_read_replace_vals', {}, 'env')
|
||||
app.connect('source-read', source_read_replace)
|
||||
|
||||
app.add_lexer('json', JsonLexer)
|
||||
app.add_lexer('xml', XmlLexer)
|
||||
|
||||
app.connect('html-page-context', _generate_alternate_urls)
|
||||
|
||||
# Add a `condition` option on directives to ignore them based on config values
|
||||
app.add_config_value('odoo_dir_in_path', None, 'env')
|
||||
def context_eval(expr):
|
||||
return eval(expr, {confval.name: confval.value for confval in app.config})
|
||||
|
||||
def patch(to_patch):
|
||||
to_patch.option_spec['condition'] = context_eval
|
||||
original_run = to_patch.run
|
||||
def new_run(self):
|
||||
if not self.options.get('condition', True):
|
||||
return []
|
||||
return original_run(self)
|
||||
to_patch.run = new_run
|
||||
|
||||
for to_patch in (
|
||||
sphinx.directives.code.LiteralInclude,
|
||||
docutils.parsers.rst.directives.tables.CSVTable,
|
||||
):
|
||||
patch(to_patch)
|
||||
|
||||
|
||||
def _generate_alternate_urls(app, pagename, templatename, context, doctree):
|
||||
""" Add keys of required alternate URLs for the current document in the rendering context.
|
||||
@ -292,15 +374,18 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
|
||||
|
||||
The entry 'version' is added by Sphinx in the rendering context.
|
||||
"""
|
||||
# If the list of versions is not set, assume that the project has no alternate version
|
||||
_alternate_versions = app.config.versions and app.config.versions.split(',') or []
|
||||
context['alternate_versions'] = [
|
||||
(_alternate_version, _build_url(_version=_alternate_version))
|
||||
for _alternate_version in sorted(_alternate_versions, reverse=True)
|
||||
if _alternate_version != version and (
|
||||
_alternate_version != 'master' or pagename.startswith('developer')
|
||||
) and not _alternate_version.startswith('saas')
|
||||
]
|
||||
context['version_display_name'] = versions_names[version]
|
||||
|
||||
# If the list of versions is not set, assume the project has no alternate version
|
||||
_provided_versions = app.config.versions and app.config.versions.split(',') or []
|
||||
|
||||
# Map alternate versions to their display names and URLs.
|
||||
context['alternate_versions'] = []
|
||||
for _alternate_version, _display_name in versions_names.items():
|
||||
if _alternate_version in _provided_versions and _alternate_version != version:
|
||||
context['alternate_versions'].append(
|
||||
(_display_name, _build_url(_alternate_version))
|
||||
)
|
||||
|
||||
def _localize():
|
||||
""" Add the pairs of (lang, code, url) for the current document in the rendering context.
|
||||
@ -311,19 +396,22 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
|
||||
"""
|
||||
_current_lang = app.config.language or 'en'
|
||||
# Replace the context value by its translated description ("Français" instead of "french")
|
||||
context['language'] = supported_languages.get(_current_lang)
|
||||
context['language'] = languages_names.get(_current_lang)
|
||||
|
||||
# If the list of languages is not set, assume that the project has no alternate language
|
||||
_alternate_languages = app.config.languages and app.config.languages.split(',') or []
|
||||
context['alternate_languages'] = [
|
||||
(
|
||||
supported_languages.get(_alternate_lang),
|
||||
_alternate_lang.split('_')[0] if _alternate_lang != 'en' else 'x-default',
|
||||
_build_url(_lang=_alternate_lang),
|
||||
)
|
||||
for _alternate_lang in _alternate_languages
|
||||
if _alternate_lang in supported_languages and _alternate_lang != _current_lang
|
||||
]
|
||||
_provided_languages = app.config.languages and app.config.languages.split(',') or []
|
||||
|
||||
# Map alternate languages to their display names and URLs.
|
||||
context['alternate_languages'] = []
|
||||
for _alternate_lang, _display_name in languages_names.items():
|
||||
if _alternate_lang in _provided_languages and _alternate_lang != _current_lang:
|
||||
context['alternate_languages'].append(
|
||||
(
|
||||
_display_name,
|
||||
_alternate_lang.split('_')[0] if _alternate_lang != 'en' else 'x-default',
|
||||
_build_url(_lang=_alternate_lang),
|
||||
)
|
||||
)
|
||||
|
||||
def _build_url(_version=None, _lang=None):
|
||||
if app.config.is_remote_build:
|
||||
|
@ -4,6 +4,8 @@
|
||||
Install
|
||||
=======
|
||||
|
||||
.. If you add content on this page, remove the redirect rule 'install -> install/install'
|
||||
|
||||
.. toctree::
|
||||
|
||||
install/install
|
||||
|
@ -7,7 +7,7 @@ internet-facing server. It follows :ref:`installation <setup/install>`, and is
|
||||
not generally necessary for a development systems that is not exposed on the
|
||||
internet.
|
||||
|
||||
.. warning:: If you are setting up a public server, be sure to check our :ref:`security` recommandations!
|
||||
.. warning:: If you are setting up a public server, be sure to check our :ref:`security` recommendations!
|
||||
|
||||
.. _db_filter:
|
||||
|
||||
@ -299,7 +299,7 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
}
|
||||
|
||||
server {
|
||||
listen 443;
|
||||
listen 443 ssl;
|
||||
server_name odoo.mycompany.com;
|
||||
proxy_read_timeout 720s;
|
||||
proxy_connect_timeout 720s;
|
||||
@ -312,7 +312,6 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
|
||||
# SSL parameters
|
||||
ssl on;
|
||||
ssl_certificate /etc/ssl/nginx/server.crt;
|
||||
ssl_certificate_key /etc/ssl/nginx/server.key;
|
||||
ssl_session_timeout 30m;
|
||||
|
@ -44,4 +44,4 @@ For Exim
|
||||
|
||||
.. tip::
|
||||
If you don't have access/manage your email server, use :ref:`inbound messages
|
||||
<discuss/email_servers/inbound_messages>`.
|
||||
<email_communication/inbound_messages>`.
|
||||
|
@ -107,7 +107,7 @@ Linux
|
||||
Debian/Ubuntu
|
||||
'''''''''''''
|
||||
|
||||
Odoo 13.0 'deb' package currently supports `Debian Buster`_, `Ubuntu 18.04`_ or above.
|
||||
Odoo 15.0 'deb' package currently supports `Debian 11 (Bullseye)`_, `Ubuntu 20.04 (Focal)`_ or above.
|
||||
|
||||
Prepare
|
||||
^^^^^^^
|
||||
@ -134,7 +134,7 @@ used to install *Odoo Community Edition* by executing the following commands **a
|
||||
.. code-block:: console
|
||||
|
||||
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
|
||||
# echo "deb http://nightly.odoo.com/13.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
|
||||
# echo "deb http://nightly.odoo.com/15.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
|
||||
# apt-get update && apt-get install odoo
|
||||
|
||||
You can then use the usual `apt-get upgrade` command to keep your installation up-to-date.
|
||||
@ -180,7 +180,7 @@ and automatically start the server.
|
||||
Fedora
|
||||
''''''
|
||||
|
||||
Odoo 13.0 'rpm' package supports Fedora 30.
|
||||
Odoo 15.0 'rpm' package supports Fedora 34.
|
||||
|
||||
Prepare
|
||||
^^^^^^^
|
||||
@ -209,7 +209,7 @@ commands:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/13.0/nightly/rpm/odoo.repo
|
||||
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/15.0/nightly/rpm/odoo.repo
|
||||
$ sudo dnf install -y odoo
|
||||
$ sudo systemctl enable odoo
|
||||
$ sudo systemctl start odoo
|
||||
@ -224,7 +224,7 @@ Once downloaded, the package can be installed using the 'dnf' package manager:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo dnf localinstall odoo_13.0.latest.noarch.rpm
|
||||
$ sudo dnf localinstall odoo_15.0.latest.noarch.rpm
|
||||
$ sudo systemctl enable odoo
|
||||
$ sudo systemctl start odoo
|
||||
|
||||
@ -409,8 +409,10 @@ A typical way to run the server would be:
|
||||
|
||||
Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the
|
||||
PostgreSQL login, `dbpassword` is the PostgreSQL password
|
||||
and `mydb` is the default database to serve on `localhost:8069`. You can add other
|
||||
directory paths separated by a comma to ``addons`` at the end of the addons-path option.
|
||||
and `mydb` is the default database to serve on `localhost:8069`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`The exhaustive list of arguments for odoo-bin </developer/misc/other/cmdline>`.
|
||||
|
||||
Linux
|
||||
-----
|
||||
@ -578,8 +580,10 @@ A typical way to run the server would be:
|
||||
$ python3 odoo-bin --addons-path=addons -d mydb
|
||||
|
||||
Where `CommunityPath` is the path of the Odoo Community installation
|
||||
and `mydb` is the default database to serve on `localhost:8069`. You can add other
|
||||
directory paths separated by a comma to ``addons`` at the end of the addons-path option.
|
||||
and `mydb` is the default database to serve on `localhost:8069`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`The exhaustive list of arguments for odoo-bin </developer/misc/other/cmdline>`.
|
||||
|
||||
Mac OS
|
||||
------
|
||||
@ -740,9 +744,10 @@ A typical way to run the server would be:
|
||||
$ python3 odoo-bin --addons-path=addons -d mydb
|
||||
|
||||
Where `CommunityPath` is the path of the Odoo Community installation
|
||||
and `mydb` is the default database to serve on `localhost:8069`. You can add other
|
||||
directory paths separated by a comma to ``addons`` at the end of the addons-path option.
|
||||
and `mydb` is the default database to serve on `localhost:8069`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`The exhaustive list of arguments for odoo-bin </developer/misc/other/cmdline>`.
|
||||
|
||||
.. _setup/install/docker:
|
||||
|
||||
@ -750,13 +755,13 @@ Docker
|
||||
======
|
||||
|
||||
The full documentation on how to use Odoo with Docker can be found on the
|
||||
official Odoo `docker image <https://registry.hub.docker.com/_/odoo/>`_ page.
|
||||
official Odoo `docker image <https://hub.docker.com/_/odoo/>`_ page.
|
||||
|
||||
.. _Debian Buster: https://www.debian.org/releases/buster/
|
||||
.. _Debian 11 (Bullseye): https://www.debian.org/releases/bullseye/
|
||||
.. _demo: https://demo.odoo.com
|
||||
.. _docker: https://www.docker.com
|
||||
.. _download: https://www.odoo.com/page/download
|
||||
.. _Ubuntu 18.04: http://releases.ubuntu.com/18.04/
|
||||
.. _Ubuntu 20.04 (Focal): http://releases.ubuntu.com/20.04/
|
||||
.. _EPEL: https://fedoraproject.org/wiki/EPEL
|
||||
.. _PostgreSQL: http://www.postgresql.org
|
||||
.. _the official installer:
|
||||
|
@ -6,6 +6,7 @@ Maintain
|
||||
|
||||
.. toctree::
|
||||
|
||||
maintain/domain_names
|
||||
maintain/update
|
||||
maintain/enterprise
|
||||
maintain/hosting_changes
|
||||
|
334
content/administration/maintain/domain_names.rst
Normal file
@ -0,0 +1,334 @@
|
||||
============
|
||||
Domain names
|
||||
============
|
||||
|
||||
A **domain name** works as an address for your website. It makes the Internet much more accessible
|
||||
as it allows users to type a meaningful web address, such as ``www.odoo.com``, rather than its
|
||||
server's IP address with a series of numbers.
|
||||
|
||||
You can use a custom domain name to access your Odoo database and websites:
|
||||
|
||||
- By :ref:`registering a free domain name with Odoo <domain-name/odoo-register>` (for Odoo Online
|
||||
databases)
|
||||
- By :ref:`configuring a custom domain that you already own <domain-name/existing>`.
|
||||
|
||||
.. note::
|
||||
Odoo Online and Odoo.sh databases, including their websites, use by default a subdomain of
|
||||
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
|
||||
|
||||
.. important::
|
||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||
databases for one year. Visitors can then access your website with an address such as
|
||||
``www.example.com`` rather than the default ``example.odoo.com``.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Register a Free Domain Name
|
||||
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
|
||||
- `Odoo Quick Tips: Get a free domain name! <https://www.youtube.com/watch?v=eAfgeNOHLP4>`_
|
||||
|
||||
.. _domain-name/about:
|
||||
|
||||
About domain names
|
||||
==================
|
||||
|
||||
Having a **good domain name** is as important to your branding as the name of your business or
|
||||
organization as it is the first thing your visitors will notice. We recommend you keep them *simple,
|
||||
short, easy to remember and spell*.
|
||||
|
||||
A **subdomain** is a domain that is a part of another domain. It often refers to the additional part
|
||||
that comes before the main domain name. Traditionally, most websites use the ``www.`` subdomain,
|
||||
but any string of letters can be used as well. You can use subdomains to direct your visitors to
|
||||
other websites than your main website or to specific pages (e.g., ``experience.odoo.com`` points to
|
||||
a specific page.)
|
||||
|
||||
All domain names are referenced in the **Domain Name System**, or **DNS**, which works as a giant
|
||||
directory for the Internet. There are many DNS servers, so any modification to the DNS can take up
|
||||
to 72 hours to propagate worldwide on all servers.
|
||||
|
||||
.. _domain-name/odoo-register:
|
||||
|
||||
Register a free domain name with Odoo
|
||||
=====================================
|
||||
|
||||
You can register a domain name for your Odoo Online database directly from Odoo Website or your
|
||||
database manager.
|
||||
|
||||
.. important::
|
||||
- Your domain name is **free for one year** if you register it with Odoo!
|
||||
- The domain name is registered with `Gandi <https://www.gandi.net/>`_, the domain name
|
||||
registrar.
|
||||
- You are the owner of the domain name and can use it for other purposes.
|
||||
- Odoo manages payment and technical support for you.
|
||||
|
||||
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
|
||||
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, then on :guilabel:`Domain names`.
|
||||
|
||||
.. image:: domain_names/register-promote.png
|
||||
:align: center
|
||||
:alt: Clicking on Domain Names from an Odoo website
|
||||
|
||||
Search for the domain name of your choice to check its availability, then select the one you want to
|
||||
register for your website.
|
||||
|
||||
.. image:: domain_names/register-search.png
|
||||
:align: center
|
||||
:alt: The search of the domain name example.com shows which associated domains are available.
|
||||
|
||||
Next, fill in the form with your information to become the domain name owner.
|
||||
|
||||
Your domain name is directly linked to your database, but you still have to :ref:`map your domain
|
||||
name with your website <domain-name/website-map>`.
|
||||
|
||||
.. note::
|
||||
- Free domain names are also available for free Odoo Online databases (if you installed one app
|
||||
only, for example). In this case, Odoo reviews your request and your website to avoid abuse.
|
||||
This process may take up to three days.
|
||||
- This is not available for Odoo.sh databases yet.
|
||||
|
||||
.. _domain-name/odoo-manage:
|
||||
|
||||
Manage your domain name registered with Odoo
|
||||
--------------------------------------------
|
||||
|
||||
To manage the DNS records of your domain name registered with Odoo or to visualize the contacts
|
||||
associated with it, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
|
||||
:guilabel:`Contacts` or :guilabel:`DNS`.
|
||||
|
||||
.. image:: domain_names/manage.png
|
||||
:align: center
|
||||
:alt: Management of the domain names linked to an Odoo database
|
||||
|
||||
.. note::
|
||||
Please `submit a support ticket <https://www.odoo.com/help>`_ if you need further assistance to
|
||||
manage your domain name.
|
||||
|
||||
.. _domain-name/existing:
|
||||
|
||||
Configure your existing domain name
|
||||
===================================
|
||||
|
||||
If you already own a domain name, you can use it to point to your website.
|
||||
|
||||
To avoid any issue with the :ref:`SSL certificate validation <domain-name/ssl>`, we highly recommend
|
||||
that you proceed with the following actions in this order:
|
||||
|
||||
#. :ref:`Add a CNAME record <domain-name/cname>` on your domain name's DNS zone.
|
||||
#. :ref:`Map your domain name with your Odoo database <domain-name/db-map>`.
|
||||
#. :ref:`Map your domain name with your Odoo website <domain-name/website-map>`.
|
||||
|
||||
.. _domain-name/cname:
|
||||
|
||||
Add a CNAME record
|
||||
------------------
|
||||
|
||||
A **CNAME record** is a type of DNS record that points to the IP address of another website rather
|
||||
than to directly to an IP address.
|
||||
|
||||
You need a CNAME record that points to your Odoo database. The requirements are detailed in your
|
||||
database manager.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
The target address is the current address of your database, as defined at its creation (e.g.,
|
||||
``example.odoo.com``)
|
||||
|
||||
.. group-tab:: Odoo.sh
|
||||
|
||||
Your project's main address is defined in :menuselection:`Settings --> Project Name`.
|
||||
|
||||
If you want to target a specific branch (production, staging or development), go to
|
||||
:menuselection:`Branches --> select your branch --> Settings --> Custom domains`, and click on
|
||||
:guilabel:`How to set up my domain?`. A message indicates which address your CNAME record
|
||||
should target.
|
||||
|
||||
#. Open your domain name's manager dashboard.
|
||||
#. Open the **DNS zone** management page for the domain name you want to configure.
|
||||
#. Create a **CNAME record** pointing to the address of your database.
|
||||
|
||||
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``, you
|
||||
can of course use any domain name of your choice, with any subdomain (e.g.,
|
||||
``anything.example.com``).
|
||||
|
||||
.. example::
|
||||
You own the domain name ``example.com``, and you have an Odoo Online database at the address
|
||||
``example.odoo.com``. You want to access your Odoo database primarily with the domain
|
||||
``www.example.com`` but also with the :ref:`naked domain <domain-name/naked-domain>`
|
||||
``example.com``.
|
||||
|
||||
To do so, you create a CNAME record for the ``www`` subdomain, with ``example.odoo.com`` as the
|
||||
target. The DNS zone manager generates the following rule and adds it to your DNS zone: ``www IN
|
||||
CNAME example.odoo.com.``
|
||||
|
||||
You also create a redirection from ``example.com`` to ``wwww.example.com``.
|
||||
|
||||
Your new DNS records are propagated to all DNS servers.
|
||||
|
||||
.. note::
|
||||
Here are some specific guidelines to create a CNAME record:
|
||||
|
||||
- `GoDaddy <https://www.godaddy.com/help/add-a-cname-record-19236>`_
|
||||
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
|
||||
- `OVH <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
|
||||
- `CloudFlare <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
|
||||
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
|
||||
|
||||
.. _domain-name/naked-domain:
|
||||
|
||||
Naked domain
|
||||
~~~~~~~~~~~~
|
||||
|
||||
A **naked domain** is a domain name that doesn't have any subdomain at the beginning of the address
|
||||
(e.g., ``odoo.com`` instead of ``www.odoo.com``).
|
||||
|
||||
You may want your naked domain to redirect to your website as some visitors may not type the full
|
||||
domain name to access your website.
|
||||
|
||||
#. Open your domain name's manager dashboard.
|
||||
#. Create a **redirection** from the naked domain (``example.com``) to your main domain name
|
||||
(``www.example.com``).
|
||||
|
||||
.. note::
|
||||
Depending on your domain name registrar, this redirection may be already pre-configured.
|
||||
|
||||
.. _domain-name/db-map:
|
||||
|
||||
Map your domain name with your Odoo database
|
||||
--------------------------------------------
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Odoo Online
|
||||
|
||||
Open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
|
||||
:guilabel:`Use my own domain` at the bottom of the right column.
|
||||
|
||||
Type the domain name you want to add to this database, then click on :guilabel:`Verify` to
|
||||
check if the CNAME record is correctly configured. Once done, click on :guilabel:`I confirm,
|
||||
it's done`.
|
||||
|
||||
.. image:: domain_names/online-map.png
|
||||
:align: center
|
||||
:alt: Verification of the CNAME records of a domain name before mapping it with a database
|
||||
|
||||
.. group-tab:: Odoo.sh
|
||||
|
||||
Go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type
|
||||
the domain name you want to add to this database, then click on :guilabel:`Add domain`.
|
||||
|
||||
.. image:: domain_names/odoo-sh-map.png
|
||||
:align: center
|
||||
:alt: Mapping a domain name with an Odoo.sh branch
|
||||
|
||||
.. seealso::
|
||||
- :ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
|
||||
|
||||
.. warning::
|
||||
Make sure to :ref:`add a CNAME record <domain-name/cname>` to your domain name's DNS **before**
|
||||
mapping your domain name with your Odoo database.
|
||||
|
||||
Failing to do so may impede the validation of the :ref:`SSL certificate <domain-name/ssl>` and
|
||||
would result in a *certificate name mismatch* error. This is often displayed by web browsers as a
|
||||
warning such as *"Your connection is not private"*.
|
||||
|
||||
If this is the case and you have added the domain name to your database's settings less than five
|
||||
days ago, wait 24 hours as the validation may still happen. Otherwise, please `submit a support
|
||||
ticket <https://www.odoo.com/help>`_ including screenshots of your CNAME records.
|
||||
|
||||
.. _domain-name/ssl:
|
||||
|
||||
SSL encryption (HTTPS protocol)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
**SSL encryption** is an encryption-based Internet security protocol. It allows your visitors to
|
||||
navigate your website through a secure connection, which appears as an ``https://`` protocol at the
|
||||
beginning of your web address, rather than a non-secure ``http://`` protocol.
|
||||
|
||||
Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager
|
||||
<domain-name/db-map>`, using integration with `Let's Encrypt Certificate Authority and ACME protocol
|
||||
<https://letsencrypt.org/how-it-works/>`_.
|
||||
|
||||
.. note::
|
||||
- The certificate generation may take up to 24h.
|
||||
- Several attempts to validate your certificate are made during the five days following the
|
||||
moment you add your domain name in your database's settings.
|
||||
- If you already use another service, you can keep using it or simply change for Odoo.
|
||||
|
||||
.. _domain-name/web-base-url:
|
||||
|
||||
Web base URL of a database
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. note::
|
||||
If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name
|
||||
with your website <domain-name/website-map>`.
|
||||
|
||||
The **web base URL** of a database, or **root URL** affects your main website address and all the
|
||||
links sent to your customers (e.g., quotations, portal links, etc.).
|
||||
|
||||
To configure it, access your Odoo database with your custom address, then log in as an administrator
|
||||
of your database (any user in the *Settings* group) from the login screen.
|
||||
|
||||
.. warning::
|
||||
Connecting to your database with the original Odoo subdomain address (e.g., ``example.odoo.com``
|
||||
also updates the web base URL of your database. See below to prevent these automatic updates.
|
||||
|
||||
Alternatively, you can do it manually. To do so, activate the :ref:`developer mode
|
||||
<developer-mode>`, then go to :menuselection:`Settings --> Technical --> System Parameters`.
|
||||
|
||||
Find the key called ``web.base.url`` (or create it if it does not exist) and enter the full address
|
||||
of your website as value, such as ``https://www.example.com``.
|
||||
|
||||
.. note::
|
||||
The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash
|
||||
(``/``).
|
||||
|
||||
To prevent the automatic update of the web base URL when an administrator logs in the database, you
|
||||
can create the following System Parameter:
|
||||
|
||||
- key: ``web.base.url.freeze``
|
||||
- value: ``True``
|
||||
|
||||
.. _domain-name/website-map:
|
||||
|
||||
Map your domain name with your website
|
||||
======================================
|
||||
|
||||
Mapping your domain name to your website isn't the same as mapping it with your database:
|
||||
|
||||
- It defines your domain name as the main one for your website, helping search engines to index your
|
||||
website properly.
|
||||
- It defines your domain name as the base URL for your database, including the portal links sent by
|
||||
email to your customers.
|
||||
- If you have multiple websites, it maps your domain name with the appropriate website.
|
||||
|
||||
Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple
|
||||
websites, select the one you want to configure.
|
||||
|
||||
In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
|
||||
``https://www.example.com``) and click on :guilabel:`Save`.
|
||||
|
||||
.. image:: domain_names/website-settings.png
|
||||
:align: center
|
||||
:alt: Configuring https://www.example.com as the Domain of the website
|
||||
|
||||
.. warning::
|
||||
Mapping your domain name with your Odoo website prevents Google from indexing both your custom
|
||||
domain name ``www.example.com`` and your original odoo database address ``example.odoo.com``.
|
||||
|
||||
If both addresses are already indexed, it may take some time before Google removes the indexation
|
||||
of the second address. You may also try using the `Google Search Console
|
||||
<https://search.google.com/search-console/welcome>`_ to fix this.
|
||||
|
||||
.. note::
|
||||
If you have multiple websites and companies on your database, make sure that you select the
|
||||
right :guilabel:`Company` in the website settings, next to the :guilabel:`Domain` settings. Doing
|
||||
so indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
|
||||
the company in use.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/email_communication/email_servers`
|
BIN
content/administration/maintain/domain_names/manage.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
content/administration/maintain/domain_names/odoo-sh-map.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
content/administration/maintain/domain_names/online-map.png
Normal file
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 38 KiB |
BIN
content/administration/maintain/domain_names/register-search.png
Normal file
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 7.2 KiB |
@ -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 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).
|
||||
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).
|
||||
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!
|
||||
|
||||
|
@ -9,7 +9,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 Epiration Date in the About menu (Odoo 9) or in the Settings Dashboard
|
||||
can check this Expiration Date in the About menu (Odoo 9) or in the Settings Dashboard
|
||||
(Odoo 10).
|
||||
|
||||
Registration Error Message
|
||||
|
@ -35,14 +35,26 @@ Several actions are available:
|
||||
Upgrade
|
||||
=======
|
||||
|
||||
Upgrade the database to the latest Odoo version.
|
||||
If you are *not* on the latest **Online version**, you should receive an invitation to :doc:`upgrade
|
||||
<../upgrade>` your database. A **Rolling Release button** on your database's main screen proposes an
|
||||
upgrade to the latest version (e.g., 13.0 to 15.1).
|
||||
|
||||
.. 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.
|
||||
.. important::
|
||||
- | **If your Odoo database's version is lower than the latest major release:**
|
||||
| You must upgrade your database within two months. After these two months, an automatic
|
||||
upgrade is initiated.
|
||||
- | **If your Odoo database's version is equal to or higher than the latest major release:**
|
||||
| You can disregard the invitation to upgrade as you probably wouldn't benefit from new
|
||||
features every two months.
|
||||
|
||||
.. note::
|
||||
Versions that are not supported anymore become deprecated and need to be updated to avoid
|
||||
security issues. We recommend you initiate the upgrade of the database yourself, as this method
|
||||
allows you to request a test upgrade of your database to check for any discrepancies.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../upgrade/process`
|
||||
- :doc:`../upgrade`
|
||||
- :doc:`supported_versions`
|
||||
|
||||
.. _online/duplicate:
|
||||
|
||||
@ -83,7 +95,7 @@ Domains
|
||||
Configure custom domains to access the database via another URL.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/websites/website/publish/domain_name`
|
||||
- :doc:`domain_names`
|
||||
|
||||
.. _online/tags:
|
||||
|
||||
|
@ -5,13 +5,15 @@
|
||||
Supported versions
|
||||
==================
|
||||
|
||||
|
||||
Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
|
||||
|
||||
Users hosted on **Odoo Online** may use intermediary versions (sometimes called *SaaS versions*) that are
|
||||
supported as well. These versions are not published for Odoo.sh or On-Premise
|
||||
installations.
|
||||
.. note::
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online <online>`
|
||||
hosting every two months. Odoo Online users can then benefit from the latest features of Odoo.
|
||||
|
||||
- Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly.
|
||||
- Online versions are *not* released for Odoo.sh and On-Premise installations.
|
||||
- Online versions are listed below as *SaaS*.
|
||||
|
||||
What's the support status of my Odoo?
|
||||
=====================================
|
||||
@ -23,36 +25,39 @@ This matrix shows the support status of every version.
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
||||
+=================+=============+==========+=============+================+========================+
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 15.0** | |green| | |green| | |green| | October 2021 | October 2024 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 14.0** | |green| | |green| | |green| | October 2020 | October 2023 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 13.0** | |green| | |green| | |green| | October 2019 | October 2022 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 12.saas~3 | |orange| | N/A | N/A | August 2019 | |
|
||||
| Odoo saas~12.3 | |red| | N/A | N/A | August 2019 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 12.0** | |orange| | |orange| | |red| | October 2018 | October 2021 |
|
||||
| **Odoo 12.0** | |red| | |red| | |red| | October 2018 | October 2021 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 11.saas~3 | |orange| | N/A | N/A | April 2018 | |
|
||||
| Odoo saas~11.3 | |red| | N/A | N/A | April 2018 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 11.0** | |orange| | |orange| | |red| | October 2017 | October 2020 |
|
||||
| **Odoo 11.0** | |red| | |red| | |red| | October 2017 | October 2020 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 10.saas~15 | |orange| | N/A | N/A | March 2017 | |
|
||||
| Odoo 10.saas~15 | |red| | N/A | N/A | March 2017 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 10.saas~14 | |orange| | N/A | N/A | January 2017 | |
|
||||
| Odoo 10.saas~14 | |red| | N/A | N/A | January 2017 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 10.0** | |orange| | |orange| | |red| | October 2016 | October 2019 |
|
||||
| **Odoo 10.0** | |red| | |red| | |red| | October 2016 | October 2019 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 9.saas~11 | |orange| | N/A | N/A | May 2016 | |
|
||||
| Odoo 9.saas~11 | |red| | N/A | N/A | May 2016 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 9.0** | |orange| | N/A | |red| | October 2015 | October 2018 |
|
||||
| **Odoo 9.0** | |red| | N/A | |red| | October 2015 | October 2018 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 8.saas~6 | |orange| | N/A | N/A | February 2015 | |
|
||||
| Odoo 8.saas~6 | |red| | N/A | N/A | February 2015 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 8.0** | |orange| | N/A | |red| | September 2014 | October 2017 |
|
||||
| **Odoo 8.0** | |red| | N/A | |red| | September 2014 | October 2017 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
||||
|
||||
.. note::
|
||||
|
||||
|green| Supported version
|
||||
@ -61,11 +66,8 @@ This matrix shows the support status of every version.
|
||||
|
||||
N/A Never released for this platform
|
||||
|
||||
|orange| Some of our older customers may still run this version on our Odoo Online servers, we provide help only on blocking issues and advise you to upgrade.
|
||||
|
||||
🏁 Future version, not released yet
|
||||
|
||||
|
||||
.. This is an awful way to display colored circles but "Large Green Circle Emoji" was only released
|
||||
in 2019 (see https://unicode-table.com/en/1F7E2/). Let's wait a few more years...
|
||||
|
||||
@ -75,9 +77,6 @@ This matrix shows the support status of every version.
|
||||
.. |red| image:: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMzIuMTkgMjMyLjE5Ij48Y2lyY2xlIGN4PSIxMTYuMDkiIGN5PSIxMTYuMDkiIHI9IjExNi4wOSIgc3R5bGU9ImZpbGw6I2QwMDAwMCIvPjwvc3ZnPg==
|
||||
:width: 15
|
||||
|
||||
.. |orange| image:: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMzIuMTkgMjMyLjE5Ij48Y2lyY2xlIGN4PSIxMTYuMDkiIGN5PSIxMTYuMDkiIHI9IjExNi4wOSIgc3R5bGU9ImZpbGw6I2ZmYTcwMCIvPjwvc3ZnPg==
|
||||
:width: 15
|
||||
|
||||
I run an older version of Odoo/OpenERP/TinyERP
|
||||
==============================================
|
||||
|
||||
|
@ -213,6 +213,8 @@ 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.
|
||||
@ -382,7 +384,9 @@ 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 :ref:`Discuss app documentation <discuss-email_servers-spf-compliant>`.
|
||||
The configuration steps are explained in the documentation about :ref:`SPF
|
||||
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
|
||||
|
||||
|
||||
.. Warning::
|
||||
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
||||
|
@ -1,12 +1,257 @@
|
||||
:nosearch:
|
||||
:show-content:
|
||||
|
||||
.. |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
|
||||
=======
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
upgrade/process
|
||||
upgrade/odoo_sh
|
||||
upgrade/service_level
|
||||
upgrade/faq
|
||||
upgrade/online_hosting
|
||||
upgrade/odoo_sh
|
||||
upgrade/on_premise
|
||||
upgrade/faq
|
||||
|
||||
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|
|
||||
|
||||
.. seealso::
|
||||
- :ref:`upgrade/sla`
|
||||
|
||||
.. _upgrade/process-workflow:
|
||||
|
||||
Process workflow
|
||||
================
|
||||
|
||||
The upgrade process in a nutshell:
|
||||
|
||||
#. You create a test upgrade request.
|
||||
#. Odoo processes the request automatically by running the database through an upgrade script, which
|
||||
takes between 20 and 120 minutes.
|
||||
#. 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 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 Odoo Online).
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Upgrade process for Odoo Online (SaaS) <upgrade/online_hosting>`
|
||||
- :doc:`Upgrade process for Odoo.sh <upgrade/odoo_sh>`
|
||||
- :doc:`Upgrade process for On-Premise <upgrade/on_premise>`
|
||||
|
||||
.. _upgrade/testing-phase:
|
||||
|
||||
Testing
|
||||
=======
|
||||
|
||||
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, :ref:`report your issues <upgrade/test-assistance>` and :ref:`request
|
||||
a new test database <upgrade/test-db-request>` when the reported issues are fixed in the upgrade
|
||||
script.
|
||||
|
||||
If you do not find any discrepancies, you can move on to the upgrade of your production database.
|
||||
|
||||
.. important::
|
||||
A test database is only intended for testing and remains completely unrelated to your present or
|
||||
future production database. Any data you add, or changes you make, will not be reflected in your
|
||||
upgraded production database.
|
||||
|
||||
.. note::
|
||||
Test databases are neutered and features are disabled to prevent them from having an impact on
|
||||
the production database:
|
||||
|
||||
#. The serial number of the database is modified (to prevent it from sending information as if it
|
||||
was the production database).
|
||||
#. The :ref:`base URL of the database <domain-name/web-base-url>` is reset to
|
||||
``http://localhost:8069`` and the email domain to ``localhost``.
|
||||
#. Scheduled actions are disabled (the calendar synchronization, the bank statement
|
||||
synchronization, the planned automated actions, the fetching of incoming mail servers, etc.).
|
||||
#. Outgoing mail servers are disabled by archiving the existing ones and adding a
|
||||
fake/non-working one.
|
||||
#. Payment providers and delivery carriers are reset to test environment.
|
||||
#. Accounting localization Electronic Data Interchange (EDI) services are disabled.
|
||||
#. A system parameter is set to tell the database has been neutered.
|
||||
|
||||
.. _upgrade/test-db-request:
|
||||
|
||||
Request a test database
|
||||
=======================
|
||||
|
||||
Follow the instructions available per hosting type on the `website form
|
||||
<https://upgrade.odoo.com>`_ and select *Testing* purpose.
|
||||
|
||||
.. image:: upgrade/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
|
||||
database individually. 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:: 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. 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.
|
||||
|
||||
.. 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
|
||||
=====================
|
||||
|
||||
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.
|
||||
|
||||
.. important::
|
||||
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.
|
||||
|
||||
.. 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:
|
||||
|
||||
Help
|
||||
====
|
||||
|
||||
.. _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).
|
||||
|
||||
.. seealso::
|
||||
:doc:`maintain/supported_versions`
|
||||
|
||||
.. _upgrade/sla:
|
||||
|
||||
Service Level Agreement
|
||||
=======================
|
||||
|
||||
What is covered by the Enterprise Licence?
|
||||
------------------------------------------
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
|
||||
following services at all times.
|
||||
|
||||
The upgrade of:
|
||||
|
||||
* standard applications
|
||||
* Studio customization (as long as the :guilabel:`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|
|
||||
|
||||
.. seealso::
|
||||
- :doc:`upgrade/faq`
|
||||
- :doc:`odoo_sh`
|
||||
- :doc:`maintain/supported_versions`
|
@ -47,13 +47,13 @@ In general, the "smaller" the database, the quickest the upgrade request is comp
|
||||
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.
|
||||
You can expect the time it takes for the platform to upgrade the test database to be similar to the
|
||||
production upgrade.
|
||||
|
||||
.. _upgrade-faq/project:
|
||||
|
||||
The upgrade project
|
||||
===================
|
||||
Duration of 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.
|
||||
@ -80,6 +80,17 @@ partners, or you can do it yourself.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _upgrade-faq/upgrade-or-migration:
|
||||
|
||||
Upgrade or Migration
|
||||
====================
|
||||
|
||||
An upgrade is switching to a newer version of Odoo, while a migration reflects the change of
|
||||
:ref:`editions <upgrade-faq/editions-change>` or change of :ref:`hosting type
|
||||
<upgrade-faq/hosting-types-switch>`.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _upgrade-faq/editions-change:
|
||||
|
||||
Editions change (from Community to Enterprise)
|
||||
@ -88,7 +99,9 @@ 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|
|
||||
.. note::
|
||||
If you need assistance on this matter, please contact us via the `Odoo Support page
|
||||
<https://www.odoo.com/help>`_.
|
||||
|
||||
.. seealso::
|
||||
- `Editions <https://www.odoo.com/page/editions>`_
|
||||
@ -105,6 +118,28 @@ Open the following link to get :doc:`more information about how to change your h
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. _upgrade-faq/upgrade-report:
|
||||
|
||||
The Upgrade Report
|
||||
==================
|
||||
|
||||
When an upgrade request completes successfully (test or production), you receive an email
|
||||
notification about it that includes an 'Upgrade Report'. This report is also sent to you via the
|
||||
Discuss app. It contains valuable information regarding changes that occurred during the upgrade.
|
||||
While it serves as a guide to possible issues to look out for, it is not an exhaustive list. It
|
||||
remains imperative that you test the upgraded database thoroughly and report any discrepancies you
|
||||
might find, before you decide to upgrade your production database.
|
||||
|
||||
.. _upgrade-faq/custom-views:
|
||||
|
||||
Custom views
|
||||
============
|
||||
|
||||
During the upgrade, some custom views might get disabled for technical reasons. Therefore they might
|
||||
have to be fixed after the upgrade. The :ref:`Upgrade Report <upgrade-faq/upgrade-report>` that is
|
||||
generated after the upgrade is available in the Discuss app, and lists all the custom views that
|
||||
might be impacted by this.
|
||||
|
||||
.. _upgrade-faq/release-notes:
|
||||
|
||||
Release Notes by version
|
||||
@ -114,38 +149,37 @@ Open our `Release Note <https://www.odoo.com/page/release-notes>`_ page to get a
|
||||
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>`_
|
||||
`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)**
|
||||
(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.
|
||||
|
||||
@ -168,4 +202,27 @@ The uploaded and migrated databases uploaded to the Upgrade platform are kept fo
|
||||
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>`_.
|
||||
Regulation page <https://www.odoo.com/gdpr>`_.
|
||||
|
||||
Rolling Release (applicable to Odoo Online databases)
|
||||
=====================================================
|
||||
|
||||
This feature allows customers to upgrade their database directly from a message prompt sent to the
|
||||
database administrator as soon as the new version is released. Odoo first tests the upgrade to the
|
||||
next version. The rolling release upgrade option is displayed if the automated tests are successful.
|
||||
The message offers two options:
|
||||
|
||||
#. To 'Upgrade Now', which immediately triggers the upgrade of your live production database.
|
||||
|
||||
#. To take you to your `database manager <https://www.odoo.com/my/databases/>`_ where you can
|
||||
`request an upgraded test database <https://upgrade.odoo.com/#online/>`_ and check the upgraded
|
||||
test database for any discrepancies.
|
||||
|
||||
When you choose to proceed with the production upgrade directly, make sure all users have saved
|
||||
their work and are logged out. The upgrade takes approximately 15 minutes. During this time your
|
||||
database is unreachable. If you notice any problem after the upgrade, please report it via the `Odoo
|
||||
Support page <https://www.odoo.com/help>`_.
|
||||
|
||||
.. note::
|
||||
If you are using the Website or Studio app, we recommend you always do a test upgrade before
|
||||
upgrading your production instance.
|
||||
|
@ -1,46 +1,66 @@
|
||||
|
||||
=======================
|
||||
Odoo.sh version upgrade
|
||||
=======================
|
||||
=======
|
||||
Odoo.sh
|
||||
=======
|
||||
|
||||
Download and Upload your database
|
||||
=================================
|
||||
Test upgrade request
|
||||
====================
|
||||
|
||||
Download a dump of your database (from the :ref:`Builds view <odoosh-gettingstarted-builds-download-dump>`), choose the
|
||||
exact copy and without filestore options. Upload the .sql.gz dump on https://upgrade.odoo.com/upload and
|
||||
select the Testing Purpose. If you have custom code, you can choose to have it upgraded by us, or do it yourself. Once
|
||||
it's processed, you'll get a dump of the database in return.
|
||||
Download a dump of your database (from the :ref:`Builds view
|
||||
<odoosh-gettingstarted-builds-download-dump>`), choose the **exact copy** and **without filestore**
|
||||
options. Upload the .sql.gz dump on https://upgrade.odoo.com/upload and select the testing purpose.
|
||||
Once it's processed, you'll get a dump of the database in return.
|
||||
|
||||
.. warning::
|
||||
Do *not* upload *backups* of your production database (found in the Backups tab of the production branch) as these
|
||||
are incompatible with the Upgrade platform - they contain your complete sources, etc. that are not needed for the
|
||||
upgrade. Make sure to download a **Dump** instead - either through the Backups tab using the *Download Dump* button
|
||||
or through the Builds page by using the *Download Dump* entry of the contextual menu of your latest production build.
|
||||
.. important::
|
||||
To have the most up-to-date test version of your database, create a backup of your production
|
||||
database just before creating your request. Upload it in your staging branch, select **Exact
|
||||
dump** and **Without filestore**, and then click *start*.
|
||||
|
||||
Test your upgraded database
|
||||
===========================
|
||||
|
||||
Create a staging branch that will run the upgraded database. Either make sure your production branch's code is
|
||||
compatible between the two Odoo versions and fork your production branch, or make a new staging branch containing
|
||||
the upgraded code.
|
||||
At the beginning of your upgrade project, make sure that you create a new staging branch for testing
|
||||
purposes by forking your main branch.
|
||||
|
||||
Once the staging build is done (it doesn't matter if it failed due to the version incompatibility), import your
|
||||
upgraded dump in the backups tab of the branch. The platform will automatically detect the version of the dump and
|
||||
change the version of Odoo's source code to the corresponding version for the build.
|
||||
Once the staging build is complete (it doesn't matter if it failed due to the version
|
||||
incompatibility), import your upgraded dump in the *Backups* tab of the branch.
|
||||
|
||||
.. note::
|
||||
The platform automatically detects the version of the dump and changes the version of Odoo's
|
||||
source code to the corresponding version of the build.
|
||||
|
||||
Test the upgraded database and make sure everything runs as it's supposed to.
|
||||
|
||||
Replace your existing production database
|
||||
=========================================
|
||||
Upgrade your production database
|
||||
================================
|
||||
|
||||
Once you've tested everything and you're satisfied, start the process over to get an up-to-date upgraded dump:
|
||||
Once you've tested everything and you're satisfied, start the process over to get an up-to-date
|
||||
upgraded dump:
|
||||
|
||||
* Make a new dump of your production database (as described in step 1)
|
||||
* Upload it on upgrade.odoo.com and select the Production purpose
|
||||
* Receive the newly upgraded dump and import it in your production branch. The build might get marked as failed because
|
||||
the platform will run it with the upgraded databases' Odoo version together with the old custom code.
|
||||
* Receive the newly upgraded dump and import it in your production branch. The build might get
|
||||
marked as failed because the platform will run it with the upgraded databases' Odoo version
|
||||
together with the old custom code.
|
||||
* Merge or commit the upgraded custom code in the production branch
|
||||
|
||||
If anything goes wrong, remember you can restore a backup. The platform will always make one before you make any
|
||||
Odoo.sh operation on the production database. If the restored backup comes from a previous version, the platform will
|
||||
detect it and change the project's Odoo version back if it needs to.
|
||||
If anything goes wrong, remember you can restore a backup. The platform will always make one before
|
||||
you make any Odoo.sh operation on the production database. If the restored backup comes from a
|
||||
previous version, the platform will detect it and change the project's Odoo version back if it needs
|
||||
to.
|
||||
|
||||
Custom modules (if applicable)
|
||||
==============================
|
||||
|
||||
The upgrade of a database that contains custom modules is a 2 step process.
|
||||
|
||||
#. The standard upgrade is done when your upgrade request is completed.
|
||||
#. Your custom modules also need to be upgraded to keep them compatible with the new version.
|
||||
|
||||
Depending on your contract, the upgrade of your custom modules can be done
|
||||
- by yourself
|
||||
- by your Partner
|
||||
- by Odoo (if you hold a subscription to 'Maintenance of Customizations')
|
||||
|
||||
.. seealso::
|
||||
- :ref:`upgrade/sla`
|
||||
|
59
content/administration/upgrade/on_premise.rst
Normal file
@ -0,0 +1,59 @@
|
||||
==========
|
||||
On-Premise
|
||||
==========
|
||||
|
||||
Test upgrade request
|
||||
====================
|
||||
|
||||
There are two ways to create your upgrade request.
|
||||
|
||||
Upgrade request via command line
|
||||
--------------------------------
|
||||
|
||||
For technically-advanced users and partners, the upgrade process can be initiated via the following
|
||||
command line on the server where the database is hosted:
|
||||
|
||||
:command:`python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t
|
||||
<target version>`
|
||||
|
||||
The above command creates the database dump, sends it to the upgrade platform, and initiates the
|
||||
automated upgrade process. During the upgrade, you can follow the live logs on your screen.
|
||||
Once the upgrade process is completed successfully, the upgraded database is restored onto the
|
||||
server (as a duplicate test database).
|
||||
|
||||
Upgrade request via the Odoo Upgrade Portal
|
||||
-------------------------------------------
|
||||
|
||||
#. Download a recent copy of your database and select the option :guilabel:`pg_dump custom format
|
||||
(without filestore)`.
|
||||
#. Upload this dump file at https://upgrade.odoo.com and select *Testing* as the aim.
|
||||
Odoo performs the automated upgrade process. Once it is completed, you receive an email with a
|
||||
link to download the upgrade database dump file.
|
||||
#. Import the upgraded database into your on-premise environment and manually test all processes and
|
||||
workflows.
|
||||
|
||||
.. note::
|
||||
- For security reasons, only the person who submitted the upgrade request is able to download it.
|
||||
- Any problem found during testing should be reported via the `helpdesk
|
||||
<https://odoo.com/help>`_.
|
||||
|
||||
Upgrade your production database
|
||||
================================
|
||||
|
||||
Once you have completed the testing successfully, you can proceed to upgrade your live database in
|
||||
production. Download your upgraded database from the link in the email and import it onto your live
|
||||
environment.
|
||||
|
||||
Custom modules (if applicable)
|
||||
==============================
|
||||
|
||||
The upgrade of a database that contains custom modules is a two-step process.
|
||||
|
||||
#. The standard upgrade is done when your upgrade request is completed.
|
||||
#. Your custom modules also need to be upgraded to keep them compatible with the new version.
|
||||
|
||||
Depending on your contract, the upgrade of your custom modules can be done
|
||||
|
||||
#. by yourself.
|
||||
#. by your Partner.
|
||||
#. by Odoo (if you hold a subscription to 'Maintenance of Customizations').
|
28
content/administration/upgrade/online_hosting.rst
Normal file
@ -0,0 +1,28 @@
|
||||
==================
|
||||
Odoo Online (SaaS)
|
||||
==================
|
||||
|
||||
Requesting a test upgrade
|
||||
=========================
|
||||
|
||||
#. Go to your `database manager <https://www.odoo.com/my/databases/>`_
|
||||
#. Click on your profile icon and select *My Databases*.
|
||||
|
||||
.. image:: online_hosting/accessing-my-databases.png
|
||||
:alt: Selecting My Databases under my profile
|
||||
|
||||
#. Click on the action settings icon next to your main database and select the *Upgrade* option.
|
||||
|
||||
.. image:: online_hosting/upgrade-option.png
|
||||
:alt: Selecting the action settings icon
|
||||
|
||||
#. In the pop-up message that will appear, select Test Upgrade.
|
||||
|
||||
.. image:: online_hosting/select-test-upgrade.png
|
||||
:alt: Selecting test upgrade
|
||||
|
||||
#. This triggers the automated upgrade process. A confirmation email is then sent to you with the
|
||||
the link to the upgraded database or to provide information if the upgrade failed.
|
||||
|
||||
.. note::
|
||||
You can also see and access your test database from your *My Databases* page.
|
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 17 KiB |
BIN
content/administration/upgrade/online_hosting/upgrade-option.png
Normal file
After Width: | Height: | Size: 5.4 KiB |
@ -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 |
Before Width: | Height: | Size: 9.5 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 2.9 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|
|
BIN
content/administration/upgrade/test-assistance.png
Normal file
After Width: | Height: | Size: 8.0 KiB |
BIN
content/administration/upgrade/test-purpose.png
Normal file
After Width: | Height: | Size: 6.0 KiB |
@ -10,4 +10,5 @@ Finance
|
||||
finance/accounting
|
||||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/sign
|
||||
finance/payment_acquirers
|
@ -1,8 +1,8 @@
|
||||
:nosearch:
|
||||
|
||||
===========
|
||||
Bank & Cash
|
||||
===========
|
||||
=============
|
||||
Bank and cash
|
||||
=============
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
==========
|
||||
Bank Feeds
|
||||
Bank feeds
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,5 +1,5 @@
|
||||
===============
|
||||
Bank Statements
|
||||
Bank statements
|
||||
===============
|
||||
|
||||
Importing your bank statements in Odoo Accounting allows you to keep track of the financial
|
||||
|
@ -1,5 +1,5 @@
|
||||
======================================
|
||||
Bank Synchronization: Automatic Import
|
||||
Bank synchronization: Automatic import
|
||||
======================================
|
||||
|
||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===================
|
||||
Bank Reconciliation
|
||||
Bank reconciliation
|
||||
===================
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
====================
|
||||
Fiscal Localizations
|
||||
Fiscal localizations
|
||||
====================
|
||||
|
||||
.. toctree::
|
||||
|
@ -17,6 +17,7 @@ Localizations
|
||||
localizations/indonesia
|
||||
localizations/italy
|
||||
localizations/italy_IT
|
||||
localizations/luxembourg
|
||||
localizations/mexico
|
||||
localizations/netherlands
|
||||
localizations/peru
|
||||
|
@ -7,7 +7,7 @@ Webinars
|
||||
|
||||
Below you can find videos with a general description of the localization, and how to configure it.
|
||||
|
||||
- `VIDEO WEBINAR OF A COMPLETE DEMO <https://youtu.be/BOzucXRUZDE>`_.
|
||||
- `VIDEO WEBINAR OF A COMPLETE DEMO <https://youtu.be/Y83p3YK1lFU>`_.
|
||||
|
||||
Introduction
|
||||
============
|
||||
|
@ -2,44 +2,360 @@
|
||||
France
|
||||
======
|
||||
|
||||
FEC
|
||||
===
|
||||
.. _france/fec:
|
||||
|
||||
If you have installed the French Accounting, you will be able to download the FEC.
|
||||
For this, go in :menuselection:`Accounting --> Reporting --> France --> 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.
|
||||
|
||||
.. tip::
|
||||
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.
|
||||
|
||||
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>`_
|
||||
|
||||
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 an anti-fraud software?
|
||||
-----------------------------------------------------
|
||||
Is my company required to use 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
|
||||
@ -47,135 +363,143 @@ 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 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
|
||||
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
|
||||
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).
|
||||
|
||||
* For multi-companies environments, such closings are performed by company.
|
||||
- Closings compute the totals for journal entries of sales journals (Journal Type = Sales).
|
||||
|
||||
* 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.
|
||||
- For multi-companies environments, such closings are performed by company.
|
||||
|
||||
* 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.
|
||||
- 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.
|
||||
|
||||
.. 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`.
|
||||
- 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`.
|
||||
|
||||
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
|
||||
in the module’s functions caused by 3rd party applications not certified by Odoo.
|
||||
|
||||
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 will find more information about this legislation in the official documents:
|
||||
You can find more information about this legislation in the following official documents.
|
||||
|
||||
* `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>`_
|
||||
.. 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>`_
|
||||
|
@ -30,8 +30,7 @@ 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/productivity/discuss/advanced/email_servers>`.
|
||||
può consultare la relativa :doc:`guida </applications/general/email_communication/email_servers>`.
|
||||
|
||||
- Indirizzo PEC dell’Azienda, tale indirizzo deve essere lo stesso
|
||||
registrato presso l’Agenzia delle Entrate per l’utilizzo dei servizi
|
||||
|
@ -0,0 +1,86 @@
|
||||
==========
|
||||
Luxembourg
|
||||
==========
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
:ref:`Install <general/install>` the following modules to get all the features of the Luxembourgish
|
||||
localization:
|
||||
|
||||
- :guilabel:`Luxembourg - Accounting` (module's technical name: ``l10n_lu``).
|
||||
- :guilabel:`Luxembourg - Accounting Reports` (module's technical name: ``l10n_lu_reports``).
|
||||
- :guilabel:`Luxembourg - Annual VAT Report` (module's technical name: ``l10n_lu_reports_annual_vat``).
|
||||
|
||||
.. image:: luxembourg/modules.png
|
||||
:align: center
|
||||
:alt: The three modules for the Luxembourgish Fiscal Localization Package on Odoo
|
||||
|
||||
.. tip::
|
||||
Installing the module :guilabel:`Luxembourg - Accounting Reports` installs all three modules at
|
||||
once.
|
||||
|
||||
Standard Chart of Accounts - PCN 2020
|
||||
=====================================
|
||||
|
||||
Odoo's :doc:`Fiscal Localization Package <../overview/fiscal_localization_packages>` for Luxembourg
|
||||
includes the current **Standard Chart of Accounts (PCN 2020)**, effective since January 2020.
|
||||
|
||||
eCDF tax return
|
||||
===============
|
||||
|
||||
Tax returns in Luxembourg require a specific XML file to upload on the eCDF.
|
||||
|
||||
To download it, go to :menuselection:`Accounting --> Report --> Audit Reports --> Tax Report`, and
|
||||
click on :guilabel:`Export eCDF declaration`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../reporting/declarations/tax_returns`
|
||||
- `Platform for electronic gathering of financial data (eCDF) <http://www.ecdf.lu>`_
|
||||
|
||||
Annual tax report
|
||||
=================
|
||||
|
||||
You can generate an XML file to electronically file your annual tax report with the tax office.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Report --> Luxembourg --> Annual Tax Report`, click
|
||||
on :guilabel:`Create`, then define the annual period in the :guilabel:`Year` field.
|
||||
|
||||
The **simplified annual declaration** is automatically generated. You can manually add values in all
|
||||
the fields to get a **complete annual declaration**.
|
||||
|
||||
.. image:: luxembourg/annual-tax-report.png
|
||||
:align: center
|
||||
:alt: Odoo Accounting (Luxembourg localization) generates an annual tax declaration.
|
||||
|
||||
To help you complete it, you can use the information provided on the :guilabel:`Tax Report`. To do
|
||||
so, go to :menuselection:`Accounting --> Report --> Audit Reports --> Tax Report`, then click on the
|
||||
:guilabel:`Tax Report` dropdown menu and select the type of report you want to display.
|
||||
|
||||
.. image:: luxembourg/tax-report-types.png
|
||||
:align: center
|
||||
:alt: Dropdown menu to select the type of Tax Report
|
||||
|
||||
Finally, click on :guilabel:`Export XML` to download the XML file.
|
||||
|
||||
.. note::
|
||||
This feature requires the module :guilabel:`Luxembourg - Annual VAT Report` to be installed.
|
||||
|
||||
FAIA (SAF-T)
|
||||
============
|
||||
|
||||
**FAIA (Fichier d’Audit Informatisé AED)** is a standardized and structured file that facilitates
|
||||
the exchange of information between the taxpayers' accounting system and the tax office. It is the
|
||||
Luxembourgish version of the OECD-recommended SAF-T (Standard Audit File for Tax).
|
||||
|
||||
Odoo can generate an XML file that contains all the content of an accounting period according to the
|
||||
rules imposed by the Luxembourg tax authorities on digital audit files.
|
||||
|
||||
.. note::
|
||||
This feature requires the module :guilabel:`Luxembourg - Accounting Reports` to be installed.
|
||||
|
||||
Export FAIA file
|
||||
----------------
|
||||
|
||||
Go to :menuselection:`Accounting --> Reporting --> Audit Reports --> General Ledger`, then click on
|
||||
:guilabel:`FAIA`.
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 6.0 KiB |
@ -555,6 +555,14 @@ be *In Payment* since the payment will be effectively validated when it is bank
|
||||
associated with the invoice, it must be valid so that the stamped payment complement can be
|
||||
created.
|
||||
|
||||
.. warning::
|
||||
- When making a payment in MXN for an invoice in USD, the payment must be created using the
|
||||
:guilabel:`Register Payment` button **on the invoice view** and not separately as a payment.
|
||||
Otherwise, the payment CFDI is not correctly generated.
|
||||
- As such, a payment in MXN cannot be used to pay multiple invoices in USD. Rather, the payment
|
||||
should be separated into multiple payments created using the :guilabel:`Register Payment`
|
||||
button on the corresponding invoices.
|
||||
|
||||
Register PUE Payments
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
============================
|
||||
Fiscal Localization Packages
|
||||
Fiscal localization packages
|
||||
============================
|
||||
|
||||
**Fiscal Localization Packages** are country-specific modules that install pre-configured taxes,
|
||||
|
@ -6,7 +6,7 @@ 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.
|
||||
|
||||
Fiscal Localization Packages available
|
||||
Fiscal localization packages available
|
||||
======================================
|
||||
|
||||
- Algeria - Accounting
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===============
|
||||
Getting Started
|
||||
Getting started
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
=====================
|
||||
Initial Configuration
|
||||
Initial configuration
|
||||
=====================
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,8 +1,8 @@
|
||||
:nosearch:
|
||||
|
||||
===========
|
||||
========
|
||||
Analytic
|
||||
===========
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
================
|
||||
Account Payables
|
||||
Account payables
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===============
|
||||
Vendor Payments
|
||||
Vendor payments
|
||||
===============
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,5 +1,5 @@
|
||||
=============
|
||||
Pay by Checks
|
||||
Pay by checks
|
||||
=============
|
||||
|
||||
Once you decide to pay a supplier bill, you can select to pay by check.
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
============
|
||||
Vendor Bills
|
||||
Vendor bills
|
||||
============
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,5 +1,5 @@
|
||||
===================================
|
||||
Non-current Assets and Fixed Assets
|
||||
Non-current assets and fixed assets
|
||||
===================================
|
||||
|
||||
**Non-current Assets**, also known as **long-term assets**, are investments that are expected to be
|
||||
|
@ -1,5 +1,5 @@
|
||||
=================================
|
||||
Deferred Expenses and Prepayments
|
||||
Deferred expenses and prepayments
|
||||
=================================
|
||||
|
||||
**Deferred expenses** and **prepayments** (also known as **prepaid expense**), are both costs that
|
||||
|
@ -1,5 +1,5 @@
|
||||
===================
|
||||
Manage vendor Bills
|
||||
Manage vendor bills
|
||||
===================
|
||||
|
||||
The **Purchase** application allows you to manage your purchase orders,
|
||||
|
@ -1,15 +1,18 @@
|
||||
==============================================================
|
||||
Digitize Vendor Bills with Optical Character Recognition (OCR)
|
||||
Digitize vendor bills with optical character recognition (OCR)
|
||||
==============================================================
|
||||
|
||||
Encoding bills manually can be a time-consuming task. Having a solution that allows you to digitize
|
||||
them and automatically import the data to your database reduces errors and saves you time.
|
||||
them and automatically import the data into your database reduces errors and saves you time.
|
||||
|
||||
.. important::
|
||||
`Try it out <https://www.odoo.com/app/invoice-automation>`_! Upload one of your Bills or try one of our samples.
|
||||
|
||||
Set up the feature
|
||||
==================
|
||||
|
||||
Go to :menuselection:`Accounting --> Settings --> Bill Digitalization`, and choose whether the bills
|
||||
should be processed automatically or manually.
|
||||
should be processed automatically (with OCR) or manually (on demand).
|
||||
|
||||
.. image:: media/setup_ocr.png
|
||||
:align: center
|
||||
@ -41,7 +44,7 @@ Pricing
|
||||
=======
|
||||
|
||||
| The *Bill Digitalization* is an *In-App Purchase (IAP)* service which requires prepaid credits to
|
||||
work. Digitalizing one document consumes one credit.
|
||||
work. Digitizing one document consumes one credit.
|
||||
| To buy credits, go to :menuselection:`Accounting --> Configuration --> Settings --> Bill
|
||||
Digitalization` and click on *Buy credits*, or go to :menuselection:`Settings --> Odoo IAP` and
|
||||
click on *View My Services*.
|
||||
@ -49,4 +52,5 @@ Pricing
|
||||
.. important::
|
||||
- If you are on Odoo Online (SAAS) and have the Enterprise version, you benefit from free trial
|
||||
credits to test the feature.
|
||||
- Click `here <https://iap.odoo.com/privacy#header_4>`_ to know about our *Privacy Policy*.
|
||||
.. seealso::
|
||||
- Our `Privacy Policy <https://iap.odoo.com/privacy#header_6>`_.
|
||||
|
@ -1,5 +1,5 @@
|
||||
=================
|
||||
Purchase Receipts
|
||||
Purchase receipts
|
||||
=================
|
||||
|
||||
**Purchase Receipts** are not invoices but rather confirmations of received payments, such as a
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===================
|
||||
Account Receivables
|
||||
Account receivables
|
||||
===================
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
=================
|
||||
Customer Invoices
|
||||
Customer invoices
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,5 +1,5 @@
|
||||
=============
|
||||
Cash Rounding
|
||||
Cash rounding
|
||||
=============
|
||||
|
||||
**Cash rounding** is required when the lowest physical denomination
|
||||
|
@ -1,5 +1,5 @@
|
||||
========================
|
||||
Credit Notes and Refunds
|
||||
Credit notes and refunds
|
||||
========================
|
||||
A **credit note**, or **credit memo**, is a document issued
|
||||
to a customer that notifies them that they have been credited
|
||||
|
@ -1,5 +1,5 @@
|
||||
=================
|
||||
Deferred Revenues
|
||||
Deferred revenues
|
||||
=================
|
||||
|
||||
**Deferred revenues**, or **unearned revenue**, are payments made in advance by customers for
|
||||
|
@ -1,5 +1,5 @@
|
||||
===================================
|
||||
Payment Terms and Installment Plans
|
||||
Payment terms and installment plans
|
||||
===================================
|
||||
|
||||
**Payment Terms** specify all the conditions under which a sale is paid, mostly to ensure customers
|
||||
|
@ -1,5 +1,5 @@
|
||||
======================================
|
||||
Send your Invoices by Post (Snailmail)
|
||||
Send your invoices by post (Snailmail)
|
||||
======================================
|
||||
|
||||
Direct mail is a great way to capture individuals’ attention at a time where inboxes are always
|
||||
|
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
=================
|
||||
Customer Payments
|
||||
Customer payments
|
||||
=================
|
||||
|
||||
.. toctree::
|
||||
|
@ -1,5 +1,5 @@
|
||||
==================================================
|
||||
Batch Payments: Batch Deposits (checks, cash etc.)
|
||||
Batch payments: Batch deposits (checks, cash etc.)
|
||||
==================================================
|
||||
|
||||
A **Batch Deposit** groups multiple payments in a single batch. This allows you to deposit several
|
||||
|
@ -1,5 +1,5 @@
|
||||
=======================================
|
||||
Batch Payments: SEPA Direct Debit (SDD)
|
||||
Batch payments: SEPA Direct Debit (SDD)
|
||||
=======================================
|
||||
|
||||
SEPA, the Single Euro Payments Area, is a payment-integration initiative of the European Union for
|
||||
|
@ -1,5 +1,5 @@
|
||||
======================
|
||||
Invoice Online Payment
|
||||
Invoice online payment
|
||||
======================
|
||||
|
||||
To make it more convenient for your customers to pay the invoices you issue, you can activate the
|
||||
@ -17,7 +17,7 @@ Configuration
|
||||
Make sure your :ref:`Payment Acquirers are correctly configured <payment_acquirers/configuration>`.
|
||||
|
||||
.. note::
|
||||
By default, ":doc:`Wire Transfer </applications/general/payment_acquirers/wire_transfer>`" is the only
|
||||
By default, ":doc:`Wire Transfer </applications/finance/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/general/payment_acquirers`
|
||||
- :doc:`/applications/finance/payment_acquirers`
|
||||
|
@ -1,8 +1,8 @@
|
||||
:nosearch:
|
||||
|
||||
===========
|
||||
=========
|
||||
Reporting
|
||||
===========
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
@ -7,4 +7,5 @@ Declarations
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
declarations/tax_returns
|
||||
declarations/tax_returns
|
||||
declarations/intrastat
|
@ -0,0 +1,29 @@
|
||||
=========
|
||||
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.
|
||||
|
@ -1,5 +1,5 @@
|
||||
============================
|
||||
Tax Return (VAT Declaration)
|
||||
Tax return (VAT declaration)
|
||||
============================
|
||||
|
||||
Companies that are registered for **VAT (Value Added Tax)** must file a **Tax return** on a monthly
|
||||
|
@ -8,7 +8,6 @@ countries :
|
||||
|
||||
- **Balance Sheet**
|
||||
- **Profit and Loss**
|
||||
- **Chart of Account**
|
||||
- **Executive Summary**
|
||||
- **General Ledger**
|
||||
- **Aged Payable**
|
||||
@ -45,14 +44,6 @@ 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
|
||||
-----------------
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB |
@ -1,7 +1,7 @@
|
||||
:nosearch:
|
||||
|
||||
===========
|
||||
Fiscal Year
|
||||
Fiscal year
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
|
@ -11,6 +11,7 @@ Taxes
|
||||
taxes/default_taxes
|
||||
taxes/fiscal_positions
|
||||
taxes/eu_distance_selling
|
||||
taxes/avatax
|
||||
taxes/taxcloud
|
||||
taxes/retention
|
||||
taxes/B2B_B2C
|
||||
|
@ -0,0 +1,74 @@
|
||||
==================
|
||||
Avatax integration
|
||||
==================
|
||||
|
||||
Avatax is a tax calculation provider that can be integrated in Odoo.
|
||||
|
||||
.. _avatax/credentials:
|
||||
|
||||
Credential configuration
|
||||
========================
|
||||
|
||||
To integrate Avatax with Odoo, go to :menuselection:`Accounting --> Configuration --> Settings -->
|
||||
Taxes` and add your Avatax credentials in the :guilabel:`Avatax` section.
|
||||
|
||||
.. tip::
|
||||
If you do not yet have credentials, click on :guilabel:`How to Get Credentials`.
|
||||
|
||||
.. image:: avatax/avatax-configuration-settings.png
|
||||
:align: center
|
||||
:alt: Configure Avatax settings
|
||||
|
||||
.. _avatax/tax-mapping:
|
||||
|
||||
Tax mapping
|
||||
===========
|
||||
|
||||
The Avatax integration is available on Sale Orders and Invoices with the included Avatax fiscal
|
||||
position.
|
||||
|
||||
Before using the integration, specify an :guilabel:`Avatax Category` on the product categories.
|
||||
|
||||
.. image:: avatax/avatax-category.png
|
||||
:align: center
|
||||
:alt: Specify Avatax Category on products
|
||||
|
||||
Avatax Categories may be overridden or set on individual products as well.
|
||||
|
||||
.. image:: avatax/override-avatax-product-category.png
|
||||
:align: center
|
||||
:alt: Override product categories as needed
|
||||
|
||||
.. _avatax/address-mapping:
|
||||
|
||||
Address validation
|
||||
==================
|
||||
|
||||
Manually validate customer addresses by clicking the :guilabel:`Validate address` link in the
|
||||
customer form view.
|
||||
|
||||
.. image:: avatax/validate-customer-address.png
|
||||
:align: center
|
||||
:alt: Validate customer addresses
|
||||
|
||||
If preferred, choose to keep the newly validated address or the original address in the wizard that
|
||||
pops up.
|
||||
|
||||
.. image:: avatax/choose-customer-address.png
|
||||
:align: center
|
||||
:alt: Address validation wizard
|
||||
|
||||
.. _avatax/tax-calculation:
|
||||
|
||||
Tax calculation
|
||||
===============
|
||||
|
||||
Automatically calculate taxes on Odoo quotations and invoices with Avatax by confirming the
|
||||
documents. Alternatively, calculate the taxes manually by clicking the :guilabel:`Compute taxes
|
||||
using Avatax` button while these documents are in draft mode.
|
||||
|
||||
Use the :guilabel:`Avalara Code` field that's available on customers, quotations, and invoices to
|
||||
cross-reference data in Odoo and Avatax.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`fiscal_positions`
|
After Width: | Height: | Size: 32 KiB |
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 36 KiB |
After Width: | Height: | Size: 13 KiB |
@ -1,5 +1,5 @@
|
||||
=============
|
||||
Default Taxes
|
||||
Default taxes
|
||||
=============
|
||||
|
||||
**Default Taxes** define which :doc:`taxes <taxes>` are automatically selected when there is no
|
||||
|
@ -1,5 +1,5 @@
|
||||
===================================
|
||||
EU intra-community Distance Selling
|
||||
EU intra-community distance selling
|
||||
===================================
|
||||
|
||||
**Distance sales within the European Union** include cross-border sales of goods and services to a
|
||||
@ -14,7 +14,7 @@ While this regulation mainly applies to :doc:`eCommerce <../../../../websites/ec
|
||||
private EU consumers, it is also valid for mail order sales and telesales.
|
||||
|
||||
The Union **One-Stop Shop (OSS)** is an online portal where businesses can register for the OSS and
|
||||
declare their intra-community distance sales. Each EU member states integrates an online OSS portal.
|
||||
declare their intra-community distance sales. Each EU member state integrates an online OSS portal.
|
||||
|
||||
The **EU intra-community Distance Selling** feature helps your organization comply with this
|
||||
regulation by creating and configuring new :doc:`fiscal positions <fiscal_positions>` and
|
||||
|
@ -1,5 +1,5 @@
|
||||
==========================================
|
||||
Fiscal Positions (tax and account mapping)
|
||||
Fiscal positions (tax and account mapping)
|
||||
==========================================
|
||||
|
||||
Default taxes and accounts are set on products and customers to create new transactions on the fly.
|
||||
|