Compare commits
408 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6677c1edc8 | |||
| 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 | |||
| b909a21d1f | |||
| ad6cde3181 | |||
| bca9ac151f | |||
| 5045aecce2 | |||
| 9966e8771a | |||
| 9af7a4ca01 | |||
| 0ef10a1606 | |||
| 076534b1f0 | |||
| 49eb51b5d8 | |||
| da9c9aa1ab | |||
| d4f4e8684e | |||
| 68a35753c6 | |||
| e74a893812 | |||
| 35230f0fc5 | |||
| 11aa498ed5 | |||
| fef7820521 | |||
| 6d09d506b9 | |||
| d52966b147 | |||
| 530774b60b | |||
| ba0c7f42ba | |||
| b65f74055f | |||
| 93e7ee9673 | |||
| 8d6d1a7b3c | |||
| 21b1bf81b9 | |||
| f2c8501d8f | |||
| 699fdc0ceb | |||
| 61e5bf08b5 | |||
| 6dbff460fb | |||
| 60ad2bdb7d | |||
| 35aaad62c9 | |||
| 9cd2ec28f7 | |||
| bed5b9edb7 | |||
| 5c931f7ec8 | |||
| b85a92be63 | |||
| e4afa7c177 | |||
| a9d1450111 | |||
| 001fe6bd1e | |||
| 33cccf063f | |||
| 4eab217696 | |||
| a85cb3bc92 | |||
| 1e0b95df13 | |||
| 778fbc37a6 | |||
| 2ef1219109 | |||
| 1a95d1cd6f | |||
| 14be609d38 | |||
| a63621dc7a | |||
| 5c8abb54b9 | |||
| 4d51aecd95 | |||
| 872bee0033 | |||
| f778ba89af | |||
| ca445c86c8 | |||
| 26364227a6 | |||
| 49e02a9097 | |||
| 03573426e1 | |||
| 520cd5fb9e | |||
| a88ce0cb9e | |||
| 88a6ef872a | |||
| 90d76fabf7 | |||
| f1e601a3a2 | |||
| e045da51b3 | |||
| c619a6fca8 | |||
| 992223a284 | |||
| 90313bc380 | |||
| cafdb815e3 | |||
| b0ad5ac69e | |||
| eb8184542b | |||
| 2ce56e4fb1 | |||
| b3a1f27461 | |||
| 8a0df31fc5 | |||
| 124021800d | |||
| 2035a0b878 | |||
| 52d7d84edb | |||
| 10bf041900 | |||
| 882123671b | |||
| 7aef470156 | |||
| 2aa3b2d89a | |||
| b4a1a4a0d0 | |||
| d0ae1cbce0 | |||
| 339b5dbfb6 | |||
| 914e339b37 | |||
| c58a06bede | |||
| b3b20ef355 | |||
| 9b57df9a8d | |||
| 90bc7cba78 | |||
| 77a70dc8bf | |||
| 0e22a3c582 | |||
| fc663c9a8c | |||
| 2110671090 | |||
| 3289d1a1c7 | |||
| 7062012490 | |||
| 9491605213 | |||
| 6be97f3219 | |||
| 6f9ee7b414 | |||
| bfadc58fbc | |||
| 2d1361c026 | |||
| 2b75fb4bbb | |||
| aef7d05dc5 | |||
| 6c7ee83bc4 | |||
| 963de80d3e | |||
| c2959cefce | |||
| dc6c4986d6 | |||
| efe7cbcd26 | |||
| 7b7f79073a | |||
| f6ac437b68 | |||
| 17fa2e0333 | |||
| 197dbea3d2 | |||
| c2f8d4bd44 | |||
| c60bc5f919 | |||
| 31aacc1791 | |||
| b208529745 | |||
| 5e3d4d0414 | |||
| 73730b3cf5 | |||
| cab1a56722 | |||
| aced62f4b3 | |||
| 68b2aa6df4 | |||
| ce9072f27a | |||
| 35e09b26c1 | |||
| c69596bebc | |||
| 87facd654d | |||
| 6725754169 | |||
| cabd6e7f85 | |||
| d4923d6350 | |||
| 8db94fe7fe | |||
| 5d7209d635 | |||
| a154e01cee | |||
| ece2d4c081 | |||
| 57f447e302 | |||
| 7858ac6c68 | |||
| e56bc8a5b9 | |||
| 18c2c74848 | |||
| e63b92a718 | |||
| ac813f2b5b | |||
| 6419980663 | |||
| 894e1be9c6 | |||
| 59db0ca18c | |||
| ab1a7d0a69 | |||
| 06d0ff6ca8 | |||
| 219a7cc82f | |||
| b9217c292a | |||
| 814917793a | |||
| 7423cfa8f8 | |||
| 9d9548da4a | |||
| c1bc6ddf6e | |||
| f42bf525e9 | |||
| ade054b752 | |||
| 9a5b5b0614 | |||
| 4fe6fbee12 | |||
| cd549cb386 | |||
| d41a66758f | |||
| 3a7be7730d | |||
| c8ab0c1535 | |||
| 0e567a08de | |||
| 9baab389c9 | |||
| 46a80f60c5 | |||
| aab2d6615a | |||
| 991b8142fe | |||
| f4bbbcb6c1 | |||
| 768ab1b586 | |||
| 7424e4176c | |||
| 8287c88bd4 | |||
| 53e7277b6a | |||
| 2c7d61f938 | |||
| cdb71bb807 | |||
| 455f4a9359 | |||
| fa5dcc6940 | |||
| 33196968df | |||
| 8e4dedc9a1 | |||
| c260ecd39d | |||
| 10eee0fe7c | |||
| b2b6ec698a | |||
| 0e6a41d6d5 | |||
| db65871c39 | |||
| ae172a8520 | |||
| 8f4c884f5f | |||
| a83d44239a | |||
| 1b8754a67a | |||
| 7de62ec00e | |||
| 89cf77f760 | |||
| d157b18959 | |||
| eaa3e69e51 | |||
| e47b0379c3 | |||
| 624048c891 | |||
| df35905d72 | |||
| 1b7408bf19 | |||
| f54dde63a5 | |||
| 119ecffb45 | |||
| d7ba0a6660 | |||
| 3a3e61af73 | |||
| d719a63b5d | |||
| 9d1e6157bc | |||
| 62d454875a | |||
| bb128030a2 | |||
| 28b25b876e | |||
| 5ce8981fb8 | |||
| 642968bfd8 | |||
| 6ec20abc53 | |||
| 667da8bcff | |||
| 2f283d72f5 | |||
| 390126a28a | |||
| ab03f8a9f3 | |||
| cd9657c3da | |||
| ba60d5a207 | |||
| 0f113316ec | |||
| 3b69390a11 | |||
| 29b1539201 | |||
| 29f725955d | |||
| 187c0cbb00 | |||
| 02bf1dc5f5 | |||
| 825048b2be | |||
| b1a958006f | |||
| 6050a2bb00 | |||
| d508e02871 | |||
| 4e889021ce | |||
| 0fa4d26c19 | |||
| f1e3c2d81d | |||
| 588772b9a3 | |||
| 92f4743b83 | |||
| be801ed80e | |||
| 0866b08510 | |||
| b0509d1c95 | |||
| a1d7e430c7 | |||
| fb149f3cb3 | |||
| 449898e39c | |||
| 9f764682c3 | |||
| 0d6bfc4a57 | |||
| c0d71b7664 | |||
| 61e94177f6 | |||
| 9b54acbee1 | |||
| f12d8cecbb | |||
| 18efd44da0 | |||
| 49387a9557 | |||
| 27b89ed651 | |||
| 4249e50049 | |||
| d136ce28ce | |||
| 178f97f0e7 | |||
| 3f2334fda3 | |||
| b2233bb7e3 | |||
| c86d8c8a13 | |||
| 24ec474354 | |||
| 9d419b67ae | |||
| cb8d65d5e3 | |||
| 5244bd6e23 | |||
| 11996a97bc | |||
| 84b6213eec | |||
| 51dd489f62 | |||
| c24673d532 | |||
| b64b758bb5 | |||
| 94e60e9460 | |||
| 37cdf3f8db | |||
| 19f90800c3 | |||
| 5c344d726f | |||
| 3be8b18bee | |||
| 52ee4a7a9c | |||
| 974bc9624a | |||
| 7c37474507 | |||
| b103c3fbbd | |||
| cc61e7ff93 | |||
| aee958b1ff | |||
| c366745863 | |||
| 568b75790b | |||
| cfa9494c33 | |||
| fe0211c1ed | |||
| 6f76ff407f | |||
| d58407e75a | |||
| e9a724958c | |||
| e32f9d8eab | |||
| c949a732c9 | |||
| 302b5307fa | |||
| 239fc190a0 | |||
| bc91b1d06c | |||
| b3f26c2914 | |||
| 06d259b93d | |||
| bf128be2f7 | |||
| 0dbc665113 | |||
| b741ad3b4e | |||
| f47fda5471 | |||
| 6c3c3855b3 | |||
| c952b418f2 | |||
| 311752091d | |||
| 522f684b9a | |||
| 7fe67ec854 | |||
| b49110f30e | |||
| 1b8d66916a | |||
| e0a4defc84 | |||
| 0cbc1228ea | |||
| 98c6f414c0 | |||
| 24cef029dc | |||
| 55885be534 | |||
| 17185f0c99 | |||
| 4ba7190ffd | |||
| bcc8498c0b | |||
| c0d32996f4 | |||
| 7c4656f0c4 | |||
| f477cf5f1c |
@@ -1,63 +1,68 @@
|
||||
[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]
|
||||
[o:odoo:p:odoo-16-doc:r: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
|
||||
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..."
|
||||
@@ -55,7 +56,7 @@ html: $(HTML_BUILD_DIR)/_static/style.css
|
||||
|
||||
# To call *after* `make html`
|
||||
# Binary dependencies (Debian): texlive-fonts-recommended texlive-latex-extra
|
||||
# texlive-generic-recommended texlive-fonts-extra
|
||||
# texlive-fonts-extra
|
||||
latexpdf:
|
||||
@echo "Starting build..."
|
||||
$(SPHINX_BUILD) -c $(CONFIG_DIR) -b latex $(SPHINXOPTS) $(SOURCE_DIR) $(BUILD_DIR)/latex
|
||||
@@ -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/rst_style.py $(SOURCE_DIR)
|
||||
|
||||
@@ -4,43 +4,33 @@
|
||||
|
||||
### Requirements
|
||||
|
||||
- [Git](https://www.odoo.com/documentation/master/contributing/documentation.html#install-git)
|
||||
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/master/contributing/documentation.html#python)
|
||||
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/master/requirements.txt).
|
||||
- [Make](https://www.odoo.com/documentation/master/contributing/documentation.html#make)
|
||||
- A local copy of the [odoo/odoo repository in master](https://github.com/odoo/odoo/tree/master) (Optional)
|
||||
- Git
|
||||
- Python 3.6, 3.7, or 3.8
|
||||
- Python dependencies listed in the file `requirements.txt`.
|
||||
- Make
|
||||
- A local copy of the [odoo/odoo repository](https://github.com/odoo/odoo) (optional)
|
||||
|
||||
### Instructions
|
||||
|
||||
1. In a terminal, navigate to the root directory and compile the documentation to HTML with the
|
||||
following command:
|
||||
|
||||
```sh
|
||||
make
|
||||
```
|
||||
|
||||
1. In a terminal, navigate to the root directory of the documentation and build it `make`.
|
||||
Additional commands are available with `make help`.
|
||||
|
||||
2. Open the file `documentation/_build/html/index.html` in your web browser to display the render.
|
||||
|
||||
3. See [this guide](https://www.odoo.com/documentation/master/contributing/documentation.html#preview-your-changes)
|
||||
2. Open the file `documentation/_build/html/index.html` in your web browser.
|
||||
3. See [this guide](https://www.odoo.com/documentation/latest/contributing/documentation.html)
|
||||
for more detailed instructions.
|
||||
|
||||
Optional: to fully build the developer documentation with inline docstrings for documented Python
|
||||
functions, place your local copy of the `odoo/odoo` repository in the root directory. Alternatively,
|
||||
create a symbolic link with `odoo` as link name. If the Odoo sources are not found, a warning will
|
||||
be shown.
|
||||
Optional: place your local copy of the `odoo/odoo` repository in the parent directory or in the root
|
||||
directory of the documentation to build the latter with the documented Python docstrings.
|
||||
|
||||
## Contribute to the documentation
|
||||
|
||||
For contributions to the content of the documentation, please refer to the
|
||||
[Introduction Guide](https://www.odoo.com/documentation/master/contributing/documentation.html).
|
||||
[Introduction Guide](https://www.odoo.com/documentation/latest/contributing/documentation.html).
|
||||
|
||||
To **report a content issue**, **request new content** or **ask a question**, use the
|
||||
[repository's issue tracker](https://github.com/odoo/documentation-user/issues) as usual.
|
||||
[repository's issue tracker](https://github.com/odoo/documentation/issues).
|
||||
|
||||
## Learn More
|
||||
|
||||
To learn more about Odoo, in addition to the documentation, have a look at
|
||||
[the official eLearning](https://odoo.com/slides) and
|
||||
[Scale-up, The Business Game](https://www.odoo.com/page/scale-up-business-game).
|
||||
[Scale-up, The Business Game](https://www.odoo.com/page/scale-up-business-game).
|
||||
|
||||
@@ -16,4 +16,4 @@
|
||||
# [REM] = Removal
|
||||
# [REF] = Refactoring (restructuring)
|
||||
# [MOV] = Move/rename
|
||||
#
|
||||
#
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
import re
|
||||
import os
|
||||
import re
|
||||
import shutil
|
||||
import sys
|
||||
from pathlib import Path
|
||||
|
||||
import docutils
|
||||
import sphinx
|
||||
from pygments.lexers import JsonLexer, XmlLexer
|
||||
from sphinx.ext import graphviz
|
||||
from sphinx.util import logging
|
||||
import sphinx
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
@@ -19,11 +19,25 @@ _logger = logging.getLogger(__name__)
|
||||
project = 'Odoo'
|
||||
copyright = 'Odoo S.A.'
|
||||
|
||||
# `version` if the version info for the project being documented, acts as replacement for |version|,
|
||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = 'master'
|
||||
|
||||
# `current_branch` is the technical name of the current branch.
|
||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||
current_branch = version
|
||||
# `current_version` is the Odoo version linked to the current branch.
|
||||
# E.g., saas-15.4 -> 15.4; 12.0 -> 12; master -> master (*).
|
||||
current_version = current_branch.replace('saas-', '').replace('.0', '')
|
||||
# `current_major_branch` is the technical name of the major branch before the current branch.
|
||||
# E.g., saas-15.4 -> 15.0; 12.0 -> 12.0; master -> master (*).
|
||||
current_major_branch = re.sub(r'\.\d', '.0', current_branch.replace('saas-', ''))
|
||||
# `current_major_version` is the Odoo version linked to the current major branch.
|
||||
# E.g., saas-15.4 -> 15; 12.0 -> 12; master -> master (*).
|
||||
current_major_version = current_major_branch.replace('.0', '')
|
||||
# (*): We don't care for master.
|
||||
|
||||
# The minimal Sphinx version required to build the documentation.
|
||||
needs_sphinx = '3.0.0'
|
||||
|
||||
@@ -51,14 +65,24 @@ exclude_patterns = [
|
||||
# See https://docutils.sourceforge.io/docs/ref/rst/roles.html#standard-roles for other roles.
|
||||
default_role = 'literal'
|
||||
|
||||
|
||||
# Whether scaled down images should be be wrapped in a `<a/>` tag linking to the image file or not.
|
||||
html_scaled_image_link = False
|
||||
|
||||
# If true, '()' will be appended to :func: etc. cross-reference text
|
||||
add_function_parentheses = True
|
||||
|
||||
#=== Extensions configuration ===#
|
||||
|
||||
source_read_replace_vals = {
|
||||
'BRANCH': current_branch,
|
||||
'CURRENT_BRANCH': current_branch,
|
||||
'CURRENT_VERSION': current_version,
|
||||
'CURRENT_MAJOR_BRANCH': current_major_branch,
|
||||
'CURRENT_MAJOR_VERSION': current_major_version,
|
||||
'GITHUB_PATH': f'https://github.com/odoo/odoo/blob/{version}',
|
||||
'GITHUB_ENT_PATH': f'https://github.com/odoo/enterprise/blob/{version}',
|
||||
'OWL_PATH': f'https://github.com/odoo/owl/blob/master',
|
||||
}
|
||||
|
||||
# Add extensions directory to PYTHONPATH
|
||||
@@ -87,12 +111,11 @@ else:
|
||||
sys.version_info = (3, 7, 0)
|
||||
odoo_dir = odoo_sources_dirs[0].resolve()
|
||||
source_read_replace_vals['ODOO_RELPATH'] = '/../' + str(odoo_sources_dirs[0])
|
||||
source_read_replace_vals['ODOO_ABSPATH'] = str(odoo_dir)
|
||||
sys.path.insert(0, str(odoo_dir))
|
||||
import odoo.addons
|
||||
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
|
||||
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
|
||||
odoo_version = odoo_release.version.replace('~', '-') # Change saas~XX.Y to saas-XX.Y
|
||||
odoo_version = '.'.join(str(s) for s in odoo_release.version_info[:2]).replace('~', '-') # Change saas~XX.Y to saas-XX.Y
|
||||
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
|
||||
if release != odoo_version:
|
||||
_logger.warning(
|
||||
@@ -142,6 +165,12 @@ extensions = [
|
||||
# Content tabs
|
||||
'sphinx_tabs.tabs',
|
||||
|
||||
# Cards
|
||||
'cards',
|
||||
|
||||
# Spoilers
|
||||
'spoilers',
|
||||
|
||||
# Strange html domain logic used in memento pages
|
||||
'html_domain',
|
||||
]
|
||||
@@ -184,8 +213,8 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'saas-15.1': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
'13.0': "Odoo 13",
|
||||
@@ -194,18 +223,20 @@ versions_names = {
|
||||
# The language names that should be shown in the language switcher, if the config option `languages`
|
||||
# is populated. If a language is passed to `languages` but is not listed here, it will not be shown.
|
||||
languages_names = {
|
||||
'de': 'Deutsch',
|
||||
'en': 'English',
|
||||
'es': 'Español',
|
||||
'fr': 'Français',
|
||||
'nl': 'Nederlands',
|
||||
'pt_BR': 'Português (BR)',
|
||||
'uk': 'українська',
|
||||
'zh_CN': '简体中文',
|
||||
'de': 'DE',
|
||||
'en': 'EN',
|
||||
'es': 'ES',
|
||||
'fr': 'FR',
|
||||
'it': 'IT',
|
||||
'nl': 'NL',
|
||||
'pt_BR': 'PT',
|
||||
'uk': 'UA',
|
||||
'zh_CN': 'ZH (CN)',
|
||||
'zh_TW': 'ZH (TW)'
|
||||
}
|
||||
|
||||
# The specifications of redirect rules used by the redirects extension.
|
||||
redirects_file = 'redirects.txt'
|
||||
# The directory in which files holding redirect rules used by the 'redirects' extension are listed.
|
||||
redirects_dir = 'redirects/'
|
||||
|
||||
sphinx_tabs_disable_tab_closing = True
|
||||
sphinx_tabs_disable_css_loading = True
|
||||
@@ -229,12 +260,12 @@ html_favicon = os.path.join(html_theme_path[0], html_theme, 'static', 'img', 'fa
|
||||
# They are copied after the builtin static files, so a file named "default.css" will overwrite the
|
||||
# builtin "default.css".
|
||||
html_static_path = ['static']
|
||||
html_add_permalinks = '¶' # Sphinx < 3.5
|
||||
html_permalinks = True # Sphinx >= 3.5
|
||||
html_permalinks = True
|
||||
|
||||
# Additional JS & CSS files that can be imported with the 'custom-js' and 'custom-css' metadata.
|
||||
# Lists are empty because the files are specified in extensions/themes.
|
||||
html_js_files = []
|
||||
html_css_files = ["css/js.css"]
|
||||
html_css_files = []
|
||||
|
||||
# PHP lexer option to not require <?php
|
||||
highlight_options = {
|
||||
@@ -272,7 +303,7 @@ latex_documents = [
|
||||
('legal/terms/i18n/partnership_tex_fr',
|
||||
'odoo_partnership_agreement_fr.tex', 'Odoo Partnership Agreement (FR)', '', 'howto'),
|
||||
('legal/terms/i18n/terms_of_sale_fr', 'terms_of_sale_fr.tex',
|
||||
u'Conditions Générales de Vente Odoo', '', 'howto'),
|
||||
'Conditions Générales de Vente Odoo', '', 'howto'),
|
||||
|
||||
('legal/terms/i18n/enterprise_tex_nl', 'odoo_enterprise_agreement_nl.tex',
|
||||
'Odoo Enterprise Subscription Agreement (NL)', '', 'howto'),
|
||||
@@ -308,7 +339,6 @@ def source_read_replace(app, docname, source):
|
||||
result = result.replace(f"{{{key}}}", app.config.source_read_replace_vals[key])
|
||||
source[0] = result
|
||||
|
||||
|
||||
def setup(app):
|
||||
# Generate all alternate URLs for each document
|
||||
app.add_config_value('project_root', None, 'env')
|
||||
@@ -396,8 +426,9 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
|
||||
The entry 'language' is added by Sphinx in the rendering context.
|
||||
"""
|
||||
_current_lang = app.config.language or 'en'
|
||||
# Replace the context value by its translated description ("Français" instead of "french")
|
||||
# Replace the context value by its upper-cased value ("FR" instead of "fr")
|
||||
context['language'] = languages_names.get(_current_lang)
|
||||
context['language_code'] = _current_lang
|
||||
|
||||
# If the list of languages is not set, assume that the project has no alternate language
|
||||
_provided_languages = app.config.languages and app.config.languages.split(',') or []
|
||||
|
||||
@@ -97,7 +97,7 @@ Configuration sample
|
||||
* Allow tcp connection on localhost
|
||||
* Allow tcp connection from 192.168.1.x network
|
||||
|
||||
in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:
|
||||
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/pg_hba.conf`` set:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
@@ -105,7 +105,7 @@ in ``/etc/postgresql/9.5/main/pg_hba.conf`` set:
|
||||
host all all 127.0.0.1/32 md5
|
||||
host all all 192.168.1.0/24 md5
|
||||
|
||||
in ``/etc/postgresql/9.5/main/postgresql.conf`` set:
|
||||
in ``/etc/postgresql/<YOUR POSTGRESQL VERSION>/main/postgresql.conf`` set:
|
||||
|
||||
.. code-block:: text
|
||||
|
||||
@@ -172,7 +172,7 @@ in Odoo the db_sslmode control the ssl security of the connection
|
||||
with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
|
||||
or 'verify-full'
|
||||
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/current/static/libpq-ssl.html>`_
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/12/static/libpq-ssl.html>`_
|
||||
|
||||
.. _builtin_server:
|
||||
|
||||
@@ -215,11 +215,11 @@ LiveChat
|
||||
--------
|
||||
|
||||
In multiprocessing, a dedicated LiveChat worker is automatically started and
|
||||
listening on :option:`the longpolling port <odoo-bin --longpolling-port>` but
|
||||
listening on :option:`the gevent port <odoo-bin --gevent-port>` but
|
||||
the client will not connect to it.
|
||||
|
||||
Instead you must have a proxy redirecting requests whose URL starts with
|
||||
``/longpolling/`` to the longpolling port. Other request should be proxied to
|
||||
``/websocket/`` to the gevent port. Other request should be proxied to
|
||||
the :option:`normal HTTP port <odoo-bin --http-port>`
|
||||
|
||||
To achieve such a thing, you'll need to deploy a reverse proxy in front of Odoo,
|
||||
@@ -290,6 +290,10 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
upstream odoochat {
|
||||
server 127.0.0.1:8072;
|
||||
}
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
# http -> https
|
||||
server {
|
||||
@@ -305,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;
|
||||
@@ -323,13 +321,24 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
|
||||
access_log /var/log/nginx/odoo.access.log;
|
||||
error_log /var/log/nginx/odoo.error.log;
|
||||
|
||||
# Redirect longpoll requests to odoo longpolling port
|
||||
location /longpolling {
|
||||
# Redirect websocket requests to odoo gevent port
|
||||
location /websocket {
|
||||
proxy_pass http://odoochat;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection $connection_upgrade;
|
||||
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;
|
||||
}
|
||||
|
||||
# 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;
|
||||
}
|
||||
@@ -381,12 +390,12 @@ notifications.
|
||||
The solutions to support livechat/motifications in a WSGI application are:
|
||||
|
||||
* Deploy a threaded version of Odoo (instead of a process-based preforking
|
||||
one) and redirect only requests to URLs starting with ``/longpolling/`` to
|
||||
that Odoo, this is the simplest and the longpolling URL can double up as
|
||||
the cron instance.
|
||||
one) and redirect only requests to URLs starting with ``/websocket/`` to
|
||||
that Odoo, this is the simplest and the websocket URL can double up as the cron
|
||||
instance.
|
||||
* Deploy an evented Odoo via ``odoo-gevent`` and proxy requests starting
|
||||
with ``/longpolling/`` to
|
||||
:option:`the longpolling port <odoo-bin --longpolling-port>`.
|
||||
with ``/websocket/`` to
|
||||
:option:`the gevent port <odoo-bin --gevent-port>`.
|
||||
|
||||
.. _deploy/streaming:
|
||||
|
||||
@@ -400,61 +409,56 @@ a static HTTP server.
|
||||
Serving static files
|
||||
--------------------
|
||||
|
||||
Odoo static files are located in each module's :file:`static/` folder, so static files can be served
|
||||
Odoo static files are located in each module's :file:`static/` folder, so static files can be served
|
||||
by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module
|
||||
(and file) in the various addons paths.
|
||||
|
||||
.. example::
|
||||
Say Odoo has been installed via the **debian packages** for Community and Enterprise, the addons
|
||||
paths is :file:`/usr/lib/python3/dist-packages/odoo/addons`. Using the above NGINX (https)
|
||||
configuration, the following location block should be added to serve static files via NGINX.
|
||||
|
||||
Say Odoo has been installed via the **debian packages** for Community and Enterprise and the
|
||||
:option:`--addons-path <odoo-bin --addons-path>` is ``'/usr/lib/python3/dist-packages/odoo/addons'``.
|
||||
|
||||
Using the above NGINX (https) configuration, the following location block should be added to
|
||||
serve static files via NGINX.
|
||||
|
||||
.. code-block:: nginx
|
||||
|
||||
|
||||
location @odoo {
|
||||
# copy-paste the content of the / location block
|
||||
}
|
||||
|
||||
|
||||
# Serve static files right away
|
||||
location ~ ^/[^/]+/static/.+$ {
|
||||
# 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;
|
||||
root /usr/lib/python3/dist-packages/odoo/addons;
|
||||
try_files $uri @odoo;
|
||||
expires 24h;
|
||||
}
|
||||
|
||||
.. example::
|
||||
Say Odoo has been installed via the **source**, and the two git repositories for Community and
|
||||
Enterprise has been cloned in :file:`/opt/odoo` and :file:`/opt/odoo-enterprise` respectively.
|
||||
The addons paths is ``/opt/odoo/odoo,/opt/odoo/addons,/opt/odoo-enterprise``. Using the above
|
||||
NGINX (https) configuragion, the following location block should be added to serve static files
|
||||
via NGINX.
|
||||
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/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.
|
||||
|
||||
.. code-block:: nginx
|
||||
|
||||
|
||||
location @odoo {
|
||||
# copy-paste the content of the / location block
|
||||
}
|
||||
|
||||
|
||||
# Serve static files right away
|
||||
location ~ ^/[^/]+/static/.+$ {
|
||||
try_files /static-base$uri /static-addons$uri /static-enterprise$uri @odoo$uri;
|
||||
root /opt/odoo;
|
||||
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
|
||||
expires 24h;
|
||||
}
|
||||
|
||||
location /static-base {
|
||||
internal;
|
||||
alias /opt/odoo/odoo/addons;
|
||||
}
|
||||
|
||||
location /static-addons {
|
||||
internal;
|
||||
alias /opt/odoo/addons;
|
||||
}
|
||||
|
||||
location /static-enterprise {
|
||||
internal;
|
||||
alias /opt/odoo-enterprise;
|
||||
}
|
||||
|
||||
.. warning::
|
||||
The actual NGINX configuration you need is highly dependent on your own installation. The two
|
||||
@@ -483,7 +487,7 @@ X-Sendfile and X-Accel).
|
||||
- The X-Accel extension for NGINX **does** require the following additionnal configuration:
|
||||
|
||||
.. code-block:: nginx
|
||||
|
||||
|
||||
location /web/filestore {
|
||||
internal;
|
||||
alias /path/to/odoo/data-dir/filestore;
|
||||
@@ -608,6 +612,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.
|
||||
@@ -735,8 +740,8 @@ Here are the supported browsers:
|
||||
.. _socat: http://www.dest-unreach.org/socat/
|
||||
.. _PostgreSQL connection settings:
|
||||
.. _listen to network interfaces:
|
||||
https://www.postgresql.org/docs/9.6/static/runtime-config-connection.html
|
||||
https://www.postgresql.org/docs/12/static/runtime-config-connection.html
|
||||
.. _use an SSH tunnel:
|
||||
https://www.postgresql.org/docs/9.6/static/ssh-tunnels.html
|
||||
https://www.postgresql.org/docs/12/static/ssh-tunnels.html
|
||||
.. _WSGI: https://wsgi.readthedocs.org/
|
||||
.. _POSBox: https://www.odoo.com/page/point-of-sale-hardware#part_2
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -33,7 +33,7 @@ Editions
|
||||
========
|
||||
|
||||
There are two different Editions_ of Odoo: the Community and Enterprise versions.
|
||||
Using the Enterprise version is possible on our SaaS_ and accessing the code is
|
||||
Using the Enterprise version is possible on `Odoo Online`_ and accessing the code is
|
||||
restricted to Enterprise customers and partners. The Community version is freely
|
||||
available to anyone.
|
||||
|
||||
@@ -55,17 +55,17 @@ around and try things out with no commitment.
|
||||
|
||||
Demo_ instances require no local installation, just a web browser.
|
||||
|
||||
SaaS
|
||||
----
|
||||
Odoo Online
|
||||
-----------
|
||||
|
||||
Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_
|
||||
Trivial to start with, fully managed and migrated by Odoo S.A., `Odoo Online`_
|
||||
provides private instances and starts out free. It can be used to discover and
|
||||
test Odoo and do non-code customizations (i.e. incompatible with custom modules
|
||||
or the Odoo Apps Store) without having to install it locally.
|
||||
|
||||
Can be used for both testing Odoo and long-term production use.
|
||||
|
||||
Like demo_ instances, SaaS_ instances require no local installation, a web
|
||||
Like demo_ instances, `Odoo Online`_ instances require no local installation, a web
|
||||
browser is sufficient.
|
||||
|
||||
|
||||
@@ -146,13 +146,13 @@ Repository
|
||||
.. group-tab:: Debian/Ubuntu
|
||||
|
||||
Odoo S.A. provides a repository that can be used with Debian and Ubuntu distributions. It can
|
||||
be used to install *Odoo Community Edition* by executing the following commands **as root**:
|
||||
be used to install *Odoo Community Edition* by executing the following commands:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
# wget -O - https://nightly.odoo.com/odoo.key | apt-key add -
|
||||
# echo "deb http://nightly.odoo.com/15.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list
|
||||
# apt-get update && apt-get install odoo
|
||||
$ wget -q -O - https://nightly.odoo.com/odoo.key | sudo gpg --dearmor -o /usr/share/keyrings/odoo-archive-keyring.gpg
|
||||
$ echo 'deb [signed-by=/usr/share/keyrings/odoo-archive-keyring.gpg] https://nightly.odoo.com/{CURRENT_MAJOR_BRANCH}/nightly/deb/ ./' | sudo tee /etc/apt/sources.list.d/odoo.list
|
||||
$ sudo apt-get update && sudo apt-get install odoo
|
||||
|
||||
You can then use the usual `apt-get upgrade` command to keep your installation up-to-date.
|
||||
|
||||
@@ -163,7 +163,7 @@ Repository
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/15.0/nightly/rpm/odoo.repo
|
||||
$ sudo dnf config-manager --add-repo=https://nightly.odoo.com/{CURRENT_MAJOR_BRANCH}/nightly/rpm/odoo.repo
|
||||
$ sudo dnf install -y odoo
|
||||
$ sudo systemctl enable odoo
|
||||
$ sudo systemctl start odoo
|
||||
@@ -183,8 +183,8 @@ Distribution package
|
||||
<download_>`_.
|
||||
|
||||
.. note::
|
||||
Odoo 15.0 'deb' package currently supports `Debian 11 (Bullseye)`_, `Ubuntu 20.04 (Focal)`_
|
||||
or above.
|
||||
Odoo {CURRENT_MAJOR_VERSION} 'deb' package currently supports `Debian 11 (Bullseye)`_,
|
||||
`Ubuntu 22.04 (Jammy)`_ or above.
|
||||
|
||||
Next, execute the following commands **as root**:
|
||||
|
||||
@@ -224,13 +224,13 @@ Distribution package
|
||||
<download_>`_.
|
||||
|
||||
.. note::
|
||||
Odoo 15.0 'rpm' package supports Fedora 34.
|
||||
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 36.
|
||||
|
||||
Once downloaded, the package can be installed using the 'dnf' package manager:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo dnf localinstall odoo_15.0.latest.noarch.rpm
|
||||
$ sudo dnf localinstall odoo_{CURRENT_MAJOR_BRANCH}.latest.noarch.rpm
|
||||
$ sudo systemctl enable odoo
|
||||
$ sudo systemctl start odoo
|
||||
|
||||
@@ -242,9 +242,8 @@ Source install
|
||||
The source "installation" is really about not installing Odoo, and running it directly from source
|
||||
instead.
|
||||
|
||||
This can be more convenient for module developers as the Odoo source is more easily accessible
|
||||
than using packaged installation (for information or to build this documentation and have it
|
||||
available offline).
|
||||
It can be more convenient for module developers as the Odoo source is more easily accessible than
|
||||
using packaged installation.
|
||||
|
||||
It also makes starting and stopping Odoo more flexible and explicit than the services set up by the
|
||||
packaged installations, and allows overriding settings using
|
||||
@@ -272,55 +271,80 @@ Enterprise Edition:
|
||||
* `Official download page <download_>`_
|
||||
* `GitHub repository <enterprise-repository_>`_
|
||||
|
||||
.. _setup/install/source/git:
|
||||
|
||||
Git
|
||||
~~~
|
||||
|
||||
The following requires `git <https://git-scm.com/>`_ to be installed on your machine and that you
|
||||
have basic knowledge of git commands.
|
||||
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/tutorials/getting_started>` developer tutorial,
|
||||
or plan on contributing to Odoo source code, choose SSH.
|
||||
|
||||
Community Edition:
|
||||
.. 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.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. group-tab:: Windows
|
||||
|
||||
.. code-block:: doscon
|
||||
.. tabs::
|
||||
|
||||
C:\> git clone https://github.com/odoo/odoo.git
|
||||
.. tab:: Clone with HTTPS
|
||||
|
||||
.. code-block:: doscon
|
||||
|
||||
C:\> git clone https://github.com/odoo/odoo.git
|
||||
C:\> git clone https://github.com/odoo/enterprise.git
|
||||
|
||||
.. tab:: Clone with SSH
|
||||
|
||||
.. code-block:: doscon
|
||||
|
||||
C:\> git clone git@github.com:odoo/odoo.git
|
||||
C:\> git clone git@github.com:odoo/enterprise.git
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
.. code-block:: console
|
||||
.. tabs::
|
||||
|
||||
$ git clone https://github.com/odoo/odoo.git
|
||||
.. tab:: Clone with HTTPS
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/odoo/odoo.git
|
||||
$ git clone https://github.com/odoo/enterprise.git
|
||||
|
||||
.. tab:: Clone with SSH
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone git@github.com:odoo/odoo.git
|
||||
$ git clone git@github.com:odoo/enterprise.git
|
||||
|
||||
.. group-tab:: Mac OS
|
||||
|
||||
.. code-block:: console
|
||||
.. tabs::
|
||||
|
||||
$ git clone https://github.com/odoo/odoo.git
|
||||
.. tab:: Clone with HTTPS
|
||||
|
||||
Enterprise Edition: (see :ref:`setup/install/editions` to get access)
|
||||
.. code-block:: console
|
||||
|
||||
.. tabs::
|
||||
$ git clone https://github.com/odoo/odoo.git
|
||||
$ git clone https://github.com/odoo/enterprise.git
|
||||
|
||||
.. group-tab:: Windows
|
||||
.. tab:: Clone with SSH
|
||||
|
||||
.. code-block:: doscon
|
||||
.. code-block:: console
|
||||
|
||||
C:\> git clone https://github.com/odoo/enterprise.git
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/odoo/enterprise.git
|
||||
|
||||
.. group-tab:: Mac OS
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ git clone https://github.com/odoo/enterprise.git
|
||||
$ git clone git@github.com:odoo/odoo.git
|
||||
$ git clone git@github.com:odoo/enterprise.git
|
||||
|
||||
.. note::
|
||||
**The Enterprise git repository does not contain the full Odoo source code**. It is only a
|
||||
@@ -329,6 +353,8 @@ Enterprise Edition: (see :ref:`setup/install/editions` to get access)
|
||||
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.
|
||||
|
||||
.. _setup/install/source/prepare:
|
||||
|
||||
Prepare
|
||||
-------
|
||||
|
||||
@@ -405,7 +431,7 @@ PostgreSQL
|
||||
.. group-tab:: Windows
|
||||
|
||||
Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL
|
||||
<https://www.postgresql.org/download/windows/>`_ (supported version: 10.0 and later).
|
||||
<https://www.postgresql.org/download/windows/>`_ (supported version: 12.0 and later).
|
||||
|
||||
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
|
||||
to create a new PostgreSQL user:
|
||||
@@ -425,7 +451,7 @@ PostgreSQL
|
||||
.. group-tab:: Linux
|
||||
|
||||
Odoo uses PostgreSQL as database management system. Use your package manager to download and
|
||||
install PostgreSQL (supported version: 10.0 and later).
|
||||
install PostgreSQL (supported version: 12.0 and later).
|
||||
|
||||
It can be achieved by executing the following:
|
||||
|
||||
@@ -448,9 +474,14 @@ PostgreSQL
|
||||
.. group-tab:: Mac OS
|
||||
|
||||
Odoo uses PostgreSQL as database management system. Use `postgres.app
|
||||
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 10.0 and
|
||||
<https://postgresapp.com>`_ to download and install PostgreSQL (supported version: 12.0 and
|
||||
later).
|
||||
|
||||
.. tip::
|
||||
To make the command line tools bundled with `postgres.app` available, make sure to setup your
|
||||
`$PATH` variable by following the `Postgres.app CLI Tools Instructions
|
||||
<https://postgresapp.com/documentation/cli-tools.html>`_.
|
||||
|
||||
By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need
|
||||
to create a new PostgreSQL user:
|
||||
|
||||
@@ -515,7 +546,7 @@ Dependencies
|
||||
.. tab:: Debian/Ubuntu
|
||||
|
||||
For Debian-based systems, the packages are listed in the `debian/control
|
||||
<https://github.com/odoo/odoo/blob/master/debian/control>`_ file of the Odoo sources.
|
||||
<{GITHUB_PATH}/debian/control>`_ file of the Odoo sources.
|
||||
|
||||
On Debian/Ubuntu, the following commands should install the required packages:
|
||||
|
||||
@@ -645,8 +676,8 @@ A typical way to run the server would be:
|
||||
C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb
|
||||
|
||||
Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the
|
||||
PostgreSQL login, `dbpassword` is the PostgreSQL password and `mydb` is the default database
|
||||
to serve on `localhost:8069`.
|
||||
PostgreSQL login, `dbpassword` is the PostgreSQL password, and `mydb` is the name of the
|
||||
PostgreSQL database.
|
||||
|
||||
.. group-tab:: Linux
|
||||
|
||||
@@ -655,8 +686,8 @@ A typical way to run the server would be:
|
||||
$ cd /CommunityPath
|
||||
$ python3 odoo-bin --addons-path=addons -d mydb
|
||||
|
||||
Where `CommunityPath` is the path of the Odoo Community installation and `mydb` is the default
|
||||
database to serve on `localhost:8069`.
|
||||
Where `CommunityPath` is the path of the Odoo Community installation, and `mydb` is the name
|
||||
of the PostgreSQL database.
|
||||
|
||||
.. group-tab:: Mac OS
|
||||
|
||||
@@ -665,11 +696,22 @@ A typical way to run the server would be:
|
||||
$ cd /CommunityPath
|
||||
$ python3 odoo-bin --addons-path=addons -d mydb
|
||||
|
||||
Where `CommunityPath` is the path of the Odoo Community installation and `mydb` is the default
|
||||
database to serve on `localhost:8069`.
|
||||
Where `CommunityPath` is the path of the Odoo Community installation, and `mydb` is the name
|
||||
of the PostgreSQL database.
|
||||
|
||||
After the server has started (the INFO log `odoo.modules.loading: Modules loaded.` is printed), open
|
||||
http://localhost:8069 in your web browser and log in with the base administrator account: Use
|
||||
`admin` for the :guilabel:`Email` and, again, `admin` for the :guilabel:`Password`. That's it, you
|
||||
just logged into your own Odoo database!
|
||||
|
||||
.. tip::
|
||||
- From there, you can create and manage new :doc:`users
|
||||
</applications/general/users/manage_users>`.
|
||||
- The user account you use to log into Odoo's web interface differs from the :option:`--db_user
|
||||
<odoo-bin -r>` CLI argument.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`The exhaustive list of arguments for odoo-bin </developer/misc/other/cmdline>`.
|
||||
:doc:`The exhaustive list of CLI arguments for odoo-bin </developer/reference/cli>`.
|
||||
|
||||
.. _setup/install/docker:
|
||||
|
||||
@@ -683,24 +725,24 @@ official Odoo `docker image <https://hub.docker.com/_/odoo/>`_ page.
|
||||
.. _demo: https://demo.odoo.com
|
||||
.. _docker: https://www.docker.com
|
||||
.. _download: https://www.odoo.com/page/download
|
||||
.. _Ubuntu 20.04 (Focal): http://releases.ubuntu.com/20.04/
|
||||
.. _Ubuntu 22.04 (Jammy): https://releases.ubuntu.com/22.04/
|
||||
.. _EPEL: https://fedoraproject.org/wiki/EPEL
|
||||
.. _PostgreSQL: http://www.postgresql.org
|
||||
.. _PostgreSQL: https://www.postgresql.org
|
||||
.. _the official installer:
|
||||
.. _install pip:
|
||||
https://pip.pypa.io/en/latest/installing.html#install-pip
|
||||
.. _Quilt: http://en.wikipedia.org/wiki/Quilt_(software)
|
||||
.. _saas: https://www.odoo.com/page/start
|
||||
.. _Quilt: https://en.wikipedia.org/wiki/Quilt_(software)
|
||||
.. _Odoo Online: https://www.odoo.com/page/start
|
||||
.. _the wkhtmltopdf download page: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5
|
||||
.. _UAC: http://en.wikipedia.org/wiki/User_Account_Control
|
||||
.. _wkhtmltopdf: http://wkhtmltopdf.org
|
||||
.. _UAC: https://en.wikipedia.org/wiki/User_Account_Control
|
||||
.. _wkhtmltopdf: https://wkhtmltopdf.org
|
||||
.. _pip: https://pip.pypa.io
|
||||
.. _macports: https://www.macports.org
|
||||
.. _homebrew: http://brew.sh
|
||||
.. _homebrew: https://brew.sh
|
||||
.. _wheels: https://wheel.readthedocs.org/en/latest/
|
||||
.. _virtualenv: https://pypi.python.org/pypi/virtualenv
|
||||
.. _virtualenvwrapper: https://virtualenvwrapper.readthedocs.io/en/latest/
|
||||
.. _pywin32: http://sourceforge.net/projects/pywin32/files/pywin32/
|
||||
.. _pywin32: https://sourceforge.net/projects/pywin32/files/pywin32/
|
||||
.. _community-repository: https://github.com/odoo/odoo
|
||||
.. _enterprise-repository: https://github.com/odoo/enterprise
|
||||
.. _Editions: https://www.odoo.com/pricing#pricing_table_features
|
||||
|
||||
@@ -7,9 +7,12 @@ Maintain
|
||||
.. toctree::
|
||||
|
||||
maintain/domain_names
|
||||
maintain/azure_oauth
|
||||
maintain/google_oauth
|
||||
maintain/mailjet_api
|
||||
maintain/update
|
||||
maintain/enterprise
|
||||
maintain/hosting_changes
|
||||
maintain/online
|
||||
maintain/odoo_online
|
||||
maintain/on_premise
|
||||
maintain/supported_versions
|
||||
|
||||
@@ -0,0 +1,216 @@
|
||||
=======================================================
|
||||
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>`_
|
||||
|
||||
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 (IMAP) 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_from>`.
|
||||
|
||||
Then, cick 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 |
@@ -17,7 +17,7 @@ You can use a custom domain name to access your Odoo database and websites:
|
||||
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
|
||||
|
||||
.. important::
|
||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
|
||||
databases for one year. Visitors can then access your website with an address such as
|
||||
``www.example.com`` rather than the default ``example.odoo.com``.
|
||||
|
||||
@@ -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/optimize/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
|
||||
@@ -59,12 +89,14 @@ database manager.
|
||||
registrar.
|
||||
- You are the owner of the domain name and can use it for other purposes.
|
||||
- Odoo manages payment and technical support for you.
|
||||
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
|
||||
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
|
||||
|
||||
To do so, go to :menuselection:`Website --> Go to website --> Promote --> Domain Name`.
|
||||
Alternatively, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
|
||||
:guilabel:`settings` button next to your database, then on :guilabel:`Domain names`.
|
||||
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
|
||||
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
|
||||
database, then on :guilabel:`Domain names`.
|
||||
|
||||
.. image:: domain_names/register-promote.png
|
||||
.. image:: domain_names/register-menu.png
|
||||
:align: center
|
||||
:alt: Clicking on Domain Names from an Odoo website
|
||||
|
||||
@@ -123,8 +155,8 @@ that you proceed with the following actions in this order:
|
||||
Add a CNAME record
|
||||
------------------
|
||||
|
||||
A **CNAME record** is a type of DNS record that points to the IP address of another website rather
|
||||
than to directly to an IP address.
|
||||
A **CNAME record** is a type of DNS record that points to the domain of another website rather than
|
||||
directly to an IP address.
|
||||
|
||||
You need a CNAME record that points to your Odoo database. The requirements are detailed in your
|
||||
database manager.
|
||||
@@ -149,7 +181,7 @@ database manager.
|
||||
#. Open the **DNS zone** management page for the domain name you want to configure.
|
||||
#. Create a **CNAME record** pointing to the address of your database.
|
||||
|
||||
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``, you
|
||||
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``), you
|
||||
can of course use any domain name of your choice, with any subdomain (e.g.,
|
||||
``anything.example.com``).
|
||||
|
||||
@@ -322,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
|
||||
|
||||
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 38 KiB |
@@ -41,7 +41,7 @@ On Linux, using an installer
|
||||
.. code-block:: console
|
||||
|
||||
$ sudo dpkg -i <path_to_enterprise_deb>
|
||||
|
||||
|
||||
* Update your database to the enterprise packages using
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@@ -0,0 +1,192 @@
|
||||
========================================
|
||||
Connect Gmail to Odoo using Google OAuth
|
||||
========================================
|
||||
|
||||
Odoo is compatible with Google's OAuth for Gmail. In order to send secure emails from a custom
|
||||
domain, all that is required is to configure a few settings on Google's *Workspace* platform, as
|
||||
well as on the back end of the Odoo database. This configuration works by using either a personal
|
||||
email address or an address created by a custom domain.
|
||||
|
||||
.. tip::
|
||||
For more information, visit `Google's documentation
|
||||
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
|
||||
|
||||
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).
|
||||
|
||||
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.
|
||||
|
||||
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`.
|
||||
|
||||
.. image:: google_oauth/new-project.png
|
||||
:align: center
|
||||
: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.
|
||||
|
||||
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`.
|
||||
|
||||
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.
|
||||
|
||||
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`.
|
||||
- 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.
|
||||
|
||||
.. image:: google_oauth/client-credentials.png
|
||||
:align: center
|
||||
:alt: Client ID and Client Secret for Google OAuth.
|
||||
|
||||
Setup in Odoo
|
||||
=============
|
||||
|
||||
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`.
|
||||
|
||||
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.
|
||||
|
||||
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.
|
||||
|
||||
.. 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`.
|
||||
|
||||
A new window from :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.
|
||||
|
||||
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
|
||||
server in Odoo. The configuration automatically loads the token in Odoo, and a tag stating
|
||||
:guilabel:`Gmail Token Valid` appears in green.
|
||||
|
||||
.. image:: google_oauth/green-token.png
|
||||
: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.
|
||||
|
||||
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:
|
||||
|
||||
.. image:: google_oauth/published-status.png
|
||||
:align: center
|
||||
:alt: OAuth is Limited to 100 Sensitive Scope Logins.
|
||||
|
||||
To correct this warning, navigate to the `Google API Platform
|
||||
<https://console.cloud.google.com/apis/credentials/consent>`_. If the :guilabel:`Publishing status`
|
||||
is :guilabel:`In Production`, click :guilabel:`Back to Testing` to correct the issue.
|
||||
|
||||
No Test Users Added
|
||||
-------------------
|
||||
|
||||
If no test users are added to the OAuth consent screen, then a 403 access denied error will
|
||||
populate.
|
||||
|
||||
.. image:: google_oauth/403-error.png
|
||||
: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.
|
||||
|
||||
Gmail Module not updated
|
||||
------------------------
|
||||
|
||||
If the :guilabel:`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`.
|
||||
|
||||
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.
|
||||
|
||||
.. 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.
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 9.8 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 6.1 KiB |
@@ -48,17 +48,40 @@ From Odoo Online to Odoo.sh
|
||||
From Odoo.sh to Odoo Online
|
||||
===========================
|
||||
|
||||
.. warning:: Odoo Online is not compatible with **non-standard apps**.
|
||||
#. Uninstall all the **non-standard apps**.
|
||||
#. `Create a support ticket <https://www.odoo.com/help>`_ and include the following:
|
||||
|
||||
1. Uninstall all the **non-standard apps**: test it in a staging build first, then do it in your production build.
|
||||
2. **If you have time constraints, contact us earlier to schedule the transfer.**
|
||||
3. `Create a support ticket <https://www.odoo.com/help>`_ and include your subscription number and the URL you want to use for your database (e.g.: my-company.odoo.com).
|
||||
4. We will make sure your database is compatible and upload it to our cloud. In case of technical issues, we will get in touch with you.
|
||||
5. It's done!
|
||||
- Your subscription number
|
||||
- The URL you want to use for your database (e.g., `example.odoo.com`)
|
||||
- Which branch you want to migrate
|
||||
- In which region you want to be hosted:
|
||||
|
||||
- Americas
|
||||
- Europe
|
||||
- Asia
|
||||
|
||||
- Which user(s) will be the administrator(s)
|
||||
- When (and in which timezone) you want the database to be up and running
|
||||
|
||||
#. We will make sure your database is compatible and upload it to our cloud. In case of technical
|
||||
issues, we will get in touch with you.
|
||||
#. All done!
|
||||
|
||||
.. important::
|
||||
- Odoo Online is not compatible with **non-standard apps**.
|
||||
- Make sure to uninstall all the **non-standard apps** in a staging build before doing it in your
|
||||
production build.
|
||||
|
||||
.. note::
|
||||
- Make sure you select the **region** that is closest to your users to reduce latency.
|
||||
- The future **administrator(s)** must have an odoo.com account.
|
||||
- The specific **date and time** at which you want the database to be up and running are mainly
|
||||
helpful to organize the switch from the odoo.sh server to the Odoo Online servers.
|
||||
- Databases are **not reachable** during their migration.
|
||||
- **If you have time constraints, contact us earlier to schedule the transfer**.
|
||||
|
||||
From Odoo.sh to on-premises
|
||||
===========================
|
||||
|
||||
1. Grab a :ref:`backup of your Odoo.sh production database <odoo_sh_branches_backups>`.
|
||||
2. Restore it from the database manager on your local server.
|
||||
|
||||
|
||||
@@ -0,0 +1,218 @@
|
||||
===========
|
||||
Mailjet API
|
||||
===========
|
||||
|
||||
Odoo is compatible with Mailjet's :abbr:`API (Application Programming Interface)` for mass mailing.
|
||||
Set up a dedicated mass mailing server through Mailjet by configuring settings in the Mailjet
|
||||
account and the Odoo database. In some circumstances, settings need to be configured on the custom
|
||||
domain's :abbr:`DNS (Domain Name System)` settings as well.
|
||||
|
||||
Set up in Mailjet
|
||||
=================
|
||||
|
||||
Create API credentials
|
||||
----------------------
|
||||
|
||||
To get started, sign in to the `Mailjet Account Information <https://app.mailjet.com/account>`_
|
||||
page. Next, navigate to the :guilabel:`Senders & Domains` section and click on :guilabel:`SMTP and
|
||||
SEND API Settings`.
|
||||
|
||||
.. image:: mailjet_api/api-settings.png
|
||||
:align: center
|
||||
:alt: SMTP and Send API Settings link in the Senders & Domains section of Mailjet.
|
||||
|
||||
Then, copy the :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings onto a notepad.
|
||||
They can be found under the :guilabel:`Configuration (SMTP only)` section. The :abbr:`SMTP (Simple
|
||||
Mail Transfer Protocol)` configuration settings include the server address, the security option
|
||||
needed (Use :abbr:`SSL (Secure Sockets Layer)`/:abbr:`TLS (Transport Layer Security)`), and the
|
||||
port number. The settings are needed to configure Mailjet in Odoo, which is covered in the
|
||||
:ref:`last section <maintain/mailjet-api/odoo-setup>`.
|
||||
|
||||
.. seealso::
|
||||
`Mailjet: How can I configure my SMTP parameters?
|
||||
<https://documentation.mailjet.com/hc/articles/360043229473>`_
|
||||
|
||||
.. important::
|
||||
Odoo blocks `port 25` on Odoo Online and Odoo.sh databases. :ref:`See reference here
|
||||
<email_servers/restriction>`.
|
||||
|
||||
.. image:: mailjet_api/smtp-config.png
|
||||
:align: center
|
||||
:alt: SMTP configuration from Mailjet.
|
||||
|
||||
Next, click on the button labeled :guilabel:`Retrieve your API credentials` to retrieve the Mailjet
|
||||
API credentials.
|
||||
|
||||
Then, click on the eye icon to reveal the :guilabel:`API key`. Copy this key to a notepad, as this
|
||||
serves as the :guilabel:`Username` in the Odoo configuration. Next, click on the
|
||||
:guilabel:`Generate Secret Key` button to generate the :guilabel:`Secret Key`. Copy this key to a
|
||||
notepad, as this serves as the :guilabel:`Password` in the Odoo configuration.
|
||||
|
||||
Add verified sender address(es)
|
||||
-------------------------------
|
||||
|
||||
The next step is to add a sender address or a domain to the Mailjet account settings so that the
|
||||
email address or domain is approved to send emails using Mailjet's servers. First, navigate to the
|
||||
`Mailjet Account Information <https://app.mailjet.com/account>`_ page. Next, click on the
|
||||
:guilabel:`Add a Sender Domain or Address` link under the :guilabel:`Senders & Domains` section.
|
||||
|
||||
.. image:: mailjet_api/add-domain-email.png
|
||||
:align: center
|
||||
:alt: Add a sender domain or address in the Mailjet interface.
|
||||
|
||||
Determine if a sender's email address or the entire domain needs to be added to the Mailjet
|
||||
settings. It may be easier to configure the domain as a whole if :abbr:`DNS (Domain Name System)`
|
||||
access is available. Jump to the :ref:`Add a domain <maintain/mailjet-api/add-domain>` section for
|
||||
steps on adding the domain.
|
||||
|
||||
.. note::
|
||||
Either all email addresses of the Odoo database users who are sending emails using Mailjet's
|
||||
servers need to be configured or the domain(s) of the users' email addresses can be configured.
|
||||
|
||||
By default, the email address originally set up in the Mailjet account is added as a trusted
|
||||
sender. To add another email address, click on the button labeled :guilabel:`Add a sender address`.
|
||||
Then, add the email address that is configured to send from the custom domain.
|
||||
|
||||
At minimum the following email addresses should be set up in the provider and verified in Mailjet:
|
||||
|
||||
- notifications\@yourdomain.com
|
||||
- bounce\@yourdomain.com
|
||||
- catchall\@yourdomain.com
|
||||
|
||||
.. note::
|
||||
Replace `yourdomain` with the custom domain for the Odoo database. If there isn't one, then use
|
||||
the :guilabel:`mail.catchall.domain` system parameter.
|
||||
|
||||
After that, fill out the :guilabel:`Email Information` form, making sure to select the appropriate
|
||||
email type: transactional email or mass emails. After completing the form, an activation email is
|
||||
sent to the email address and the trusted sender can be activated.
|
||||
|
||||
It is recommended to set up the :abbr:`SPF (Sender Policy Framework)`/:abbr:`DKIM (DomainKeys
|
||||
Identified Mail)`/:abbr:`DMARC (Domain-based Message Authentication, Reporting, and
|
||||
Conformance)` settings on the domain of the sender.
|
||||
|
||||
.. seealso::
|
||||
`Mailjet's SPF/DKIM/DMARC documentation <https://documentation.mailjet.com/hc/articles/
|
||||
360042412734-Authenticating-Domains-with-SPF-DKIM>`_
|
||||
|
||||
.. important::
|
||||
If the database is not using a custom domain, then in order to verify the sender's address, a
|
||||
temporary alias (of the three email addresses mentioned above) should be set up in Odoo CRM to
|
||||
create a lead. Then, the database is able to receive the verification email and verify the
|
||||
accounts.
|
||||
|
||||
.. _maintain/mailjet-api/add-domain:
|
||||
|
||||
Add a domain
|
||||
------------
|
||||
|
||||
By adding an entire domain to the Mailjet account, all the sender addresses related to that domain
|
||||
are automatically validated for sending emails using Mailjet servers. First, navigate to the
|
||||
`Mailjet Account Information <https://app.mailjet.com/account>`_ page. Next, click on
|
||||
:guilabel:`Add a Sender Domain or Address` link under the :guilabel:`Senders & Domains` section.
|
||||
Then, click on :guilabel:`Add domain` to add the custom domain.
|
||||
|
||||
.. note::
|
||||
The domain needs to be added to the Mailjet account and then validated through the :abbr:`DNS
|
||||
(Domain Name System)`.
|
||||
|
||||
After that, fill out the :guilabel:`Add a new Domain` page on Mailjet and click
|
||||
:guilabel:`Continue`.
|
||||
|
||||
After adding the domain, a validation page will populate. Unless the Odoo database is on-premise
|
||||
(in which case, choose :guilabel:`Option 1`), choose :guilabel:`Option 2: Create a DNS Record`.
|
||||
Copy the TXT record information to a notepad and then navigate to the domain's :abbr:`DNS (Domain
|
||||
Name System)` provider to complete validation.
|
||||
|
||||
.. image:: mailjet_api/host-value-dns.png
|
||||
:align: center
|
||||
:alt: The TXT record information to input on the domain's DNS.
|
||||
|
||||
Setup in the domain's DNS
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
After getting the TXT record information from the Mailjet account, add a TXT record to the domain's
|
||||
:abbr:`DNS (Domain Name System)`. This process varies depending on the :abbr:`DNS (Domain Name
|
||||
System)` provider. Consult the provider for specific configuration processes. The TXT record
|
||||
information consists of the :guilabel:`Host` and :guilabel:`Value`. Paste these into
|
||||
the corresponding fields in the TXT record.
|
||||
|
||||
Return to Mailjet account information
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
After adding the TXT record to the domain's :abbr:`DNS (Domain Name System)`, navigate back to the
|
||||
Mailjet account. Then, navigate to :menuselection:`Account Information --> Add a Sender Domain or
|
||||
Address`, click the gear icon next to :guilabel:`Domain`, and select :guilabel:`Validate`.
|
||||
|
||||
This action can also be done by going to the `Sender domains & addresses <https://app.mailjet.com/
|
||||
account/sender>`_ page on the Mailjet account information and clicking on :guilabel:`Manage`.
|
||||
|
||||
Next, click :guilabel:`Check Now` to validate the TXT record that was added on the domain. A
|
||||
success screen will appear if the domain is configured correctly.
|
||||
|
||||
.. image:: mailjet_api/check-dns.png
|
||||
:align: center
|
||||
:alt: Check DNS record in Mailjet.
|
||||
|
||||
After successfully setting up the domain, there is an option to :guilabel:`Authenticate this domain
|
||||
(SPF/DKIM)`. This button populates :abbr:`SPF (Sender Policy Framework)` & :abbr:`DKIM (DomainKeys
|
||||
Identified Mail) records to input into the :abbr:`DNS (Domain Name System)` provider.
|
||||
|
||||
.. seealso::
|
||||
`Mailjet's SPF/DKIM/DMARC documentation <https://documentation.mailjet.com/hc/articles/
|
||||
360042412734-Authenticating-Domains-with-SPF-DKIM>`_
|
||||
|
||||
.. image:: mailjet_api/authenticate.png
|
||||
:align: center
|
||||
:alt: Authenticate the domain with SPF/DKIM records in Mailjet.
|
||||
|
||||
.. _maintain/mailjet-api/odoo-setup:
|
||||
|
||||
Set up in Odoo
|
||||
==============
|
||||
|
||||
To complete the setup, navigate to the Odoo database and go to the :guilabel:`Settings`. With
|
||||
:ref:`developer-mode` turned on, go to the :menuselection:`Technical Menu --> Email --> Outgoing
|
||||
Mail Servers`. Then, create a new outgoing server configuration by clicking on the
|
||||
:guilabel:`Create` button.
|
||||
|
||||
Next, input the `SMTP server` (in-v3.mailjet.com), `port number` (587 or 465), and `Security
|
||||
(SSL/TLS)` that was copied earlier from the Mailjet account. They can also be found `here
|
||||
<https://app.mailjet.com/account/setup>`_. It is recommended to use :abbr:`SSL (Secure Sockets
|
||||
Layer)`/:abbr:`TLS (Transport Layer Security)` even though Mailjet may not require it.
|
||||
|
||||
For the :guilabel:`Username`, input the :guilabel:`API KEY`. For the :guilabel:`Password`, input
|
||||
the :guilabel:`SECRET KEY` that was copied from the Mailjet account to the notepad earlier. These
|
||||
settings can be found on :menuselection:`Mailjet --> Account Settings --> SMTP and SEND API
|
||||
Settings`.
|
||||
|
||||
Then, if the Mailjet server is used for mass emailing, set the :guilabel:`Priority` value higher
|
||||
than that of any transactional email server(s). Finally, save the settings and :guilabel:`Test the
|
||||
Connection`.
|
||||
|
||||
.. image:: mailjet_api/server-settings.png
|
||||
:align: center
|
||||
:alt: Odoo outgoing email server settings.
|
||||
|
||||
.. important::
|
||||
In order for the notifications feature to work using Mailjet, there are three settings that need
|
||||
to be set in Odoo.
|
||||
|
||||
#. 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>`.
|
||||
#. 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_communication/default>`.
|
||||
|
||||
The :guilabel:`System Parameters` can be accessed by activating
|
||||
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
|
||||
--> Parameters --> System Parameters` menu.
|
||||
|
||||
Once the setup is complete, the Odoo database is ready to use the Mailjet email server for mass
|
||||
mailing or transactional emails!
|
||||
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 24 KiB |
@@ -1,18 +1,18 @@
|
||||
=================================
|
||||
Online (SaaS) database management
|
||||
=================================
|
||||
===============================
|
||||
Odoo Online database management
|
||||
===============================
|
||||
|
||||
To manage a database, sign in to https://www.odoo.com and access the `database management page
|
||||
<https://www.odoo.com/my/databases>`_ by clicking on the user icon, then on *My Databases*.
|
||||
|
||||
.. image:: online/my-databases.png
|
||||
.. image:: odoo_online/my-databases.png
|
||||
:align: center
|
||||
:alt: Clicking on the user icon opens a drop-down menu. "My databases" button is highlighted.
|
||||
|
||||
.. note::
|
||||
Make sure you are connected as the administrator of the database you want to manage.
|
||||
|
||||
.. image:: online/dropdown-menu.png
|
||||
.. image:: odoo_online/dropdown-menu.png
|
||||
:align: right
|
||||
:alt: Clicking on the gear icon opens the drop-down menu.
|
||||
|
||||
@@ -20,17 +20,17 @@ Open the drop-down menu next to the database you want to manage by clicking on t
|
||||
|
||||
Several actions are available:
|
||||
|
||||
- :ref:`online/upgrade`
|
||||
- :ref:`online/duplicate`
|
||||
- :ref:`online/rename`
|
||||
- :ref:`online/download`
|
||||
- :ref:`online/domains`
|
||||
- :ref:`online/tags`
|
||||
- :ref:`online/delete`
|
||||
- :ref:`online/contact-support`
|
||||
- :ref:`online/users`
|
||||
- :ref:`odoo_online/upgrade`
|
||||
- :ref:`odoo_online/duplicate`
|
||||
- :ref:`odoo_online/rename`
|
||||
- :ref:`odoo_online/download`
|
||||
- :ref:`odoo_online/domains`
|
||||
- :ref:`odoo_online/tags`
|
||||
- :ref:`odoo_online/delete`
|
||||
- :ref:`odoo_online/contact-support`
|
||||
- :ref:`odoo_online/users`
|
||||
|
||||
.. _online/upgrade:
|
||||
.. _odoo_online/upgrade:
|
||||
|
||||
Upgrade
|
||||
=======
|
||||
@@ -56,7 +56,7 @@ upgrade to the latest version (e.g., 13.0 to 15.1).
|
||||
- :doc:`../upgrade`
|
||||
- :doc:`supported_versions`
|
||||
|
||||
.. _online/duplicate:
|
||||
.. _odoo_online/duplicate:
|
||||
|
||||
Duplicate
|
||||
=========
|
||||
@@ -69,14 +69,14 @@ operations.
|
||||
orders, etc.) are disabled by default on the duplicated database.
|
||||
- Duplicate databases expire automatically after 15 days.
|
||||
|
||||
.. _online/rename:
|
||||
.. _odoo_online/rename:
|
||||
|
||||
Rename
|
||||
======
|
||||
|
||||
Rename the database and its URL.
|
||||
|
||||
.. _online/download:
|
||||
.. _odoo_online/download:
|
||||
|
||||
Download
|
||||
========
|
||||
@@ -87,7 +87,7 @@ Download instantly a ZIP file with a backup of the database.
|
||||
Databases are backed up daily according to the `Odoo Cloud SLA
|
||||
<https://www.odoo.com/cloud-sla>`_.
|
||||
|
||||
.. _online/domains:
|
||||
.. _odoo_online/domains:
|
||||
|
||||
Domains
|
||||
=======
|
||||
@@ -97,14 +97,14 @@ Configure custom domains to access the database via another URL.
|
||||
.. seealso::
|
||||
- :doc:`domain_names`
|
||||
|
||||
.. _online/tags:
|
||||
.. _odoo_online/tags:
|
||||
|
||||
Tags
|
||||
====
|
||||
|
||||
Add tags to sort your databases out. You can search the tags in the search bar.
|
||||
|
||||
.. _online/delete:
|
||||
.. _odoo_online/delete:
|
||||
|
||||
Delete
|
||||
======
|
||||
@@ -118,7 +118,7 @@ Delete a database instantly.
|
||||
Read carefully the warning message that pops up and proceed only if you fully understand the
|
||||
implications of deleting a database:
|
||||
|
||||
.. image:: online/delete.png
|
||||
.. image:: odoo_online/delete.png
|
||||
:align: center
|
||||
:alt: A warning message is prompted before deleting a database.
|
||||
|
||||
@@ -129,7 +129,7 @@ implications of deleting a database:
|
||||
needed, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
- To delete your account, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
|
||||
|
||||
.. _online/contact-support:
|
||||
.. _odoo_online/contact-support:
|
||||
|
||||
Contact Support
|
||||
===============
|
||||
@@ -137,7 +137,7 @@ Contact Support
|
||||
Access the Odoo `support page <https://www.odoo.com/help>`_ with your database's details already
|
||||
pre-filled.
|
||||
|
||||
.. _online/users:
|
||||
.. _odoo_online/users:
|
||||
|
||||
Invite / Remove Users
|
||||
=====================
|
||||
@@ -145,7 +145,7 @@ Invite / Remove Users
|
||||
To invite users, fill out the email address of the new user and click on *Invite*. To add multiple
|
||||
users, click on *Add more users*.
|
||||
|
||||
.. image:: online/invite-users.png
|
||||
.. image:: odoo_online/invite-users.png
|
||||
:align: center
|
||||
:alt: Clicking on "Add more users" adds additional email fields.
|
||||
|
||||
|
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 6.0 KiB After Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 9.6 KiB After Width: | Height: | Size: 9.6 KiB |
@@ -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
|
||||
|
||||
@@ -8,8 +8,9 @@ Supported versions
|
||||
Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
|
||||
|
||||
.. note::
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online <online>`
|
||||
hosting every two months. Odoo Online users can then benefit from the latest features of Odoo.
|
||||
Odoo releases intermediary versions called **Online versions** on the :doc:`Odoo Online
|
||||
<odoo_online>` hosting every two months. Odoo Online users can then benefit from the latest
|
||||
features of Odoo.
|
||||
|
||||
- Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly.
|
||||
- Online versions are *not* released for Odoo.sh and On-Premise installations.
|
||||
@@ -25,15 +26,17 @@ This matrix shows the support status of every version.
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
|
||||
+=================+=============+==========+=============+================+========================+
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
|
||||
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
|
||||
| Odoo saas~15.2 | |green| | 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** | |green| | |green| | |green| | October 2019 | October 2022 (planned) |
|
||||
| **Odoo 13.0** | |red| | |red| | |red| | October 2019 | October 2022 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~12.3 | |red| | N/A | N/A | August 2019 | |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
@@ -68,14 +71,13 @@ This matrix shows the support status of every version.
|
||||
|
||||
🏁 Future version, not released yet
|
||||
|
||||
.. This is an awful way to display colored circles but "Large Green Circle Emoji" was only released
|
||||
in 2019 (see https://unicode-table.com/en/1F7E2/). Let's wait a few more years...
|
||||
.. |green| raw:: html
|
||||
|
||||
.. |green| image:: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMzIuMTkgMjMyLjE5Ij48Y2lyY2xlIGN4PSIxMTYuMDkiIGN5PSIxMTYuMDkiIHI9IjExNi4wOSIgc3R5bGU9ImZpbGw6IzAwYTcwMCIvPjwvc3ZnPg==
|
||||
:width: 15
|
||||
<span class="text-success" style="font-size: 32px; line-height: 0.5">●</span>
|
||||
|
||||
.. |red| image:: data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMzIuMTkgMjMyLjE5Ij48Y2lyY2xlIGN4PSIxMTYuMDkiIGN5PSIxMTYuMDkiIHI9IjExNi4wOSIgc3R5bGU9ImZpbGw6I2QwMDAwMCIvPjwvc3ZnPg==
|
||||
:width: 15
|
||||
.. |red| raw:: html
|
||||
|
||||
<span class="text-danger" style="font-size: 32px; line-height: 0.5">●</span>
|
||||
|
||||
I run an older version of Odoo/OpenERP/TinyERP
|
||||
==============================================
|
||||
|
||||
@@ -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
|
||||
========
|
||||
@@ -17,7 +17,7 @@ The platform will take care to install these dependencies in your containers.
|
||||
`The pip requirements specifiers <https://pip.pypa.io/en/stable/reference/pip_install/#requirement-specifiers>`_
|
||||
documentation can help you write a :file:`requirements.txt` file.
|
||||
To have a concrete example,
|
||||
check out the `requirements.txt file of Odoo <https://github.com/odoo/odoo/blob/14.0/requirements.txt>`_.
|
||||
check out the `requirements.txt file of Odoo <{GITHUB_PATH}/requirements.txt>`_.
|
||||
|
||||
The :file:`requirements.txt` files of submodules are taken into account as well. The platform
|
||||
looks for :file:`requirements.txt` files in each folder containing Odoo modules: Not in the module folder itself,
|
||||
@@ -167,16 +167,16 @@ 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/misc/other/cmdline>`.
|
||||
: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*":
|
||||
|
||||
::
|
||||
|
||||
2018-02-19 10:51:39,267 4 INFO ? odoo: Odoo version 13.0
|
||||
2018-02-19 10:51:39,267 4 INFO ? odoo: Odoo version {BRANCH}
|
||||
2018-02-19 10:51:39,268 4 INFO ? odoo: Using configuration file at /home/odoo/.config/odoo/odoo.conf
|
||||
2018-02-19 10:51:39,268 4 INFO ? odoo: addons paths: ['/home/odoo/data/addons/13.0', '/home/odoo/src/user', '/home/odoo/src/enterprise', '/home/odoo/src/themes', '/home/odoo/src/odoo/addons', '/home/odoo/src/odoo/odoo/addons']
|
||||
2018-02-19 10:51:39,268 4 INFO ? odoo: addons paths: ['/home/odoo/data/addons/{BRANCH}', '/home/odoo/src/user', '/home/odoo/src/enterprise', '/home/odoo/src/themes', '/home/odoo/src/odoo/addons', '/home/odoo/src/odoo/odoo/addons']
|
||||
|
||||
**Be careful**, especially with your production database.
|
||||
Operations that you perform running this Odoo server instance are not isolated:
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _odoosh-advanced-frequent_technical_questions:
|
||||
|
||||
==================================
|
||||
============================
|
||||
Frequent Technical Questions
|
||||
==================================
|
||||
============================
|
||||
|
||||
"Scheduled actions do not run at the exact time they were expected"
|
||||
-------------------------------------------------------------------
|
||||
@@ -29,4 +29,3 @@ We advise that:
|
||||
- Your scheduled actions should be
|
||||
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
|
||||
cause side-effects if they are started more often than 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/misc/other/cmdline>`.
|
||||
: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.
|
||||
@@ -71,7 +72,7 @@ The neutralization includes:
|
||||
* Disabling outgoing emails by intercepting them with a mailcatcher. An
|
||||
:ref:`interface to view <odoosh-gettingstarted-branches-tabs-mails>` the emails sent by your
|
||||
database is provided. That way, you do not have to worry about sending test emails to your contacts.
|
||||
* Setting payment acquirers and shipping providers in test mode.
|
||||
* Setting payment providers and shipping providers in test mode.
|
||||
* Disabling IAP services
|
||||
|
||||
The latest database will be kept alive indefinitely, older ones from the same branch may get garbage collected
|
||||
@@ -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.
|
||||
|
||||
@@ -259,16 +267,16 @@ This server only keeps one month of backups: 7 daily and 4 weekly backups.
|
||||
Dedicated backup servers keep the same backups, as well as 3 additional monthly backups.
|
||||
To restore or download one of these monthly backups, please `contact us <https://www.odoo.com/help>`_.
|
||||
|
||||
If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python
|
||||
dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list),
|
||||
as either the container will be changed by the installation of new pip packages, either the database itself will be
|
||||
changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially
|
||||
If you merge a commit updating the version of one or several modules (in :file:`__manifest__.py`), or their linked python
|
||||
dependencies (in :file:`requirements.txt`), then Odoo.sh performs a backup automatically (flagged with type Update in the list),
|
||||
as either the container will be changed by the installation of new pip packages, either the database itself will be
|
||||
changed with the module update triggered afterwards. In these two cases, we are doing a backup as it may potentially
|
||||
break things.
|
||||
|
||||
If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done
|
||||
by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course,
|
||||
as an extra precaution, you can make a backup manually before making big changes in your production sources in case
|
||||
something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups
|
||||
If you merge a commit that only changes some code without the above-mentioned modifications, then no backup is done
|
||||
by Odoo.sh, as neither the container nor the database is modified so the platform considers this safe enough. Of course,
|
||||
as an extra precaution, you can make a backup manually before making big changes in your production sources in case
|
||||
something goes wrong (those manual backups are available for about one week). To avoid abuse, we limit manual backups
|
||||
to 5 per day.
|
||||
|
||||
The *import database* feature accepts database archives in the format provided by:
|
||||
@@ -279,10 +287,21 @@ The *import database* feature accepts database archives in the format provided b
|
||||
* the Odoo.sh backup download button of this *Backups* tab,
|
||||
* the Odoo.sh dump download button in the :ref:`Builds view <odoosh-gettingstarted-builds>`.
|
||||
|
||||
.. _odoo_sh/upgrade:
|
||||
|
||||
Upgrade
|
||||
-------
|
||||
|
||||
Available for production and staging branches for valid projects.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Upgrade - Odoo.sh <../../upgrade/odoo_sh>`
|
||||
|
||||
.. _odoosh-gettingstarted-branches-tabs-settings:
|
||||
|
||||
Settings
|
||||
--------
|
||||
|
||||
Here you can find a couple of settings that only apply to the currently selected branch.
|
||||
|
||||
.. image:: branches/interface-branches-settings.jpg
|
||||
@@ -384,17 +403,16 @@ we are considering the feature if there is enough demand.
|
||||
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
||||
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
||||
settings to increase the deliverability of your outgoing emails.
|
||||
The configuration steps are explained in the documentation about :ref:`SPF
|
||||
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
|
||||
@@ -407,6 +425,7 @@ such as ``<URL>``, ``<PATH>``, ...
|
||||
|
||||
Clone
|
||||
-----
|
||||
|
||||
Download the Git repository.
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -422,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
|
||||
@@ -438,6 +458,7 @@ Uploads the new branch *feature-1* on your remote repository.
|
||||
|
||||
Merge
|
||||
-----
|
||||
|
||||
Merge the current branch in another branch.
|
||||
|
||||
.. code-block:: bash
|
||||
@@ -454,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:
|
||||
|
||||
@@ -495,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,64 +138,68 @@ 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::
|
||||
|
||||
Saas releases (e.g. *saas-**) are not supported on Odoo.sh.
|
||||
Online versions (e.g. *saas-**) are not supported on Odoo.sh.
|
||||
|
||||
Upload the backup
|
||||
-----------------
|
||||
|
||||
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.
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
|
||||
==================================
|
||||
=================
|
||||
Your first module
|
||||
==================================
|
||||
=================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
This chapter helps you to create your first Odoo module and deploy it in your Odoo.sh project.
|
||||
|
||||
This tutorial requires :ref:`you created a project on Odoo.sh <odoosh-gettingstarted-create>`, and you know your Github repository's URL.
|
||||
This tutorial requires :ref:`you created a project on Odoo.sh <odoosh-gettingstarted-create>`, and
|
||||
you know your Github repository's URL.
|
||||
|
||||
Basic use of Git and Github is explained.
|
||||
|
||||
@@ -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
|
||||
===========================
|
||||
|
||||
@@ -95,8 +92,8 @@ Or, from your computer, if you have an :ref:`installation of Odoo <setup/install
|
||||
$ ./odoo-bin scaffold my_module ~/src/odoo-addons/
|
||||
|
||||
If you do not want to bother installing Odoo on your computer,
|
||||
you can also :download:`download this module structure template <first_module/my_module.zip>` in which you replace every occurrences of
|
||||
*my_module* to the name of your choice.
|
||||
you can also :download:`download this module structure template <first_module/my_module.zip>` in
|
||||
which you replace every occurrences of *my_module* to the name of your choice.
|
||||
|
||||
The below structure will be generated:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -141,7 +138,7 @@ Uncomment the content of the files:
|
||||
the manifest of your module, including for instance its title, description and data files to load.
|
||||
You just need to uncomment the access control list data file:
|
||||
|
||||
.. code-block:: xml
|
||||
.. code-block:: python
|
||||
|
||||
# 'security/ir.model.access.csv',
|
||||
|
||||
@@ -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
|
||||
@@ -180,8 +177,8 @@ The above command is explained in the section
|
||||
<odoosh-gettingstarted-online-editor-push>` of the
|
||||
:ref:`Online Editor <odoosh-gettingstarted-online-editor>`
|
||||
chapter.
|
||||
It includes the explanation regarding the fact you will be prompted to type your username and password,
|
||||
and what to do if you use the two-factor authentication.
|
||||
It includes the explanation regarding the fact you will be prompted to type your username and
|
||||
password, and what to do if you use the two-factor authentication.
|
||||
|
||||
Or, from your computer terminal:
|
||||
|
||||
@@ -217,11 +214,11 @@ Once the database ready, you can access it by clicking the *Connect* button.
|
||||
:align: center
|
||||
|
||||
If your Odoo.sh project is configured to install your module automatically,
|
||||
you will directly see it amongst the database apps. Otherwise, it will be available in the apps to install.
|
||||
you will directly see it amongst the database apps. Otherwise, it will be available in the apps to
|
||||
install.
|
||||
|
||||
You can then play around with your module, create new records and test your features and buttons.
|
||||
|
||||
|
||||
Test with the production data
|
||||
=============================
|
||||
|
||||
@@ -232,23 +229,24 @@ you can test it with the production data using a staging branch.
|
||||
|
||||
You can either:
|
||||
|
||||
* Make your development branch a staging branch, by drag and dropping it onto the *staging* section title.
|
||||
* Make your development branch a staging branch, by drag and dropping it onto the *staging* section
|
||||
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.
|
||||
|
||||
This will create a new staging build, which will duplicate the production database and make it run using a server
|
||||
updated with your latest changes of your branch.
|
||||
This will create a new staging build, which will duplicate the production database and make it run
|
||||
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.
|
||||
|
||||
@@ -257,11 +255,13 @@ Once the database ready, you can access it using the *Connect* button.
|
||||
Install your module
|
||||
-------------------
|
||||
|
||||
Your module will not be installed automatically, you have to install it from the apps menu.
|
||||
Indeed, the purpose of the staging build is to test the behavior of your changes as it would be on your production,
|
||||
and on your production you would not like your module to be installed automatically, but on demand.
|
||||
Your module will not be installed automatically, you have to install it from the apps menu. Indeed,
|
||||
the purpose of the staging build is to test the behavior of your changes as it would be on your
|
||||
production, and on your production you would not like your module to be installed automatically, but
|
||||
on demand.
|
||||
|
||||
Your module may not appear directly in your apps to install either, you need to update your apps list first:
|
||||
Your module may not appear directly in your apps to install either, you need to update your apps
|
||||
list first:
|
||||
|
||||
* Activate the :ref:`developer mode <developer-mode>`
|
||||
* in the apps menu, click the *Update Apps List* button,
|
||||
@@ -307,14 +307,16 @@ you have to install it manually as explained in the
|
||||
Add a change
|
||||
============
|
||||
|
||||
This section explains how to add a change in your module by adding a new field in a model and deploy it.
|
||||
This section explains how to add a change in your module by adding a new field in a model and deploy
|
||||
it.
|
||||
|
||||
From the Odoo.sh editor,
|
||||
* browse to your module folder *~/src/user/my_module*,
|
||||
* then, open the file *models/models.py*.
|
||||
|
||||
Or, from your computer,
|
||||
* use the file browser of your choice to browse to your module folder *~/src/odoo-addons/my_module*,
|
||||
* use the file browser of your choice to browse to your module folder
|
||||
*~/src/odoo-addons/my_module*,
|
||||
* then, open the file *models/models.py* using the editor of your choice,
|
||||
such as *Atom*, *Sublime Text*, *PyCharm*, *vim*, ...
|
||||
|
||||
@@ -350,8 +352,8 @@ and modify a view stored in database.
|
||||
In order to be applied in existing databases, such as your production database,
|
||||
these changes requires the module to be updated.
|
||||
|
||||
If you would like the update to be performed automatically by the Odoo.sh platform when you push your changes,
|
||||
increase your module version in its manifest.
|
||||
If you would like the update to be performed automatically by the Odoo.sh platform when you push
|
||||
your changes, increase your module version in its manifest.
|
||||
|
||||
Open the module manifest *__manifest__.py*.
|
||||
|
||||
@@ -367,7 +369,8 @@ with
|
||||
|
||||
'version': '0.2',
|
||||
|
||||
The platform will detect the change of version and trigger the update of the module upon the new revision deployment.
|
||||
The platform will detect the change of version and trigger the update of the module upon the new
|
||||
revision deployment.
|
||||
|
||||
Browse to your Git folder.
|
||||
|
||||
@@ -412,12 +415,12 @@ 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 module version in the manifest,
|
||||
the platform will update the module automatically and your new field will be directly available.
|
||||
Otherwise you can manually update the module within the apps list.
|
||||
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
|
||||
module version in the manifest, the platform will update the module automatically and your new field
|
||||
will be directly available. Otherwise you can manually update the module within the apps list.
|
||||
|
||||
Use an external Python library
|
||||
==============================
|
||||
@@ -425,10 +428,18 @@ Use an external Python library
|
||||
If you would like to use an external Python library which is not installed by default,
|
||||
you can define a *requirements.txt* file listing the external libraries your modules depends on.
|
||||
|
||||
.. note::
|
||||
- It is not possible to install or upgrade system packages on an Odoo.sh database (e.g., apt
|
||||
packages). However, under specific conditions, packages can be considered for installation.
|
||||
This also applies to **Python modules** requiring system packages for their compilation, and
|
||||
**third-party Odoo modules**.
|
||||
- **PostgreSQL extensions** are not supported on Odoo.sh.
|
||||
- For more information, consult our `FAQ <https://www.odoo.sh/faq#install_dependencies>`_.
|
||||
|
||||
The platform will use this file to automatically install the Python libraries your project needs.
|
||||
|
||||
The feature is explained in this section by using the `Unidecode library <https://pypi.python.org/pypi/Unidecode>`_ in
|
||||
your module.
|
||||
The feature is explained in this section by using the `Unidecode library
|
||||
<https://pypi.python.org/pypi/Unidecode>`_ in your module.
|
||||
|
||||
Create a file *requirements.txt* in the root folder of your repository
|
||||
|
||||
@@ -442,8 +453,8 @@ Add
|
||||
|
||||
unidecode
|
||||
|
||||
Then use the library in your module, for instance to remove accents from characters in the name field of your
|
||||
model.
|
||||
Then use the library in your module, for instance to remove accents from characters in the name
|
||||
field of your model.
|
||||
|
||||
Open the file *models/models.py*.
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
|
||||
.. _odoosh-gettingstarted-online-editor:
|
||||
|
||||
==================================
|
||||
=============
|
||||
Online Editor
|
||||
==================================
|
||||
=============
|
||||
|
||||
Overview
|
||||
========
|
||||
@@ -37,7 +37,6 @@ The working directory is composed of the following folders:
|
||||
│ │ ├── enterprise Odoo Enterprise source code
|
||||
│ │ ├── themes Odoo Themes source code
|
||||
│ │ └── user Your repository branch source code
|
||||
│ ├── repositories The Git repositories used by your project
|
||||
│ ├── data
|
||||
│ │ ├── filestore database attachments, as well as the files of binary fields
|
||||
│ │ └── sessions visitors and users sessions
|
||||
@@ -121,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>`,
|
||||
@@ -167,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']`.
|
||||
|
||||
@@ -197,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,10 +38,10 @@ 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.
|
||||
|
||||
@@ -90,7 +89,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 +98,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 +112,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 +130,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 +158,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 +193,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
|
||||
|
||||
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 17 KiB |
@@ -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
|
||||
|
||||
@@ -12,7 +12,7 @@ Upgrade
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
upgrade/online_hosting
|
||||
upgrade/odoo_online
|
||||
upgrade/odoo_sh
|
||||
upgrade/on_premise
|
||||
upgrade/faq
|
||||
@@ -22,8 +22,8 @@ An upgrade is switching to a newer version of Odoo (e.g., Odoo 14.0 to Odoo 15.0
|
||||
An upgrade does not cover:
|
||||
|
||||
* Changing :ref:`editions <upgrade-faq/editions-change>` (i.e., Community to Enterprise edition)
|
||||
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Online or
|
||||
Odoo.sh)
|
||||
* Switching :ref:`hosting type <upgrade-faq/hosting-types-switch>` (i.e., On-Premise to Odoo Online
|
||||
or Odoo.sh)
|
||||
* Migration from another ERP to Odoo
|
||||
|
||||
.. note:: |assistance-contact|
|
||||
@@ -54,7 +54,7 @@ The upgrade process in a nutshell:
|
||||
newly upgraded database (this is done automatically on Odoo Online).
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Upgrade process for Odoo Online (SaaS) <upgrade/online_hosting>`
|
||||
- :doc:`Upgrade process for Odoo Online <upgrade/odoo_online>`
|
||||
- :doc:`Upgrade process for Odoo.sh <upgrade/odoo_sh>`
|
||||
- :doc:`Upgrade process for On-Premise <upgrade/on_premise>`
|
||||
|
||||
@@ -225,15 +225,14 @@ Service Level Agreement
|
||||
What is covered by the Enterprise Licence?
|
||||
------------------------------------------
|
||||
|
||||
Databases hosted on Odoo’s Cloud platforms (Saas and Odoo.sh) or On-Premise (Self-Hosting) enjoy the
|
||||
following services at all times.
|
||||
Databases hosted on Odoo's Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
|
||||
enjoy the following services at all times.
|
||||
|
||||
The upgrade of:
|
||||
|
||||
* 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
|
||||
* customizations *if* they are covered by a "Maintenance of Customizations" subscription
|
||||
|
||||
The Upgrade Service is limited to your database's technical conversion and adaptation (standard
|
||||
modules and data) to make it compatible with the targeted version.
|
||||
@@ -244,6 +243,7 @@ What upgrading does NOT cover
|
||||
* The cleaning of pre-existing data & configuration while upgrading
|
||||
* Any new developments and/or upgrades of your own :ref:`custom modules
|
||||
<upgrade-faq/custom-modules>`
|
||||
* Lines of code added to standard modules that are not created with Odoo Studio.
|
||||
* `Training <https://www.odoo.com/learn>`_ on the latest version
|
||||
|
||||
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription
|
||||
@@ -254,4 +254,4 @@ Agreement <upgrade>` page.
|
||||
.. seealso::
|
||||
- :doc:`upgrade/faq`
|
||||
- :doc:`odoo_sh`
|
||||
- :doc:`maintain/supported_versions`
|
||||
- :doc:`maintain/supported_versions`
|
||||
|
||||
@@ -108,8 +108,8 @@ community or enterprise edition. It is required to have an enterprise subscripti
|
||||
|
||||
.. _upgrade-faq/hosting-types-switch:
|
||||
|
||||
Switching the hosting types (Self-Hosting vs. Online Hosting - SaaS vs. Cloud Platform - Odoo.sh)
|
||||
=================================================================================================
|
||||
Switching the hosting types (On-premise vs. Odoo Online vs. Odoo.sh)
|
||||
====================================================================
|
||||
|
||||
An upgrade does not cover a change of `Hosting types <https://www.odoo.com/page/hosting-types>`_.
|
||||
|
||||
@@ -151,8 +151,8 @@ features and improvements made in each version.
|
||||
How long is my test available for
|
||||
=================================
|
||||
|
||||
An Odoo Online (SaaS) test database is available for one month by default. We can extend this trial
|
||||
period upon request. For Odoo.sh or on-premise, there is no restriction.
|
||||
An Odoo Online test database is available for one month by default. We can extend this trial period
|
||||
upon request. For Odoo.sh or on-premise, there is no restriction.
|
||||
|
||||
How many tests to perform before upgrading to production?
|
||||
=========================================================
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
==================
|
||||
Odoo Online (SaaS)
|
||||
==================
|
||||
===========
|
||||
Odoo Online
|
||||
===========
|
||||
|
||||
Requesting a test upgrade
|
||||
=========================
|
||||
@@ -8,18 +8,20 @@ Requesting a test upgrade
|
||||
#. Go to your `database manager <https://www.odoo.com/my/databases/>`_
|
||||
#. Click on your profile icon and select *My Databases*.
|
||||
|
||||
.. image:: online_hosting/accessing-my-databases.png
|
||||
.. image:: odoo_online/accessing-my-databases.png
|
||||
:alt: Selecting My Databases under my profile
|
||||
|
||||
#. Click on the action settings icon next to your main database and select the *Upgrade* option.
|
||||
#. Click on the up arrow button next to your main database name to proceed to the test upgrade.
|
||||
|
||||
.. image:: online_hosting/upgrade-option.png
|
||||
.. image:: odoo_online/upgrade-option.png
|
||||
:alt: Selecting the action settings icon
|
||||
|
||||
#. In the pop-up message that will appear, select Test Upgrade.
|
||||
#. In the pop-up message that appears, select the target version and then :guilabel:`Test` as
|
||||
purpose.
|
||||
|
||||
.. image:: online_hosting/select-test-upgrade.png
|
||||
:alt: Selecting test upgrade
|
||||
.. note::
|
||||
The :guilabel:`Production` purpose doesn't appear if you didn't test your upgraded database at
|
||||
least once.
|
||||
|
||||
#. 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.
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
@@ -1,66 +1,132 @@
|
||||
|
||||
=======
|
||||
Odoo.sh
|
||||
=======
|
||||
|
||||
Test upgrade request
|
||||
====================
|
||||
.. _upgrade/odoo_sh/overview:
|
||||
|
||||
Download a dump of your database (from the :ref:`Builds view
|
||||
<odoosh-gettingstarted-builds-download-dump>`), choose the **exact copy** and **without filestore**
|
||||
options. Upload the .sql.gz dump on https://upgrade.odoo.com/upload and select the testing purpose.
|
||||
Once it's processed, you'll get a dump of the database in return.
|
||||
Overview
|
||||
========
|
||||
|
||||
.. important::
|
||||
To have the most up-to-date test version of your database, create a backup of your production
|
||||
database just before creating your request. Upload it in your staging branch, select **Exact
|
||||
dump** and **Without filestore**, and then click *start*.
|
||||
|
||||
Test your upgraded database
|
||||
===========================
|
||||
|
||||
At the beginning of your upgrade project, make sure that you create a new staging branch for testing
|
||||
purposes by forking your main branch.
|
||||
|
||||
Once the staging build is complete (it doesn't matter if it failed due to the version
|
||||
incompatibility), import your upgraded dump in the *Backups* tab of the branch.
|
||||
Odoo.sh is integrated with the upgrade platform to make the upgrade process easier.
|
||||
|
||||
.. note::
|
||||
The platform automatically detects the version of the dump and changes the version of Odoo's
|
||||
source code to the corresponding version of the build.
|
||||
The :guilabel:`Upgrade` tab is available in the branches view. It is only available for valid
|
||||
projects with a valid production build.
|
||||
|
||||
Test the upgraded database and make sure everything runs as it's supposed to.
|
||||
.. image:: odoo_sh/odoo-sh-menu.png
|
||||
:align: center
|
||||
:alt: Click on the upgrade menu
|
||||
|
||||
Upgrade your production database
|
||||
================================
|
||||
The suggested upgrade steps on Odoo.sh are:
|
||||
|
||||
Once you've tested everything and you're satisfied, start the process over to get an up-to-date
|
||||
upgraded dump:
|
||||
|
||||
* Make a new dump of your production database (as described in step 1)
|
||||
* Upload it on upgrade.odoo.com and select the Production purpose
|
||||
* Receive the newly upgraded dump and import it in your production branch. The build might get
|
||||
marked as failed because the platform will run it with the upgraded databases' Odoo version
|
||||
together with the old custom code.
|
||||
* Merge or commit the upgraded custom code in the production branch
|
||||
|
||||
If anything goes wrong, remember you can restore a backup. The platform will always make one before
|
||||
you make any Odoo.sh operation on the production database. If the restored backup comes from a
|
||||
previous version, the platform will detect it and change the project's Odoo version back if it needs
|
||||
to.
|
||||
|
||||
Custom modules (if applicable)
|
||||
==============================
|
||||
|
||||
The upgrade of a database that contains custom modules is a 2 step process.
|
||||
|
||||
#. The standard upgrade is done when your upgrade request is completed.
|
||||
#. Your custom modules also need to be upgraded to keep them compatible with the new version.
|
||||
|
||||
Depending on your contract, the upgrade of your custom modules can be done
|
||||
- by yourself
|
||||
- by your Partner
|
||||
- by Odoo (if you hold a subscription to 'Maintenance of Customizations')
|
||||
#. On a :guilabel:`Development` branch, upgrade your custom modules to keep them compatible with the
|
||||
new version and thoroughly **test them**.
|
||||
#. Switch that branch to the :guilabel:`Staging` branch, **upgrade** the last daily production
|
||||
backup and **test it**. Write upgrade scripts if necessary.
|
||||
#. Trigger the production upgrade from your :guilabel:`Production` branch and sit tight.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`upgrade/sla`
|
||||
- :doc:`../../administration/upgrade`
|
||||
- :doc:`Upgrade FAQ <../upgrade/faq>`
|
||||
- :doc:`Introduction to Odoo.sh <../odoo_sh/overview/introduction>`
|
||||
|
||||
.. _upgrade/odoo_sh/custom-modules:
|
||||
|
||||
Upgrade your custom modules
|
||||
===========================
|
||||
|
||||
The first step is to upgrade your custom modules to keep them compatible with the new version. Fork
|
||||
your :guilabel:`Production` branch in the :guilabel:`Development` stage, then go to the settings of
|
||||
your :guilabel:`Development` branch and select the Odoo version you target. If needed, modify your
|
||||
code to be compatible with the new version. Make sure to **test** your features are still working
|
||||
correctly.
|
||||
|
||||
.. note::
|
||||
Depending on your contract, the upgrade of your custom modules can be done by yourself, by your
|
||||
Partner or by Odoo (if you hold a subscription including maintenance of customizations).
|
||||
|
||||
.. _upgrade/odoo_sh/testing-phase:
|
||||
|
||||
Upgrade your database on a staging branch
|
||||
=========================================
|
||||
|
||||
Take the upgraded development branch and drag & drop it to :guilabel:`Staging`.
|
||||
|
||||
Go to the :guilabel:`Upgrade` tab and select the :guilabel:`target version`. Then, click on
|
||||
:guilabel:`Test Upgrade`.
|
||||
|
||||
.. image:: odoo_sh/odoo-sh-staging.png
|
||||
:align: center
|
||||
:alt: Odoo.sh project and tabs
|
||||
|
||||
The **latest production daily automatic backup** is sent to the
|
||||
`upgrade platform <https://www.upgrade.odoo.com>`_ to start the upgrade test process.
|
||||
|
||||
.. note::
|
||||
You can follow the upgrade process by going to the :guilabel:`Upgrade` menu of your
|
||||
:guilabel:`Production` branch.
|
||||
|
||||
When the upgraded backup is ready on the `upgrade platform <https://www.upgrade.odoo.com>`_, it is
|
||||
automatically downloaded back to your project.
|
||||
|
||||
The branch is now in a **special mode**: each time a **commit is pushed** on the branch, a
|
||||
**restore operation** of the upgraded backup occurs, and an **update of all the custom modules**
|
||||
happens. This allows you to quickly iterate on your custom modules upgrade scripts. The log file of
|
||||
the upgrade process can be found at :file:`~/logs/upgrade.log` in your newly upgraded staging build.
|
||||
|
||||
.. note::
|
||||
- The **special upgrade mode** is automatically closed after 30 days.
|
||||
- It may happen that custom modules are no longer needed after an upgrade. Custom modules in the
|
||||
upgraded database are set to be updated. If the modules are missing in the code, the update
|
||||
fails, thus failing the whole process. An empty module with a manifest and possibly some custom
|
||||
upgrade script are necessary to clean up the database. The complete removal of the module has
|
||||
to be handled afterwards.
|
||||
|
||||
Functionally test your upgraded database
|
||||
========================================
|
||||
|
||||
Now that the test upgraded database is available on your staging branch, **thoroughly test it** and
|
||||
make sure everything runs as it's supposed to. Once you are satisfied with the result, you are ready
|
||||
to upgrade your production database.
|
||||
|
||||
Production upgrade
|
||||
==================
|
||||
|
||||
Once you are happy with your testing, you can start the process on the :guilabel:`Production`
|
||||
branch.
|
||||
|
||||
On your :guilabel:`Production` branch, go to the :guilabel:`Upgrade` tab, select the
|
||||
:guilabel:`targeted version` and click on the :guilabel:`start Upgrade` button.
|
||||
|
||||
.. image:: odoo_sh/odoo-sh-prod.png
|
||||
:align: center
|
||||
:alt: View from the upgrade tab
|
||||
|
||||
The actual process is **triggered as soon as you push a new commit** in your branch. Make sure you
|
||||
are pushing code that is compatible with the new version. For example by merging the code from your
|
||||
upgraded staging branch.
|
||||
|
||||
.. note::
|
||||
You can see the progress of the upgrade by going to the :guilabel:`Upgrade` tab of the main
|
||||
branch.
|
||||
|
||||
.. image:: odoo_sh/odoo-sh-progress.png
|
||||
:align: center
|
||||
:alt: View showing the progress of the upgrade
|
||||
|
||||
.. important::
|
||||
Your database is unavailable throughout the process.
|
||||
|
||||
.. note::
|
||||
If anything goes wrong, the platform automatically reverts the upgrade, the same as it would be
|
||||
for a regular update. In case of success, a backup is always made.
|
||||
|
||||
The update of your custom modules must be successful to complete the entire upgrade process. Make
|
||||
sure the status of your staging upgrade is :guilabel:`successful` before trying it in production.
|
||||
|
||||
.. note::
|
||||
It may happen that custom modules are no longer needed after an upgrade. Custom modules in the
|
||||
upgraded database are set to be updated. If the modules are missing in the code, the update
|
||||
fails, thus failing the whole process. An empty module with a manifest and possibly some custom
|
||||
upgrade script are necessary to clean up the database. The complete removal of the module has to
|
||||
be handled afterwards.
|
||||
|
||||
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 69 KiB |
|
After Width: | Height: | Size: 31 KiB |
@@ -56,4 +56,4 @@ Depending on your contract, the upgrade of your custom modules can be done
|
||||
|
||||
#. by yourself.
|
||||
#. by your Partner.
|
||||
#. by Odoo (if you hold a subscription to 'Maintenance of Customizations').
|
||||
#. by Odoo (if you hold a subscription to 'Maintenance of Customizations').
|
||||
|
||||
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.4 KiB |
@@ -4,11 +4,12 @@
|
||||
Finance
|
||||
=======
|
||||
|
||||
|
||||
.. toctree::
|
||||
|
||||
finance/accounting
|
||||
finance/expenses
|
||||
finance/documents
|
||||
finance/sign
|
||||
finance/payment_acquirers
|
||||
finance/spreadsheet
|
||||
finance/payment_providers
|
||||
finance/fiscal_localizations
|
||||
|
||||
@@ -15,9 +15,8 @@ development with features such as AI-powered invoice recognition, synchronizatio
|
||||
accounts, smart matching suggestions, etc.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Invoicing <https://www.odoo.com/slides/invoicing-18>`_
|
||||
- `Odoo Tutorials: Accounting <https://www.odoo.com/slides/accounting-19>`_
|
||||
- :doc:`Accounting Cheat Sheet <accounting/getting_started/memento>`
|
||||
- :doc:`Accounting Cheat Sheet <accounting/getting_started/cheat_sheet>`
|
||||
|
||||
|
||||
.. toctree::
|
||||
@@ -30,4 +29,3 @@ accounts, smart matching suggestions, etc.
|
||||
accounting/taxation
|
||||
accounting/reporting
|
||||
accounting/others
|
||||
accounting/fiscal_localizations
|
||||
|
||||
@@ -2,71 +2,61 @@
|
||||
Bank statements
|
||||
===============
|
||||
|
||||
Importing your bank statements in Odoo Accounting allows you to keep track of the financial
|
||||
movements that occur on your bank accounts and reconcile them with the transactions recorded in your
|
||||
accounting.
|
||||
Importing your bank statements allows you to keep track of your bank account transactions and
|
||||
reconcile them with the ones recorded in Odoo.
|
||||
|
||||
We recommend you use bank synchronization for more efficiency. Please read the related
|
||||
documentation: :doc:`bank_synchronization`.
|
||||
We recommend using :doc:`the bank synchronization feature <bank_synchronization>` for more
|
||||
efficiency. However, if you do not want to use it or if your bank is not yet supported, other
|
||||
options exist:
|
||||
|
||||
However, if you don't want to use bank synchronization or if your bank is not a supported
|
||||
institution, you still have other options:
|
||||
|
||||
#. Import the bank statement files delivered by your bank
|
||||
#. Register the bank statements manually
|
||||
- Import the bank statement files delivered by your bank;
|
||||
- Register the bank statements manually.
|
||||
|
||||
Import bank statements files
|
||||
============================
|
||||
|
||||
Odoo supports multiple file formats to import bank statements:
|
||||
|
||||
- SEPA recommended Cash Management format (CAMT.053)
|
||||
- Comma-separated values (.CSV)
|
||||
- Open Financial Exchange (.OFX)
|
||||
- Quicken Interchange Format (.QIF)
|
||||
- Belgium: Coded Statement of Account (.CODA)
|
||||
- SEPA recommended Cash Management format (CAMT.053);
|
||||
- Comma-separated values (.CSV);
|
||||
- Open Financial Exchange (.OFX);
|
||||
- Quicken Interchange Format (.QIF);
|
||||
- Belgium: Coded Statement of Account (.CODA).
|
||||
|
||||
To import them, go to :menuselection:`Accounting --> Overview --> Bank`, click on *Import
|
||||
Statements*, or on the three dots, and then on *Import Statement*.
|
||||
To import a file, go to the Accounting dashboard and click on :guilabel:`Import (Statements)` under
|
||||
the :guilabel:`Bank` window, or click on the drop-down menu (:guilabel:`⋮`) button and then on
|
||||
:guilabel:`Import Statement`.
|
||||
|
||||
.. image:: bank_statements/bank-statements-01.png
|
||||
.. image:: bank_statements/bank-overview.png
|
||||
:align: center
|
||||
:alt: Import a bank statement file in Odoo Accounting
|
||||
|
||||
Next, select the file you want to import and click on *Import*.
|
||||
Next, select the file you want to import and click on :guilabel:`Upload`.
|
||||
|
||||
Odoo opens an **import widget** to help you set the **Formatting Options** and **map** the
|
||||
different columns you want to import.
|
||||
Once the file uploaded, the **import widget** helps you set formatting options and **map** the
|
||||
different columns you want to import. You also can :guilabel:`test` the bank statement file before
|
||||
importing it to your database.
|
||||
|
||||
.. image:: bank_statements/bank-statements-02.png
|
||||
.. image:: bank_statements/import-bank-statement.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
Quicken Interchange Format (.QIF) is an older file format that is no longer supported since 2005.
|
||||
If possible, prefer OFX files over QIF.
|
||||
|
||||
Register bank statements manually
|
||||
=================================
|
||||
|
||||
If needed, you can also record your bank statements manually.
|
||||
If needed, you can also record your bank statements manually. To do so, go to the
|
||||
:guilabel:`Accounting dashboard` and click on the :guilabel:`Create Statements` under the
|
||||
:guilabel:`Bank` window. Alternatively, you can click the drop-down menu (:guilabel:`⋮`) button, and
|
||||
then :guilabel:`New Statement`.
|
||||
|
||||
To do so, go to :menuselection:`Accounting --> Overview --> Bank`, click on *Create Statements*, or
|
||||
on the three dots, and then on *New Statement*.
|
||||
|
||||
Add a new line for each transaction written on the original bank statement.
|
||||
|
||||
To ease the reconciliation process, make sure to fill out the *Partner* field. You can also write
|
||||
the payments’ references in the *Label* field.
|
||||
To ease the reconciliation process, make sure to fill out the :guilabel:`Partner` field. You can
|
||||
also type in the payments’ references in the :guilabel:`Label` field. Add a new line for each
|
||||
transaction written on the original bank statement.
|
||||
|
||||
.. image:: bank_statements/bank-statements-03.png
|
||||
:align: center
|
||||
:alt: Register bank statements manually in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
The *Ending Balance* and the *Computed Balance* should have the same amount. If it is not the
|
||||
case, make sure that there is no mistake in the transactions’ amounts.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank_synchronization`
|
||||
.. todo:: add doc link to new documentation about reconciliation
|
||||
The **Ending Balance** and the **Computed Balance** should have the same amount. If this is not
|
||||
the case, make sure there are no mistakes in the transactions’ amounts.
|
||||
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 6.1 KiB |
|
Before Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -1,18 +1,15 @@
|
||||
======================================
|
||||
Bank synchronization: Automatic import
|
||||
Bank synchronization: automatic import
|
||||
======================================
|
||||
|
||||
Odoo can synchronize directly with your bank institution to get all bank statements imported
|
||||
automatically into your database.
|
||||
|
||||
To check if your bank is compatible with Odoo, go to `Odoo Accounting Features
|
||||
<https://www.odoo.com/page/accounting-features>`_, and click on *See list of supported institutions*.
|
||||
<https://www.odoo.com/page/accounting-features>`_, and click on
|
||||
:guilabel:`See list of supported institutions`.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-doc.png
|
||||
:align: center
|
||||
:alt: Checking a bank's compatibility with Odoo
|
||||
|
||||
More than 20,000 institutions around the world are supported.
|
||||
Odoo supports more than 25,000 institutions around the world.
|
||||
|
||||
To connect to the banks, Odoo uses multiple web-services:
|
||||
|
||||
@@ -20,9 +17,7 @@ To connect to the banks, Odoo uses multiple web-services:
|
||||
- **Yodlee**: Worldwide
|
||||
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
|
||||
- **Ponto**: Europe (:doc:`more information <ponto>`)
|
||||
|
||||
.. important::
|
||||
- Bank synchronization is not available for trial databases.
|
||||
- **EnableBanking**: Scandinavian countries
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -38,49 +33,50 @@ following address:
|
||||
|
||||
- https://production.odoofin.com/
|
||||
|
||||
First Synchronization
|
||||
First synchronization
|
||||
---------------------
|
||||
|
||||
You can start synchronization either by going to :menuselection:`Accounting --> Configuration
|
||||
--> Add a Bank Account` or via the configuration bar on the accounting dashboard.
|
||||
You can start synchronization either by going to the Accounting app and
|
||||
:menuselection:`Accounting Dashboard --> Configuration --> Banks: Add a Bank Account`.
|
||||
|
||||
Now you can search for your bank institution. Select it and follow the steps to synchronize with it.
|
||||
|
||||
.. note::
|
||||
If you have any issues during your first synchronization, please verify that your
|
||||
web browser doesn't block pop-ups and that your adblocker is disabled.
|
||||
web browser doesn't block pop-ups and that your ad-blocker is disabled.
|
||||
|
||||
During your first synchronization, you will be asked for a phone number to secure your account.
|
||||
The reason we ask for such information is that we don't want your data falling into the wrong
|
||||
hands. Therefore, if we detect suspicious activity on your account, we block all requests coming
|
||||
from your account, and you need to reactivate it using that phone number.
|
||||
The third-party provider may request more information in order to connect with your bank institution.
|
||||
.. important::
|
||||
When choosing the date for the first bank statement synchronization, pick the date when you
|
||||
start recording accounting transaction on your Odoo accounting database. For example, if you
|
||||
import your closing balance in Odoo on the 31/12/2022 and you start recording accounting
|
||||
transactions on the 01/01/2023, your synchronization date should be 01/01/2023.
|
||||
|
||||
You must provide a phone number during your first synchronization to secure your account. We ask for
|
||||
such information because we don't want your data falling into the wrong hands. Therefore, if we
|
||||
detect suspicious activities on your account, we block all requests coming from your account, and
|
||||
you need to reactivate it using that phone number.
|
||||
|
||||
The third-party provider may request more information in order to connect with your
|
||||
bank institution.
|
||||
This information is not stored on Odoo's servers.
|
||||
|
||||
By default, transactions fetched from an online source are grouped inside the same statement, and
|
||||
one bank statement is created per month. You can change the bank statement creation periodicity
|
||||
in your journal settings.
|
||||
|
||||
You can find all your synchronizations by going to :menuselection:`Accounting --> Configuration -->
|
||||
Online Synchronization`.
|
||||
You can find all your synchronizations by going to :menuselection:`Accounting Dashboard -->
|
||||
Configuration --> Accounting: Online Synchronization`.
|
||||
|
||||
Synchronize manually
|
||||
--------------------
|
||||
|
||||
After your first synchronization, the created journals are synchronized by default every 12 hours.
|
||||
If you wish, you can synchronize manually by clicking on the *Synchronize Now* button on the
|
||||
dashboard.
|
||||
If you wish, you can synchronize manually by clicking on the :guilabel:`Synchronize Now` button on
|
||||
the dashboard.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-sync-now-dashboard.png
|
||||
:align: center
|
||||
:alt: Synchronize Now Button
|
||||
|
||||
Or you can go to :menuselection:`Accounting --> Configuration --> Online Synchronization`,
|
||||
select your institution and then click on the *Fetch Transactions* button.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-form-view.png
|
||||
:align: center
|
||||
:alt: Online Synchronization Form view
|
||||
Or you can go to :menuselection:`Accounting Dashboard --> Configuration -->
|
||||
Accounting: Online Synchronization`, select your institution and then click on the
|
||||
:guilabel:`fetch transactions` button.
|
||||
|
||||
.. important::
|
||||
Some institutions do not allow transactions to be fetched automatically. For such institutions,
|
||||
@@ -95,14 +91,14 @@ Synchronization in error
|
||||
------------------------
|
||||
|
||||
To report a connection error to the `Odoo support <https://www.odoo.com/help>`_, go to
|
||||
:menuselection:`Accounting --> Configuration --> Online Synchronization`, select the connection
|
||||
that failed, and copy the error description and the reference.
|
||||
:menuselection:`Accounting Dashboard--> Configuration --> Accounting: Online Synchronization`,
|
||||
select the connection that failed, and copy the error description and the reference.
|
||||
|
||||
Synchronization disconnected
|
||||
----------------------------
|
||||
|
||||
If your connection with the proxy is disconnected, you can reconnect with the proxy using the
|
||||
*Reconnect* button.
|
||||
:guilabel:`Fetch Account` button.
|
||||
|
||||
.. note::
|
||||
This disconnection can be caused by the Odoo support. In this case, please contact the `support
|
||||
@@ -121,24 +117,19 @@ Users who have created a database before December 2020 need to install the new m
|
||||
use the new functionalities.
|
||||
|
||||
To do so, go to :menuselection:`Apps --> Update Apps List`, remove the default filter in the search
|
||||
bar and type: **account_online_synchronization**. You can then click on the *Install* button to
|
||||
install the new module.
|
||||
|
||||
.. image:: bank_synchronization/online-sync-module.png
|
||||
:align: center
|
||||
:alt: Installation button of the account_online_synchronization module
|
||||
|
||||
bar and type `account_online_synchronization`. You can then click on :guilabel:`Install`.
|
||||
Finally, make sure all your users refresh their Odoo page by pressing CTRL+F5.
|
||||
|
||||
.. Note::
|
||||
|
||||
- All previous synchronizations are disconnected during the installation and won't work anymore.
|
||||
You can find them directly in the synchronization menu (:menuselection:`Accounting -->
|
||||
Configuration --> Online Synchronization`). It is not possible to resynchronize these
|
||||
connections; you have to make new ones.
|
||||
- Please do not uninstall *account_online_sync* which is the previous module for online
|
||||
- You can find them directly in the synchronization menu
|
||||
(:menuselection:`Accounting Dashboard --> Configuration -->
|
||||
Accounting: Online Synchronization`). It is not possible to resynchronize these connections;
|
||||
you have to make new ones.
|
||||
- Do not uninstall `account_online_sync`, which is the previous module for online
|
||||
synchronization. The new one overrides it.
|
||||
- By default *account_online_synchronization* is installed automatically with Accounting.
|
||||
- By default, `account_online_synchronization` is installed automatically with Accounting.
|
||||
|
||||
FAQ
|
||||
===
|
||||
@@ -148,14 +139,15 @@ The synchronization is not working in real-time. Is that normal?
|
||||
|
||||
The process is not intended to work in real-time as third party providers synchronize your accounts
|
||||
at different intervals. To force the synchronization and fetch the statements, go to your
|
||||
*Accounting dashboard*, and click on the *Synchronize Now* button. You can also synchronize and
|
||||
fetch transactions through :menuselection:`Accounting --> Configuration --> Online Synchronization`.
|
||||
Some providers only allow one refresh per day, so it is possible that clicking on *Synchronize Now*
|
||||
does not get your latest transactions if you already performed such action earlier in the day.
|
||||
:guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. You can also
|
||||
synchronize and fetch transactions through :menuselection:`Accounting Dashboard -->
|
||||
Configuration --> Accounting: Online Synchronization`. Some providers only allow one refresh per
|
||||
day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get your latest
|
||||
transactions if you already performed such action earlier in the day.
|
||||
|
||||
A transaction can be visible on your bank account, but not be fetched if it has the status
|
||||
*Pending*. Only transactions with the *Posted* status will be retrieved. If it is not *Posted* yet,
|
||||
you will have to wait until the status changes.
|
||||
A transaction can be visible on your bank account but not be fetched if it has the status
|
||||
:guilabel:`Pending`. Only transactions with the :guilabel:`Posted` status will be retrieved. If the
|
||||
transaction is not **Posted** yet, you will have to wait until the status changes.
|
||||
|
||||
Is the Online Bank Synchronization feature included in my contract?
|
||||
-------------------------------------------------------------------
|
||||
@@ -188,8 +180,9 @@ Why don't I see any transactions?
|
||||
---------------------------------
|
||||
|
||||
During your first synchronization, you selected the bank accounts you decided to synchronize with
|
||||
Odoo. If you didn't synchronize any of your accounts, you can go to :menuselection:`Accounting -->
|
||||
Configuration --> Online Synchronization` to click on the *Fetch Accounts* button on the connection.
|
||||
Odoo. If you didn't synchronize any of your accounts, you can go to
|
||||
:menuselection:`Accounting Dashboard --> Configuration --> Accounting: Online Synchronization` to
|
||||
click on the :guilabel:`Fetch Account` button on the connection.
|
||||
|
||||
There may also be no new transactions.
|
||||
|
||||
@@ -199,9 +192,9 @@ database, please `submit a support ticket <https://www.odoo.com/help>`_.
|
||||
How can I update my bank credentials?
|
||||
-------------------------------------
|
||||
|
||||
You can update your credentials by going to :menuselection:`Accounting --> Configuration --> Online
|
||||
Synchronization`, open the connection you want to update your credentials and click on the *Update
|
||||
Credentials* button.
|
||||
You can update your credentials by going to :menuselection:`Accounting Dashboard -->
|
||||
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
|
||||
credentials and click on the :guilabel:`Update Credentials` button.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank_statements`
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 4.1 KiB |
|
Before Width: | Height: | Size: 6.4 KiB |
@@ -64,8 +64,8 @@ Link your Ponto account with your Odoo database
|
||||
#. Finish the flow.
|
||||
|
||||
.. note::
|
||||
You have to authorize all the accounts you want to access in Odoo but, Odoo will filter the
|
||||
accounts based on the institution you selected at the second step.
|
||||
You have to authorize all the accounts you want to access in Odoo, but Odoo will filter the
|
||||
accounts based on the institution you selected in the second step.
|
||||
|
||||
Update your synchronization credentials
|
||||
---------------------------------------
|
||||
|
||||
@@ -80,12 +80,12 @@ FAQ
|
||||
I have an error when I try to delete my synchronization within Odoo
|
||||
-------------------------------------------------------------------
|
||||
|
||||
Odoo can't permanently delete the connection you have created with the banking institution. However,
|
||||
it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The
|
||||
error you are seeing is probably a message telling you that the consent was revoked, but the record
|
||||
could not be deleted as it still exists within Salt edge. If you want to remove the connection
|
||||
completely, please connect to your `Salt Edge account <https://www.saltedge.com/dashboard>`_
|
||||
and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the
|
||||
Odoo can't permanently delete the connection you have created with the banking institution. However,
|
||||
it can revoke the consent you gave so that Odoo won't be able to access your account anymore. The
|
||||
error you are seeing is probably a message telling you that the consent was revoked, but the record
|
||||
could not be deleted as it still exists within Salt edge. If you want to remove the connection
|
||||
completely, please connect to your `Salt Edge account <https://www.saltedge.com/dashboard>`_
|
||||
and manually delete your synchronization. Once this is done, you can go back to Odoo to delete the
|
||||
record.
|
||||
|
||||
I have an error saying that I have already synchronized this account
|
||||
|
||||
@@ -7,4 +7,4 @@ Miscellaneous
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
misc/interbank
|
||||
misc/interbank
|
||||
|
||||
@@ -1,132 +1,147 @@
|
||||
================================================
|
||||
Do a bank wire transfer from one bank to another
|
||||
================================================
|
||||
=================
|
||||
Internal transfer
|
||||
=================
|
||||
|
||||
A company might have several bank accounts or cash registers. Within
|
||||
odoo it is possible to handle internal transfers of money with only a
|
||||
couple of clicks.
|
||||
|
||||
We will take the following example to illustrate. My company has two
|
||||
bank accounts and I want to transfer 50.000 euros from one of our bank
|
||||
accounts to the another one.
|
||||
In Odoo, internal money transfers can be made in a few clicks. You need at least either two bank
|
||||
accounts, two cash journals, or one bank account and one cash journal.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Check your Chart of Accounts and default transfer account
|
||||
---------------------------------------------------------
|
||||
An internal transfer account is automatically created on your database based on your company's
|
||||
localization and depending on your country’s legislation. If needed, the default :guilabel:`Internal
|
||||
transfer account` can be modified by going to :menuselection:`Accounting app --> Configuration -->
|
||||
Settings` and then under the :guilabel:`Default Accounts` section.
|
||||
|
||||
To handle internal transfers you need a transfer account in your charts
|
||||
of account. Odoo will generate an account automatically based on the
|
||||
country of your chart of account. To configure your chart of accounts and
|
||||
check the default transfer account go into the accounting module settings,
|
||||
select :menuselection:`Configuration --> Settings`.
|
||||
.. note::
|
||||
At least two bank accounts are needed to make internal transfers. Refer to
|
||||
:doc:`Bank and cash accounts section <../setup/bank_accounts>` to see how to add an additional
|
||||
bank account to your database.
|
||||
|
||||
Your chart of accounts will be pre-installed depending on the country
|
||||
specified during your registration, it cannot be changed.
|
||||
Register an internal transfer from one bank to another
|
||||
======================================================
|
||||
|
||||
.. image:: interbank/interbank04.png
|
||||
:align: center
|
||||
|
||||
The default transfer account will automatically be generated as well
|
||||
depending on your country's legislation. If necessary it can be modified
|
||||
from the same page.
|
||||
|
||||
.. image:: interbank/interbank05.png
|
||||
:align: center
|
||||
|
||||
Create a second bank account / Journal
|
||||
--------------------------------------
|
||||
|
||||
Before we can register an internal transfer we need to add a new bank to
|
||||
our accounting dashboard. To do so enter the accounting module, click on
|
||||
:menuselection:`Configuration --> Bank Accounts`. Create a new bank account. You should
|
||||
fill in the **Account Number**. You can also create and edit your bank to
|
||||
specify your bank's details.
|
||||
|
||||
.. image:: interbank/interbank03.png
|
||||
:align: center
|
||||
|
||||
By saving the changes you now have 2 bank accounts.
|
||||
|
||||
.. image:: interbank/interbank06.png
|
||||
:align: center
|
||||
|
||||
Register an internal transfer from one bank to another.
|
||||
=======================================================
|
||||
|
||||
We will now transfer 50.000 euros from our **Bank** to our **Bank BE57 0633
|
||||
9533 1498** account.
|
||||
Let's say you have two bank accounts registered on your database and you want to transfer 1,000 USD
|
||||
from Bank A to Bank B.
|
||||
|
||||
Log an internal transfer
|
||||
------------------------
|
||||
|
||||
The first step is to register the internal payment. To do so go into
|
||||
your accounting dashboard, click on the **more** button of one of your banks
|
||||
and select :menuselection:`New --> Internal transfer`.
|
||||
From the Accounting Dashboard, click on the drop-down selection button (:guilabel:`⋮`) on one of
|
||||
your banks. In the :guilabel:`New` column click on :guilabel:`Internal Transfer` and enter the
|
||||
information related to the transfer.
|
||||
|
||||
.. image:: interbank/interbank01.png
|
||||
.. image:: interbank/internal_transfer.png
|
||||
:align: center
|
||||
|
||||
Create a new payment. The payment type will automatically be set to
|
||||
internal transfer. Select the **Bank** you want to transfer to, specify the
|
||||
**Amount** and add a **Memo** if you wish.
|
||||
:alt: Fill in the information related to your internal transfer
|
||||
|
||||
.. note::
|
||||
The memo is important if you wish to automatically reconcile (see `Import bank statements and
|
||||
reconcile`_).
|
||||
Fill in the :guilabel:`Memo` field for automatic reconciliation.
|
||||
|
||||
.. image:: interbank/interbank02.png
|
||||
:guilabel:`Save` and :guilabel:`Confirm` to register your internal transfer. The money is now booked
|
||||
in the transfer account and another payment is **automatically** created in the destination journal
|
||||
(Bank B).
|
||||
|
||||
Bank journal (Bank A)
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Outstanding Payments account
|
||||
-
|
||||
- $1,000
|
||||
* - **Internal transfer account**
|
||||
- **$1,000**
|
||||
-
|
||||
|
||||
Automated booking - Bank journal (BANK B)
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Outstanding Receipts account
|
||||
- $1,000
|
||||
-
|
||||
* - **Internal transfer account**
|
||||
-
|
||||
- **$1,000**
|
||||
|
||||
.. note::
|
||||
There are one outstanding payment and one outstanding receipt pending in your two bank account
|
||||
journals, because the bank statement confirming the sending and receiving of the money has not
|
||||
been booked yet.
|
||||
|
||||
.. image:: interbank/outstanding-payments-receipts.png
|
||||
:align: center
|
||||
:alt: Outstanding Payments/Receipts pending bank statement booking
|
||||
|
||||
Save and confirm the changes to register the payment.
|
||||
.. _interbank/import-and-reconcile:
|
||||
|
||||
In terms of accounting the money is now booked in the transfer account.
|
||||
We'll need to import bank statements to book the money in the final
|
||||
accounts.
|
||||
|
||||
Import bank statements and reconcile
|
||||
Manage and reconcile bank statements
|
||||
------------------------------------
|
||||
|
||||
Note that the bank balance computed by Odoo is different that the last
|
||||
statement of your bank.
|
||||
The next step is to book the bank statements to finalize the transaction by creating,
|
||||
:doc:`importing <../feeds/bank_statements>`, or :doc:`synchronizing <../feeds/bank_synchronization>`
|
||||
your :guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
|
||||
:guilabel:`Reconcile` button.
|
||||
|
||||
.. image:: interbank/interbank11.png
|
||||
.. image:: interbank/transactions-line.png
|
||||
:align: center
|
||||
:alt: Transaction lines to be filled in prior to reconciliation
|
||||
|
||||
That is because we did not import the bank statement confirming the
|
||||
receiving and sending of the money. It's thus necessary to import your
|
||||
bank statement and reconcile the payment with the correct bank statement
|
||||
line. Once you receive your bank statements click the **new statement**
|
||||
button of the corresponding bank to import them.
|
||||
.. seealso::
|
||||
- :doc:`../reconciliation/use_cases`
|
||||
|
||||
.. image:: interbank/interbank07.png
|
||||
In the next window, choose counterparts for the payment - in this example, the outstanding payment
|
||||
account - then click :guilabel:`Validate`.
|
||||
|
||||
.. image:: interbank/bank-reconciliation.png
|
||||
:align: center
|
||||
:alt: Reconcile your payment
|
||||
|
||||
Fill in your **Transactions line**. Once done, Odoo will display a **Computed
|
||||
Balance**. that computed balance is the theorical end balance of your
|
||||
bank account. If it's corresponding to the bank statement, it means that no errors were
|
||||
made. Fill in the **Ending balance** and click on the **Reconcile** button.
|
||||
Bank journal entry
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: interbank/interbank10.png
|
||||
:align: center
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
The following window will open:
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Outstanding Payment
|
||||
- $1,000
|
||||
-
|
||||
* - Bank Account (BANK A)
|
||||
-
|
||||
- **$1,000**
|
||||
|
||||
.. image:: interbank/interbank09.png
|
||||
:align: center
|
||||
The same steps must be repeated once you receive the bank statement related to Bank B. Book and
|
||||
reconcile your bank statement lines.
|
||||
|
||||
You need to choose counterparts for the payment. Select the correct
|
||||
bank statement line corresponding to the payment and click on the
|
||||
**reconcile** button. Close the statement to finish the transaction
|
||||
Bank journal entry
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. image:: interbank/interbank08.png
|
||||
:align: center
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
The same steps will need to be repeated once you receive your second
|
||||
bank statement. Note that if you specify the same amount and the
|
||||
same memo in both bank statements and payment transactions then the
|
||||
reconciliation will happen automatically.
|
||||
|
||||
.. image:: interbank/interbank12.png
|
||||
:align: center
|
||||
* - **Account**
|
||||
- **Debit**
|
||||
- **Credit**
|
||||
* - Outstanding Receipt
|
||||
-
|
||||
- $1,000
|
||||
* - Bank Account (BANK B)
|
||||
- **$1,000**
|
||||
-
|
||||
|
||||
|
After Width: | Height: | Size: 56 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 9.4 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 7.9 KiB |
|
Before Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 8.0 KiB |