Compare commits
379 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| dc7681af00 | |||
| 7e29da60b9 | |||
| 8edb63948c | |||
| 76c781226d | |||
| fd4065b3c6 | |||
| b755d0330e | |||
| b5dbf4779a | |||
| db05d69be6 | |||
| c795231f1c | |||
| 5114140efe | |||
| dd7ab18b9e | |||
| 32cb0d8244 | |||
| 80b4cd05d3 | |||
| 421e760581 | |||
| 3bd570ae64 | |||
| 3e199d9825 | |||
| ca475f8ad5 | |||
| ae0c4d809d | |||
| 3758cd5899 | |||
| 9514d7df55 | |||
| f704ee9cc1 | |||
| 0031e37c63 | |||
| 89b550252a | |||
| 27d8dc2acd | |||
| 4367502c08 | |||
| 9988d0b214 | |||
| 665bf423ec | |||
| 8bf5772a97 | |||
| 6462ed0112 | |||
| 1c2ce72416 | |||
| fb681d1305 | |||
| e005fa9896 | |||
| 7d70725925 | |||
| 4590a4c25a | |||
| 057a1c11d2 | |||
| 7d01392c9a | |||
| 35aae86dbd | |||
| a9c82ebb94 | |||
| 453284ba8e | |||
| 42115759bc | |||
| 94a6a0b204 | |||
| f51b991fd4 | |||
| c76f97777a | |||
| e80d7ae220 | |||
| f27df8f077 | |||
| 06d5e0b096 | |||
| 137e58719b | |||
| 9cac3b3d1a | |||
| 7dfd6421db | |||
| b0a042b928 | |||
| facb3f184e | |||
| 13544bca17 | |||
| 9e54525d61 | |||
| 1ed317ebd7 | |||
| 0df9068892 | |||
| 2161dd5acf | |||
| 9989131931 | |||
| f1d048fdff | |||
| 5cfd1623ae | |||
| 432d9bb10b | |||
| 1be31fda81 | |||
| 4d61833e46 | |||
| 46d85d4f00 | |||
| 5720cd2802 | |||
| 9fc59e3237 | |||
| 5b04581623 | |||
| 5c82ba7762 | |||
| b7316e2e2e | |||
| 4e61b3585e | |||
| 11401af3dd | |||
| 3d0a19f329 | |||
| 89bccb44ff | |||
| 899ee1c4c1 | |||
| ab4cfb431f | |||
| 9f65cba6dc | |||
| 3b50c7a565 | |||
| 4af52da507 | |||
| a7bb89ce47 | |||
| 532b6be429 | |||
| 80e8576263 | |||
| 75fd5255eb | |||
| 070ffa86c0 | |||
| 7b5ce24bba | |||
| 05a09da86a | |||
| d0ca9fbafe | |||
| c7713b218f | |||
| 978bebf93c | |||
| 388003e6f1 | |||
| 7a41103958 | |||
| 63a9962742 | |||
| 414bae03ec | |||
| bbd5b4da50 | |||
| 2954463d6e | |||
| 18280ab5da | |||
| 1fb6059a90 | |||
| ae506cb484 | |||
| 10683c03c7 | |||
| 898b0280db | |||
| 369aa4a662 | |||
| 8459cf4db8 | |||
| 885bf17e4c | |||
| 844c2ef62e | |||
| f2ce4374aa | |||
| 670f8bb76c | |||
| a4461a7ee4 | |||
| c30ecfb20d | |||
| 1eb2037c30 | |||
| e3a28d6cf1 | |||
| e99891c7b7 | |||
| ac0e703863 | |||
| 21b604e0db | |||
| 4566a8ec30 | |||
| 57e2f90924 | |||
| d7324b6950 | |||
| c2cfc63466 | |||
| 3894c41631 | |||
| 99c1636974 | |||
| 2a11aa8a82 | |||
| 76b013bbe3 | |||
| 9783721529 | |||
| e7dad58064 | |||
| 93b9d802e7 | |||
| a01bd25041 | |||
| 9fcd175e58 | |||
| 863a04708c | |||
| 8553f68bb8 | |||
| 36d1e577fe | |||
| 70b69857e9 | |||
| b4ebef7d20 | |||
| 1491cce9d6 | |||
| 16224865de | |||
| 38b1d8c153 | |||
| 129a8f33ed | |||
| f8bcfcb83a | |||
| f71915e945 | |||
| 9556b85133 | |||
| 26f00581c4 | |||
| 8460cbc372 | |||
| fd933208d3 | |||
| bf294f37cc | |||
| b29ced49c5 | |||
| 76904fe8fa | |||
| 60133f01dd | |||
| 5736d332d2 | |||
| d30c04ba6a | |||
| 2472f29e32 | |||
| 64ca4e915c | |||
| 92110f5948 | |||
| e10b927f08 | |||
| 2d87962b37 | |||
| da79ee1c06 | |||
| 5683287892 | |||
| 09ce44f314 | |||
| 819864f0c2 | |||
| 8c29d1fd6a | |||
| b1a76aec63 | |||
| 08f472ef28 | |||
| d90e09c8b7 | |||
| 446ecbfc39 | |||
| 1f50e937d5 | |||
| 918766abe1 | |||
| 3a124f000c | |||
| adb845eb17 | |||
| fe2111ccbf | |||
| 27647fcb38 | |||
| 6d25f69513 | |||
| ef4c3555bc | |||
| 56cf4288c7 | |||
| 1fddd2cd67 | |||
| 584e44396b | |||
| f4bc10e4b0 | |||
| 67ddab9fbc | |||
| 53aa00c871 | |||
| d69383d7ae | |||
| f9e15dffd5 | |||
| 4b15e67358 | |||
| f9f2785d9c | |||
| 0f0144abf8 | |||
| 3117592e26 | |||
| e4ab323e9e | |||
| 62a362f30a | |||
| 9fb8c5c354 | |||
| 1e39949363 | |||
| afe0282420 | |||
| 74f4204857 | |||
| 81d1f2d21b | |||
| 9dc32cdd4e | |||
| febf7c4188 | |||
| 71f3ea88bd | |||
| ad4e8e649a | |||
| 5cfec84463 | |||
| 59066fed29 | |||
| eabb865415 | |||
| e4624b9fdb | |||
| b5140e2d22 | |||
| 4314b73e2c | |||
| 46881ee8fb | |||
| e445c1117b | |||
| 6b4bc0b680 | |||
| cd55555d79 | |||
| c44801c718 | |||
| 2eafd205de | |||
| 2c819a05c2 | |||
| 6a597e2e94 | |||
| 03dc488290 | |||
| 5c2e78c8a5 | |||
| ab1563e7c7 | |||
| e18b24a176 | |||
| 56a5b0480e | |||
| 931920bc31 | |||
| 2b784e9ec1 | |||
| 5e248b7017 | |||
| ff846cc48d | |||
| 41e1bda1cc | |||
| ae399fc411 | |||
| d70bd0b773 | |||
| ddb34dd21c | |||
| 39d5455110 | |||
| 59bf54b668 | |||
| d097e51578 | |||
| 4f3531f81b | |||
| 679504a05c | |||
| 5f8faeac1d | |||
| f581e7a1d7 | |||
| 283fa65ac2 | |||
| 3ab7232f8e | |||
| 71d75c9d76 | |||
| b5de4f8bb5 | |||
| c26a1dafeb | |||
| 7e37798280 | |||
| 6273085492 | |||
| 4600151605 | |||
| 46a6b90110 | |||
| ad3ef5bfba | |||
| bce9e4b57b | |||
| 8bdca172c4 | |||
| b02e24397f | |||
| aa1771b34b | |||
| f4d032ecbc | |||
| e6e609be76 | |||
| 04c732f89e | |||
| 5114d766e4 | |||
| 33f99d03dc | |||
| b3aa636f5b | |||
| f6ce2b9904 | |||
| 2c45872c57 | |||
| d5fc577b0b | |||
| 716699782a | |||
| d044ac2b59 | |||
| 3c338ea041 | |||
| 74d5d52874 | |||
| 7b9abb3bef | |||
| 5f60c80baa | |||
| 830ec0c321 | |||
| 66024b841e | |||
| d56d5a5af2 | |||
| c0b0457de5 | |||
| 40d3785ddf | |||
| 75a102323b | |||
| 497f7660f3 | |||
| 5c89f63fb9 | |||
| 24f6c4c55e | |||
| 64fa68e188 | |||
| 0da8718bf7 | |||
| 097c247449 | |||
| 8a07f95e43 | |||
| d85715a176 | |||
| a6fb221a75 | |||
| de72e6cdfa | |||
| 22c5ae8905 | |||
| eb72280e1d | |||
| 18b6872d88 | |||
| 9ce0d967b2 | |||
| 4efaa8ccff | |||
| 707bc15352 | |||
| f5326fa593 | |||
| 3327711e25 | |||
| 009ae8ffde | |||
| 0fb94a128e | |||
| 987aef16ec | |||
| 8260880d6f | |||
| 657e6a0cce | |||
| 2b40e9103e | |||
| f0814df058 | |||
| ed4b8c1320 | |||
| 6d50ac96de | |||
| 518db8b02a | |||
| cc3ca497f3 | |||
| b75a798ae6 | |||
| ba7a47e03e | |||
| d783dd375a | |||
| c2d7f03b8b | |||
| 1292abc9e7 | |||
| 899960a66d | |||
| c3a66c28a0 | |||
| 018d708b44 | |||
| 286ae4a7b7 | |||
| 5cd64c158f | |||
| 1b8da9b0a9 | |||
| 26b45abb9e | |||
| ffa10a9b0a | |||
| cb122ad068 | |||
| edaa9773f9 | |||
| 82a778ef23 | |||
| a49d1b7c9c | |||
| 655f923d11 | |||
| cd81a97399 | |||
| e297b6254e | |||
| 8c6175f77d | |||
| ea6b25aba8 | |||
| f90bc13ade | |||
| 60095ca6e4 | |||
| 65d71dd7be | |||
| f4c8a0f929 | |||
| aafa593c6a | |||
| 7b7e87c33e | |||
| 528a9c26a1 | |||
| a844c0aa12 | |||
| ae33eaad60 | |||
| 5f45c6aff8 | |||
| a39f2d4421 | |||
| aaac56f2f4 | |||
| 080835be2b | |||
| fd25400847 | |||
| 772a56a693 | |||
| 5d0b31a508 | |||
| 2e92bea4da | |||
| a1b17b9f31 | |||
| f7d9f58b25 | |||
| 478fdc07b1 | |||
| 128bc1786c | |||
| 67dff9aa43 | |||
| 4aba55b1fe | |||
| aec7a8aaed | |||
| 4eab939d67 | |||
| 4ccae58e6f | |||
| a51a8ad9fc | |||
| 5fb8de203d | |||
| c61c65da47 | |||
| a74be8db2f | |||
| 55ccf597ef | |||
| 7cec0db05f | |||
| 847f47bcc3 | |||
| 2d1d9d773a | |||
| f2b39b8e64 | |||
| c450c8f5c4 | |||
| e08338a4f4 | |||
| 2cd2b864a7 | |||
| 92851b1bb4 | |||
| 1141780b6c | |||
| afcf02cb30 | |||
| b5efab7201 | |||
| aef4f46c59 | |||
| 1d6c78a006 | |||
| 2ceaa3ef1d | |||
| ff7c86c91c | |||
| 73be78f25e | |||
| ecf2e4f94a | |||
| b8ffda3c07 | |||
| e9f6ddb7c3 | |||
| b37ca22bb0 | |||
| 86dd91f009 | |||
| f842fc850f | |||
| ab1cb5d515 | |||
| d5f642d3c6 | |||
| 0f1be083b5 | |||
| 3690bba092 | |||
| 37146744a0 | |||
| 5457a07a4e | |||
| f02080d755 | |||
| 10c7b5cbae | |||
| 71f055f27d | |||
| 9571a32131 | |||
| 8a30786495 | |||
| cc13f28fd2 | |||
| ee5a4d74c9 | |||
| f8e1df2c8f | |||
| ad08d78593 | |||
| d8c9f6afa4 |
@@ -1,63 +1,63 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
type = PO
|
||||
|
||||
[odoo-14-doc.applications]
|
||||
[o:odoo:p:odoo-16-doc:r:administration]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/administration.po
|
||||
source_file = locale/sources/administration.pot
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-16-doc:r:applications]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/applications.po
|
||||
source_file = locale/sources/applications.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.finance]
|
||||
[o:odoo:p:odoo-16-doc:r:finance]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/finance.po
|
||||
source_file = locale/sources/finance.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.general]
|
||||
[o:odoo:p:odoo-16-doc:r:general]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/general.po
|
||||
source_file = locale/sources/general.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.index]
|
||||
[o:odoo:p:odoo-16-doc:r:index]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/index.po
|
||||
source_file = locale/sources/index.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.inventory_and_mrp]
|
||||
[o:odoo:p:odoo-16-doc:r:inventory_and_mrp]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/inventory_and_mrp.po
|
||||
source_file = locale/sources/inventory_and_mrp.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.marketing]
|
||||
[o:odoo:p:odoo-16-doc:r:marketing]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/marketing.po
|
||||
source_file = locale/sources/marketing.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.productivity]
|
||||
[o:odoo:p:odoo-16-doc:r:productivity]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/productivity.po
|
||||
source_file = locale/sources/productivity.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.sales]
|
||||
[o:odoo:p:odoo-16-doc:r:sales]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/sales.po
|
||||
source_file = locale/sources/sales.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.services]
|
||||
[o:odoo:p:odoo-16-doc:r:services]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/services.po
|
||||
source_file = locale/sources/services.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.theme]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/sphinx.po
|
||||
source_file = locale/sources/sphinx.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.user_settings]
|
||||
[o:odoo:p:odoo-16-doc:r:user_settings]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/settings.po
|
||||
source_file = locale/sources/settings.pot
|
||||
source_lang = en
|
||||
|
||||
[odoo-14-doc.websites]
|
||||
[o:odoo:p:odoo-16-doc:r:websites]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/websites.po
|
||||
source_file = locale/sources/websites.pot
|
||||
source_lang = en
|
||||
|
||||
|
||||
@@ -42,6 +42,7 @@ help:
|
||||
@echo " html to build the documentation to HTML"
|
||||
@echo " fast to build the documentation to HTML with shallow menu (faster)"
|
||||
@echo " clean to delete the build files"
|
||||
@echo " test to run the guidelines tests"
|
||||
|
||||
clean:
|
||||
@echo "Cleaning build files..."
|
||||
@@ -82,3 +83,6 @@ fast: html
|
||||
static: $(HTML_BUILD_DIR)/_static/style.css
|
||||
cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/
|
||||
cp -r static/* $(HTML_BUILD_DIR)/_static/
|
||||
|
||||
test:
|
||||
@python tests/main.py $(SOURCE_DIR)/administration $(SOURCE_DIR)/applications $(SOURCE_DIR)/contributing $(SOURCE_DIR)/developer $(SOURCE_DIR)/services redirects
|
||||
|
||||
@@ -165,6 +165,9 @@ extensions = [
|
||||
# Content tabs
|
||||
'sphinx_tabs.tabs',
|
||||
|
||||
# Cards
|
||||
'cards',
|
||||
|
||||
# Spoilers
|
||||
'spoilers',
|
||||
|
||||
@@ -192,7 +195,7 @@ todo_include_todos = False
|
||||
intersphinx_mapping = {
|
||||
'pillow': ('https://pillow.readthedocs.io/en/stable/', None),
|
||||
'python': ('https://docs.python.org/3/', None),
|
||||
'werkzeug': ('https://werkzeug.palletsprojects.com/en/1.0.x/', None),
|
||||
'werkzeug': ('https://werkzeug.palletsprojects.com/en/2.3.x/', None),
|
||||
}
|
||||
|
||||
github_user = 'odoo'
|
||||
@@ -210,8 +213,10 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'saas-16.3': "Odoo Online",
|
||||
'saas-16.2': "Odoo Online",
|
||||
'saas-16.1': "Odoo Online",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.3': "Odoo Online",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
@@ -225,10 +230,12 @@ languages_names = {
|
||||
'en': 'EN',
|
||||
'es': 'ES',
|
||||
'fr': 'FR',
|
||||
'it': 'IT',
|
||||
'nl': 'NL',
|
||||
'pt_BR': 'PT',
|
||||
'uk': 'UA',
|
||||
'zh_CN': 'ZH',
|
||||
'zh_CN': 'ZH (CN)',
|
||||
'zh_TW': 'ZH (TW)'
|
||||
}
|
||||
|
||||
# The directory in which files holding redirect rules used by the 'redirects' extension are listed.
|
||||
@@ -311,8 +318,17 @@ latex_documents = [
|
||||
'Odoo Enterprise Subscription Agreement (ES)', '', 'howto'),
|
||||
('legal/terms/i18n/partnership_tex_es',
|
||||
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
|
||||
|
||||
('legal/terms/i18n/enterprise_tex_pt_BR', 'odoo_enterprise_agreement_pt_BR.tex',
|
||||
'Odoo Enterprise Subscription Agreement (PT)', '', 'howto'),
|
||||
]
|
||||
|
||||
# List of languages that have legal translations (excluding EN). The keys must be in
|
||||
# `languages_names`. These translations will have a link to their versions of the legal
|
||||
# contracts, instead of the default EN one. The main legal documents are not part of the
|
||||
# translations since they have legal meaning.
|
||||
legal_translations = ['de', 'es', 'fr', 'nl', 'pt_BR']
|
||||
|
||||
# The name of an image file (relative to this directory) to place at the top of the title page.
|
||||
latex_logo = 'static/img/odoo_logo.png'
|
||||
|
||||
@@ -441,6 +457,10 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
|
||||
)
|
||||
)
|
||||
|
||||
# Dynamic generation of localized legal doc links
|
||||
context['legal_translations'] = legal_translations
|
||||
|
||||
|
||||
def _build_url(_version=None, _lang=None):
|
||||
if app.config.is_remote_build:
|
||||
# Project root like https://www.odoo.com/documentation
|
||||
|
||||
@@ -1,80 +1,109 @@
|
||||
===========================================
|
||||
Setting up a Content Delivery Network (CDN)
|
||||
===========================================
|
||||
=======================================
|
||||
Set up a content delivery network (CDN)
|
||||
=======================================
|
||||
|
||||
.. _reference/cdn/keycdn:
|
||||
|
||||
Deploying with KeyCDN_
|
||||
======================
|
||||
Deploying with KeyCDN
|
||||
=====================
|
||||
|
||||
.. sectionauthor:: Fabien Meghazi
|
||||
A :abbr:`CDN (Content Delivery Network)` or *content distribution network*, is a geographically
|
||||
distributed network of servers that provides high speed internet content. The :abbr:`CDN (Content
|
||||
Delivery Network)` provides quick, high-quality content delivery for content-heavy websites.
|
||||
|
||||
This document will guide you through the setup of a KeyCDN_ account with your
|
||||
Odoo powered website.
|
||||
This document will guide you through the setup of a KeyCDN_ account with an Odoo powered website.
|
||||
|
||||
Step 1: Create a pull zone in the KeyCDN dashboard
|
||||
--------------------------------------------------
|
||||
Create a pull zone in the KeyCDN dashboard
|
||||
------------------------------------------
|
||||
|
||||
.. image:: cdn/keycdn_create_a_pull_zone.png
|
||||
:class: img-fluid
|
||||
On the KeyCDN dashboard, start by navigating to the :menuselection:`Zones` menu item on the left. On
|
||||
the form, give a value to the :guilabel:`Zone Name`, which will appear as part of the :abbr:`CDN
|
||||
(Content Delivery Network)`'s :abbr:`URL (Uniform Resource Locator)`. Then, set the :guilabel:`Zone
|
||||
Status` to :guilabel:`active` to engage the zone. For the :guilabel:`Zone Type` set the value to
|
||||
:guilabel:`Pull`, and then, finally, under the :guilabel:`Pull Settings`, enter the
|
||||
:guilabel:`Origin URL`— this address should be the full Odoo database :abbr:`URL (Uniform Resource
|
||||
Locator)`.
|
||||
|
||||
When creating the zone, enable the CORS option in the
|
||||
:guilabel:`advanced features` submenu. (more on that later)
|
||||
.. example::
|
||||
Use ``https://yourdatabase.odoo.com`` and replace the *yourdatabase* subdomain prefix with the
|
||||
actual name of the database. A custom :abbr:`URL (Uniform Resource Locator)` can be used, as
|
||||
well, in place of the Odoo subdomain that was provided to the database.
|
||||
|
||||
.. image:: cdn/keycdn_enable_CORS.png
|
||||
:class: img-fluid
|
||||
.. image:: cdn/keycdn-zone.png
|
||||
:align: center
|
||||
:alt: KeyCDN's Zone configuration page.
|
||||
|
||||
Once done, you'll have to wait a bit while KeyCDN_ is crawling your website.
|
||||
Under the :guilabel:`General Settings` heading below the zone form, click the :guilabel:`Show all
|
||||
settings` button to expand the zone options. This should be the last option on the page. After
|
||||
expanding the :guilabel:`General Settings` ensure that the :guilabel:`CORS` option is
|
||||
:guilabel:`enabled`.
|
||||
|
||||
.. image:: cdn/keycdn_progressbar.png
|
||||
:class: img-fluid
|
||||
Next, scroll to the bottom of the zone configuration page and :guilabel:`Save` the changes. KeyCDN
|
||||
will indicate that the new zone will be deployed. This can take about 10 minutes.
|
||||
|
||||
.. note:: a new URL has been generated for your Zone, in this case it is
|
||||
``http://pulltest-b49.kxcdn.com``
|
||||
.. image:: cdn/zone-url.png
|
||||
:align: center
|
||||
:alt: KeyCDN deploying the new Zone.
|
||||
|
||||
Step 2: Configure the odoo instance with your zone
|
||||
--------------------------------------------------
|
||||
.. note::
|
||||
A new :guilabel:`Zone URL` has been generated for your Zone, in this example it is
|
||||
``pulltest-xxxxx.kxcdn.com``. This value will differ for each database.
|
||||
|
||||
In the Odoo back end, go to the :guilabel:`Website Settings`: menu, then
|
||||
activate the CDN support and copy/paste your zone URL in the
|
||||
:guilabel:`CDN Base URL` field. This field is only visible and configurable if
|
||||
you have developer mode activated.
|
||||
Copy this :guilabel:`Zone URL` to a text editor for later, as it will be used in the next steps.
|
||||
|
||||
.. image:: cdn/odoo_cdn_base_url.png
|
||||
:class: img-fluid
|
||||
Configure the Odoo instance with the new zone
|
||||
---------------------------------------------
|
||||
|
||||
Now your website is using the CDN for the resources matching the
|
||||
:guilabel:`CDN filters` regular expressions.
|
||||
In the Odoo :guilabel:`Website` app, go to the :menuselection:`Settings` and then activate the
|
||||
:guilabel:`Content Delivery Network (CDN)` setting and copy/paste the :guilabel:`Zone URL` value
|
||||
from the earlier step into the :guilabel:`CDN Base URL` field. This field is only visible and
|
||||
configurable when :doc:`Developer Mode <../../applications/general/developer_mode>` is activated.
|
||||
|
||||
You can have a look to the HTML of your website in order to check if the CDN
|
||||
integration is properly working.
|
||||
.. note::
|
||||
Ensure that there are two *forward slashes* (`//`) before the :guilabel:`CDN Base URL` and one
|
||||
forward slash (`/`) after the :guilabel:`CDN Base URL`.
|
||||
|
||||
.. image:: cdn/odoo_check_your_html.png
|
||||
:class: img-fluid
|
||||
:guilabel:`Save` the settings when complete.
|
||||
|
||||
.. image:: cdn/cdn-base-url.png
|
||||
:align: center
|
||||
:alt: Activate the CDN setting in Odoo.
|
||||
|
||||
Why should I activate CORS?
|
||||
---------------------------
|
||||
Now the website is using the CDN for the resources matching the :guilabel:`CDN filters` regular
|
||||
expressions.
|
||||
|
||||
A security restriction in some browsers (Firefox and Chrome at time of writing)
|
||||
prevents a remotely linked CSS file to fetch relative resources on this same
|
||||
external server.
|
||||
In the HTML of the Odoo website, the :abbr:`CDN (content delivery network)` integration is evidenced
|
||||
as working properly by checking the :abbr:`URL (Uniform Resource Locators)` of images. The *CDN Base
|
||||
URL* value can be seen by using your web browser's :guilabel:`Inspect` feature on the Odoo website.
|
||||
Look for it's record by searching within the :guilabel:`Network` tab inside of devtools.
|
||||
|
||||
If you don't activate the CORS option in the CDN zone, the more obvious
|
||||
resulting problem on a default Odoo website will be the lack of font-awesome
|
||||
icons because the font file declared in the font-awesome CSS won't be loaded on
|
||||
the remote server.
|
||||
.. image:: cdn/test-pull.png
|
||||
:align: center
|
||||
:alt: The CDN Base URL can be seen using the inspect function on the Odoo website.
|
||||
|
||||
Here's what you would see on your homepage in such a case:
|
||||
Prevent security issues by activating cross-origin resource sharing (CORS)
|
||||
--------------------------------------------------------------------------
|
||||
|
||||
.. image:: cdn/odoo_font_file_not_loaded.png
|
||||
:class: img-fluid
|
||||
A security restriction in some browsers (such as Mozilla Firefox and Google Chrome) prevents a
|
||||
remotely linked CSS file to fetch relative resources on this same external server.
|
||||
|
||||
A security error message will also appear in the browser's console:
|
||||
If the :abbr:`CORS (Cross-Origin Resource Sharing)` option isn't enabled in the :guilabel:`CDN
|
||||
Zone`, the more obvious resulting problem on a standard Odoo website will be the lack of *Font
|
||||
Awesome* icons because the font file declared in the *Font Awesome* CSS won't be loaded from the
|
||||
remote server.
|
||||
|
||||
.. image:: cdn/odoo_security_message.png
|
||||
:class: img-fluid
|
||||
When these cross-origin resource issues occur, a security error message similar to the output
|
||||
below will appear in the web browser's developer console:
|
||||
|
||||
Enabling the CORS option in the CDN fixes this issue.
|
||||
``Font from origin 'http://pulltest-xxxxx.kxcdn.com' has been blocked from loading /shop:1 by
|
||||
Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the
|
||||
requested resource. Origin 'http://yourdatabase.odoo.com' is therefore not allowed access.``
|
||||
|
||||
.. image:: cdn/odoo-security-message.png
|
||||
:align: center
|
||||
:alt: Error message populated in the browser console.
|
||||
|
||||
Enabling the :abbr:`CORS (Cross-Origin Resource Sharing)` option in the :abbr:`CDN (Content Delivery
|
||||
Network)` settings fixes this issue.
|
||||
|
||||
.. _KeyCDN: https://www.keycdn.com
|
||||
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 64 KiB |
|
Before Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 7.8 KiB |
|
Before Width: | Height: | Size: 9.8 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 7.2 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 28 KiB |
@@ -43,7 +43,7 @@ Configuration samples
|
||||
|
||||
* Show only databases with names beginning with 'mycompany'
|
||||
|
||||
in ``/etc/odoo.conf`` set:
|
||||
in :ref:`the configuration file <reference/cmdline/config_file>` set:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
@@ -55,7 +55,7 @@ in ``/etc/odoo.conf`` set:
|
||||
was sent to ``www.mycompany.com`` or ``mycompany.co.uk``, but not
|
||||
for ``www2.mycompany.com`` or ``helpdesk.mycompany.com``.
|
||||
|
||||
in ``/etc/odoo.conf`` set:
|
||||
in :ref:`the configuration file <reference/cmdline/config_file>` set:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
@@ -150,7 +150,7 @@ Configuration sample
|
||||
* with 'pwd' as a password
|
||||
* filtering only db with a name beginning with 'mycompany'
|
||||
|
||||
in ``/etc/odoo.conf`` set:
|
||||
in :ref:`the configuration file <reference/cmdline/config_file>` set:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
@@ -238,7 +238,7 @@ Configuration sample
|
||||
* We'll use 8 workers + 1 for cron. We'll also use a monitoring system to measure cpu load, and check if it's between 7 and 7.5 .
|
||||
* RAM = 9 * ((0.8*150) + (0.2*1024)) ~= 3Go RAM for Odoo
|
||||
|
||||
in ``/etc/odoo.conf``:
|
||||
in :ref:`the configuration file <reference/cmdline/config_file>`:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
@@ -273,7 +273,7 @@ Configuration sample
|
||||
* Redirect http requests to https
|
||||
* Proxy requests to odoo
|
||||
|
||||
in ``/etc/odoo.conf`` set:
|
||||
in :ref:`the configuration file <reference/cmdline/config_file>` set:
|
||||
|
||||
.. code-block:: ini
|
||||
|
||||
@@ -309,12 +309,6 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
proxy_connect_timeout 720s;
|
||||
proxy_send_timeout 720s;
|
||||
|
||||
# Add Headers for odoo proxy mode
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
|
||||
# SSL parameters
|
||||
ssl_certificate /etc/ssl/nginx/server.crt;
|
||||
ssl_certificate_key /etc/ssl/nginx/server.key;
|
||||
@@ -340,6 +334,11 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
|
||||
# Redirect requests to odoo backend server
|
||||
location / {
|
||||
# Add Headers for odoo proxy mode
|
||||
proxy_set_header X-Forwarded-Host $host;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_redirect off;
|
||||
proxy_pass http://odoo;
|
||||
}
|
||||
@@ -438,7 +437,7 @@ by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up
|
||||
Say Odoo has been installed via the **source**. The two git repositories for Community and
|
||||
Enterprise have been cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
|
||||
respectively and the :option:`--addons-path <odoo-bin --addons-path>` is
|
||||
``'/opt/odoo/community/odoo/addons,/opt/community/addons,/opt/odoo/enterprise'``.
|
||||
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
|
||||
|
||||
Using the above NGINX (https) configuration, the following location block should be added to
|
||||
serve static files via NGINX.
|
||||
@@ -608,6 +607,7 @@ security-related topics:
|
||||
|
||||
Blocking Brute Force Attacks
|
||||
----------------------------
|
||||
|
||||
For internet-facing deployments, brute force attacks on user passwords are very common, and this
|
||||
threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt
|
||||
is performed, and reports the result: success or failure, along with the target login and source IP.
|
||||
|
||||
@@ -4,19 +4,22 @@ Email gateway
|
||||
|
||||
The Odoo mail gateway allows you to inject directly all the received emails in Odoo.
|
||||
|
||||
Its principle is straightforward: your SMTP server executes the "mailgate" script for every new incoming email.
|
||||
Its principle is straightforward: your SMTP server executes the "mailgate" script for every new
|
||||
incoming email.
|
||||
|
||||
The script takes care of connecting to your Odoo database through XML-RPC, and send the emails via
|
||||
the `MailThread.message_process()` feature.
|
||||
|
||||
Prerequisites
|
||||
-------------
|
||||
|
||||
- Administrator access to the Odoo database.
|
||||
- Your own mail server such as Postfix or Exim.
|
||||
- Technical knowledge on how to configure an email server.
|
||||
|
||||
For Postfix
|
||||
-----------
|
||||
|
||||
In you alias config (:file:`/etc/aliases`):
|
||||
|
||||
.. code-block:: text
|
||||
@@ -33,6 +36,7 @@ In you alias config (:file:`/etc/aliases`):
|
||||
|
||||
For Exim
|
||||
--------
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
*: |/odoo-directory/addons/mail/static/scripts/odoo-mailgate.py -d <database-name> -u <userid> -p <password>
|
||||
|
||||
@@ -279,16 +279,8 @@ Git
|
||||
The following requires `Git <git_>`_ to be installed on your machine and that you have basic
|
||||
knowledge of Git commands. To clone a Git repository, you must choose between cloning with HTTPS or
|
||||
SSH. If you do not know the difference between the two, the best option is most likely HTTPS. If you
|
||||
are following the :doc:`Getting started </developer/howtos/rdtraining>` developer tutorial, or plan
|
||||
on contributing to Odoo source code, choose SSH.
|
||||
|
||||
.. note::
|
||||
**The Enterprise Git repository does not contain the full Odoo source code**. It is only a
|
||||
collection of extra add-ons. The main server code is in the Community version. Running the
|
||||
Enterprise version actually means running the server from the Community version with the
|
||||
addons-path option set to the folder with the Enterprise version. You need to clone both the
|
||||
Community and Enterprise repository to have a working Odoo Enterprise installation. See
|
||||
:ref:`setup/install/editions` to get access to the Enterprise repository.
|
||||
are following the :doc:`Getting started </developer/tutorials/getting_started>` developer tutorial,
|
||||
or plan on contributing to Odoo source code, choose SSH.
|
||||
|
||||
.. tabs::
|
||||
|
||||
@@ -351,7 +343,8 @@ on contributing to Odoo source code, choose SSH.
|
||||
collection of extra add-ons. The main server code is in the Community version. Running the
|
||||
Enterprise version actually means running the server from the Community version with the
|
||||
addons-path option set to the folder with the Enterprise version. You need to clone both the
|
||||
Community and Enterprise repository to have a working Odoo Enterprise installation.
|
||||
Community and Enterprise repository to have a working Odoo Enterprise installation. See
|
||||
:ref:`setup/install/editions` to get access to the Enterprise repository.
|
||||
|
||||
.. _setup/install/source/prepare:
|
||||
|
||||
@@ -365,7 +358,7 @@ Python
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
Odoo requires Python 3.7 or later to run. Visit `Python's download page <https://www.python.org/downloads/windows/>`_
|
||||
Odoo requires Python 3.8 or later to run. Visit `Python's download page <https://www.python.org/downloads/windows/>`_
|
||||
to download and install the latest version of Python 3 on your machine.
|
||||
|
||||
During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and make
|
||||
@@ -387,7 +380,7 @@ Python
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
Odoo requires Python 3.7 or later to run. Use your package manager to download and install Python 3
|
||||
Odoo requires Python 3.8 or later to run. Use your package manager to download and install Python 3
|
||||
on your machine if it is not already done.
|
||||
|
||||
.. note::
|
||||
@@ -406,7 +399,7 @@ Python
|
||||
|
||||
.. group-tab:: Mac OS
|
||||
|
||||
Odoo requires Python 3.7 or later to run. Use your preferred package manager (homebrew_, macports_)
|
||||
Odoo requires Python 3.8 or later to run. Use your preferred package manager (homebrew_, macports_)
|
||||
to download and install Python 3 on your machine if it is not already done.
|
||||
|
||||
.. note::
|
||||
@@ -645,6 +638,8 @@ Dependencies
|
||||
<the wkhtmltopdf download page_>`_ for it to support headers and footers. See our `wiki
|
||||
<https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for more details on the various versions.
|
||||
|
||||
.. _setup/install/source/running_odoo:
|
||||
|
||||
Running Odoo
|
||||
------------
|
||||
|
||||
@@ -711,7 +706,7 @@ just logged into your own Odoo database!
|
||||
<odoo-bin -r>` CLI argument.
|
||||
|
||||
.. seealso::
|
||||
:doc:`The exhaustive list of CLI arguments for odoo-bin </developer/cli>`.
|
||||
:doc:`The exhaustive list of CLI arguments for odoo-bin </developer/reference/cli>`.
|
||||
|
||||
.. _setup/install/docker:
|
||||
|
||||
|
||||
@@ -7,6 +7,7 @@ Maintain
|
||||
.. toctree::
|
||||
|
||||
maintain/domain_names
|
||||
maintain/azure_oauth
|
||||
maintain/google_oauth
|
||||
maintain/mailjet_api
|
||||
maintain/update
|
||||
|
||||
@@ -0,0 +1,220 @@
|
||||
=======================================================
|
||||
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
|
||||
=======================================================
|
||||
|
||||
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
|
||||
secure emails from a custom domain, all that is required is to configure a few settings on the
|
||||
Azure platform and on the back end of the Odoo database. This configuration works with either a
|
||||
personal email address or an address created by a custom domain.
|
||||
|
||||
.. seealso::
|
||||
`Microsoft Learn: Register an application with the Microsoft identity platform
|
||||
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/azure`
|
||||
- :doc:`/applications/productivity/calendar/outlook`
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
||||
Create a new application
|
||||
------------------------
|
||||
|
||||
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
|
||||
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
|
||||
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
|
||||
will need to connect and perform the following configuration. Next, navigate to the section
|
||||
labeled :guilabel:`Manage Azure Active Directory`.
|
||||
|
||||
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
|
||||
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
|
||||
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
|
||||
:guilabel:`Accounts in any organizational directory (Any Azure AD directory - Multitenant) and
|
||||
personal Microsoft accounts (e.g. Skype, Xbox)`.
|
||||
|
||||
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
|
||||
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
|
||||
is the canonical domain at which your Odoo instance can be reached in the URL field.
|
||||
|
||||
.. example::
|
||||
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
|
||||
assuming it's hosted on Odoo.com
|
||||
|
||||
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
|
||||
|
||||
API permissions
|
||||
---------------
|
||||
|
||||
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
|
||||
able to read (IMAP) and send (SMTP) emails in the Microsoft 365 setup. First, click the
|
||||
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
|
||||
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
|
||||
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
|
||||
|
||||
In the search bar, search for the following :guilabel:`Deregulated permissions` and click
|
||||
:guilabel:`Add permissions` for each one:
|
||||
|
||||
- :guilabel:`SMTP.Send`
|
||||
- :guilabel:`IMAP.AccessAsUser.All`
|
||||
|
||||
.. note::
|
||||
The :guilabel:`User.Read` permission will be added by default.
|
||||
|
||||
.. image:: azure_oauth/permissions.png
|
||||
:align: center
|
||||
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
|
||||
|
||||
Assign users and groups
|
||||
=======================
|
||||
|
||||
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
|
||||
:guilabel:`Application` in the top of the left sidebar menu.
|
||||
|
||||
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
|
||||
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
|
||||
right-hand side of the table.
|
||||
|
||||
.. image:: azure_oauth/managed-application.png
|
||||
:align: center
|
||||
:alt: Add users/groups by clicking the Managed application in local directory link for the
|
||||
created application.
|
||||
|
||||
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
|
||||
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
|
||||
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
|
||||
added.
|
||||
|
||||
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
|
||||
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
|
||||
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
|
||||
application.
|
||||
|
||||
Create credentials
|
||||
------------------
|
||||
|
||||
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
|
||||
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
|
||||
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
|
||||
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
|
||||
in the :guilabel:`Essentials` overview of the app.
|
||||
|
||||
.. image:: azure_oauth/application-id.png
|
||||
:align: center
|
||||
:alt: Application/Client ID located in the Overview of the app.
|
||||
|
||||
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
|
||||
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
|
||||
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
|
||||
|
||||
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
|
||||
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
|
||||
:guilabel:`expiration date`.
|
||||
|
||||
.. important::
|
||||
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
|
||||
expires. In this event, there could be an interruption of service, so the expiration date should
|
||||
be noted and set to the furthest possible date.
|
||||
|
||||
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
|
||||
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
|
||||
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
|
||||
The :guilabel:`Secret ID` is not needed.
|
||||
|
||||
.. image:: azure_oauth/secretvalue.png
|
||||
:align: center
|
||||
:alt: Client Secret Value or Value in the app's credentials.
|
||||
|
||||
After these steps, the following items should be ready to be set up in Odoo:
|
||||
|
||||
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
|
||||
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
|
||||
|
||||
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
|
||||
|
||||
Setup in Odoo
|
||||
=============
|
||||
|
||||
Enter Microsoft Outlook credentials
|
||||
-----------------------------------
|
||||
|
||||
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
|
||||
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
|
||||
called :guilabel:`Microsoft Outlook`.
|
||||
|
||||
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
|
||||
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
|
||||
a new option for :guilabel:`Outlook Credentials`.
|
||||
|
||||
:guilabel:`Save` the progress.
|
||||
|
||||
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
|
||||
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
|
||||
|
||||
.. image:: azure_oauth/outlookcreds.png
|
||||
:align: center
|
||||
:alt: Outlook Credentials in Odoo General Settings.
|
||||
|
||||
Configure outgoing email server
|
||||
-------------------------------
|
||||
|
||||
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
|
||||
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
|
||||
|
||||
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
|
||||
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
|
||||
|
||||
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
|
||||
<email_communication/default>`.
|
||||
|
||||
Then, click on :guilabel:`Connect your Outlook account`.
|
||||
|
||||
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
|
||||
appropriate email address that is being configured in Odoo.
|
||||
|
||||
.. image:: azure_oauth/verify-outlook.png
|
||||
:align: center
|
||||
:alt: Permission page to grant access between newly created app and Odoo.
|
||||
|
||||
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
|
||||
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
|
||||
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
|
||||
:guilabel:`Outlook Token Valid` appears in green.
|
||||
|
||||
.. image:: azure_oauth/outlook-token.png
|
||||
:align: center
|
||||
:alt: Valid Outlook Token indicator.
|
||||
|
||||
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
|
||||
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
|
||||
|
||||
Multiple user configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Each user should have a separate server set up. The :guilabel:`from-filter` should be set so that
|
||||
only the user's email is sent from that server. In other words, only a user with an email address
|
||||
that matches the set :guilabel:`from-filter` is able to use this server.
|
||||
|
||||
After setting the :guilabel:`from-filter`, set up a fallback email account to allow for the sending
|
||||
of :guilabel:`notifications`. The fallback email must be configured as a :guilabel:`general
|
||||
transactional server`. The :guilabel:`mail.default.from` system parameter must be set to the
|
||||
:guilabel:`username` of the general transactional server account. For more information see
|
||||
:ref:`Use a default email address <email_communication/default>`.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`System Parameters` can be accessed by activating
|
||||
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
|
||||
--> Parameters --> System Parameters` menu.
|
||||
|
||||
Configure incoming email server
|
||||
-------------------------------
|
||||
|
||||
The incoming account should be configured in a similar way to the outgoing email account. Navigate
|
||||
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
|
||||
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
|
||||
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
|
||||
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
|
||||
account. The account should be ready to receive email to the Odoo database.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../applications/general/email_communication/email_servers`
|
||||
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 64 KiB |
@@ -45,6 +45,36 @@ All domain names are referenced in the **Domain Name System**, or **DNS**, which
|
||||
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/indexing:
|
||||
|
||||
Indexing of domain names by search engines
|
||||
------------------------------------------
|
||||
|
||||
Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze
|
||||
the web`) to index all websites and their related domain names. These crawlers discover new URLs
|
||||
thanks to links on known web pages. As a result, search engines should index domain names
|
||||
automatically after a while, as long as their URLs are mentioned elsewhere on the Internet.
|
||||
|
||||
Improving the appearance and positioning of web pages on search engines is a practice named "Search
|
||||
Engine Optimization" (SEO).
|
||||
|
||||
.. tip::
|
||||
Adding relevant content, optimizing metadata, and building high-quality backlinks can all help
|
||||
improve a website's search engine visibility.
|
||||
|
||||
Some search engines provide tools for web admins, such as
|
||||
`Google Search Console <https://search.google.com/search-console>`_ and
|
||||
`Bing Webmaster Tools <https://www.bing.com/webmasters>`_, to help you analyze and improve your
|
||||
page ranking. To use these services, you must prove that you are the owner of your domain name. One
|
||||
way to verify the ownership of your domain name is by adding a DNS record. You can do this for
|
||||
:ref:`domain names registered with Odoo <domain-name/odoo-manage>` and for domain names managed by
|
||||
other providers.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/websites/website/pages/seo`
|
||||
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
|
||||
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
|
||||
|
||||
.. _domain-name/odoo-register:
|
||||
|
||||
Register a free domain name with Odoo
|
||||
@@ -324,7 +354,7 @@ In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
|
||||
|
||||
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.
|
||||
<https://search.google.com/search-console>`_ to fix this.
|
||||
|
||||
.. note::
|
||||
If you have multiple websites and companies on your database, make sure that you select the
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _setup/enterprise:
|
||||
|
||||
===============================
|
||||
Upgrade Community to Enterprise
|
||||
===============================
|
||||
===================================
|
||||
Switch from Community to Enterprise
|
||||
===================================
|
||||
|
||||
Depending on your current installation, there are multiple ways to upgrade
|
||||
your community version.
|
||||
@@ -98,7 +98,7 @@ On Windows
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ odoo.exe -d <database_name> -i web_enterprise --stop-after-init
|
||||
$ ..\python\python.exe odoo-bin -d <database_name> -i web_enterprise --stop-after-init
|
||||
|
||||
* No need to manually launch the server, the service is running.
|
||||
You should be able to connect to your Odoo Enterprise instance using your usual
|
||||
|
||||
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 39 KiB |
@@ -11,70 +11,97 @@ email address or an address created by a custom domain.
|
||||
For more information, visit `Google's documentation
|
||||
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/google`
|
||||
- :doc:`/applications/productivity/calendar/google`
|
||||
|
||||
Setup in Google
|
||||
===============
|
||||
|
||||
Create a new project
|
||||
--------------------
|
||||
|
||||
To get started, go to the `Google API Platform
|
||||
<https://console.cloud.google.com/apis/credentials/consent>`_. Log in with your *Google Workspace*
|
||||
account if you have one, otherwise log in with your personal Gmail account (this should match the
|
||||
email address you want to configure in Odoo).
|
||||
To get started, go to the `Google API Console <https://console.developers.google.com>`_. Log in
|
||||
with your *Google Workspace* account if you have one, otherwise log in with your personal Gmail
|
||||
account (this should match the email address you want to configure in Odoo).
|
||||
|
||||
After that, click on :guilabel:`Create Project`, located on the far right of the OAuth consent
|
||||
screen. If a project has already been created in this account, then the :guilabel:`New Project`
|
||||
option will be located on the top left under the :guilabel:`Select a project` drop-down menu.
|
||||
After that, click on :guilabel:`Create Project`, located on the far right of the :guilabel:`OAuth
|
||||
consent screen`. If a project has already been created in this account, then the :guilabel:`New
|
||||
Project` option will be located on the top right under the :guilabel:`Select a project` drop-down
|
||||
menu.
|
||||
|
||||
On the :guilabel:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and browse for
|
||||
the :guilabel:`Location`. Set the :guilabel:`Location` as the `Google Workspace` organization. If
|
||||
you are using a personal Gmail account, then leave the :guilabel:`Location` as `No Organization`.
|
||||
On the :menuselection:`New Project` screen, rename the :guilabel:`Project name` to `Odoo` and
|
||||
browse for the :guilabel:`Location`. Set the :guilabel:`Location` as the *Google Workspace
|
||||
organization*. If you are using a personal Gmail account, then leave the :guilabel:`Location` as
|
||||
:guilabel:`No Organization`.
|
||||
|
||||
.. image:: google_oauth/new-project.png
|
||||
:align: center
|
||||
:alt: Project Name and Location for Google Oauth.
|
||||
:alt: Project Name and Location for Google OAuth.
|
||||
|
||||
Click on :guilabel:`Create` to finish this step. On the next screen, :guilabel:`User Type` options,
|
||||
select the :guilabel:`External` option, and then click on :guilabel:`Create` again, which will
|
||||
finally navigate to the :guilabel:`Edit app registration` page.
|
||||
Click on :guilabel:`Create` to finish this step.
|
||||
|
||||
OAuth consent screen
|
||||
--------------------
|
||||
|
||||
If the page doesn't redirect to the :menuselection:`User Type` options, click on :guilabel:`OAuth
|
||||
consent screen` in the left menu.
|
||||
|
||||
Under :guilabel:`User Type` options, select the appropriate :guilabel:`User Type`, and then click on
|
||||
:guilabel:`Create` again, which will finally navigate to the :menuselection:`Edit app registration`
|
||||
page.
|
||||
|
||||
.. warning::
|
||||
*Personal* Gmail Accounts are only allowed to be **External** User Type, which means Google may
|
||||
require an approval, or for *Scopes* to be added on. However, using a *Google WorkSpace* account
|
||||
allows for **Internal** User Type to be used.
|
||||
|
||||
Note, as well, that while the API connection is in the *External* testing mode, then no approval is
|
||||
necessary from Google. User limits in this testing mode is set to 100 users.
|
||||
|
||||
Edit app registration
|
||||
---------------------
|
||||
|
||||
- On the :guilabel:`Oauth consent screen` step, under the :guilabel:`App information` section,
|
||||
enter `Odoo` in the :guilabel:`App name` field. Select the organization's email address under the
|
||||
:guilabel:`User support` email field.
|
||||
- Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain`
|
||||
and enter `odoo.com`.
|
||||
- After that, under the :guilabel:`Developer contact information` section, enter the organization's
|
||||
email address. Google uses this email address to notify the organization about any changes to
|
||||
your project.
|
||||
- Next, click on the :guilabel:`Save and Continue` button.
|
||||
- Then, skip the :guilabel:`Scopes` page by scrolling to the bottom and clicking on
|
||||
:guilabel:`Save and Continue`.
|
||||
- Next, add the email being configured under the :guilabel:`Test users` step by clicking on
|
||||
:guilabel:`Add Users` and then the :guilabel:`Save and Continue` button. A summary of the
|
||||
:guilabel:`App registration` appears.
|
||||
- Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard`.
|
||||
Next we will configure the app registration of the project.
|
||||
|
||||
On the :guilabel:`OAuth consent screen` step, under the :guilabel:`App information` section, enter
|
||||
`Odoo` in the :guilabel:`App name` field. Select the organization's email address under the
|
||||
:guilabel:`User support` email field.
|
||||
|
||||
Next, under :menuselection:`App Domain --> Authorized domains`, click on :guilabel:`Add Domain` and
|
||||
enter `odoo.com`.
|
||||
|
||||
After that, under the :guilabel:`Developer contact information` section, enter the organization's
|
||||
email address. Google uses this email address to notify the organization about any changes to your
|
||||
project.
|
||||
|
||||
Next, click on the :guilabel:`Save and Continue` button. Then, skip the :menuselection:`Scopes` page
|
||||
by scrolling to the bottom and clicking on :guilabel:`Save and Continue`.
|
||||
|
||||
If continuing in testing mode (External), add the email addresses being configured under the
|
||||
:guilabel:`Test users` step, by clicking on :guilabel:`Add Users`, and then the :guilabel:`Save and
|
||||
Continue` button. A summary of the app registration appears.
|
||||
|
||||
Finally, scroll to the bottom and click on :guilabel:`Back to Dashboard` to finish setting up the
|
||||
project.
|
||||
|
||||
Create Credentials
|
||||
------------------
|
||||
|
||||
Now that you have set up the project, you need to create credentials, which includes the
|
||||
:guilabel:`Client ID` and :guilabel:`Client Secret`. First, click on :guilabel:`Credentials` in the
|
||||
left sidebar menu.
|
||||
Now that the project is set up, credentials should be created, which includes the *Client ID* and
|
||||
*Client Secret*. First, click on :guilabel:`Credentials` in the left sidebar menu.
|
||||
|
||||
Then, click on :guilabel:`Create Credentials` in the top menu and select
|
||||
:guilabel:`OAuth client ID` from the dropdown menu.
|
||||
Then, click on :guilabel:`Create Credentials` in the top menu and select :guilabel:`OAuth client ID`
|
||||
from the dropdown menu.
|
||||
|
||||
- Under :guilabel:`Application Type`, select :guilabel:`Web Application` from the dropdown menu.
|
||||
- In the :guilabel:`Client ID` field, enter `Odoo`.
|
||||
- In the :guilabel:`Name` field, enter `Odoo`.
|
||||
- Under the :guilabel:`Authorized redirect URIs` label, click the button :guilabel:`ADD URI`, and
|
||||
then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field. Be
|
||||
sure to replace the *yourdbname* part of the URL with your actual Odoo database name.
|
||||
- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and
|
||||
:guilabel:`Client Secret`. Finally, copy each generated value for later use when configuring in
|
||||
Odoo, and then navigate to the Odoo database.
|
||||
then input `https://yourdbname.odoo.com/google_gmail/confirm` in the :guilabel:`URIs 1` field.
|
||||
Be sure to replace the *yourdbname* part of the URL with the actual Odoo database name.
|
||||
- Next, click on :guilabel:`Create` to generate an OAuth :guilabel:`Client ID` and :guilabel:`Client
|
||||
Secret`. Finally, copy each generated value for later use when configuring in Odoo, and then
|
||||
navigate to the Odoo database.
|
||||
|
||||
.. image:: google_oauth/client-credentials.png
|
||||
:align: center
|
||||
@@ -87,32 +114,37 @@ Enter Google Credentials
|
||||
------------------------
|
||||
|
||||
First, open Odoo and navigate to the :guilabel:`Apps` module. Then, remove the :guilabel:`Apps`
|
||||
filter from the search bar and type in `Google`. Install the module called :guilabel:`Google Gmail`.
|
||||
filter from the search bar and type in `Google`. Install the module called :guilabel:`Google
|
||||
Gmail`.
|
||||
|
||||
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
|
||||
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates a
|
||||
new option for :guilabel:`Gmail Credentials`. Then, copy and paste the :guilabel:`Client ID` and
|
||||
:guilabel:`Client Secret` into the respective fields and :guilabel:`Save` the settings.
|
||||
section, ensure that the checkbox for :guilabel:`Custom Email Servers` or :guilabel:`External Email
|
||||
Servers` is checked. This populates a new option for :guilabel:`Gmail Credentials` or :guilabel:`Use
|
||||
a Gmail Sever`. Then, copy and paste the respective values into the :guilabel:`Client ID` and
|
||||
:guilabel:`Client Secret` fields and :guilabel:`Save` the settings.
|
||||
|
||||
Configure outgoing email server
|
||||
-------------------------------
|
||||
|
||||
After that, on the :guilabel:`General Settings` page, under :guilabel:`Custom Email Servers`, click
|
||||
:guilabel:`Outgoing Email Servers` to configure the external Gmail account.
|
||||
To configure the external Gmail account, return to the top of the :guilabel:`Custom Email Servers`
|
||||
setting and then click the :guilabel:`Outgoing Email Servers` link.
|
||||
|
||||
.. image:: google_oauth/outgoing-servers.png
|
||||
:align: center
|
||||
:alt: Configure Outgoing Email Servers in Odoo.
|
||||
|
||||
Then, :guilabel:`Create` a new email server and select the option for :guilabel:`Gmail`. Next, fill
|
||||
in the :guilabel:`Description` (can be anything) and the email :guilabel:`Username` and click on
|
||||
:guilabel:`Connect your Gmail account`.
|
||||
Then, click on :guilabel:`New` or :guilabel:`Create` to create a new email server, and fill in the
|
||||
:guilabel:`Name`, :guilabel:`Description`, and the email :guilabel:`Username` (if required).
|
||||
|
||||
A new window from :guilabel:`Google` opens to complete the authorization process. Select the
|
||||
Next, click on :guilabel:`Gmail OAuth Authentication` or :guilabel:`Gmail` (under the
|
||||
:guilabel:`Authenticate with` or :guilabel:`Connection` section). Finally, click on
|
||||
:guilabel:`Connect your Gmail Account`.
|
||||
|
||||
A new window labeled :guilabel:`Google` opens to complete the authorization process. Select the
|
||||
appropriate email address that is being configured in Odoo.
|
||||
|
||||
If the email address is a personal account, an extra step pops up, click :guilabel:`Continue` to
|
||||
allow the verification and connect the Gmail account to Odoo.
|
||||
If the email address is a personal account, then an extra step pops up, so click
|
||||
:guilabel:`Continue` to allow the verification and connect the Gmail account to Odoo.
|
||||
|
||||
Then, allow Odoo to access the Google account by clicking on :guilabel:`Continue` or
|
||||
:guilabel:`Allow`. After that, the page navigates back to the newly configured outgoing email
|
||||
@@ -123,9 +155,8 @@ server in Odoo. The configuration automatically loads the token in Odoo, and a t
|
||||
:align: center
|
||||
:alt: Configure Outgoing Email Servers in Odoo.
|
||||
|
||||
Finally, save the settings and :guilabel:`Test the Connection`. A confirmation message should
|
||||
appear. The Odoo database can now send safe, secure emails through Google using OAuth
|
||||
authentication.
|
||||
Finally, :guilabel:`Test the Connection`. A confirmation message should appear. The Odoo database
|
||||
can now send safe, secure emails through Google using OAuth authentication.
|
||||
|
||||
Google OAuth FAQ
|
||||
================
|
||||
@@ -133,8 +164,8 @@ Google OAuth FAQ
|
||||
Production VS Testing Publishing Status
|
||||
---------------------------------------
|
||||
|
||||
Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of Testing) will
|
||||
display the following warning message:
|
||||
Choosing :guilabel:`Production` as the :guilabel:`Publishing Status` (instead of
|
||||
:guilabel:`Testing`) will display the following warning message:
|
||||
|
||||
.. image:: google_oauth/published-status.png
|
||||
:align: center
|
||||
@@ -154,39 +185,35 @@ populate.
|
||||
:align: center
|
||||
:alt: 403 Access Denied Error.
|
||||
|
||||
To correct this error, return to the :guilabel:`OAuth consent screen` under
|
||||
:guilabel:`APIs & Services` and add test user(s) to the app. Add the email that you are configuring
|
||||
in Odoo.
|
||||
To correct this error, return to the :guilabel:`OAuth consent screen` under :guilabel:`APIs &
|
||||
Services` and add test user(s) to the app. Add the email that you are configuring in Odoo.
|
||||
|
||||
Gmail Module not updated
|
||||
------------------------
|
||||
|
||||
If the :guilabel:`Gmail Module` in Odoo has not been updated to the latest version, then a
|
||||
If the *Google Gmail* module in Odoo has not been updated to the latest version, then a
|
||||
:guilabel:`Forbidden` error message populates.
|
||||
|
||||
.. image:: google_oauth/forbidden-error.png
|
||||
:align: center
|
||||
:alt: Forbidden you don't have the permission to access the requested resource.
|
||||
|
||||
To correct this error, go to the :guilabel:`Apps` module and clear out the search terms. Then,
|
||||
search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click on
|
||||
the three dots on the upper right of the module and select :guilabel:`Upgrade`.
|
||||
To correct this error, go to the :menuselection:`Apps` module and clear out the search terms. Then,
|
||||
search for `Gmail` or `Google` and upgrade the :guilabel:`Google Gmail` module. Finally, click
|
||||
on the three dots on the upper right of the module and select :guilabel:`Upgrade`.
|
||||
|
||||
Application Type
|
||||
----------------
|
||||
|
||||
When creating the :guilabel:`Credentials` (OAuth Client ID and Client Secret), if
|
||||
:guilabel:`Desktop App` is selected for the :guilabel:`Application Type`, an
|
||||
:guilabel:`Authorization Error` appears.
|
||||
When creating the credentials (OAuth *Client ID* and *Client Secret*), if :guilabel:`Desktop App` is
|
||||
selected for the :guilabel:`Application Type`, an :guilabel:`Authorization Error` appears.
|
||||
|
||||
.. image:: google_oauth/error-400.png
|
||||
:align: center
|
||||
:alt: Error 400 Redirect URI Mismatch.
|
||||
|
||||
To correct this error, delete the credentials already created and create new credentials, selecting
|
||||
:guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under
|
||||
:guilabel:`Authorized redirect URIs`, click :guilabel:`ADD URI` and type:
|
||||
`https://yourdbname.odoo.com/google_gmail/confirm` in the field.
|
||||
|
||||
.. note::
|
||||
Replace *yourdbname* in the URL with the Odoo database name.
|
||||
:guilabel:`Web Application` for the :guilabel:`Application Type`. Then, under :guilabel:`Authorized
|
||||
redirect URIs`, click :guilabel:`ADD URI` and type:
|
||||
`https://yourdbname.odoo.com/google_gmail/confirm` in the field, being sure to replace *yourdbname*
|
||||
in the URL with the Odoo database name.
|
||||
|
||||
@@ -201,14 +201,14 @@ Connection`.
|
||||
#. The :guilabel:`From Filter` needs to be set on the server configuration. It is recommended
|
||||
to set it as a domain and not a full email address. It should match the domain in the two
|
||||
proceeding steps. More information can be referenced :ref:`here
|
||||
<email_servers/outgoing-email-server>`.
|
||||
<email_communication/from_filter>`.
|
||||
#. The :guilabel:`mail.default.from` system parameter must have the value
|
||||
`notifications\@yourdomain.com`.
|
||||
#. The :guilabel:`mail.default.from_filter` system parameter must have the value
|
||||
`yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there
|
||||
isn't one, then use the :guilabel:`mail.catchall.domain` system parameter.
|
||||
|
||||
For more information see :ref:`Using a default email address <email_domain/default>`.
|
||||
For more information see :ref:`Using a default email address <email_communication/default>`.
|
||||
|
||||
The :guilabel:`System Parameters` can be accessed by activating
|
||||
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
|
||||
|
||||
@@ -2,23 +2,15 @@
|
||||
Odoo Online database management
|
||||
===============================
|
||||
|
||||
To manage a database, sign in to https://www.odoo.com and access the `database management page
|
||||
<https://www.odoo.com/my/databases>`_ by clicking on the user icon, then on *My Databases*.
|
||||
To manage a database, go to the `database manager <https://www.odoo.com/my/databases>`_ and sign in
|
||||
as the database administrator.
|
||||
|
||||
.. image:: odoo_online/my-databases.png
|
||||
:align: center
|
||||
:alt: Clicking on the user icon opens a drop-down menu. "My databases" button is highlighted.
|
||||
All the main database management options are available by clicking the database name, except the
|
||||
upgrade option, which can be accessed by clicking the **arrow in a circle** icon next to the
|
||||
database name. It is only displayed if an upgrade is available.
|
||||
|
||||
.. note::
|
||||
Make sure you are connected as the administrator of the database you want to manage.
|
||||
|
||||
.. image:: odoo_online/dropdown-menu.png
|
||||
:align: right
|
||||
:alt: Clicking on the gear icon opens the drop-down menu.
|
||||
|
||||
Open the drop-down menu next to the database you want to manage by clicking on the gear icon.
|
||||
|
||||
Several actions are available:
|
||||
.. image:: odoo_online/database-manager.png
|
||||
:alt: Accessing the database management options
|
||||
|
||||
- :ref:`odoo_online/upgrade`
|
||||
- :ref:`odoo_online/duplicate`
|
||||
@@ -35,39 +27,24 @@ Several actions are available:
|
||||
Upgrade
|
||||
=======
|
||||
|
||||
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).
|
||||
|
||||
.. 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.
|
||||
Trigger a database upgrade.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../upgrade`
|
||||
- :doc:`supported_versions`
|
||||
For more information about the upgrade process, check out the :doc:`Odoo Online upgrade
|
||||
documentation <../upgrade/odoo_online>`.
|
||||
|
||||
.. _odoo_online/duplicate:
|
||||
|
||||
Duplicate
|
||||
=========
|
||||
|
||||
Make an exact copy of the database to be able to perform testing without compromising the daily
|
||||
operations.
|
||||
Create an exact copy of the database, which can be used to perform testing without compromising
|
||||
daily operations.
|
||||
|
||||
.. important::
|
||||
- By checking *For testing purposes*, all external communication (emails, payments, delivery
|
||||
- By checking :guilabel:`For testing purposes`, all external actions (emails, payments, delivery
|
||||
orders, etc.) are disabled by default on the duplicated database.
|
||||
- Duplicate databases expire automatically after 15 days.
|
||||
- Duplicated databases expire automatically after 15 days.
|
||||
|
||||
.. _odoo_online/rename:
|
||||
|
||||
@@ -81,28 +58,31 @@ Rename the database and its URL.
|
||||
Download
|
||||
========
|
||||
|
||||
Download instantly a ZIP file with a backup of the database.
|
||||
Download a ZIP file containing a backup of the database.
|
||||
|
||||
.. note::
|
||||
Databases are backed up daily according to the `Odoo Cloud SLA
|
||||
Databases are backed up daily as per the `Odoo Cloud Hosting SLA
|
||||
<https://www.odoo.com/cloud-sla>`_.
|
||||
|
||||
.. _odoo_online/domains:
|
||||
|
||||
Domains
|
||||
=======
|
||||
Domain names
|
||||
============
|
||||
|
||||
Configure custom domains to access the database via another URL.
|
||||
Use a custom :doc:`domain name <domain_names>` to access the database via another URL.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`domain_names`
|
||||
.. tip::
|
||||
You can :ref:`register a domain name for free <domain-name/odoo-register>`.
|
||||
|
||||
.. _odoo_online/tags:
|
||||
|
||||
Tags
|
||||
====
|
||||
|
||||
Add tags to sort your databases out. You can search the tags in the search bar.
|
||||
Add tags to easily identify and sort your databases.
|
||||
|
||||
.. tip::
|
||||
You can search for tags in the search bar.
|
||||
|
||||
.. _odoo_online/delete:
|
||||
|
||||
@@ -112,44 +92,43 @@ Delete
|
||||
Delete a database instantly.
|
||||
|
||||
.. danger::
|
||||
Deleting a database means that all data is permanently lost. The deletion is instant and for all
|
||||
users. It is recommended to create a backup of the database before deleting it.
|
||||
Deleting a database means that all data is permanently lost. The deletion is instant and applies
|
||||
to all users. It is recommended to create a backup of the database before deleting it.
|
||||
|
||||
Read carefully the warning message that pops up and proceed only if you fully understand the
|
||||
implications of deleting a database:
|
||||
Carefully read the warning message and only proceed if the implications of deleting a database are
|
||||
fully understood.
|
||||
|
||||
.. image:: odoo_online/delete.png
|
||||
:align: center
|
||||
:alt: A warning message is prompted before deleting a database.
|
||||
:alt: The warning message displayed before deleting a database
|
||||
|
||||
.. note::
|
||||
- Only an administrator can delete a database.
|
||||
- The database name is immediately available for a new database.
|
||||
- It is not possible to delete a database if it is expired or linked to a subscription. If
|
||||
needed, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
- To delete your account, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
- The database name is immediately made available to anyone.
|
||||
- Deleting a database if it has expired or is linked to a subscription is impossible. In that
|
||||
case, contact `Odoo Support <https://www.odoo.com/help>`_.
|
||||
|
||||
.. _odoo_online/contact-support:
|
||||
|
||||
Contact Support
|
||||
===============
|
||||
Contact us
|
||||
==========
|
||||
|
||||
Access the Odoo `support page <https://www.odoo.com/help>`_ with your database's details already
|
||||
Access the `Odoo.com support page <https://www.odoo.com/help>`_ with the database's details already
|
||||
pre-filled.
|
||||
|
||||
.. _odoo_online/users:
|
||||
|
||||
Invite / Remove Users
|
||||
Invite / remove users
|
||||
=====================
|
||||
|
||||
To invite users, fill out the email address of the new user and click on *Invite*. To add multiple
|
||||
users, click on *Add more users*.
|
||||
To invite users, fill out the new user's email address and click :guilabel:`Invite`. To add multiple
|
||||
users, click :guilabel:`Add more users`.
|
||||
|
||||
.. image:: odoo_online/invite-users.png
|
||||
:align: center
|
||||
:alt: Clicking on "Add more users" adds additional email fields.
|
||||
:alt: Inviting a user on a database
|
||||
|
||||
To remove users, select the users to remove and click on *Remove*.
|
||||
To remove users, select them and click :guilabel:`Remove`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/users/manage_users`
|
||||
- :doc:`../../applications/general/users/manage_users`
|
||||
- :doc:`../../applications/general/users/delete_account`
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 9.6 KiB |
@@ -19,12 +19,12 @@ If you are unable to register your database, you will likely encounter this
|
||||
message:
|
||||
|
||||
.. image:: on_premise/error_message_sub_code.png
|
||||
:align: center
|
||||
:alt: Something went wrong while registering your database,
|
||||
you can try again or contact Odoo Help
|
||||
:align: center
|
||||
:alt: Something went wrong while registering your database, you can try again or contact Odoo
|
||||
Help
|
||||
|
||||
Solutions
|
||||
'''''''''
|
||||
~~~~~~~~~
|
||||
|
||||
* Do you have a valid Enterprise subscription?
|
||||
|
||||
@@ -42,15 +42,13 @@ Solutions
|
||||
<https://accounts.odoo.com/my/subscription>`__ with the button "Unlink database"
|
||||
|
||||
.. image:: on_premise/unlink_single_db.png
|
||||
:align: center
|
||||
|
||||
:align: center
|
||||
|
||||
A confirmation message will appear; make sure this is the correct database as
|
||||
it will be deactivated shortly:
|
||||
|
||||
.. image:: on_premise/unlink_confirm_enterprise_edition.png
|
||||
:align: center
|
||||
|
||||
:align: center
|
||||
|
||||
* Do you have the updated version of Odoo 9?
|
||||
|
||||
@@ -63,8 +61,7 @@ Solutions
|
||||
specifying which database is problematic:
|
||||
|
||||
.. image:: on_premise/unlink_db_name_collision.png
|
||||
:align: center
|
||||
|
||||
:align: center
|
||||
|
||||
In this case, you need to change the UUID on your test databases to solve this
|
||||
issue. You will find more information about this in :ref:`this section <duplicate_premise>`.
|
||||
@@ -85,8 +82,6 @@ Solutions
|
||||
* Once you activated your database, you must keep these ports open, as the
|
||||
Update notification runs once a week.
|
||||
|
||||
|
||||
|
||||
Error message due to too many users
|
||||
-----------------------------------
|
||||
|
||||
@@ -94,16 +89,15 @@ If you have more users in your local database than provisionned in your
|
||||
Odoo Enterprise subscription, you may encounter this message:
|
||||
|
||||
.. image:: on_premise/add_more_users.png
|
||||
:align: center
|
||||
:alt: This database will expire in X days, you
|
||||
have more users than your subscription allows
|
||||
:align: center
|
||||
:alt: This database will expire in X days, you have more users than your subscription allows
|
||||
|
||||
|
||||
When the message appears you have 30 days before the expiration.
|
||||
The countdown is updated everyday.
|
||||
|
||||
Solutions
|
||||
'''''''''
|
||||
~~~~~~~~~
|
||||
|
||||
- **Add more users** on your subscription: follow the link and Validate
|
||||
the upsell quotation and pay for the extra users.
|
||||
@@ -123,15 +117,14 @@ If your database reaches its expiration date before your renew your subscription
|
||||
you will encounter this message:
|
||||
|
||||
.. image:: on_premise/database_expired.png
|
||||
:align: center
|
||||
:alt: This database has expired.
|
||||
|
||||
:align: center
|
||||
:alt: This database has expired.
|
||||
|
||||
This **blocking** message appears after a non-blocking message that lasts 30 days.
|
||||
If you fail to take action before the end of the countdown, the database is expired.
|
||||
|
||||
Solutions
|
||||
'''''''''
|
||||
~~~~~~~~~
|
||||
|
||||
* Renew your subscription: follow the link and renew your subscription - note that
|
||||
if you wish to pay by Wire Transfer, your subscription will effectively be renewed
|
||||
@@ -142,7 +135,6 @@ Solutions
|
||||
None of those solutions worked for you? Please contact our
|
||||
`Support <https://www.odoo.com/help>`__
|
||||
|
||||
|
||||
.. _force_ping:
|
||||
|
||||
.. _duplicate_premise:
|
||||
@@ -155,8 +147,7 @@ server (<odoo-server>/web/database/manager). In this page, you can easily
|
||||
duplicate your database (among other things).
|
||||
|
||||
.. image:: on_premise/db_manager.gif
|
||||
:align: center
|
||||
|
||||
:align: center
|
||||
|
||||
When you duplicate a local database, it is **strongly** advised to change
|
||||
the duplicated database's uuid (Unniversally Unique Identifier), since this
|
||||
@@ -164,8 +155,9 @@ uuid is how your database identifies itself with our servers. Having two
|
||||
databases with the same uuid could result in invoicing problems or registration
|
||||
problems down the line.
|
||||
|
||||
.. note:: From July 2016 onward, Odoo 9 now automatically change the uuid of a
|
||||
duplicated database; a manual operation is no longer required.
|
||||
.. note::
|
||||
From July 2016 onward, Odoo 9 now automatically change the uuid of a duplicated database; a
|
||||
manual operation is no longer required.
|
||||
|
||||
The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical -->
|
||||
System Parameters`, we advise you to use a `uuid generator <https://www.uuidtools.com>`_ or to
|
||||
@@ -173,4 +165,4 @@ use the unix command ``uuidgen`` to generate a new uuid. You can then simply rep
|
||||
other record by clicking on it and using the edit button.
|
||||
|
||||
.. image:: on_premise/db_uuid.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
@@ -23,43 +23,136 @@ This matrix shows the support status of every version.
|
||||
|
||||
**Major releases are in bold type.**
|
||||
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
||||
+=================+=============+==========+=============+================+========================+
|
||||
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **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** | |red| | |red| | |red| | October 2019 | October 2022 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~12.3 | |red| | N/A | N/A | August 2019 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 12.0** | |red| | |red| | |red| | October 2018 | October 2021 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~11.3 | |red| | N/A | N/A | April 2018 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 11.0** | |red| | |red| | |red| | October 2017 | October 2020 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 10.saas~15 | |red| | N/A | N/A | March 2017 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 10.saas~14 | |red| | N/A | N/A | January 2017 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 10.0** | |red| | |red| | |red| | October 2016 | October 2019 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 9.saas~11 | |red| | N/A | N/A | May 2016 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 9.0** | |red| | N/A | |red| | October 2015 | October 2018 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo 8.saas~6 | |red| | N/A | N/A | February 2015 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 8.0** | |red| | N/A | |red| | September 2014 | October 2017 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: auto
|
||||
|
||||
* -
|
||||
- Odoo Online
|
||||
- Odoo.sh
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo saas~16.3
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- June 2023
|
||||
- September 2023 (planned)
|
||||
* - Odoo saas~16.2
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2023
|
||||
- July 2023 (planned)
|
||||
* - Odoo saas~16.1
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2023
|
||||
- April 2023
|
||||
* - **Odoo 16.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- October 2022
|
||||
- October 2025 (planned)
|
||||
* - Odoo saas~15.2
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2022
|
||||
- January 2023
|
||||
* - Odoo saas~15.1
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2022
|
||||
- July 2022
|
||||
* - **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**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2019
|
||||
- October 2022
|
||||
* - Odoo saas~12.3
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- August 2019
|
||||
-
|
||||
* - **Odoo 12.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2018
|
||||
- October 2021
|
||||
* - Odoo saas~11.3
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- April 2018
|
||||
-
|
||||
* - **Odoo 11.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2017
|
||||
- October 2020
|
||||
* - Odoo 10.saas~15
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2017
|
||||
-
|
||||
* - Odoo 10.saas~14
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- January 2017
|
||||
-
|
||||
* - **Odoo 10.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2016
|
||||
- October 2019
|
||||
* - Odoo 9.saas~11
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- May 2016
|
||||
-
|
||||
* - **Odoo 9.0**
|
||||
- |red|
|
||||
- N/A
|
||||
- |red|
|
||||
- October 2015
|
||||
- October 2018
|
||||
* - Odoo 8.saas~6
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2015
|
||||
-
|
||||
* - **Odoo 8.0**
|
||||
- |red|
|
||||
- N/A
|
||||
- |red|
|
||||
- September 2014
|
||||
- October 2017
|
||||
|
||||
.. note::
|
||||
|
||||
|
||||
@@ -104,6 +104,7 @@ and you're all set.
|
||||
|
||||
Source Install (Tarball)
|
||||
------------------------
|
||||
|
||||
If you have originally installed Odoo with the "tarball" version (source code archive), you have
|
||||
to replace the installation directory with a newer version. First download the latest tarball
|
||||
from Odoo.com. They are updated daily and include the latest security fixes (see step #1)
|
||||
@@ -123,6 +124,7 @@ Finally, restart the Odoo service or reboot the machine, and you are all set.
|
||||
|
||||
Source Install (Github)
|
||||
-----------------------
|
||||
|
||||
If you have originally installed Odoo with a full Github clone of the official repositories, the
|
||||
update procedure requires you to pull the latest source code via git.
|
||||
Change into the directory for each repository (the main Odoo repository, and the Enterprise
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
:nosearch:
|
||||
|
||||
=================
|
||||
========
|
||||
Advanced
|
||||
=================
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
|
||||
==================================
|
||||
==========
|
||||
Containers
|
||||
==================================
|
||||
==========
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -167,7 +167,7 @@ In the above commands, the argument:
|
||||
* ``--stop-after-init`` will immediately shutdown the server instance after it completed the operations you asked.
|
||||
|
||||
More options are available and detailed in the
|
||||
:doc:`CLI documentation </developer/cli>`.
|
||||
:doc:`CLI documentation </developer/reference/cli>`.
|
||||
|
||||
You can find in the logs (*~/logs/odoo.log*) the addons path used by Odoo.sh to run your server.
|
||||
Look for "*odoo: addons paths*":
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _odoosh-advanced-frequent_technical_questions:
|
||||
|
||||
==================================
|
||||
============================
|
||||
Frequent Technical Questions
|
||||
==================================
|
||||
============================
|
||||
|
||||
"Scheduled actions do not run at the exact time they were expected"
|
||||
-------------------------------------------------------------------
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _odoosh-advanced-submodules:
|
||||
|
||||
==================================
|
||||
==========
|
||||
Submodules
|
||||
==================================
|
||||
==========
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -64,7 +64,7 @@ On Github, you can get the repository URL with the *Clone or download* button of
|
||||
.. _odoosh-advanced-submodules-withgit:
|
||||
|
||||
With Git (advanced)
|
||||
---------------------
|
||||
-------------------
|
||||
|
||||
In a terminal, in the folder where your Git repository is cloned,
|
||||
checkout the branch in which you want to add a submodule:
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
:nosearch:
|
||||
|
||||
=================
|
||||
===========
|
||||
Get started
|
||||
=================
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
==================================
|
||||
========
|
||||
Branches
|
||||
==================================
|
||||
========
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -14,7 +13,7 @@ The branches view gives you an overview of the different branches your repositor
|
||||
.. _odoosh-gettingstarted-branches-stages:
|
||||
|
||||
Stages
|
||||
===============
|
||||
======
|
||||
|
||||
Odoo.sh offers three different stages for your branches: production, staging and development.
|
||||
|
||||
@@ -27,6 +26,7 @@ You can change the stage of a branch by drag and dropping it into the stage sect
|
||||
|
||||
Production
|
||||
----------
|
||||
|
||||
This is the branch holding the code on which your production database runs.
|
||||
There can be only one production branch.
|
||||
|
||||
@@ -42,7 +42,7 @@ instance will be held temporarily unavailable for maintenance reason.
|
||||
|
||||
This method is equivalent to perform an upgrade of the module through the Apps menu,
|
||||
or through the :code:`-u` switch of
|
||||
:doc:`the command line </developer/cli>`.
|
||||
:doc:`the command line </developer/reference/cli>`.
|
||||
|
||||
In the case the changes in the commit prevent the server to restart,
|
||||
or if the modules update fails,
|
||||
@@ -59,6 +59,7 @@ will automatically be set back to the development stage after 30 days.
|
||||
|
||||
Staging
|
||||
-------
|
||||
|
||||
Staging branches are meant to test your new features using the production data without compromising
|
||||
the actual production database with test records. They will create databases that are neutralized
|
||||
duplicates of the production database.
|
||||
@@ -83,9 +84,9 @@ The unit tests are not performed as, in Odoo, they currently rely on the demo da
|
||||
production database. In the future, if Odoo supports to run the unit tests without the demo data,
|
||||
Odoo.sh will then consider running the tests on staging databases.
|
||||
|
||||
|
||||
Development
|
||||
-----------
|
||||
|
||||
Development branches create new databases using the demo data to run the unit tests.
|
||||
The installed modules are the ones included in your branches. You can change this list of modules
|
||||
to install in your :ref:`project Settings <odoosh-gettingstarted-settings-modules-installation>`.
|
||||
@@ -107,6 +108,7 @@ After that, they can be automatically garbage collected to make room for new dat
|
||||
|
||||
Merging your branches
|
||||
---------------------
|
||||
|
||||
You can merge your branches easily by drag and dropping them into each other.
|
||||
|
||||
.. image:: branches/interface-branches-merge.png
|
||||
@@ -147,10 +149,11 @@ If you test configuration changes in staging branches, and want them to be appli
|
||||
.. _odoosh-gettingstarted-branches-tabs:
|
||||
|
||||
Tabs
|
||||
=============
|
||||
====
|
||||
|
||||
History
|
||||
-------
|
||||
|
||||
An overview of your branch history:
|
||||
|
||||
* The messages of the commits and their authors,
|
||||
@@ -168,6 +171,7 @@ When an operation is successful, you can access the database thanks to the *conn
|
||||
|
||||
Mails
|
||||
-----
|
||||
|
||||
This tab contains the mail catcher. It displays an overview of the emails sent by your database.
|
||||
The mail catcher is available for your development and
|
||||
staging branches as the emails of your production database are really sent instead of being intercepted.
|
||||
@@ -178,6 +182,7 @@ staging branches as the emails of your production database are really sent inste
|
||||
|
||||
Shell
|
||||
-----
|
||||
|
||||
A shell access to your container. You can perform basic linux commands (:code:`ls`, :code:`top`)
|
||||
and open a shell on your database by typing :code:`psql`.
|
||||
|
||||
@@ -187,13 +192,13 @@ and open a shell on your database by typing :code:`psql`.
|
||||
You can open multiple tabs and drag-and-drop them to arrange the layout as you wish,
|
||||
for instance side by side.
|
||||
|
||||
|
||||
.. Note::
|
||||
Long running shell instances are not guaranteed. Idle shells can be
|
||||
disconnected at anytime in order to free up resources.
|
||||
|
||||
Editor
|
||||
------
|
||||
|
||||
An online integrated development environment (IDE) to edit the source code.
|
||||
You can also open terminals, Python consoles and even Odoo Shell consoles.
|
||||
|
||||
@@ -205,6 +210,7 @@ for instance side by side.
|
||||
|
||||
Monitoring
|
||||
----------
|
||||
|
||||
This link contains various monitoring metrics of the current build.
|
||||
|
||||
.. image:: branches/interface-branches-monitoring.png
|
||||
@@ -217,6 +223,7 @@ On the graphs, annotations help you relate to changes on the build (database imp
|
||||
|
||||
Logs
|
||||
----
|
||||
|
||||
A viewer to have a look to your server logs.
|
||||
|
||||
.. image:: branches/interface-branches-logs.png
|
||||
@@ -240,6 +247,7 @@ The fetching is automatically stopped after 5 minutes. You can restart it using
|
||||
|
||||
Backups
|
||||
-------
|
||||
|
||||
A list of the backups available for download and restore, the ability to perform a manual backup and to import a
|
||||
database.
|
||||
|
||||
@@ -398,14 +406,13 @@ settings to increase the deliverability of your outgoing emails.
|
||||
The configuration steps are explained in the documentation about :ref:`SPF
|
||||
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
|
||||
|
||||
|
||||
.. Warning::
|
||||
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
||||
delivery of your emails as spam in your contacts inbox.
|
||||
|
||||
|
||||
Shell commands
|
||||
==============
|
||||
|
||||
In the top right-hand corner of the view, different shell commands are available.
|
||||
|
||||
.. image:: branches/interface-branches-shellcommands.png
|
||||
@@ -418,6 +425,7 @@ such as ``<URL>``, ``<PATH>``, ...
|
||||
|
||||
Clone
|
||||
-----
|
||||
|
||||
Download the Git repository.
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -433,6 +441,7 @@ The *run* button is not available for this command, as it is meant to be used on
|
||||
|
||||
Fork
|
||||
----
|
||||
|
||||
Create a new branch based on the current branch.
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -449,6 +458,7 @@ Uploads the new branch *feature-1* on your remote repository.
|
||||
|
||||
Merge
|
||||
-----
|
||||
|
||||
Merge the current branch in another branch.
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -465,8 +475,10 @@ Uploads the changes you just added in the *master* branch on your remote reposit
|
||||
|
||||
SSH
|
||||
---
|
||||
|
||||
Setup
|
||||
~~~~~
|
||||
|
||||
In order to use SSH, you have to set up your profile SSH public key (if it is not already done).
|
||||
To do so, follow these steps:
|
||||
|
||||
@@ -506,7 +518,6 @@ you'll be granted ssh access to the build.
|
||||
Long running ssh connections are not guaranteed. Idle connections will be
|
||||
disconnected in order to free up resources.
|
||||
|
||||
|
||||
Submodule
|
||||
---------
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
|
||||
.. _odoosh-gettingstarted-builds:
|
||||
|
||||
==================================
|
||||
======
|
||||
Builds
|
||||
==================================
|
||||
======
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
In Odoo.sh, a build is considered as a database loaded by an Odoo server
|
||||
(`odoo/odoo <https://github.com/odoo/odoo>`_ & `odoo/enterprise <https://github.com/odoo/enterprise>`_)
|
||||
running on a specific revision of your project repository in a containerized environment.
|
||||
Its purpose is to test the well-behavior of the server, the database and the features with this revision.
|
||||
(`odoo/odoo <https://github.com/odoo/odoo>`_ & `odoo/enterprise
|
||||
<https://github.com/odoo/enterprise>`_) running on a specific revision of your project repository in
|
||||
a containerized environment. Its purpose is to test the well-behavior of the server, the database
|
||||
and the features with this revision.
|
||||
|
||||
.. image:: builds/interface-builds.png
|
||||
:align: center
|
||||
@@ -28,13 +29,13 @@ A successful build is highlighted in green.
|
||||
A build is considered failed if errors come up during its creation.
|
||||
A failed build is highlighted in red.
|
||||
|
||||
If warnings come up during the creation, but there are no errors, the build is considered almost successful.
|
||||
It is highlighted in yellow to notify the developer warnings were raised.
|
||||
If warnings come up during the creation, but there are no errors, the build is considered almost
|
||||
successful. It is highlighted in yellow to notify the developer warnings were raised.
|
||||
|
||||
Builds do not always create a database from scratch.
|
||||
For instance, when pushing a change on the production branch, the build created just starts the server
|
||||
with your new revision and tries to load the current production database on it.
|
||||
If no errors come up, the build is considered successful, and otherwise failed.
|
||||
Builds do not always create a database from scratch. For instance, when pushing a change on the
|
||||
production branch, the build created just starts the server with your new revision and tries to load
|
||||
the current production database on it. If no errors come up, the build is considered successful, and
|
||||
otherwise failed.
|
||||
|
||||
Stages
|
||||
======
|
||||
@@ -48,14 +49,15 @@ If this build is successful, this database is considered as the production datab
|
||||
From then, pushes on the production branch will create new builds that attempt to load the database
|
||||
using a server running with the new revision.
|
||||
|
||||
If the build is successful, or has warnings but no errors, the production database will now run with this build, along
|
||||
with the revision associated to this build.
|
||||
If the build is successful, or has warnings but no errors, the production database will now run with
|
||||
this build, along with the revision associated to this build.
|
||||
|
||||
If the build fails to load or update the database, then the previous successful build is re-used to load the database,
|
||||
and therefore the database will run using a server running with the previous successful revision.
|
||||
If the build fails to load or update the database, then the previous successful build is re-used to
|
||||
load the database, and therefore the database will run using a server running with the previous
|
||||
successful revision.
|
||||
|
||||
The build used to run the production database is always the first of the builds list. If a build fails, it is
|
||||
put after the build currently running the production database.
|
||||
The build used to run the production database is always the first of the builds list. If a build
|
||||
fails, it is put after the build currently running the production database.
|
||||
|
||||
Staging
|
||||
-------
|
||||
@@ -63,18 +65,17 @@ Staging
|
||||
Staging builds duplicate the production database,
|
||||
and try to load this duplicate with the revisions of the staging branches.
|
||||
|
||||
Each time you push a new revision on a staging branch, the build created uses a new copy of the production database.
|
||||
The databases are not re-used between builds of the same branch. This ensures:
|
||||
Each time you push a new revision on a staging branch, the build created uses a new copy of the
|
||||
production database. The databases are not re-used between builds of the same branch. This ensures:
|
||||
|
||||
* staging builds use databases that are close to what the production looks like,
|
||||
so you do not make your tests with outdated data,
|
||||
* staging builds use databases that are close to what the production looks like, so you do not make
|
||||
your tests with outdated data,
|
||||
|
||||
* you can play around as much as you want in the same staging database,
|
||||
and you can then ask for a rebuild when you want to restart with a new copy of the production.
|
||||
* you can play around as much as you want in the same staging database, and you can then ask for a
|
||||
rebuild when you want to restart with a new copy of the production.
|
||||
|
||||
Nevertheless, this means that if you make configuration changes in staging databases
|
||||
and do not apply them in the production,
|
||||
they will not be passed on the next build of the same staging branch.
|
||||
Nevertheless, this means that if you make configuration changes in staging databases and do not
|
||||
apply them in the production, they will not be passed on the next build of the same staging branch.
|
||||
|
||||
Development
|
||||
-----------
|
||||
@@ -86,30 +87,30 @@ as they are meant to raise errors if something wrong occurs.
|
||||
|
||||
If all tests pass, and there is no error, the build will be considered successful.
|
||||
|
||||
According to the list of modules to install and test, a development build can take up to 1 hour to be ready.
|
||||
This is due to the large number of tests set in the default Odoo modules suite.
|
||||
According to the list of modules to install and test, a development build can take up to 1 hour to
|
||||
be ready. This is due to the large number of tests set in the default Odoo modules suite.
|
||||
|
||||
Features
|
||||
========
|
||||
|
||||
The production branch will always appear first,
|
||||
and then the other branches are ordered by last build created. You can filter out the branches.
|
||||
The production branch will always appear first, and then the other branches are ordered by last
|
||||
build created. You can filter out the branches.
|
||||
|
||||
.. image:: builds/interface-builds-branches.png
|
||||
:align: center
|
||||
|
||||
For each branch, you can access the last build's database using the *Connect* link and jump to the branch code using
|
||||
the *Github* link. For other branches than the production, you can create a new build which will use the latest revision
|
||||
of the branch using the link *rebuild*. This last link is not available when there is already a build in progress for
|
||||
the branch.
|
||||
For each branch, you can access the last build's database using the *Connect* link and jump to the
|
||||
branch code using the *Github* link. For other branches than the production, you can create a new
|
||||
build which will use the latest revision of the branch using the link *rebuild*. This last link is
|
||||
not available when there is already a build in progress for the branch.
|
||||
|
||||
.. image:: builds/interface-builds-build.png
|
||||
:align: center
|
||||
|
||||
For each build, you can access the revision changes using the button with the Github icon.
|
||||
You can access the build's database as the administrator using the *Connect* button.
|
||||
Also, you can access the database with another user using the *Connect as* button,
|
||||
in the dropdown menu of the *Connect* button.
|
||||
For each build, you can access the revision changes using the button with the Github icon. You can
|
||||
access the build's database as the administrator using the *Connect* button. Also, you can access
|
||||
the database with another user using the *Connect as* button, in the dropdown menu of the *Connect*
|
||||
button.
|
||||
|
||||
.. _odoosh-gettingstarted-builds-download-dump:
|
||||
|
||||
@@ -118,6 +119,6 @@ in the dropdown menu of the *Connect* button.
|
||||
|
||||
.. _odoosh-gettingstarted-builds-dropdown-menu:
|
||||
|
||||
In the dropdown menu of the build, you can access the same features than in :ref:`the branches view <odoosh-gettingstarted-branches-tabs>`:
|
||||
*Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*.
|
||||
You also have the possibility to *Download a dump* of the build's database.
|
||||
In the dropdown menu of the build, you can access the same features than in :ref:`the branches view
|
||||
<odoosh-gettingstarted-branches-tabs>`: *Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*. You also
|
||||
have the possibility to *Download a dump* of the build's database.
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _odoosh-gettingstarted-create:
|
||||
|
||||
==================================
|
||||
===================
|
||||
Create your project
|
||||
==================================
|
||||
===================
|
||||
|
||||
Deploy your platform
|
||||
====================
|
||||
@@ -16,7 +16,8 @@ Go to `Odoo.sh <https://www.odoo.sh/>`_ and hit the *Deploy your platform* butto
|
||||
Sign in with Github
|
||||
===================
|
||||
|
||||
Sign in with your Github account. If you do not have an account yet, hit the *Create an account* link.
|
||||
Sign in with your Github account. If you do not have an account yet, hit the *Create an account*
|
||||
link.
|
||||
|
||||
.. image:: create/github-signin.png
|
||||
:align: center
|
||||
@@ -33,34 +34,44 @@ Odoo.sh basically needs:
|
||||
|
||||
* to know your Github login and email,
|
||||
* to create a new repository in case you decide to start from scratch,
|
||||
* to read your existing repositories, including the ones of your organizations, in case you want to start from an existing repository,
|
||||
* to read your existing repositories, including the ones of your organizations, in case you want to
|
||||
start from an existing repository,
|
||||
* to create a webhook to be notified each time you push changes,
|
||||
* to commit changes to make your deployment easier, merging branches or adding new `submodules <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ for example.
|
||||
* to commit changes to make your deployment easier, merging branches or adding new `submodules
|
||||
<https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ for example.
|
||||
|
||||
Submit your project
|
||||
===================
|
||||
|
||||
Choose if you want to start from scratch by creating a new repository, or if you want to use an existing repository.
|
||||
Choose if you want to start from scratch by creating a new repository, or if you want to use an
|
||||
existing repository.
|
||||
|
||||
Then, choose a name or select the repository you want to use.
|
||||
|
||||
Choose the Odoo version you want to use. If you plan to import an existing database or an existing set of applications, you might need to choose the according version. If you start from scratch, use the latest version.
|
||||
Choose the Odoo version you want to use. If you plan to import an existing database or an existing
|
||||
set of applications, you might need to choose the according version. If you start from scratch, use
|
||||
the latest version.
|
||||
|
||||
Enter your *subscription code*. This is also called *subscription referral*, *contract number* or *activation code*.
|
||||
Enter your *subscription code*. This is also called *subscription referral*, *contract number* or
|
||||
*activation code*.
|
||||
|
||||
It should be the code of your Enterprise subscription that includes Odoo.sh.
|
||||
|
||||
Partners can use their partnership codes to start a trial. Should their clients start a project, they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The partner will get the full amount as back commission.
|
||||
Contact your sales representative or account manager in order to get it.
|
||||
Partners can use their partnership codes to start a trial. Should their clients start a project,
|
||||
they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The
|
||||
partner will get 50% of the amount back as commission. Contact your sales representative or account
|
||||
manager in order to get it.
|
||||
|
||||
When submitting the form, if you are notified your subscription is not valid, it either means:
|
||||
|
||||
* it is not an existing subscription,
|
||||
* it is not a partnership subscription,
|
||||
* it is an enterprise subscription, but which does not include Odoo.sh,
|
||||
* it is neither a partnership subscription or an enterprise subscription (e.g. an online subscription).
|
||||
* it is neither a partnership subscription or an enterprise subscription (e.g. an online
|
||||
subscription).
|
||||
|
||||
In case of doubt with your subscription, please contact the `Odoo support <https://www.odoo.com/help>`_.
|
||||
In case of doubt with your subscription, please contact the `Odoo support
|
||||
<https://www.odoo.com/help>`_.
|
||||
|
||||
.. image:: create/deploy-form.png
|
||||
:align: center
|
||||
@@ -68,7 +79,8 @@ In case of doubt with your subscription, please contact the `Odoo support <https
|
||||
You're done !
|
||||
=============
|
||||
|
||||
You can start using Odoo.sh. Your first build is about to be created. You will soon be able to connect to your first database.
|
||||
You can start using Odoo.sh. Your first build is about to be created. You will soon be able to
|
||||
connect to your first database.
|
||||
|
||||
.. image:: create/deploy-done.png
|
||||
:align: center
|
||||
@@ -88,9 +100,10 @@ If you use community or custom modules, add them in a branch in your Github repo
|
||||
Databases hosted on the Odoo.com online platform do not have any custom modules.
|
||||
Users of these databases can therefore skip this step.
|
||||
|
||||
You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing Odoo addons.
|
||||
For instance, you can put all your modules folder in the root directory of your repository,
|
||||
or group the modules in folders by categories that you define (accounting, project, ...).
|
||||
You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing
|
||||
Odoo addons. For instance, you can put all your modules folder in the root directory of your
|
||||
repository, or group the modules in folders by categories that you define (accounting, project,
|
||||
...).
|
||||
|
||||
For community modules available in public Git repositories,
|
||||
you can also consider to add them using :ref:`Submodules <odoosh-advanced-submodules>`.
|
||||
@@ -111,7 +124,8 @@ Access the URL :file:`/web/database/manager` of your on-premise database and dow
|
||||
If you cannot access the database manager, it may have been disabled by your system administrator.
|
||||
See the :ref:`database manager security documentation <db_manager_security>`.
|
||||
|
||||
You will need the master password of your database server. If you do not have it, contact your system administrator.
|
||||
You will need the master password of your database server. If you do not have it, contact your
|
||||
system administrator.
|
||||
|
||||
.. image:: create/create-import-onpremise-backup.png
|
||||
:align: center
|
||||
@@ -124,10 +138,11 @@ Choose a zip including the filestore as the backup format.
|
||||
Odoo Online databases
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
`Access your databases manager <https://accounts.odoo.com/my/databases/manage>`_ and download a backup of your database.
|
||||
`Access your databases manager <https://accounts.odoo.com/my/databases/manage>`_ and download a
|
||||
backup of your database.
|
||||
|
||||
.. image:: create/create-import-online-backup.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
.. Warning::
|
||||
|
||||
@@ -136,52 +151,55 @@ Odoo Online databases
|
||||
Upload the backup
|
||||
-----------------
|
||||
|
||||
Then, in your Odoo.sh project, in the backups tab of your production branch, import the backup you just downloaded.
|
||||
Then, in your Odoo.sh project, in the backups tab of your production branch, import the backup you
|
||||
just downloaded.
|
||||
|
||||
.. image:: create/create-import-production.png
|
||||
:align: center
|
||||
|
||||
Once the backup imported, you can access the database using the *Connect* button in the history of the branch.
|
||||
Once the backup imported, you can access the database using the *Connect* button in the history of
|
||||
the branch.
|
||||
|
||||
.. image:: create/create-import-production-done.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
Check your outgoing email servers
|
||||
---------------------------------
|
||||
|
||||
There is a default mail server provided with Odoo.sh.
|
||||
To use it, there must be no enabled outgoing mail server configured in your database in
|
||||
:menuselection:`Settings --> Technical --> Outgoing Mail Servers`
|
||||
(:ref:`Developer mode <developer-mode>` must be activated).
|
||||
:menuselection:`Settings --> Technical --> Outgoing Mail Servers` (:ref:`Developer mode
|
||||
<developer-mode>` must be activated).
|
||||
|
||||
After the import of your database,
|
||||
all outgoing email servers are disabled so you use the Odoo.sh email server provided by default.
|
||||
After the import of your database, all outgoing email servers are disabled so you use the Odoo.sh
|
||||
email server provided by default.
|
||||
|
||||
.. Warning::
|
||||
|
||||
Port 25 is (and will stay) closed. If you want to connect to an external SMTP server, you should use ports 465 and 587.
|
||||
.. warning::
|
||||
Port 25 is (and will stay) closed. If you want to connect to an external SMTP server, you should
|
||||
use ports 465 and 587.
|
||||
|
||||
Check your scheduled actions
|
||||
----------------------------
|
||||
|
||||
All scheduled actions are disabled after the import.
|
||||
|
||||
This is to prevent your newly imported database to perform actions that could impact your running production,
|
||||
such as sending the mails remaining in the queue, processing mass mailings, or third-party services synchronization
|
||||
(Calendars, files hosting, ...).
|
||||
This is to prevent your newly imported database to perform actions that could impact your running
|
||||
production, such as sending the mails remaining in the queue, processing mass mailings, or
|
||||
third-party services synchronization (Calendars, files hosting, ...).
|
||||
|
||||
If you plan to make the imported database your production, enable the scheduled actions you need.
|
||||
You can check what is enabled in the database of origin and enable the same actions in the imported database.
|
||||
Scheduled actions are located under :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`.
|
||||
You can check what is enabled in the database of origin and enable the same actions in the imported
|
||||
database. Scheduled actions are located under :menuselection:`Settings --> Technical --> Automation
|
||||
--> Scheduled Actions`.
|
||||
|
||||
Register your subscription
|
||||
--------------------------
|
||||
|
||||
Your subscription is unlinked after the import.
|
||||
|
||||
The imported database is considered a duplicate by default and the enterprise subscription is therefore removed,
|
||||
as you can only have one database linked per subscription.
|
||||
The imported database is considered a duplicate by default and the enterprise subscription is
|
||||
therefore removed, as you can only have one database linked per subscription.
|
||||
|
||||
If you plan to make it your production,
|
||||
unlink your former database from the subscription, and register the newly imported database.
|
||||
Read the :doc:`database registration documentation <../../maintain/on_premise>` for instructions.
|
||||
If you plan to make it your production, unlink your former database from the subscription, and
|
||||
register the newly imported database. Read the :doc:`database registration documentation
|
||||
<../../maintain/on_premise>` for instructions.
|
||||
|
||||
@@ -27,7 +27,7 @@ Create the development branch
|
||||
=============================
|
||||
|
||||
From Odoo.sh
|
||||
-------------
|
||||
------------
|
||||
|
||||
In the branches view:
|
||||
|
||||
@@ -43,20 +43,18 @@ In the branches view:
|
||||
.. |pic2| image:: first_module/firstmodule-development-fork.png
|
||||
:width: 45%
|
||||
|
||||
|
||||
Once the build created, you can access the editor and browse to the folder *~/src/user* to access
|
||||
to the code of your development branch.
|
||||
|
||||
.. image:: first_module/firstmodule-development-editor.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
.. image:: first_module/firstmodule-development-editor-interface.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
From your computer
|
||||
------------------
|
||||
|
||||
|
||||
Clone your Github repository on your computer:
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -72,7 +70,6 @@ Create a new branch:
|
||||
|
||||
$ git checkout -b feature-1 master
|
||||
|
||||
|
||||
Create the module structure
|
||||
===========================
|
||||
|
||||
@@ -119,11 +116,11 @@ The below structure will be generated:
|
||||
├── templates.xml
|
||||
└── views.xml
|
||||
|
||||
.. Warning::
|
||||
.. warning::
|
||||
|
||||
Do not use special characters other than the underscore ( _ ) for your module name, not even an
|
||||
hyphen ( - ). This name is used for the Python classes of your module, and having classes name
|
||||
with special characters other than the underscore is not valid in Python.
|
||||
Do not use special characters other than the underscore ( _ ) for your module name, not even an
|
||||
hyphen ( - ). This name is used for the Python classes of your module, and having classes name
|
||||
with special characters other than the underscore is not valid in Python.
|
||||
|
||||
Uncomment the content of the files:
|
||||
|
||||
@@ -149,7 +146,7 @@ Manually
|
||||
--------
|
||||
|
||||
If you want to create your module structure manually,
|
||||
you can follow :doc:`Build an Odoo module </developer/howtos/backend>` to understand
|
||||
you can follow the :doc:`/developer/tutorials/getting_started` tutorial to understand
|
||||
the structure of a module and the content of each file.
|
||||
|
||||
Push the development branch
|
||||
@@ -222,7 +219,6 @@ install.
|
||||
|
||||
You can then play around with your module, create new records and test your features and buttons.
|
||||
|
||||
|
||||
Test with the production data
|
||||
=============================
|
||||
|
||||
@@ -237,12 +233,12 @@ You can either:
|
||||
title.
|
||||
|
||||
.. image:: first_module/firstmodule-test-devtostaging.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
* Merge it in an existing staging branch, by drag and dropping it onto the given staging branch.
|
||||
|
||||
.. image:: first_module/firstmodule-test-devinstaging.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
You can also use the :code:`git merge` command to merge your branches.
|
||||
|
||||
@@ -250,7 +246,7 @@ This will create a new staging build, which will duplicate the production databa
|
||||
using a server updated with your latest changes of your branch.
|
||||
|
||||
.. image:: first_module/firstmodule-test-mergedinstaging.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
Once the database ready, you can access it using the *Connect* button.
|
||||
|
||||
@@ -419,7 +415,7 @@ Or, from your computer terminal:
|
||||
The platform will then create a new build for the branch *feature-1*.
|
||||
|
||||
.. image:: first_module/firstmodule-test-addachange-build.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
Once you tested your changes, you can merge your changes in the production branch, for instance by
|
||||
drag-and-dropping the branch on the production branch in the Odoo.sh interface. As you increased the
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _odoosh-gettingstarted-online-editor:
|
||||
|
||||
==================================
|
||||
=============
|
||||
Online Editor
|
||||
==================================
|
||||
=============
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -120,24 +120,23 @@ In this last command,
|
||||
.. image:: online-editor/interface-editor-commit-push.png
|
||||
:align: center
|
||||
|
||||
.. Note::
|
||||
The SSH Github remote is not used because your SSH private key
|
||||
is not hosted in your build containers (for obvious security concerns)
|
||||
nor forwarded through an SSH Agent (as you access this editor through a web browser)
|
||||
and you therefore cannot authenticate yourself to Github using SSH.
|
||||
You have to use the HTTPS remote of your Github repository to push your changes,
|
||||
which is added automatically named as *https* in your Git remotes.
|
||||
You will be prompted to enter your Github username and password.
|
||||
If you activated the two-factor authentication on Github,
|
||||
you can create a
|
||||
`personal access token <https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_
|
||||
and use it as password. Granting the ``repo`` permission suffices.
|
||||
.. note::
|
||||
The SSH Github remote is not used because your SSH private key
|
||||
is not hosted in your build containers (for obvious security concerns)
|
||||
nor forwarded through an SSH Agent (as you access this editor through a web browser)
|
||||
and you therefore cannot authenticate yourself to Github using SSH.
|
||||
You have to use the HTTPS remote of your Github repository to push your changes,
|
||||
which is added automatically named as *https* in your Git remotes.
|
||||
You will be prompted to enter your Github username and password.
|
||||
If you activated the two-factor authentication on Github,
|
||||
you can create a `personal access token
|
||||
<https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_
|
||||
and use it as password. Granting the ``repo`` permission suffices.
|
||||
|
||||
|
||||
.. Note::
|
||||
The Git source folder *~/src/user* is not checked out on a branch but rather on a detached revision:
|
||||
This is because builds work on specific revisions rather than branches.
|
||||
In other words, this means you can have multiple builds on the same branch, but on different revisions.
|
||||
.. note::
|
||||
The Git source folder *~/src/user* is not checked out on a branch but rather on a detached revision:
|
||||
This is because builds work on specific revisions rather than branches.
|
||||
In other words, this means you can have multiple builds on the same branch, but on different revisions.
|
||||
|
||||
Once your changes are pushed,
|
||||
according to your :ref:`branch push behavior <odoosh-gettingstarted-branches-tabs-settings>`,
|
||||
@@ -166,12 +165,11 @@ You can also open an Odoo Shell console to play around
|
||||
with the Odoo registry and model methods of your database. You can also directly read or write
|
||||
on your records.
|
||||
|
||||
.. Warning::
|
||||
In an Odoo Console, transactions are automatically committed.
|
||||
This means, for instance, that changes in records are applied effectively in the database.
|
||||
If you change the name of a user, the name of the user is changed in your database
|
||||
as well.
|
||||
You therefore should use Odoo consoles carefully on production databases.
|
||||
.. warning::
|
||||
In an Odoo Console, transactions are automatically committed.
|
||||
This means, for instance, that changes in records are applied effectively in the database.
|
||||
If you change the name of a user, the name of the user is changed in your database as well.
|
||||
You therefore should use Odoo consoles carefully on production databases.
|
||||
|
||||
You can use *env* to invoke models of your database registry, e.g. :code:`env['res.users']`.
|
||||
|
||||
@@ -196,4 +194,4 @@ You can also use
|
||||
to display graphs.
|
||||
|
||||
.. image:: online-editor/interface-editor-console-odoo-graph.png
|
||||
:align: center
|
||||
:align: center
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
==================================
|
||||
========
|
||||
Settings
|
||||
==================================
|
||||
========
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -21,8 +20,8 @@ The name of your project.
|
||||
|
||||
This defines the address that will be used to access your production database.
|
||||
|
||||
Addresses of your staging and development builds are derived from this name and assigned automatically.
|
||||
However, when you change your project name, only future builds will use the new name.
|
||||
Addresses of your staging and development builds are derived from this name and assigned
|
||||
automatically. However, when you change your project name, only future builds will use the new name.
|
||||
|
||||
.. _odoosh-gettingstarted-settings-collaborators:
|
||||
|
||||
@@ -39,48 +38,108 @@ There are two levels of users:
|
||||
* Admin: has access to all features of Odoo.sh.
|
||||
* User: does not have access to the project settings nor to the production and staging databases.
|
||||
|
||||
The user group is meant for developers who can make modifications in your code but are not allowed to access the
|
||||
production data.
|
||||
Users of this group cannot connect to the production and staging databases using the *1-click connect* feature,
|
||||
but they can of course use their regular account on these databases if they have one, using their regular credentials.
|
||||
The user group is meant for developers who can make modifications in your code but are not allowed
|
||||
to access the production data. Users of this group cannot connect to the production and staging
|
||||
databases using the *1-click connect* feature, but they can of course use their regular account on
|
||||
these databases if they have one, using their regular credentials.
|
||||
|
||||
In addition, they cannot use the webshell nor have access to the server logs.
|
||||
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | | User | Admin |
|
||||
+=====================+=================+===========+===========+
|
||||
|Development | History | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | 1-click connect | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Logs | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Shell/SSH | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Mails | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Settings | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
|Production & Staging | History | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | 1-click connect | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Logs | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Shell/SSH | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Mails | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Monitoring | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Backups | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
| | Settings | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
|Status | | X | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
|Settings | | | X |
|
||||
+---------------------+-----------------+-----------+-----------+
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: auto
|
||||
|
||||
* -
|
||||
-
|
||||
- User
|
||||
- Admin
|
||||
* - Development
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
- |green|
|
||||
- |green|
|
||||
* - Production & Staging
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Monitoring
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Backups
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
- |green|\*
|
||||
- |green|
|
||||
* - Status
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* - Settings
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
|
||||
.. note::
|
||||
\* Only in staging branches
|
||||
|
||||
.. |green| raw:: html
|
||||
|
||||
<span class="text-success" style="font-size: 32px; line-height: 0.5">●</span>
|
||||
|
||||
.. |orange| raw:: html
|
||||
|
||||
<span class="text-warning" style="font-size: 32px; line-height: 0.5">●</span>
|
||||
|
||||
.. |red| raw:: html
|
||||
|
||||
<span class="text-danger" style="font-size: 32px; line-height: 0.5">●</span>
|
||||
|
||||
Public Access
|
||||
=============
|
||||
@@ -90,7 +149,8 @@ Allow public access to your development builds.
|
||||
.. image:: settings/interface-settings-public.png
|
||||
:align: center
|
||||
|
||||
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your development builds.
|
||||
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
|
||||
development builds.
|
||||
|
||||
In addition, visitors have access to the logs, shell and mails of your development builds.
|
||||
|
||||
@@ -98,11 +158,11 @@ Production and staging builds are excluded, visitors can only see their status.
|
||||
|
||||
.. _odoosh-gettingstarted-settings-modules-installation:
|
||||
|
||||
|
||||
Custom domains
|
||||
==============
|
||||
|
||||
To configure additional domains please refer to the corresponding branch's :ref:`settings tab <odoosh-gettingstarted-branches-tabs-settings>`.
|
||||
To configure additional domains please refer to the corresponding branch's :ref:`settings tab
|
||||
<odoosh-gettingstarted-branches-tabs-settings>`.
|
||||
|
||||
.. _odoosh-gettingstarted-settings-submodules:
|
||||
|
||||
@@ -112,10 +172,10 @@ Submodules
|
||||
Configure the deploy keys for the private repositories you use
|
||||
as submodules in your branches to allow Odoo.sh to download them.
|
||||
|
||||
.. Warning::
|
||||
These settings are required for **private repositories** only.
|
||||
If you are looking on how to set up your submodules,
|
||||
instructions are available in the chapter :ref:`Submodules <odoosh-advanced-submodules>` of this documentation.
|
||||
.. warning::
|
||||
These settings are required for **private repositories** only. If you are looking on how to set
|
||||
up your submodules, instructions are available in the chapter :ref:`Submodules
|
||||
<odoosh-advanced-submodules>` of this documentation.
|
||||
|
||||
.. image:: settings/interface-settings-submodules.png
|
||||
:align: center
|
||||
@@ -130,7 +190,8 @@ To configure the deploy key for a private repository, proceed as follows:
|
||||
* in the input, paste the SSH URL of your private sub-repository and click on *Add*,
|
||||
|
||||
* e.g. *git@github.com:USERNAME/REPOSITORY.git*
|
||||
* it can be another Git server than Github, such as Bitbucket, Gitlab or even your own self-hosted server
|
||||
* it can be another Git server than Github, such as Bitbucket, Gitlab or even your own self-hosted
|
||||
server
|
||||
|
||||
* copy the public key,
|
||||
|
||||
@@ -157,8 +218,9 @@ Storage size is computed as follows:
|
||||
|
||||
* the size of the disk files available in your container: database filestore, sessions storage directory...
|
||||
|
||||
.. Warning::
|
||||
In case you want to analyze disk usage, you can run the tool `ncdu <https://dev.yorhel.nl/ncdu/man>`_ in your Web Shell.
|
||||
.. warning::
|
||||
In case you want to analyze disk usage, you can run the tool `ncdu
|
||||
<https://dev.yorhel.nl/ncdu/man>`_ in your Web Shell.
|
||||
|
||||
Should your production database size grow to exceed what's provisioned in your subscription, it
|
||||
will automatically be synchronized with it.
|
||||
@@ -191,7 +253,8 @@ add more, it will automatically be synchronized with your subscription.
|
||||
Activation
|
||||
==========
|
||||
|
||||
Shows the status of the project's activation. You can change the project's activation code if needed.
|
||||
Shows the status of the project's activation. You can change the project's activation code if
|
||||
needed.
|
||||
|
||||
.. image:: settings/interface-settings-activation.png
|
||||
:align: center
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
|
||||
==================================
|
||||
======
|
||||
Status
|
||||
==================================
|
||||
======
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
The status page shows statistics regarding the servers your project uses. It includes the servers availability.
|
||||
The status page shows statistics regarding the servers your project uses. It includes the servers
|
||||
availability.
|
||||
|
||||
.. image:: status/interface-status.png
|
||||
:align: center
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
:nosearch:
|
||||
|
||||
=================
|
||||
========
|
||||
Overview
|
||||
=================
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
|
||||
==============================
|
||||
=======================
|
||||
Introduction to Odoo.sh
|
||||
==============================
|
||||
=======================
|
||||
|
||||
.. youtube:: QuNsa9n9PMg
|
||||
:align: right
|
||||
|
||||
@@ -196,7 +196,7 @@ Help
|
||||
|
||||
.. _upgrade/contact:
|
||||
|
||||
Contact our Upgrade service support
|
||||
Contact our upgrade service support
|
||||
-----------------------------------
|
||||
|
||||
Should you have any more questions about the upgrade, do not hesitate to send a message to `Odoo
|
||||
@@ -219,39 +219,46 @@ upgrade again).
|
||||
|
||||
.. _upgrade/sla:
|
||||
|
||||
Service Level Agreement
|
||||
=======================
|
||||
Service-level agreement (SLA)
|
||||
=============================
|
||||
|
||||
What is covered by the Enterprise Licence?
|
||||
------------------------------------------
|
||||
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
|
||||
any support required to rectify potential discrepancies in the upgraded database.
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
|
||||
enjoy the following services at all times.
|
||||
Information about the upgrade services included in the Enterprise Licence is available in the
|
||||
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
|
||||
upgrade services you can expect.
|
||||
|
||||
The upgrade of:
|
||||
Upgrade services covered by the SLA
|
||||
-----------------------------------
|
||||
|
||||
* 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
|
||||
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
|
||||
benefit from upgrade services at all times for:
|
||||
|
||||
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.
|
||||
- the upgrade of all **standard applications**;
|
||||
- the upgrade of all **customizations created with the Studio app**, as long as Studio is still
|
||||
installed and the respective subscription is still active; and
|
||||
- the upgrade of all **developments and customizations covered by a maintenance of customizations
|
||||
subscription**.
|
||||
|
||||
What upgrading does NOT cover
|
||||
-----------------------------
|
||||
Upgrade services are limited to the technical conversion and adaptation of a database (standard
|
||||
modules and data) to make it compatible with the version targeted by the upgrade.
|
||||
|
||||
* 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
|
||||
Upgrade services not covered by the SLA
|
||||
---------------------------------------
|
||||
|
||||
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription
|
||||
Agreement <upgrade>` page.
|
||||
The following upgrade-related services are **not** included:
|
||||
|
||||
- the **cleaning** of pre-existing data and configurations while upgrading;
|
||||
- the upgrade of **custom modules created in-house or by third parties**, including Odoo partners;
|
||||
- lines of **code added to standard modules**, i.e., customizations created outside the Studio app,
|
||||
code entered manually, and :ref:`automated actions using Python code
|
||||
<studio/automated-actions/action>`; and
|
||||
- **training** on using the upgraded version's features and workflows.
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
|
||||
.. seealso::
|
||||
- :doc:`upgrade/faq`
|
||||
- :doc:`odoo_sh`
|
||||
- :doc:`maintain/supported_versions`
|
||||
- :doc:`Upgrade FAQ <upgrade/faq>`
|
||||
- :doc:`Odoo.sh documentation <odoo_sh>`
|
||||
- :doc:`Supported Odoo versions <maintain/supported_versions>`
|
||||
|
||||
@@ -2,29 +2,91 @@
|
||||
Odoo Online
|
||||
===========
|
||||
|
||||
Requesting a test upgrade
|
||||
=========================
|
||||
Odoo databases can be manually upgraded directly from the main Odoo website. To upgrade an Odoo
|
||||
database, navigate to the `database manager <https://www.odoo.com/my/databases>`_ page and sign in.
|
||||
|
||||
#. Go to your `database manager <https://www.odoo.com/my/databases/>`_
|
||||
#. Click on your profile icon and select *My Databases*.
|
||||
The database manager page displays all of the Odoo databases associated with the user's account. Any
|
||||
databases that are not already on the most recent version of Odoo display an **arrow in a circle**
|
||||
icon next to the database name, indicating that the database can be upgraded.
|
||||
|
||||
.. image:: odoo_online/accessing-my-databases.png
|
||||
:alt: Selecting My Databases under my profile
|
||||
.. image:: odoo_online/databases-page.png
|
||||
:align: center
|
||||
:alt: The database manager page with an upgrade button next to the name of a database.
|
||||
|
||||
#. Click on the up arrow button next to your main database name to proceed to the test upgrade.
|
||||
.. important::
|
||||
- If the database's version is **lower** than the latest major release: the database must be
|
||||
upgraded within two months. After these two months, an automatic upgrade is initiated.
|
||||
- If the database's version is **equal** to or **higher** than the latest major release:
|
||||
you can disregard the invitation to upgrade, as the database probably would not benefit from
|
||||
new features every two months.
|
||||
|
||||
.. image:: odoo_online/upgrade-option.png
|
||||
:alt: Selecting the action settings icon
|
||||
If a database is *not* on the latest online version, its administrator should receive an invitation
|
||||
to upgrade on the database's dashboard, displayed as an **arrow in a circle**.
|
||||
|
||||
#. In the pop-up message that appears, select the target version and then :guilabel:`Test` as
|
||||
purpose.
|
||||
.. image:: odoo_online/database-notification.png
|
||||
:alt: Invitation to upgrade on the database dashboard.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`Production` purpose doesn't appear if you didn't test your upgraded database at
|
||||
least once.
|
||||
.. note::
|
||||
Versions that are not supported anymore become deprecated and must be updated to avoid
|
||||
security issues. It is recommended to initiate the upgrade yourself and not wait for the
|
||||
automatic upgrade, as the former method allows you to request a test upgrade of the database to
|
||||
check for any discrepancies.
|
||||
|
||||
#. 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.
|
||||
Test database
|
||||
=============
|
||||
|
||||
.. note::
|
||||
You can also see and access your test database from your *My Databases* page.
|
||||
Click on the **arrow in a circle** icon to start the upgrade process. On the :guilabel:`Upgrade your
|
||||
database` pop-up, select the version of Odoo that the platform will be upgraded to. In the
|
||||
:guilabel:`Email to notify` field, enter an email address that will receive email notifications
|
||||
about the database upgrade.
|
||||
|
||||
There is also a :guilabel:`Purpose` section on the pop-up that is used to specify the reason for the
|
||||
upgrade. However, at this stage of the process, the only selectable option is :guilabel:`Test`, as
|
||||
Odoo requires users to create a test copy of the upgraded database before converting the actual
|
||||
database.
|
||||
|
||||
.. image:: odoo_online/upgrade-pop-up.png
|
||||
:align: center
|
||||
:alt: The "Upgrade your database" pop-up.
|
||||
|
||||
After filling out the form, click the :guilabel:`Upgrade` button. The pop-up disappears and the
|
||||
database being upgraded shows a red :guilabel:`Upgrade in progress` tag next to its name. An email
|
||||
confirming that the upgrade is in progress is also sent to the email address specified on the
|
||||
pop-up.
|
||||
|
||||
.. image:: odoo_online/upgrade-in-progress.png
|
||||
:align: center
|
||||
:alt: The "Upgrade in progress" tag next to the database name.
|
||||
|
||||
Once the upgrade is complete, a new test database appears on the `database manager
|
||||
<https://www.odoo.com/my/databases>`_ page. To access the test database, click the drop-down arrow
|
||||
(:guilabel:`⯆`) to the left of the main database's name. Doing so makes the test version appear
|
||||
below it. Finally, click the green :guilabel:`Connect` button on the right side of the test
|
||||
version's row to go to the database.
|
||||
|
||||
.. image:: odoo_online/test-database.png
|
||||
:align: center
|
||||
:alt: A test database on the database manager page.
|
||||
|
||||
Except for being on the newer version of Odoo, the test database is an exact copy of the one being
|
||||
upgraded. It is important to do extensive testing in this database to ensure that the upgrade has
|
||||
not altered or corrupted any data, and that all workflows still proceed as expected.
|
||||
|
||||
Production database
|
||||
===================
|
||||
|
||||
After confirming the integrity of the new version, return to the `database manager
|
||||
<https://www.odoo.com/my/databases>`_ page. Once again, click on the **arrow in a circle** icon next
|
||||
to the database being upgraded. The :guilabel:`Upgrade your database` pop-up appears as before,
|
||||
except that there is now a :guilabel:`Production` option under the :guilabel:`Purpose` section.
|
||||
|
||||
Select the :guilabel:`Production` option and then click :guilabel:`Upgrade` to begin the upgrade
|
||||
process. As before, a notification email is sent to the email address provided and a red
|
||||
:guilabel:`Upgrade in progress` tag appears next to the name of the database.
|
||||
|
||||
The production database is then taken offline and will be upgraded automatically. The time it takes
|
||||
to upgrade the production database should be similar to the time that was necessary to upgrade the
|
||||
test database. Make sure to inform database users of the scheduled downtime.
|
||||
|
||||
After the upgrade is finished, the :guilabel:`Upgrade in progress` tag disappears and the database
|
||||
is upgraded to the version specified.
|
||||
|
||||
|
Before Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 5.6 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -18,6 +18,7 @@ Discover our user guides and configuration tutorials per application.
|
||||
applications/sales
|
||||
applications/websites
|
||||
applications/inventory_and_mrp
|
||||
applications/hr
|
||||
applications/marketing
|
||||
applications/services
|
||||
applications/productivity
|
||||
|
||||
@@ -4,11 +4,12 @@
|
||||
Finance
|
||||
=======
|
||||
|
||||
|
||||
.. toctree::
|
||||
|
||||
finance/accounting
|
||||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/spreadsheet
|
||||
finance/payment_providers
|
||||
finance/fiscal_localizations
|
||||
|
||||
@@ -1,7 +1,4 @@
|
||||
:nosearch:
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
|
||||
========================
|
||||
Accounting and Invoicing
|
||||
@@ -15,18 +12,229 @@ development with features such as AI-powered invoice recognition, synchronizatio
|
||||
accounts, smart matching suggestions, etc.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Accounting <https://www.odoo.com/slides/accounting-19>`_
|
||||
- :doc:`Accounting Cheat Sheet <accounting/getting_started/memento>`
|
||||
`Odoo Tutorials: Accounting <https://www.odoo.com/slides/accounting-19>`_
|
||||
|
||||
.. cards::
|
||||
|
||||
.. card:: Get started
|
||||
:target: accounting/get_started
|
||||
:large:
|
||||
|
||||
Basic concepts of accounting and initial setup of your accounting
|
||||
|
||||
.. card:: Taxes
|
||||
:target: accounting/taxes
|
||||
|
||||
Taxes, fiscal positions, and integrations
|
||||
|
||||
.. card:: Customer invoices
|
||||
:target: accounting/customer_invoices
|
||||
|
||||
Customer invoices, payment terms, and electronic invoicing
|
||||
|
||||
.. card:: Vendor bills
|
||||
:target: accounting/vendor_bills
|
||||
|
||||
Vendor bills, assets, and invoice digitization (OCR)
|
||||
|
||||
.. card:: Payments
|
||||
:target: accounting/payments
|
||||
|
||||
Invoices and bills payments (online, checks, batches) and follow-up on invoices
|
||||
|
||||
.. card:: Bank and cash accounts
|
||||
:target: accounting/bank
|
||||
|
||||
Bank synchronization, reconciliation, and cash registers
|
||||
|
||||
.. card:: Reporting
|
||||
:target: accounting/reporting
|
||||
|
||||
Reporting, declarations, and analytic accounting
|
||||
|
||||
Double-entry bookkeeping
|
||||
========================
|
||||
|
||||
Odoo automatically creates all the underlying journal entries for all accounting transactions (e.g.,
|
||||
customer invoices, vendor bills, point-of-sales orders, expenses, inventory valuations, etc.).
|
||||
|
||||
Odoo uses the double-entry bookkeeping system, whereby every entry needs a corresponding and
|
||||
opposite counterpart in a different account, with one account debited and the other credited.
|
||||
It ensures that all transactions are recorded accurately and consistently and that the accounts
|
||||
always balance.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Accounting Cheat Sheet <accounting/get_started/cheat_sheet>`
|
||||
|
||||
Accrual and cash basis
|
||||
======================
|
||||
|
||||
Both accrual and cash basis accounting are supported in Odoo. This allows reporting income and
|
||||
expense either when the transaction occurs (accrual basis) or when the payment is made or received
|
||||
(cash basis).
|
||||
|
||||
.. seealso::
|
||||
:doc:`Cash basis <accounting/taxes/cash_basis>`
|
||||
|
||||
Multi-company
|
||||
=============
|
||||
|
||||
Several companies can be managed within the same database. Each company has its :doc:`chart of
|
||||
accounts <accounting/get_started/chart_of_accounts>`, which is also useful to generate consolidation
|
||||
reports. Users can access several companies but can only work on a single company's accounting at a
|
||||
time.
|
||||
|
||||
Multi-currency environment
|
||||
==========================
|
||||
|
||||
A :doc:`multi-currency <accounting/get_started/multi_currency>` environment with an automated
|
||||
exchange rate to ease international transactions is available in Odoo. Every transaction is recorded
|
||||
in the company's default currency; for transactions occurring in another currency, Odoo stores both
|
||||
the value in the company's currency and the transactions' currency value. Odoo generates currency
|
||||
gains and losses after reconciling the journal items.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Manage a bank in a foreign currency <accounting/bank/foreign_currency>`
|
||||
|
||||
International standards
|
||||
=======================
|
||||
|
||||
Odoo Accounting supports more than 70 countries. It provides the central standards and mechanisms
|
||||
common to all nations, and thanks to country-specific modules, local requirements are fulfilled.
|
||||
Fiscal positions exist to address regional specificities like the chart of accounts, taxes, or any
|
||||
other requirements.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Fiscal localization packages <fiscal_localizations>`
|
||||
|
||||
Accounts receivable and payable
|
||||
===============================
|
||||
|
||||
By default, there is a single account for the account receivable entries and one for the account
|
||||
payable entries. As transactions are linked to your **contacts**, you can run a report per customer,
|
||||
vendor, or supplier.
|
||||
|
||||
The **Partner Ledger** report displays the balance of your customers and suppliers. It is available
|
||||
by going to :menuselection:`Accounting --> Reporting --> Partner Ledger`.
|
||||
|
||||
Reporting
|
||||
=========
|
||||
|
||||
The following financial :doc:`reports <accounting/reporting>` are available and updated in
|
||||
real-time:
|
||||
|
||||
+-----------------------------------------------+
|
||||
| Financial reports |
|
||||
+============+==================================+
|
||||
| Statement | Balance sheet |
|
||||
| +----------------------------------+
|
||||
| | Profit and loss |
|
||||
| +----------------------------------+
|
||||
| | Cash flow statement |
|
||||
| +----------------------------------+
|
||||
| | Tax report |
|
||||
| +----------------------------------+
|
||||
| | ES sales list |
|
||||
+------------+----------------------------------+
|
||||
| Audit | General ledger |
|
||||
| +----------------------------------+
|
||||
| | Trial balance |
|
||||
| +----------------------------------+
|
||||
| | Journal report |
|
||||
| +----------------------------------+
|
||||
| | Intrastat report |
|
||||
| +----------------------------------+
|
||||
| | Check register |
|
||||
+------------+----------------------------------+
|
||||
| Partner | Partner ledger |
|
||||
| +----------------------------------+
|
||||
| | Aged receivable |
|
||||
| +----------------------------------+
|
||||
| | Aged payable |
|
||||
+------------+----------------------------------+
|
||||
| Management | Invoice analysis |
|
||||
| +----------------------------------+
|
||||
| | Unrealized currency gains/losses |
|
||||
| +----------------------------------+
|
||||
| | Depreciation schedule |
|
||||
| +----------------------------------+
|
||||
| | Disallowed expenses |
|
||||
| +----------------------------------+
|
||||
| | Budget analysis |
|
||||
| +----------------------------------+
|
||||
| | Product margins |
|
||||
| +----------------------------------+
|
||||
| | 1099 report |
|
||||
+------------+----------------------------------+
|
||||
|
||||
.. tip::
|
||||
:doc:`Create and customize reports <accounting/reporting/customize>` with Odoo's report engine.
|
||||
|
||||
Tax report
|
||||
----------
|
||||
|
||||
Odoo computes all accounting transactions for the specific tax period and uses these totals to
|
||||
calculate the tax obligation.
|
||||
|
||||
.. important::
|
||||
Once the tax report has been generated for a period, Odoo locks it and prevents the creation of
|
||||
new journal entries involving VAT. Any correction to customer invoices or vendor bills has to
|
||||
be recorded in the next period.
|
||||
|
||||
.. note::
|
||||
Depending on the country's localization, an XML version of the tax report can be generated to be
|
||||
uploaded to the VAT platform of the relevant taxation authority.
|
||||
|
||||
Bank synchronization
|
||||
====================
|
||||
|
||||
The bank synchronization system directly connects with your bank institution to automatically
|
||||
import all transactions into your database. It gives an overview of your cash flow without logging
|
||||
into an online banking system or waiting for paper bank statements.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Bank synchronization <accounting/bank/bank_synchronization>`
|
||||
|
||||
Inventory valuation
|
||||
===================
|
||||
|
||||
Both periodic (manual) and perpetual (automated) inventory valuations are supported in Odoo. The
|
||||
available methods are standard price, average price, :abbr:`LIFO (Last-In, First-Out)` and
|
||||
:abbr:`FIFO (First-In, First-Out).`
|
||||
|
||||
.. seealso::
|
||||
:doc:`View the impact of the valuation methods on transactions
|
||||
<../inventory_and_mrp/inventory/management/reporting/inventory_valuation_config>`
|
||||
|
||||
Retained earnings
|
||||
=================
|
||||
|
||||
Retained earnings are the portion of income retained by a business. Odoo calculates current year
|
||||
earnings in real-time, so no year-end journal or rollover is required. The profit
|
||||
and loss balance is automatically reported on the balance sheet report.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Accounting Cheat Sheet <accounting/get_started/cheat_sheet>`
|
||||
|
||||
Fiduciaries
|
||||
===========
|
||||
|
||||
The :guilabel:`Accounting Firms` mode can be activated by going to :menuselection:`Accounting -->
|
||||
Configuration --> Settings --> Accounting Firms mode`. When enabled:
|
||||
|
||||
- The document's sequence becomes editable on all documents;
|
||||
- The :guilabel:`Total (tax incl.)` field appears to speed up and control the encoding by automating
|
||||
line creation with the right account and tax;
|
||||
- :guilabel:`Invoice Date` and :guilabel:`Bill Date` are pre-filled when encoding a transaction.
|
||||
- A :guilabel:`Quick encoding` option is available for customer invoices and vendor bills.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
accounting/getting_started
|
||||
accounting/receivables
|
||||
accounting/payables
|
||||
accounting/get_started
|
||||
accounting/taxes
|
||||
accounting/customer_invoices
|
||||
accounting/vendor_bills
|
||||
accounting/payments
|
||||
accounting/bank
|
||||
accounting/taxation
|
||||
accounting/reporting
|
||||
accounting/others
|
||||
accounting/fiscal_localizations
|
||||
|
||||
@@ -1,13 +1,194 @@
|
||||
:nosearch:
|
||||
:show-content:
|
||||
|
||||
======================
|
||||
Bank and cash accounts
|
||||
======================
|
||||
|
||||
You can manage as many bank or cash accounts as needed on your database. Configuring them well
|
||||
allows you to have all your banking data up-to-date and ready for :doc:`reconciliation
|
||||
<bank/reconciliation>` with your journal entries.
|
||||
|
||||
In Odoo Accounting, each bank account has a dedicated journal set to post all entries in a dedicated
|
||||
account. Both the journal and the account are automatically created and configured whenever you add
|
||||
a bank account.
|
||||
|
||||
.. note::
|
||||
Cash journals and accounts must be configured manually.
|
||||
|
||||
Bank journals are displayed by default on the :guilabel:`Accounting Dashboard` in the form of cards
|
||||
which include action buttons.
|
||||
|
||||
.. image:: bank/card.png
|
||||
:alt: Bank journals are displayed on the Accounting Dashboard and contain action buttons
|
||||
|
||||
.. _bank_accounts/manage:
|
||||
|
||||
Manage your bank and cash accounts
|
||||
==================================
|
||||
|
||||
Connect your bank for automatic synchronization
|
||||
-----------------------------------------------
|
||||
|
||||
To connect your bank account to your database, go to :menuselection:`Accounting --> Configuration
|
||||
--> Banks: Add a Bank Account`, select your bank in the list, click on :guilabel:`Connect`, and
|
||||
follow the instructions.
|
||||
|
||||
.. seealso::
|
||||
:doc:`bank/bank_synchronization`
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
|
||||
If your banking institution is not available in Odoo, or if you don't want to connect your bank
|
||||
account to your database, you can configure your bank account manually.
|
||||
|
||||
To manually add a bank account, go to :menuselection:`Accounting --> Configuration --> Banks:
|
||||
Add a Bank Account`, click on :guilabel:`Create it` (at the bottom right), and fill out the form.
|
||||
|
||||
.. note::
|
||||
- Odoo automatically detects the bank account type (e.g., IBAN) and enables some features
|
||||
accordingly.
|
||||
- A default bank journal is available and can be used to configure your bank account by going to
|
||||
:menuselection:`Accounting --> Configuration --> Accounting: Journals --> Bank`. Open it and
|
||||
edit the different fields to match your bank account information.
|
||||
|
||||
Create a cash journal
|
||||
---------------------
|
||||
|
||||
To create a new cash journal, go to :menuselection:`Accounting --> Configuration --> Accounting:
|
||||
Journals`, click on :guilabel:`Create` and select :guilabel:`Cash` in the :guilabel:`Type` field.
|
||||
|
||||
For more information on the accounting information fields, read the
|
||||
:ref:`bank_accounts/configuration` section of this page.
|
||||
|
||||
.. note::
|
||||
A default cash journal is available and can be used straight away. You can review it by going to
|
||||
:menuselection:`Accounting --> Configuration --> Accounting: Journals --> Cash`.
|
||||
|
||||
Edit an existing bank or cash journal
|
||||
-------------------------------------
|
||||
|
||||
To edit an existing bank journal, go to :menuselection:`Accounting --> Configuration --> Accounting:
|
||||
Journals` and select the journal you want to modify.
|
||||
|
||||
.. _bank_accounts/configuration:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
Bank and cash
|
||||
=============
|
||||
|
||||
You can edit the accounting information and bank account number according to your needs.
|
||||
|
||||
.. image:: bank/bank-journal-config.png
|
||||
:alt: Manually configure your bank information
|
||||
|
||||
.. seealso::
|
||||
- :doc:`get_started/multi_currency`
|
||||
- :doc:`bank/transactions`
|
||||
|
||||
.. _bank_accounts/suspense:
|
||||
|
||||
Suspense account
|
||||
----------------
|
||||
|
||||
Bank statement transactions are posted on the :guilabel:`Suspense Account` until the final
|
||||
reconciliation allows finding the right account.
|
||||
|
||||
Profit and loss accounts
|
||||
------------------------
|
||||
|
||||
The :guilabel:`Profit Account` is used to register a profit when the ending balance of a cash
|
||||
register differs from what the system computes, while the :guilabel:`Loss Account` is used to
|
||||
register a loss when the ending balance of a cash register differs from what the system computes.
|
||||
|
||||
Currency
|
||||
--------
|
||||
|
||||
You can edit the currency used to enter the statements.
|
||||
|
||||
.. seealso::
|
||||
:doc:`get_started/multi_currency`
|
||||
|
||||
Account number
|
||||
--------------
|
||||
|
||||
If you need to **edit your bank account details**, click on the external link arrow next to your
|
||||
:guilabel:`Account Number`. On the new page, click on the external link arrow next to your
|
||||
:guilabel:`Bank` and update your bank information accordingly. These details are used when
|
||||
registering payments.
|
||||
|
||||
.. image:: bank/bank-account-number.png
|
||||
:alt: Edit your bank information
|
||||
|
||||
Bank feeds
|
||||
----------
|
||||
|
||||
:guilabel:`Bank Feeds` defines how the bank statements are registered. Three options are available:
|
||||
|
||||
- :guilabel:`Undefined yet`, which should be selected when you don’t know yet if you will
|
||||
synchronize your bank account with your database or not.
|
||||
- :guilabel:`Import (CAMT, CODA, CSV, OFX, QIF)`, which should be selected if you want to import
|
||||
your bank statement using a different format.
|
||||
- :guilabel:`Automated Bank Synchronization`, which should be selected if your bank is synchronized
|
||||
with your database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`bank/bank_synchronization`
|
||||
- :doc:`bank/transactions`
|
||||
|
||||
.. _bank/outstanding-accounts:
|
||||
|
||||
Outstanding accounts
|
||||
====================
|
||||
|
||||
By default, payments are registered through transitory accounts named **outstanding accounts**,
|
||||
before being recorded in your bank account.
|
||||
|
||||
- An **outstanding payments account** is where outgoing payments are posted until they are linked
|
||||
with a withdrawal from your bank statement.
|
||||
- An **outstanding receipts account** is where incoming payments are posted until they are linked
|
||||
with a deposit from your bank statement.
|
||||
|
||||
These accounts should be of :ref:`type <chart-of-account/type>` :guilabel:`Current Assets`.
|
||||
|
||||
.. note::
|
||||
The movement from an outstanding account to a bank account is done automatically when you
|
||||
reconcile the bank account with a bank statement.
|
||||
|
||||
Default accounts configuration
|
||||
------------------------------
|
||||
|
||||
The outstanding accounts are defined by default. If necessary, you can update them by going to
|
||||
:menuselection:`Accounting --> Configuration --> Settings --> Default Accounts` and update your
|
||||
:guilabel:`Outstanding Receipts Account` and :guilabel:`Outstanding Payments Account`.
|
||||
|
||||
Bank and cash journals configuration
|
||||
------------------------------------
|
||||
|
||||
You can also set specific outstanding accounts for any journal with the :ref:`type
|
||||
<chart-of-account/type>` :guilabel:`Bank` or :guilabel:`Cash`.
|
||||
|
||||
From your :guilabel:`Accounting Dashboard`, click on the menu selection ⋮ of the journal you want to
|
||||
configure, and click on :guilabel:`Configuration`, then open the :guilabel:`Incoming/Outgoing
|
||||
Payments` tab. To display the outstanding accounts column, click on the toggle button and check the
|
||||
:guilabel:`Outstanding Receipts/Payments accounts`, then update the account.
|
||||
|
||||
.. image:: bank/toggle-button.png
|
||||
:align: center
|
||||
:alt: Select the toggle button and click on outstanding Accounts
|
||||
|
||||
.. note::
|
||||
- If you do not specify an outstanding payments account or an outstanding receipts account for a
|
||||
specific journal, Odoo uses the default outstanding accounts.
|
||||
- If your main bank account is added as an outstanding receipts account or outstanding payments
|
||||
account, when a payment is registered, the invoice or bill's status is directly set to
|
||||
:guilabel:`Paid`.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
bank/setup
|
||||
bank/feeds
|
||||
bank/misc
|
||||
bank/bank_synchronization
|
||||
bank/transactions
|
||||
bank/reconciliation
|
||||
bank/reconciliation_models
|
||||
bank/foreign_currency
|
||||
bank/cash_register
|
||||
|
||||
|
Before Width: | Height: | Size: 7.0 KiB After Width: | Height: | Size: 7.0 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
@@ -1,6 +1,8 @@
|
||||
======================================
|
||||
Bank synchronization: automatic import
|
||||
======================================
|
||||
:show-content:
|
||||
|
||||
====================
|
||||
Bank synchronization
|
||||
====================
|
||||
|
||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||
automatically into your database.
|
||||
@@ -15,9 +17,12 @@ To connect to the banks, Odoo uses multiple web-services:
|
||||
|
||||
- **Plaid**: United States of America and Canada
|
||||
- **Yodlee**: Worldwide
|
||||
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
|
||||
- **Ponto**: Europe (:doc:`more information <ponto>`)
|
||||
- **EnableBanking**: Scandinavian countries
|
||||
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Worldwide
|
||||
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
|
||||
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
|
||||
|
||||
.. seealso::
|
||||
:doc:`transactions`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -196,7 +201,9 @@ You can update your credentials by going to :menuselection:`Accounting Dashboard
|
||||
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
|
||||
credentials and click on the :guilabel:`Update Credentials` button.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank_statements`
|
||||
* :doc:`ponto`
|
||||
* :doc:`saltedge`
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
bank_synchronization/saltedge
|
||||
bank_synchronization/ponto
|
||||
bank_synchronization/enablebanking
|
||||
@@ -0,0 +1,36 @@
|
||||
==============
|
||||
Enable Banking
|
||||
==============
|
||||
|
||||
**Enable Banking** is a third-party provider aggregating banking information from bank accounts all
|
||||
in one place. It offers non-intrusive connectivity to ASPSPs' official APIs across Europe without
|
||||
storing data.
|
||||
|
||||
.. image:: enablebanking/enablebanking.png
|
||||
:align: center
|
||||
:alt: Enable Banking logo
|
||||
|
||||
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
|
||||
import them into your database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- `Enable Banking website <https://enablebanking.com/>`_
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Link bank accounts with Odoo
|
||||
----------------------------
|
||||
|
||||
#. Start synchronization by clicking on :menuselection:`Accounting --> Configuration -->
|
||||
Add a Bank Account`;
|
||||
#. Select your bank;
|
||||
#. Make sure you give your consent to share your account information with Odoo by clicking
|
||||
:guilabel:`Continue authentication`;
|
||||
|
||||
.. image:: enablebanking/enablebankingauth.png
|
||||
:align: center
|
||||
:alt: Enable Banking authentication page
|
||||
|
||||
#. Finally, you are redirected to your bank's login page.
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
|
After Width: | Height: | Size: 15 KiB |
@@ -1,6 +1,6 @@
|
||||
======================================
|
||||
Ponto as bank synchronization provider
|
||||
======================================
|
||||
=====
|
||||
Ponto
|
||||
=====
|
||||
|
||||
**Ponto** is a service that allows companies and professionals to aggregate their accounts in one
|
||||
place and directly see all their transactions within one app. It is a third-party solution that is
|
||||
@@ -16,9 +16,9 @@ into your database.
|
||||
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
|
||||
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
|
||||
|
||||
.. note::
|
||||
You can find more information about bank synchronization :doc:`on this page
|
||||
<bank_synchronization>`.
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../transactions`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -115,10 +115,3 @@ and we advise you to contact Ponto directly.
|
||||
.. important::
|
||||
Using an institution in beta is beneficial for Ponto, it allows them to have real
|
||||
feedback on the connection with the institution.
|
||||
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`saltedge`
|
||||
* :doc:`bank_statements`
|
||||
|
Before Width: | Height: | Size: 9.3 KiB After Width: | Height: | Size: 9.3 KiB |
|
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.5 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,6 +1,6 @@
|
||||
==========================================
|
||||
Salt Edge as bank synchronization provider
|
||||
==========================================
|
||||
=========
|
||||
Salt Edge
|
||||
=========
|
||||
|
||||
**Salt Edge** is a third-party provider that aggregates banking information
|
||||
from your bank accounts. It supports ~5000 institutions in more than 50
|
||||
@@ -8,12 +8,15 @@ countries.
|
||||
|
||||
.. image:: saltedge/saltedge-logo.png
|
||||
:align: center
|
||||
:width: 50%
|
||||
:alt: Salt Edge Logo
|
||||
|
||||
Odoo can synchronize directly with your bank to get all bank statements imported
|
||||
automatically into your database.
|
||||
|
||||
Salt Edge is a free third-party provider.
|
||||
.. seealso::
|
||||
- :doc:`../bank_synchronization`
|
||||
- :doc:`../transactions`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -103,9 +106,3 @@ In case you already have a connection with the same credentials present on your
|
||||
and this synchronization was created with Odoo, you will normally be able to find it by going to
|
||||
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
|
||||
*Update Credentials* to reactivate the connection.
|
||||
|
||||
.. seealso::
|
||||
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`ponto`
|
||||
* :doc:`bank_statements`
|
||||
|
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 6.4 KiB After Width: | Height: | Size: 6.4 KiB |
@@ -1,6 +1,6 @@
|
||||
======================
|
||||
Manage a cash register
|
||||
======================
|
||||
=============
|
||||
Cash register
|
||||
=============
|
||||
|
||||
The cash register is a journal to register receivings and payments transactions.
|
||||
It calculates the total money in and out, computing the total balance.
|
||||
@@ -8,7 +8,7 @@ It calculates the total money in and out, computing the total balance.
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. image:: manage_cash_register/journal.png
|
||||
.. image:: cash_register/journal.png
|
||||
:align: center
|
||||
|
||||
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
|
||||
@@ -40,7 +40,7 @@ Put money in is used to placed your cash manually before starting your
|
||||
transactions. From the Register Transactions window, go to :menuselection:`More
|
||||
--> Put money in`
|
||||
|
||||
.. image:: manage_cash_register/put-money-in.png
|
||||
.. image:: cash_register/put-money-in.png
|
||||
:align: center
|
||||
|
||||
Take money out
|
||||
@@ -50,7 +50,7 @@ Take money out is used to collect/get yor your cash manually after
|
||||
ending all your transactions. From the Register Transaction windows, go to :menuselection:`More
|
||||
--> Take money out`
|
||||
|
||||
.. image:: manage_cash_register/put-money-out.png
|
||||
.. image:: cash_register/put-money-out.png
|
||||
:align: center
|
||||
|
||||
The transactions will be added to the current cash payment registration.
|
||||
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
@@ -1,13 +0,0 @@
|
||||
:nosearch:
|
||||
|
||||
==========
|
||||
Bank feeds
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
feeds/bank_statements
|
||||
feeds/bank_synchronization
|
||||
feeds/ponto
|
||||
feeds/saltedge
|
||||
@@ -1,62 +0,0 @@
|
||||
===============
|
||||
Bank statements
|
||||
===============
|
||||
|
||||
Importing your bank statements allows you to keep track of your bank account transactions and
|
||||
reconcile them with the ones recorded in Odoo.
|
||||
|
||||
We recommend using :doc:`the bank synchronization feature <bank_synchronization>` for more
|
||||
efficiency. However, if you do not want to use it or if your bank is not yet supported, other
|
||||
options exist:
|
||||
|
||||
- Import the bank statement files delivered by your bank;
|
||||
- Register the bank statements manually.
|
||||
|
||||
Import bank statements files
|
||||
============================
|
||||
|
||||
Odoo supports multiple file formats to import bank statements:
|
||||
|
||||
- SEPA recommended Cash Management format (CAMT.053);
|
||||
- Comma-separated values (.CSV);
|
||||
- Open Financial Exchange (.OFX);
|
||||
- Quicken Interchange Format (.QIF);
|
||||
- Belgium: Coded Statement of Account (.CODA).
|
||||
|
||||
To import a file, go to the Accounting dashboard and click on :guilabel:`Import (Statements)` under
|
||||
the :guilabel:`Bank` window, or click on the drop-down menu (:guilabel:`⋮`) button and then on
|
||||
:guilabel:`Import Statement`.
|
||||
|
||||
.. image:: bank_statements/bank-overview.png
|
||||
:align: center
|
||||
:alt: Import a bank statement file in Odoo Accounting
|
||||
|
||||
Next, select the file you want to import and click on :guilabel:`Upload`.
|
||||
|
||||
Once the file uploaded, the **import widget** helps you set formatting options and **map** the
|
||||
different columns you want to import. You also can :guilabel:`test` the bank statement file before
|
||||
importing it to your database.
|
||||
|
||||
.. image:: bank_statements/import-bank-statement.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
Register bank statements manually
|
||||
=================================
|
||||
|
||||
If needed, you can also record your bank statements manually. To do so, go to the
|
||||
:guilabel:`Accounting dashboard` and click on the :guilabel:`Create Statements` under the
|
||||
:guilabel:`Bank` window. Alternatively, you can click the drop-down menu (:guilabel:`⋮`) button, and
|
||||
then :guilabel:`New Statement`.
|
||||
|
||||
To ease the reconciliation process, make sure to fill out the :guilabel:`Partner` field. You can
|
||||
also type in the payments’ references in the :guilabel:`Label` field. Add a new line for each
|
||||
transaction written on the original bank statement.
|
||||
|
||||
.. image:: bank_statements/bank-statements-03.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
The **Ending Balance** and the **Computed Balance** should have the same amount. If this is not
|
||||
the case, make sure there are no mistakes in the transactions’ amounts.
|
||||
|
Before Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 9.1 KiB After Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 46 KiB After Width: | Height: | Size: 46 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |