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