diff --git a/content/administration.rst b/content/administration.rst index 3f335e150..6afb471a4 100644 --- a/content/administration.rst +++ b/content/administration.rst @@ -1,16 +1,21 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: -============== -Administration -============== +==================== +Install and Maintain +==================== + +These guides provide instructions on how to install, maintain and upgrade Odoo databases. + +.. seealso:: + :doc:`History of Versions ` .. toctree:: + :titlesonly: administration/install - administration/deployment - administration/update - administration/db_upgrade + administration/maintain administration/odoo_sh - administration/db_management - administration/enterprise diff --git a/content/administration/db_management.rst b/content/administration/db_management.rst deleted file mode 100644 index 116799ab2..000000000 --- a/content/administration/db_management.rst +++ /dev/null @@ -1,12 +0,0 @@ -:nosearch: - -=================== -Database Management -=================== - - -.. toctree:: - - db_management/db_online - db_management/db_premise - db_management/hosting_changes diff --git a/content/administration/db_management/db_online.rst b/content/administration/db_management/db_online.rst deleted file mode 100644 index a193a1377..000000000 --- a/content/administration/db_management/db_online.rst +++ /dev/null @@ -1,233 +0,0 @@ - -.. _db_online: - -========================== -Online Database management -========================== - -To manage your databases, access the `database management page -`__ (you will have to sign in). Then click -on the `Manage Your Databases `__ -button. - -.. image:: media/databases.png - :align: center - -Make sure you are connected as the administrator of the database you -want to manage - many operations depends on identifying you remotely to that -database. - -Several actions are available: - -.. image:: media/db_buttons.png - :align: center - -* :ref:`Upgrade ` - Upgrade your database to the latest Odoo version to enjoy cutting-edge - features -* :ref:`Duplicate ` - Make an exact copy of your database, if you want - to try out new apps or new flows without compromising - your daily operations -* :ref:`Rename ` - Rename your database (and its URL) -* **Backup** - Download an instant backup of your database; note that we - back up databases daily according to our Odoo Cloud SLA -* :ref:`Domains ` - Configure custom domains to access your - database via another URL -* :ref:`Delete ` - Delete a database instantly -* Contact Support - Access our `support page `__ - with the correct database already selected - -.. _upgrade_button: - -Upgrade -======= - -.. warning:: Upgrading your database to a newer version of Odoo is a complex operation - that require time and caution. It is extremely important that you - fully test the process before upgrading your production database. - -Odoo releases new versions regularly (at least once a year), and upgrading your -database to enjoy new Odoo features is part of the Odoo Online experience. - -The upgrade process can take some time, especially if you use multiple apps or -apps that manage sensitive data (e.g. Accounting, Inventory, etc.). In general, -the 'smaller' the database, the quickest the upgrade. A single-user -database that uses only CRM will be processed faster than a multi-company, -multi-user database that uses Accounting, Sales, Purchase and Manufacturing. - -Unfortunately, it is impossible to give time estimates for every upgrade request, -since Odoo.com will test manually every database upgrade at least once and will -need to correct/adapt changes made to the standard Odoo Apps (e.g. through Studio -or through a Success Pack) on a case-by-case basis. This can make the process -slower, since requests are treated in the order they arrive. This is especially -true in the months following the release of a new major version, which can lengthen -the upgrade delay significantly. - -The upgrade process is quite simple from your point of view: - -1. You request a test upgrade -2. Once all tests have been validated **by you**, you upgrade your actual database - -The process to request a test or a production (*actual*) upgrade is the same. - -First, make sure to be connected to the database you want to upgrade and access the -`database management page `__. - -.. note:: You have to have an active session with access to the Settings app - in the database you want to upgrade for the button to be visible. - -On the line of the database you want to upgrade, click -on the "Cog" menu. If an newer version of Odoo is available, you will see an 'Upgrade' -button. - -.. image:: media/upgrade1.png - :align: center - -You have the possibility to choose the target version of the upgrade. By default, -we select the highest available version available for your database; if you were -already in the process of testing an upgrade, we will automatically select the -version you were already testing (even if we released a more recent version during -your tests). - -.. image:: media/upgrade_test.png - :align: center - -By clicking on the "Test upgrade" button, an upgrade request will be generated. -Only one request can be made at time for each database; if a request has already -been made, you will see an 'Upgrade Queued' note instead and asking another -request will not be possible. - -A test upgrade will create a copy of your database, upgrade it and make it -available to you automatically once successful. If this is the first test you -request for this particular database, a manual testing phase will be done by -Odoo.com - this could take time (up to several weeks). Subsequent requests -will not go through that manual testing step and will usually be made -available in a few hours. Once the test database is available, you should -receive an e-mail with the URL of the test database. - -**Testing your database is the most important step of the upgrade process!** -Even though we test all upgrades manually, we do not know your work processes. -A change in standard workflows of Odoo in new versions might require you to -change internal processes, or some of the customizations you made through Odoo -Studio might not work properly. *It is up to you to make sure that everything -works as it should!* You can report issues with your test database through our -`Support page `__. - -Make sure to do one last test of your upgrade right before the final upgrade -(e.g. the day before) to ensure everything will run smoothly. Downgrading is -not possible and post-poning an upgrade is always easier than being prevented -to work by an upgrade issue after the fact! - -Once you are ready and you have validated all your tests, you can click -again on the Upgrade button and confirm by clicking on Upgrade (the button -with the little rocket!) to switch your production database to the new version. -Your database will then be taken offline within the next 10 minutes and will be -upgraded automatically; you receive a confirmation -e-mail once the process is completed. - -.. image:: media/upgrade_prod.png - :align: center - -.. warning:: - Your database will be taken offline during the upgrade (usually between 30min up to several hours - for big databases), so make sure to plan your migration during non-business hours. - -.. _duplicate_online: - -Duplicating a database -====================== - -.. note:: Database duplication, renaming, custom DNS, etc. is not available - for trial databases on our Online platform. Paid Databases and "One App - Free" database can duplicate without problem. - - -In the line of the database you want to duplicate, you will have a few -buttons. To duplicate your database, just click **Duplicate**. You will -have to give a name to your duplicate, then click **Duplicate Database**. - -.. image:: media/db_duplicate.png - :align: center - -.. danger:: If you do not check the "For testing purposes" checkbox when - duplicating a database, all external communication will remain active: - - * Emails are sent - - * Payments are processed (in the e-commerce or Subscriptions apps, for - example) - - * Delivery orders (shipping providers) are sent - - * Etc. - - Make sure to check the checkbox "For testing purposes" if you want these - behaviours to be disabled. - -After a few seconds, you will be logged in your duplicated database. -Notice that the url uses the name you chose for your duplicated -database. - -.. note:: - Duplicate databases expire automatically after 15 days. - - .. image:: media/dup_expires.png - :align: center - -.. _rename_online_database: - -Rename a Database -=================== - -To rename your database, make sure you are connected to the database you want -to rename, access the `database management page `__ -and click **Rename**. You will have to give a new name to your database, -then click **Rename Database**. - -.. image:: media/rename.png - :align: center - -.. _delete_online_database: - -Deleting a Database -=================== - -You can only delete databases of which you are the administrator. - -.. danger:: When you delete your database all the data will be permanently lost. - The deletion is instant and for all the Users. We advise you to do an - instant backup of your database before deleting it, since the last automated - daily backup may be several hours old at that point. - - -From the `database management page `__, -on the line of the database you want to delete, click on the "Delete" button. - -.. image:: media/delete_button.png - :align: center - - -Read carefully the warning message that will appear and proceed only if you -fully understand the implications of deleting a database: - -.. image:: media/delete_warning.png - :align: center - -After a few seconds, the database will be deleted and the page will -reload automatically. - -.. note:: - * If you need to re-use this database name, it will be immediately available. - - * It is not possible to delete a database if it is expired or linked - to a Subscription. In these cases contact - `Odoo Support `__ - - * If you want to delete your Account, please contact - `Odoo Support `__ diff --git a/content/administration/db_management/media/databases.png b/content/administration/db_management/media/databases.png deleted file mode 100644 index 9c3d1e28c..000000000 Binary files a/content/administration/db_management/media/databases.png and /dev/null differ diff --git a/content/administration/db_management/media/db_buttons.png b/content/administration/db_management/media/db_buttons.png deleted file mode 100644 index 6a0fec602..000000000 Binary files a/content/administration/db_management/media/db_buttons.png and /dev/null differ diff --git a/content/administration/db_management/media/db_duplicate.png b/content/administration/db_management/media/db_duplicate.png deleted file mode 100644 index 68b5a34c0..000000000 Binary files a/content/administration/db_management/media/db_duplicate.png and /dev/null differ diff --git a/content/administration/db_management/media/delete_button.png b/content/administration/db_management/media/delete_button.png deleted file mode 100644 index 1a9a623b3..000000000 Binary files a/content/administration/db_management/media/delete_button.png and /dev/null differ diff --git a/content/administration/db_management/media/delete_warning.png b/content/administration/db_management/media/delete_warning.png deleted file mode 100644 index 3c5df0a1f..000000000 Binary files a/content/administration/db_management/media/delete_warning.png and /dev/null differ diff --git a/content/administration/db_management/media/dependencies.png b/content/administration/db_management/media/dependencies.png deleted file mode 100644 index 4d62d7d76..000000000 Binary files a/content/administration/db_management/media/dependencies.png and /dev/null differ diff --git a/content/administration/db_management/media/dup_expires.png b/content/administration/db_management/media/dup_expires.png deleted file mode 100644 index 0a3359bdd..000000000 Binary files a/content/administration/db_management/media/dup_expires.png and /dev/null differ diff --git a/content/administration/db_management/media/rename.png b/content/administration/db_management/media/rename.png deleted file mode 100644 index 1c596478b..000000000 Binary files a/content/administration/db_management/media/rename.png and /dev/null differ diff --git a/content/administration/db_management/media/test_upgrade.png b/content/administration/db_management/media/test_upgrade.png deleted file mode 100644 index 66474aa60..000000000 Binary files a/content/administration/db_management/media/test_upgrade.png and /dev/null differ diff --git a/content/administration/db_management/media/upgrade1.png b/content/administration/db_management/media/upgrade1.png deleted file mode 100644 index 8be1789ac..000000000 Binary files a/content/administration/db_management/media/upgrade1.png and /dev/null differ diff --git a/content/administration/db_management/media/upgrade_prod.png b/content/administration/db_management/media/upgrade_prod.png deleted file mode 100644 index 65e14ba79..000000000 Binary files a/content/administration/db_management/media/upgrade_prod.png and /dev/null differ diff --git a/content/administration/db_management/media/upgrade_test.png b/content/administration/db_management/media/upgrade_test.png deleted file mode 100644 index ce9b1b063..000000000 Binary files a/content/administration/db_management/media/upgrade_test.png and /dev/null differ diff --git a/content/administration/deployment.rst b/content/administration/deployment.rst deleted file mode 100644 index 1363cc0e5..000000000 --- a/content/administration/deployment.rst +++ /dev/null @@ -1,12 +0,0 @@ -:nosearch: - -========== -Deployment -========== - - -.. toctree:: - - deployment/deploy - deployment/cdn - deployment/email_gateway diff --git a/content/administration/install.rst b/content/administration/install.rst index 692fcffe3..fb9e3025b 100644 --- a/content/administration/install.rst +++ b/content/administration/install.rst @@ -1,756 +1,12 @@ +:nosearch: -.. _setup/install: +======= +Install +======= -=============== -Installing Odoo -=============== +.. toctree:: -There are multiple ways to install Odoo, or not install it at all, depending -on the intended use case. - -This documents attempts to describe most of the installation options. - -:ref:`setup/install/online` - The easiest way to use Odoo in production or to try it. - -:ref:`setup/install/packaged` - Suitable for testing Odoo, developing modules and can be used for - long-term production use with additional deployment and maintenance work. - -:ref:`setup/install/source` - Provides greater flexibility: e.g. allow multiple running Odoo versions on - the same system. Good for developing modules, can be used as base for - production deployment. - -:ref:`setup/install/docker` - If you usually use docker_ for development or deployment, an official - docker_ base image is available. - - -.. _setup/install/editions: - -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 -restricted to Enterprise customers and partners. The Community version is freely -available to anyone. - -If you already use the Community version and wish to upgrade to Enterprise, please -refer to :ref:`setup/enterprise` (except for :ref:`setup/install/source`). - - -.. _setup/install/online: - -Online -====== - -Demo ----- - -To simply get a quick idea of Odoo, demo_ instances are available. They are -shared instances which only live for a few hours, and can be used to browse -around and try things out with no commitment. - -Demo_ instances require no local installation, just a web browser. - -SaaS ----- - -Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_ -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 -browser is sufficient. - - -.. _setup/install/packaged: - -Packaged installers -=================== - -Odoo provides packaged installers for Windows, deb-based distributions -(Debian, Ubuntu, …) and RPM-based distributions (Fedora, CentOS, RHEL, …) for -both the Community and Enterprise versions. - -These packages automatically set up all dependencies (for the Community version), -but may be difficult to keep up-to-date. - -Official Community packages with all relevant dependency requirements are -available on our nightly_ server. Both Communtiy and Enterprise packages can -be downloaded from our download_ page (you must to be logged in as a paying -customer or partner to download the Enterprise packages). - -Windows -------- - -#. Download the installer from our nightly_ server (Community only) or the Windows installer from - the download_ page (any edition). -#. Execute the downloaded file. - - .. warning:: | On Windows 8 and later you may see a warning titled "Windows protected your PC". - | Click on **More Info** and then on **Run anyway**. - -#. Accept the UAC_ prompt. -#. Go through the various installation steps. - -Odoo will automatically be started at the end of the installation. - -Linux ------ - -Debian/Ubuntu -''''''''''''' - -Odoo 14.0 'deb' package currently supports `Debian Buster`_, `Ubuntu 20.04`_ or above. - -.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in - version `0.12.5 `_ for it to support headers and - footers. See our `wiki `_ for more - details on the various versions. - -Repository -^^^^^^^^^^ - -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: - -.. code-block:: console - - $ wget -O - https://nightly.odoo.com/odoo.key | sudo apt-key add - - $ sudo sh -c 'echo "deb http://nightly.odoo.com/14.0/nightly/deb/ ./" >> /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. - -At this moment, there is no nightly repository for the Enterprise Edition. - -Deb Package -^^^^^^^^^^^ - -Instead of using the repository as described above, the 'deb' packages for both the *Community* and -*Enterprise* editions can be downloaded from the `official download page `_. - -Next, execute the following commands: - -.. code-block:: console - - $ sudo apt-get install - -This will install Odoo as a service, create the necessary PostgreSQL_ user -and automatically start the server. - -.. note:: The recommended `postgresql-server` package will be installed by the Debian Odoo package. - The `--no-install-recommends` argument of the `apt-get` tool should be used if you plan - to install the Postgresql server on another machine. - -Fedora -'''''' - -Odoo 14.0 'rpm' package supports Fedora 32. - -.. warning:: The Odoo 14.0 rpm package does not support Fedora 33 or above. - -Prepare -^^^^^^^ -Odoo needs a `PostgreSQL`_ server to run properly. Make sure that the `sudo` command is available -and well configured and, only then, execute the following command in order to install the PostgreSQL -server: - -.. code-block:: console - - $ sudo dnf install -y postgresql-server - $ sudo postgresql-setup --initdb --unit postgresql - $ sudo systemctl enable postgresql - $ sudo systemctl start postgresql - -.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in - version `0.12.5 `_ for it to support headers and - footers. See our `wiki `_ for more - details on the various versions. - -Repository -^^^^^^^^^^ - -Odoo S.A. provides a repository that can be used with the Fedora distributions. -It can be used to install *Odoo Community Edition* by executing the following -commands: - -.. code-block:: console - - $ sudo dnf config-manager --add-repo=https://nightly.odoo.com/14.0/nightly/rpm/odoo.repo - $ sudo dnf install -y odoo - $ sudo systemctl enable odoo - $ sudo systemctl start odoo - -RPM package -^^^^^^^^^^^ - -Instead of using the repository as described above, the 'rpm' packages for both the *Community* and -*Enterprise* editions can be downloaded from the `official download page `_. - -Once downloaded, the package can be installed using the 'dnf' package manager: - -.. code-block:: console - - $ sudo dnf localinstall odoo_14.0.latest.noarch.rpm - $ sudo systemctl enable odoo - $ sudo systemctl start odoo - - -.. _setup/install/source: - -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 also makes starting and stopping Odoo more flexible and explicit than the services set up by the -packaged installations, and allows overriding settings using -:ref:`command-line parameters ` without needing to edit a configuration file. - -Finally it provides greater control over the system's set up, and allows to more easily keep -(and run) multiple versions of Odoo side-by-side. - -Windows -------- - -Fetch the sources -''''''''''''''''' - -There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**. - -Archive -^^^^^^^ - -Community Edition: - -* `Official download page `_ -* `GitHub repository `_ -* `Nightly server `_ - -Enterprise Edition: - -* `Official download page `_ -* `GitHub repository `_ - -Git -^^^ - -The following requires git_ to be installed on your machine and that you have basic knowledge of -git commands. - -Community Edition: - -.. code-block:: doscon - - C:\> git clone https://github.com/odoo/odoo.git - - -Enterprise Edition: (see :ref:`setup/install/editions` to get access) - -.. code-block:: doscon - - C:\> git clone https://github.com/odoo/enterprise.git - -.. 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. - -Prepare -''''''' - -Python -^^^^^^ - -Odoo requires Python 3.6 or later to run. Visit `Python's download page `_ -to download and install the latest version of Python 3 on your machine. - -During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and make -sure that **pip** is checked. - -.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous - versions are not compatible with Odoo. - - .. code-block:: doscon - - C:\> python --version - - Verify also that pip_ is installed for this version. - - .. code-block:: doscon - - C:\> pip --version - -PostgreSQL -^^^^^^^^^^ - -Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL `_ -(supported version: 10.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: - -#. Add PostgreSQL's `bin` directory (by default: `C:\\Program Files\\PostgreSQL\\\\bin`) to - your `PATH`. -#. Create a postgres user with a password using the pg admin gui: - - 1. Open **pgAdmin**. - 2. Double-click the server to create a connection. - 3. Select :menuselection:`Object --> Create --> Login/Group Role`. - 4. Enter the username in the **Role Name** field (e.g. `odoo`). - 5. Open the **Definition** tab and enter the password (e.g. ``odoo``), then click **Save**. - 6. Open the **Privileges** tab and switch **Can login?** to `Yes` and **Create database?** to - `Yes`. - -Dependencies -^^^^^^^^^^^^ - -Before installing the dependencies, you must download and install the -`Build Tools for Visual Studio `_. -When prompted, select **C++ build tools** in the **Workloads** tab and install them. - -Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo -community directory. - -.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo - or with your system. You can use virtualenv_ to create isolated Python environments. - -Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** -on the requirements file in a terminal **with Administrator privileges**: - -.. code-block:: doscon - - C:\> cd \CommunityPath - C:\> pip install setuptools wheel - C:\> pip install -r requirements.txt - -.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in - version `0.12.5 `_ for it to support headers and - footers. See our `wiki `_ for more - details on the various versions. - -For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is -needed: - -#. Download and install `nodejs `_. -#. Install `rtlcss`: - - .. code-block:: doscon - - C:\> npm install -g rtlcss - -#. Edit the System Environment's variable `PATH` to add the folder where `rtlcss.cmd` is located - (typically: `C:\\Users\\\\AppData\\Roaming\\npm\\`). - -Running Odoo -'''''''''''' - -Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the -command-line interface of the server. It is located at the root of the Odoo Community directory. - -To configure the server, you can either specify :ref:`command-line arguments ` or a -:ref:`configuration file `. - -.. tip:: For the Enterprise edition, you must add the path to the `enterprise` addons to the - `addons-path` argument. Note that it must come before the other paths in `addons-path` for - addons to be loaded correctly. - -Common necessary configurations are: - -* PostgreSQL user and password. -* Custom addon paths beyond the defaults, to load your own modules. - -A typical way to run the server would be: - -.. code-block:: doscon - - C:\> cd CommunityPath/ - C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb - -Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the -PostgreSQL login, `dbpassword` is the PostgreSQL password -and `mydb` is the default database to serve on `localhost:8069`. You can add other -directory paths separated by a comma to ``addons`` at the end of the addons-path option. - -Linux ------ - -Fetch the sources -''''''''''''''''' - -There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**. - -Archive -^^^^^^^ - -Community Edition: - -* `Official download page `_ -* `GitHub repository `_ -* `Nightly server `_ - -Enterprise Edition: - -* `Official download page `_ -* `GitHub repository `_ - -Git -^^^ - -The following requires git_ to be installed on your machine and that you have basic knowledge of -git commands. - -Community Edition: - -.. code-block:: console - - $ git clone https://github.com/odoo/odoo.git - - -Enterprise Edition: (see :ref:`setup/install/editions` to get access) - -.. code-block:: console - - $ git clone https://github.com/odoo/enterprise.git - -.. 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. - -Prepare -''''''' - -Python -^^^^^^ - -Odoo requires Python 3.6 or later to run. Use your package manager to download and install Python 3 -on your machine if it is not already done. - -.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous - versions are not compatible with Odoo. - - .. code-block:: console - - $ python3 --version - - Verify also that pip_ is installed for this version. - - .. code-block:: console - - $ pip3 --version - -PostgreSQL -^^^^^^^^^^ - -Odoo uses PostgreSQL as database management system. Use your package manager to download and install -PostgreSQL (supported version: 10.0 and later). - -On Debian/Unbuntu, it can be achieved by executing the following: - -.. code-block:: console - - $ sudo apt install postgresql postgresql-client - -By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need to -create a new PostgreSQL user: - -.. code-block:: console - - $ sudo -u postgres createuser -s $USER - $ createdb $USER - -.. note:: Because your PostgreSQL user has the same name as your Unix login, you will be able to - connect to the database without password. - -Dependencies -^^^^^^^^^^^^ - -For libraries using native code, it is necessary to install development tools and native -dependencies before the Python dependencies of Odoo. They are available in `-dev` or `-devel` -packages for Python, PostgreSQL, libxml2, libxslt1, libevent, libsasl2 and libldap2. - -On Debian/Unbuntu, the following command should install all the required libraries: - -.. code-block:: console - - $ sudo apt install python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \ - libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev libfreetype6-dev \ - liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libpq-dev - -Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo -community directory. - -.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo - or with your system. You can use virtualenv_ to create isolated Python environments. - -Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** -on the requirements file: - -.. code-block:: console - - $ cd /CommunityPath - $ pip3 install setuptools wheel - $ pip3 install -r requirements.txt - -.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in - version `0.12.5 `_ for it to support headers and - footers. See our `wiki `_ for more - details on the various versions. - -For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is -needed: - -#. Download and install **nodejs** and **npm** with your package manager. -#. Install `rtlcss`: - - .. code-block:: console - - $ sudo npm install -g rtlcss - -Running Odoo -'''''''''''' - -Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the -command-line interface of the server. It is located at the root of the Odoo Community directory. - -To configure the server, you can either specify :ref:`command-line arguments ` or a -:ref:`configuration file `. - -.. tip:: For the Enterprise edition, you must add the path to the `enterprise` addons to the - `addons-path` argument. Note that it must come before the other paths in `addons-path` for - addons to be loaded correctly. - -Common necessary configurations are: - -* PostgreSQL user and password. Odoo has no defaults beyond - `psycopg2's defaults `_: connects over a UNIX socket on - port `5432` with the current user and no password. -* Custom addon paths beyond the defaults, to load your own modules. - -A typical way to run the server would be: - -.. code-block:: console - - $ cd /CommunityPath - $ python3 odoo-bin --addons-path=addons -d mydb - -Where `CommunityPath` is the path of the Odoo Community installation -and `mydb` is the default database to serve on `localhost:8069`. You can add other -directory paths separated by a comma to ``addons`` at the end of the addons-path option. - -Mac OS ------- - -Fetch the sources -''''''''''''''''' - -There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**. - -Archive -^^^^^^^ - -Community Edition: - -* `Official download page `_ -* `GitHub repository `_ -* `Nightly server `_ - -Enterprise Edition: - -* `Official download page `_ -* `GitHub repository `_ - -Git -^^^ - -The following requires git_ to be installed on your machine and that you have basic knowledge of -git commands. - -Community Edition: - -.. code-block:: console - - $ git clone https://github.com/odoo/odoo.git - - -Enterprise Edition: (see :ref:`setup/install/editions` to get access) - -.. code-block:: console - - $ git clone https://github.com/odoo/enterprise.git - -.. 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. - -Prepare -''''''' - -Python -^^^^^^ - -Odoo requires Python 3.6 or later to run. Use your preferred package manager (homebrew_, macports_) -to download and install Python 3 on your machine if it is not already done. - -.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous - versions are not compatible with Odoo. - - .. code-block:: console - - $ python3 --version - - Verify also that pip_ is installed for this version. - - .. code-block:: console - - $ pip3 --version - -PostgreSQL -^^^^^^^^^^ - -Odoo uses PostgreSQL as database management system. Use `postgres.app `_ -to download and install PostgreSQL (supported version: 10.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: - -.. code-block:: console - - $ sudo -u postgres createuser -s $USER - $ createdb $USER - -.. note:: Because your PostgreSQL user has the same name as your Unix login, you will be able to - connect to the database without password. - -Dependencies -^^^^^^^^^^^^ - -Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo -community directory. - -.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo - or with your system. You can use virtualenv_ to create isolated Python environments. - -Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** -on the requirements file: - -.. code-block:: console - - $ cd /CommunityPath - $ pip3 install setuptools wheel - $ pip3 install -r requirements.txt - -.. warning:: Non-Python dependencies need to be installed with a package manager: - - #. Download and install the **Command Line Tools**: - - .. code-block:: console - - $ xcode-select --install - - #. Download and install the package manager of your choice (homebrew_, macports_). - #. Install non-python dependencies. - -.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in - version `0.12.5 `_ for it to support headers and - footers. See our `wiki `_ for more - details on the various versions. - -For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is -needed: - -#. Download and install **nodejs** with your preferred package manager (homebrew_, macports_). -#. Install `rtlcss`: - - .. code-block:: console - - $ sudo npm install -g rtlcss - -Running Odoo -'''''''''''' - -Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the -command-line interface of the server. It is located at the root of the Odoo Community directory. - -To configure the server, you can either specify :ref:`command-line arguments ` or a -:ref:`configuration file `. - -.. tip:: For the Enterprise edition, you must add the path to the `enterprise` addons to the - `addons-path` argument. Note that it must come before the other paths in `addons-path` for - addons to be loaded correctly. - -Common necessary configurations are: - -* PostgreSQL user and password. Odoo has no defaults beyond - `psycopg2's defaults `_: connects over a UNIX socket on - port `5432` with the current user and no password. -* Custom addon paths beyond the defaults, to load your own modules. - -A typical way to run the server would be: - -.. code-block:: console - - $ cd /CommunityPath - $ python3 odoo-bin --addons-path=addons -d mydb - -Where `CommunityPath` is the path of the Odoo Community installation -and `mydb` is the default database to serve on `localhost:8069`. You can add other -directory paths separated by a comma to ``addons`` at the end of the addons-path option. - - -.. _setup/install/docker: - -Docker -====== - -The full documentation on how to use Odoo with Docker can be found on the -official Odoo `docker image `_ page. - -.. _Debian Buster: https://www.debian.org/releases/buster/ -.. _demo: https://demo.odoo.com -.. _docker: https://www.docker.com -.. _download: https://www.odoo.com/page/download -.. _Ubuntu 20.04: http://releases.ubuntu.com/20.04/ -.. _EPEL: https://fedoraproject.org/wiki/EPEL -.. _PostgreSQL: http://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 -.. _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 -.. _pip: https://pip.pypa.io -.. _macports: https://www.macports.org -.. _homebrew: http://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/ -.. _community-repository: https://github.com/odoo/odoo -.. _enterprise-repository: https://github.com/odoo/enterprise -.. _git: https://git-scm.com/ -.. _Editions: https://www.odoo.com/pricing#pricing_table_features -.. _nightly: https://nightly.odoo.com/ -.. _extra: https://nightly.odoo.com/extra/ + install/install + install/deploy + install/cdn + install/email_gateway diff --git a/content/administration/deployment/cdn.rst b/content/administration/install/cdn.rst similarity index 94% rename from content/administration/deployment/cdn.rst rename to content/administration/install/cdn.rst index ad787e4dc..adbfb65e8 100644 --- a/content/administration/deployment/cdn.rst +++ b/content/administration/install/cdn.rst @@ -1,7 +1,6 @@ - -======================================== -Deploying with Content Delivery Networks -======================================== +=========================================== +Setting up a Content Delivery Network (CDN) +=========================================== .. _reference/cdn/keycdn: diff --git a/content/administration/deployment/cdn/keycdn_create_a_pull_zone.png b/content/administration/install/cdn/keycdn_create_a_pull_zone.png similarity index 100% rename from content/administration/deployment/cdn/keycdn_create_a_pull_zone.png rename to content/administration/install/cdn/keycdn_create_a_pull_zone.png diff --git a/content/administration/deployment/cdn/keycdn_enable_CORS.png b/content/administration/install/cdn/keycdn_enable_CORS.png similarity index 100% rename from content/administration/deployment/cdn/keycdn_enable_CORS.png rename to content/administration/install/cdn/keycdn_enable_CORS.png diff --git a/content/administration/deployment/cdn/keycdn_progressbar.png b/content/administration/install/cdn/keycdn_progressbar.png similarity index 100% rename from content/administration/deployment/cdn/keycdn_progressbar.png rename to content/administration/install/cdn/keycdn_progressbar.png diff --git a/content/administration/deployment/cdn/odoo_cdn_base_url.png b/content/administration/install/cdn/odoo_cdn_base_url.png similarity index 100% rename from content/administration/deployment/cdn/odoo_cdn_base_url.png rename to content/administration/install/cdn/odoo_cdn_base_url.png diff --git a/content/administration/deployment/cdn/odoo_check_your_html.png b/content/administration/install/cdn/odoo_check_your_html.png similarity index 100% rename from content/administration/deployment/cdn/odoo_check_your_html.png rename to content/administration/install/cdn/odoo_check_your_html.png diff --git a/content/administration/deployment/cdn/odoo_font_file_not_loaded.png b/content/administration/install/cdn/odoo_font_file_not_loaded.png similarity index 100% rename from content/administration/deployment/cdn/odoo_font_file_not_loaded.png rename to content/administration/install/cdn/odoo_font_file_not_loaded.png diff --git a/content/administration/deployment/cdn/odoo_security_message.png b/content/administration/install/cdn/odoo_security_message.png similarity index 100% rename from content/administration/deployment/cdn/odoo_security_message.png rename to content/administration/install/cdn/odoo_security_message.png diff --git a/content/administration/deployment/deploy.rst b/content/administration/install/deploy.rst similarity index 99% rename from content/administration/deployment/deploy.rst rename to content/administration/install/deploy.rst index d4fe70d76..ebf8457a0 100644 --- a/content/administration/deployment/deploy.rst +++ b/content/administration/install/deploy.rst @@ -1,7 +1,6 @@ - -============== -Deploying Odoo -============== +==================== +System configuration +==================== This document describes basic steps to set up Odoo in production or on an internet-facing server. It follows :ref:`installation `, and is diff --git a/content/administration/deployment/email_gateway.rst b/content/administration/install/email_gateway.rst similarity index 95% rename from content/administration/deployment/email_gateway.rst rename to content/administration/install/email_gateway.rst index caea66041..35e8dd6c9 100644 --- a/content/administration/deployment/email_gateway.rst +++ b/content/administration/install/email_gateway.rst @@ -1,7 +1,6 @@ - -================== -Odoo email gateway -================== +============= +Email gateway +============= The Odoo mail gateway allows you to inject directly all the received emails in Odoo. diff --git a/content/administration/install/install.rst b/content/administration/install/install.rst new file mode 100644 index 000000000..60d7152fb --- /dev/null +++ b/content/administration/install/install.rst @@ -0,0 +1,782 @@ + +.. _setup/install: + +=============== +Installing Odoo +=============== + +There are multiple ways to install Odoo, or not install it at all, depending +on the intended use case. + +This documents attempts to describe most of the installation options. + +:ref:`setup/install/online` + The easiest way to use Odoo in production or to try it. + +:ref:`setup/install/packaged` + Suitable for testing Odoo, developing modules and can be used for + long-term production use with additional deployment and maintenance work. + +:ref:`setup/install/source` + Provides greater flexibility: e.g. allow multiple running Odoo versions on + the same system. Good for developing modules, can be used as base for + production deployment. + +:ref:`setup/install/docker` + If you usually use docker_ for development or deployment, an official + docker_ base image is available. + + +.. _setup/install/editions: + +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 +restricted to Enterprise customers and partners. The Community version is freely +available to anyone. + +If you already use the Community version and wish to upgrade to Enterprise, please +refer to :ref:`setup/enterprise` (except for :ref:`setup/install/source`). + + +.. _setup/install/online: + +Online +====== + +Demo +---- + +To simply get a quick idea of Odoo, demo_ instances are available. They are +shared instances which only live for a few hours, and can be used to browse +around and try things out with no commitment. + +Demo_ instances require no local installation, just a web browser. + +SaaS +---- + +Trivial to start with, fully managed and migrated by Odoo S.A., Odoo's SaaS_ +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 +browser is sufficient. + + +.. _setup/install/packaged: + +Packaged installers +=================== + +Odoo provides packaged installers for Windows, deb-based distributions +(Debian, Ubuntu, …) and RPM-based distributions (Fedora, CentOS, RHEL, …) for +both the Community and Enterprise versions. + +These packages automatically set up all dependencies (for the Community version), +but may be difficult to keep up-to-date. + +Official Community packages with all relevant dependency requirements are +available on our nightly_ server. Both Communtiy and Enterprise packages can +be downloaded from our download_ page (you must to be logged in as a paying +customer or partner to download the Enterprise packages). + +Windows +------- + +#. Download the installer from our nightly_ server (Community only) or the Windows installer from + the download_ page (any edition). +#. Execute the downloaded file. + + .. warning:: | On Windows 8 and later you may see a warning titled "Windows protected your PC". + | Click on **More Info** and then on **Run anyway**. + +#. Accept the UAC_ prompt. +#. Go through the various installation steps. + +Odoo will automatically be started at the end of the installation. + +Linux +----- + +Debian/Ubuntu +''''''''''''' + +Odoo 13.0 'deb' package currently supports `Debian Buster`_, `Ubuntu 18.04`_ or above. + +Prepare +^^^^^^^ + +Odoo needs a `PostgreSQL`_ server to run properly. The default configuration for +the Odoo 'deb' package is to use the PostgreSQL server on the same host as your +Odoo instance. Execute the following command in order to install the PostgreSQL server: + +.. code-block:: console + + $ sudo apt install postgresql -y + +.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in + version `0.12.5 `_ for it to support headers and + footers. See our `wiki `_ for more + details on the various versions. + +Repository +^^^^^^^^^^ + +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**: + +.. code-block:: console + + # wget -O - https://nightly.odoo.com/odoo.key | apt-key add - + # echo "deb http://nightly.odoo.com/13.0/nightly/deb/ ./" >> /etc/apt/sources.list.d/odoo.list + # apt-get update && apt-get install odoo + +You can then use the usual `apt-get upgrade` command to keep your installation up-to-date. + +At this moment, there is no nightly repository for the Enterprise Edition. + +Deb Package +^^^^^^^^^^^ + +Instead of using the repository as described above, the 'deb' packages for both the *Community* and +*Enterprise* editions can be downloaded from the `official download page `_. + +Next, execute the following commands **as root**: + +.. code-block:: console + + # dpkg -i # this probably fails with missing dependencies + # apt-get install -f # should install the missing dependencies + # dpkg -i + +This will install Odoo as a service, create the necessary PostgreSQL_ user +and automatically start the server. + +.. warning:: The `python3-xlwt` Debian package does not exists in Debian Buster nor Ubuntu 18.04. + This python module is needed to export into xls format. + + If you need the feature, you can install it manually with: + + .. code-block:: console + + $ sudo pip3 install xlwt + +.. warning:: The `num2words` python package does not exists in Debian Buster nor Ubuntu 18.04. + Textual amounts will not be rendered by Odoo and this could cause problems with the + `l10n_mx_edi` module. + + If you need this feature, you can install manually with: + + .. code-block:: console + + $ sudo pip3 install num2words + +Fedora +'''''' + +Odoo 13.0 'rpm' package supports Fedora 30. + +Prepare +^^^^^^^ +Odoo needs a `PostgreSQL`_ server to run properly. Make sure that the `sudo` command is available +and well configured and, only then, execute the following command in order to install the PostgreSQL +server: + +.. code-block:: console + + $ sudo dnf install -y postgresql-server + $ sudo postgresql-setup --initdb --unit postgresql + $ sudo systemctl enable postgresql + $ sudo systemctl start postgresql + +.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in + version `0.12.5 `_ for it to support headers and + footers. See our `wiki `_ for more + details on the various versions. + +Repository +^^^^^^^^^^ + +Odoo S.A. provides a repository that can be used with the Fedora distributions. +It can be used to install *Odoo Community Edition* by executing the following +commands: + +.. code-block:: console + + $ sudo dnf config-manager --add-repo=https://nightly.odoo.com/13.0/nightly/rpm/odoo.repo + $ sudo dnf install -y odoo + $ sudo systemctl enable odoo + $ sudo systemctl start odoo + +RPM package +^^^^^^^^^^^ + +Instead of using the repository as described above, the 'rpm' packages for both the *Community* and +*Enterprise* editions can be downloaded from the `official download page `_. + +Once downloaded, the package can be installed using the 'dnf' package manager: + +.. code-block:: console + + $ sudo dnf localinstall odoo_13.0.latest.noarch.rpm + $ sudo systemctl enable odoo + $ sudo systemctl start odoo + + +.. _setup/install/source: + +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 also makes starting and stopping Odoo more flexible and explicit than the services set up by the +packaged installations, and allows overriding settings using +:ref:`command-line parameters ` without needing to edit a configuration file. + +Finally it provides greater control over the system's set up, and allows to more easily keep +(and run) multiple versions of Odoo side-by-side. + +Windows +------- + +Fetch the sources +''''''''''''''''' + +There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**. + +Archive +^^^^^^^ + +Community Edition: + +* `Official download page `_ +* `GitHub repository `_ +* `Nightly server `_ + +Enterprise Edition: + +* `Official download page `_ +* `GitHub repository `_ + +Git +^^^ + +The following requires git_ to be installed on your machine and that you have basic knowledge of +git commands. + +Community Edition: + +.. code-block:: doscon + + C:\> git clone https://github.com/odoo/odoo.git + + +Enterprise Edition: (see :ref:`setup/install/editions` to get access) + +.. code-block:: doscon + + C:\> git clone https://github.com/odoo/enterprise.git + +.. 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. + +Prepare +''''''' + +Python +^^^^^^ + +Odoo requires Python 3.6 or later to run. Visit `Python's download page `_ +to download and install the latest version of Python 3 on your machine. + +During installation, check **Add Python 3 to PATH**, then click **Customize Installation** and make +sure that **pip** is checked. + +.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous + versions are not compatible with Odoo. + + .. code-block:: doscon + + C:\> python --version + + Verify also that pip_ is installed for this version. + + .. code-block:: doscon + + C:\> pip --version + +PostgreSQL +^^^^^^^^^^ + +Odoo uses PostgreSQL as database management system. `Download and install PostgreSQL `_ +(supported version: 10.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: + +#. Add PostgreSQL's `bin` directory (by default: `C:\\Program Files\\PostgreSQL\\\\bin`) to + your `PATH`. +#. Create a postgres user with a password using the pg admin gui: + + 1. Open **pgAdmin**. + 2. Double-click the server to create a connection. + 3. Select :menuselection:`Object --> Create --> Login/Group Role`. + 4. Enter the username in the **Role Name** field (e.g. `odoo`). + 5. Open the **Definition** tab and enter the password (e.g. ``odoo``), then click **Save**. + 6. Open the **Privileges** tab and switch **Can login?** to `Yes` and **Create database?** to + `Yes`. + +Dependencies +^^^^^^^^^^^^ + +Before installing the dependencies, you must download and install the +`Build Tools for Visual Studio `_. +When prompted, select **C++ build tools** in the **Workloads** tab and install them. + +Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo +community directory. + +.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo + or with your system. You can use virtualenv_ to create isolated Python environments. + +Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** +on the requirements file in a terminal **with Administrator privileges**: + +.. code-block:: doscon + + C:\> cd \CommunityPath + C:\> pip install setuptools wheel + C:\> pip install -r requirements.txt + +.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in + version `0.12.5 `_ for it to support headers and + footers. See our `wiki `_ for more + details on the various versions. + +For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is +needed: + +#. Download and install `nodejs `_. +#. Install `rtlcss`: + + .. code-block:: doscon + + C:\> npm install -g rtlcss + +#. Edit the System Environment's variable `PATH` to add the folder where `rtlcss.cmd` is located + (typically: `C:\\Users\\\\AppData\\Roaming\\npm\\`). + +Running Odoo +'''''''''''' + +Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the +command-line interface of the server. It is located at the root of the Odoo Community directory. + +To configure the server, you can either specify :ref:`command-line arguments ` or a +:ref:`configuration file `. + +.. tip:: For the Enterprise edition, you must add the path to the `enterprise` addons to the + `addons-path` argument. Note that it must come before the other paths in `addons-path` for + addons to be loaded correctly. + +Common necessary configurations are: + +* PostgreSQL user and password. +* Custom addon paths beyond the defaults, to load your own modules. + +A typical way to run the server would be: + +.. code-block:: doscon + + C:\> cd CommunityPath/ + C:\> python odoo-bin -r dbuser -w dbpassword --addons-path=addons -d mydb + +Where `CommunityPath` is the path of the Odoo Community installation, `dbuser` is the +PostgreSQL login, `dbpassword` is the PostgreSQL password +and `mydb` is the default database to serve on `localhost:8069`. You can add other +directory paths separated by a comma to ``addons`` at the end of the addons-path option. + +Linux +----- + +Fetch the sources +''''''''''''''''' + +There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**. + +Archive +^^^^^^^ + +Community Edition: + +* `Official download page `_ +* `GitHub repository `_ +* `Nightly server `_ + +Enterprise Edition: + +* `Official download page `_ +* `GitHub repository `_ + +Git +^^^ + +The following requires git_ to be installed on your machine and that you have basic knowledge of +git commands. + +Community Edition: + +.. code-block:: console + + $ git clone https://github.com/odoo/odoo.git + + +Enterprise Edition: (see :ref:`setup/install/editions` to get access) + +.. code-block:: console + + $ git clone https://github.com/odoo/enterprise.git + +.. 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. + +Prepare +''''''' + +Python +^^^^^^ + +Odoo requires Python 3.6 or later to run. Use your package manager to download and install Python 3 +on your machine if it is not already done. + +.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous + versions are not compatible with Odoo. + + .. code-block:: console + + $ python3 --version + + Verify also that pip_ is installed for this version. + + .. code-block:: console + + $ pip3 --version + +PostgreSQL +^^^^^^^^^^ + +Odoo uses PostgreSQL as database management system. Use your package manager to download and install +PostgreSQL (supported version: 10.0 and later). + +On Debian/Unbuntu, it can be achieved by executing the following: + +.. code-block:: console + + $ sudo apt install postgresql postgresql-client + +By default, the only user is `postgres` but Odoo forbids connecting as `postgres`, so you need to +create a new PostgreSQL user: + +.. code-block:: console + + $ sudo -u postgres createuser -s $USER + $ createdb $USER + +.. note:: Because your PostgreSQL user has the same name as your Unix login, you will be able to + connect to the database without password. + +Dependencies +^^^^^^^^^^^^ + +For libraries using native code, it is necessary to install development tools and native +dependencies before the Python dependencies of Odoo. They are available in `-dev` or `-devel` +packages for Python, PostgreSQL, libxml2, libxslt1, libevent, libsasl2 and libldap2. + +On Debian/Unbuntu, the following command should install all the required libraries: + +.. code-block:: console + + $ sudo apt install python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev \ + libtiff5-dev libjpeg8-dev libopenjp2-7-dev zlib1g-dev libfreetype6-dev \ + liblcms2-dev libwebp-dev libharfbuzz-dev libfribidi-dev libxcb1-dev libpq-dev + +Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo +community directory. + +.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo + or with your system. You can use virtualenv_ to create isolated Python environments. + +Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** +on the requirements file: + +.. code-block:: console + + $ cd /CommunityPath + $ pip3 install setuptools wheel + $ pip3 install -r requirements.txt + +.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in + version `0.12.5 `_ for it to support headers and + footers. See our `wiki `_ for more + details on the various versions. + +For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is +needed: + +#. Download and install **nodejs** and **npm** with your package manager. +#. Install `rtlcss`: + + .. code-block:: console + + $ sudo npm install -g rtlcss + +Running Odoo +'''''''''''' + +Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the +command-line interface of the server. It is located at the root of the Odoo Community directory. + +To configure the server, you can either specify :ref:`command-line arguments ` or a +:ref:`configuration file `. + +.. tip:: For the Enterprise edition, you must add the path to the `enterprise` addons to the + `addons-path` argument. Note that it must come before the other paths in `addons-path` for + addons to be loaded correctly. + +Common necessary configurations are: + +* PostgreSQL user and password. Odoo has no defaults beyond + `psycopg2's defaults `_: connects over a UNIX socket on + port `5432` with the current user and no password. +* Custom addon paths beyond the defaults, to load your own modules. + +A typical way to run the server would be: + +.. code-block:: console + + $ cd /CommunityPath + $ python3 odoo-bin --addons-path=addons -d mydb + +Where `CommunityPath` is the path of the Odoo Community installation +and `mydb` is the default database to serve on `localhost:8069`. You can add other +directory paths separated by a comma to ``addons`` at the end of the addons-path option. + +Mac OS +------ + +Fetch the sources +''''''''''''''''' + +There are two ways to obtain the source code of Odoo: as a zip **archive** or through **git**. + +Archive +^^^^^^^ + +Community Edition: + +* `Official download page `_ +* `GitHub repository `_ +* `Nightly server `_ + +Enterprise Edition: + +* `Official download page `_ +* `GitHub repository `_ + +Git +^^^ + +The following requires git_ to be installed on your machine and that you have basic knowledge of +git commands. + +Community Edition: + +.. code-block:: console + + $ git clone https://github.com/odoo/odoo.git + + +Enterprise Edition: (see :ref:`setup/install/editions` to get access) + +.. code-block:: console + + $ git clone https://github.com/odoo/enterprise.git + +.. 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. + +Prepare +''''''' + +Python +^^^^^^ + +Odoo requires Python 3.6 or later to run. Use your preferred package manager (homebrew_, macports_) +to download and install Python 3 on your machine if it is not already done. + +.. note:: If Python 3 is already installed, make sure that the version is 3.6 or above, as previous + versions are not compatible with Odoo. + + .. code-block:: console + + $ python3 --version + + Verify also that pip_ is installed for this version. + + .. code-block:: console + + $ pip3 --version + +PostgreSQL +^^^^^^^^^^ + +Odoo uses PostgreSQL as database management system. Use `postgres.app `_ +to download and install PostgreSQL (supported version: 10.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: + +.. code-block:: console + + $ sudo -u postgres createuser -s $USER + $ createdb $USER + +.. note:: Because your PostgreSQL user has the same name as your Unix login, you will be able to + connect to the database without password. + +Dependencies +^^^^^^^^^^^^ + +Odoo dependencies are listed in the `requirements.txt` file located at the root of the Odoo +community directory. + +.. tip:: It can be preferable to not mix python modules packages between different instances of Odoo + or with your system. You can use virtualenv_ to create isolated Python environments. + +Navigate to the path of your Odoo Community installation (`CommunityPath`) and run **pip** +on the requirements file: + +.. code-block:: console + + $ cd /CommunityPath + $ pip3 install setuptools wheel + $ pip3 install -r requirements.txt + +.. warning:: Non-Python dependencies need to be installed with a package manager: + + #. Download and install the **Command Line Tools**: + + .. code-block:: console + + $ xcode-select --install + + #. Download and install the package manager of your choice (homebrew_, macports_). + #. Install non-python dependencies. + +.. warning:: `wkhtmltopdf` is not installed through **pip** and must be installed manually in + version `0.12.5 `_ for it to support headers and + footers. See our `wiki `_ for more + details on the various versions. + +For languages with right-to-left interface (such as Arabic or Hebrew), the package `rtlcss` is +needed: + +#. Download and install **nodejs** with your preferred package manager (homebrew_, macports_). +#. Install `rtlcss`: + + .. code-block:: console + + $ sudo npm install -g rtlcss + +Running Odoo +'''''''''''' + +Once all dependencies are set up, Odoo can be launched by running `odoo-bin`, the +command-line interface of the server. It is located at the root of the Odoo Community directory. + +To configure the server, you can either specify :ref:`command-line arguments ` or a +:ref:`configuration file `. + +.. tip:: For the Enterprise edition, you must add the path to the `enterprise` addons to the + `addons-path` argument. Note that it must come before the other paths in `addons-path` for + addons to be loaded correctly. + +Common necessary configurations are: + +* PostgreSQL user and password. Odoo has no defaults beyond + `psycopg2's defaults `_: connects over a UNIX socket on + port `5432` with the current user and no password. +* Custom addon paths beyond the defaults, to load your own modules. + +A typical way to run the server would be: + +.. code-block:: console + + $ cd /CommunityPath + $ python3 odoo-bin --addons-path=addons -d mydb + +Where `CommunityPath` is the path of the Odoo Community installation +and `mydb` is the default database to serve on `localhost:8069`. You can add other +directory paths separated by a comma to ``addons`` at the end of the addons-path option. + + +.. _setup/install/docker: + +Docker +====== + +The full documentation on how to use Odoo with Docker can be found on the +official Odoo `docker image `_ page. + +.. _Debian Buster: https://www.debian.org/releases/buster/ +.. _demo: https://demo.odoo.com +.. _docker: https://www.docker.com +.. _download: https://www.odoo.com/page/download +.. _Ubuntu 18.04: http://releases.ubuntu.com/18.04/ +.. _EPEL: https://fedoraproject.org/wiki/EPEL +.. _PostgreSQL: http://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 +.. _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 +.. _pip: https://pip.pypa.io +.. _macports: https://www.macports.org +.. _homebrew: http://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/ +.. _community-repository: https://github.com/odoo/odoo +.. _enterprise-repository: https://github.com/odoo/enterprise +.. _git: https://git-scm.com/ +.. _Editions: https://www.odoo.com/pricing#pricing_table_features +.. _nightly: https://nightly.odoo.com/ +.. _extra: https://nightly.odoo.com/extra/ diff --git a/content/administration/maintain.rst b/content/administration/maintain.rst new file mode 100644 index 000000000..71cf39e33 --- /dev/null +++ b/content/administration/maintain.rst @@ -0,0 +1,14 @@ +:nosearch: + +======== +Maintain +======== + +.. toctree:: + + maintain/update + maintain/db_upgrade + maintain/enterprise + maintain/hosting_changes + maintain/db_premise + maintain/supported_versions diff --git a/content/administration/db_management/db_premise.rst b/content/administration/maintain/db_premise.rst similarity index 100% rename from content/administration/db_management/db_premise.rst rename to content/administration/maintain/db_premise.rst diff --git a/content/administration/db_upgrade.rst b/content/administration/maintain/db_upgrade.rst similarity index 96% rename from content/administration/db_upgrade.rst rename to content/administration/maintain/db_upgrade.rst index 967d07170..f37abac61 100644 --- a/content/administration/db_upgrade.rst +++ b/content/administration/maintain/db_upgrade.rst @@ -6,9 +6,9 @@ .. _db-upgrade: -======= -Upgrade -======= +================ +Versions upgrade +================ .. _db-upgrade/overview: @@ -20,8 +20,7 @@ Overview The upgrade process ------------------- -This documentation is for our *On-Premise* (self-hosted) and *Odoo.sh* customers. If you are hosted -Online, please check our :ref:`instruction page for our Online (SaaS) customers `. +This documentation is for our *On-Premise* (self-hosted) and *Odoo.sh* customers. .. _db-upgrade/definition: @@ -109,8 +108,7 @@ The upgrade process varies depending on where your database is hosted. Online (SaaS) ------------- -If you are hosted Online, please check our :ref:`instruction page for our Online (SaaS) customers -`. +If you are hosted Online, please check your `database manager `_. .. _db-upgrade/odoo-sh: @@ -118,7 +116,7 @@ Odoo.sh ------- If you are Odoo.sh hosted, check our :doc:`specific instructions to be able to upgrade -`. +<../odoo_sh/advanced/upgrade_your_database>`. .. _db-upgrade/on-premise: @@ -351,7 +349,7 @@ for the production request. Upgrade of the custom modules ----------------------------- -As stated in our :doc:`../legal/terms/enterprise`, section :ref:`charges_standard`, this optional +As stated in our :doc:`/legal/terms/enterprise`, section :ref:`charges_standard`, this optional service is subject to additional fees. If you have a custom code, you can choose to have it upgraded by our services, by one of our @@ -376,7 +374,7 @@ Switching the hosting types (Self-hosted vs Online vs Odoo.sh) An upgrade does not cover a change of `Hosting types `_. Open the following link to get :doc:`more information about how to change your hosting type -`. +`. .. note:: |assistance-contact| @@ -412,4 +410,4 @@ This is a factor to take into consideration before upgrading. If you are on an o suggest you to prefer the most recent version to benefit from a longer support (before having to upgrade again). -You can get more information about our :doc:`supported versions <../services/support/supported_versions>`. +You can get more information about our :doc:`supported versions `. diff --git a/content/administration/enterprise.rst b/content/administration/maintain/enterprise.rst similarity index 97% rename from content/administration/enterprise.rst rename to content/administration/maintain/enterprise.rst index 455c5234f..8b87aa23c 100644 --- a/content/administration/enterprise.rst +++ b/content/administration/maintain/enterprise.rst @@ -1,9 +1,9 @@ .. _setup/enterprise: -============================ -From Community to Enterprise -============================ +=============================== +Upgrade Community to Enterprise +=============================== Depending on your current installation, there are multiple ways to upgrade your community version. diff --git a/content/administration/enterprise/db_manager.png b/content/administration/maintain/enterprise/db_manager.png similarity index 100% rename from content/administration/enterprise/db_manager.png rename to content/administration/maintain/enterprise/db_manager.png diff --git a/content/administration/enterprise/enterprise_code.png b/content/administration/maintain/enterprise/enterprise_code.png similarity index 100% rename from content/administration/enterprise/enterprise_code.png rename to content/administration/maintain/enterprise/enterprise_code.png diff --git a/content/administration/enterprise/windows_setup.png b/content/administration/maintain/enterprise/windows_setup.png similarity index 100% rename from content/administration/enterprise/windows_setup.png rename to content/administration/maintain/enterprise/windows_setup.png diff --git a/content/administration/enterprise/windows_uninstall.png b/content/administration/maintain/enterprise/windows_uninstall.png similarity index 100% rename from content/administration/enterprise/windows_uninstall.png rename to content/administration/maintain/enterprise/windows_uninstall.png diff --git a/content/administration/db_management/hosting_changes.rst b/content/administration/maintain/hosting_changes.rst similarity index 98% rename from content/administration/db_management/hosting_changes.rst rename to content/administration/maintain/hosting_changes.rst index b1a412158..55a9dab5f 100644 --- a/content/administration/db_management/hosting_changes.rst +++ b/content/administration/maintain/hosting_changes.rst @@ -1,9 +1,9 @@ .. _db_management/hosting_changes: -=============== -Hosting Changes -=============== +======================= +Change hosting solution +======================= You may want to move your Odoo database from one hosting solution to another. Depending on the platforms, you have to do it by yourself or contact our support team first. @@ -59,4 +59,3 @@ From Odoo.sh to on-premises 1. Grab a :ref:`backup of your Odoo.sh production database `. 2. Restore it from the database manager on your local server. - diff --git a/content/administration/db_management/media/add_more_users.png b/content/administration/maintain/media/add_more_users.png similarity index 100% rename from content/administration/db_management/media/add_more_users.png rename to content/administration/maintain/media/add_more_users.png diff --git a/content/administration/db_management/media/database_expired.png b/content/administration/maintain/media/database_expired.png similarity index 100% rename from content/administration/db_management/media/database_expired.png rename to content/administration/maintain/media/database_expired.png diff --git a/content/administration/media/db-upgrade-production-assistance-details.png b/content/administration/maintain/media/db-upgrade-production-assistance-details.png similarity index 100% rename from content/administration/media/db-upgrade-production-assistance-details.png rename to content/administration/maintain/media/db-upgrade-production-assistance-details.png diff --git a/content/administration/media/db-upgrade-production-purpose.png b/content/administration/maintain/media/db-upgrade-production-purpose.png similarity index 100% rename from content/administration/media/db-upgrade-production-purpose.png rename to content/administration/maintain/media/db-upgrade-production-purpose.png diff --git a/content/administration/media/db-upgrade-test-assistance-details.png b/content/administration/maintain/media/db-upgrade-test-assistance-details.png similarity index 100% rename from content/administration/media/db-upgrade-test-assistance-details.png rename to content/administration/maintain/media/db-upgrade-test-assistance-details.png diff --git a/content/administration/media/db-upgrade-test-assistance.png b/content/administration/maintain/media/db-upgrade-test-assistance.png similarity index 100% rename from content/administration/media/db-upgrade-test-assistance.png rename to content/administration/maintain/media/db-upgrade-test-assistance.png diff --git a/content/administration/media/db-upgrade-test-purpose.png b/content/administration/maintain/media/db-upgrade-test-purpose.png similarity index 100% rename from content/administration/media/db-upgrade-test-purpose.png rename to content/administration/maintain/media/db-upgrade-test-purpose.png diff --git a/content/administration/db_management/media/db_manager.gif b/content/administration/maintain/media/db_manager.gif similarity index 100% rename from content/administration/db_management/media/db_manager.gif rename to content/administration/maintain/media/db_manager.gif diff --git a/content/administration/db_management/media/db_uuid.png b/content/administration/maintain/media/db_uuid.png similarity index 100% rename from content/administration/db_management/media/db_uuid.png rename to content/administration/maintain/media/db_uuid.png diff --git a/content/administration/db_management/media/error_message_sub_code.png b/content/administration/maintain/media/error_message_sub_code.png similarity index 100% rename from content/administration/db_management/media/error_message_sub_code.png rename to content/administration/maintain/media/error_message_sub_code.png diff --git a/content/administration/db_management/media/unlink_confirm_enterprise_edition.png b/content/administration/maintain/media/unlink_confirm_enterprise_edition.png similarity index 100% rename from content/administration/db_management/media/unlink_confirm_enterprise_edition.png rename to content/administration/maintain/media/unlink_confirm_enterprise_edition.png diff --git a/content/administration/db_management/media/unlink_db_name_collision.png b/content/administration/maintain/media/unlink_db_name_collision.png similarity index 100% rename from content/administration/db_management/media/unlink_db_name_collision.png rename to content/administration/maintain/media/unlink_db_name_collision.png diff --git a/content/administration/db_management/media/unlink_single_db.png b/content/administration/maintain/media/unlink_single_db.png similarity index 100% rename from content/administration/db_management/media/unlink_single_db.png rename to content/administration/maintain/media/unlink_single_db.png diff --git a/content/services/support/supported_versions.rst b/content/administration/maintain/supported_versions.rst similarity index 98% rename from content/services/support/supported_versions.rst rename to content/administration/maintain/supported_versions.rst index 7abfea240..6a083f0a4 100644 --- a/content/services/support/supported_versions.rst +++ b/content/administration/maintain/supported_versions.rst @@ -82,4 +82,4 @@ OpenERP 7.0, 6.1, 6.0 and 5.0 is not supported anymore, on any platform. TinyERP 4.0, 3.0, 2.0 and 1.0 is not supported anymore, on any platform. -You should consider `upgrading `_ your database. +Even though we don't support older versions, you can always `upgrade from any version `_. diff --git a/content/administration/update.rst b/content/administration/maintain/update.rst similarity index 98% rename from content/administration/update.rst rename to content/administration/maintain/update.rst index ffea3dcf7..bbf993e35 100644 --- a/content/administration/update.rst +++ b/content/administration/maintain/update.rst @@ -1,9 +1,9 @@ .. _setup/update: -============================= -Updating an Odoo installation -============================= +============== +Bugfix updates +============== Introduction ============ @@ -147,4 +147,4 @@ Docker ------ Please refer to our `Docker image documentation `_ for -specific update instructions. \ No newline at end of file +specific update instructions. diff --git a/content/administration/odoo_sh.rst b/content/administration/odoo_sh.rst index d14129f67..76e7e0292 100644 --- a/content/administration/odoo_sh.rst +++ b/content/administration/odoo_sh.rst @@ -1,7 +1,7 @@ :nosearch: ======= -Odoo sh +Odoo.sh ======= diff --git a/content/administration/odoo_sh/advanced/containers.rst b/content/administration/odoo_sh/advanced/containers.rst index 0b7b18d27..3e1abaad7 100644 --- a/content/administration/odoo_sh/advanced/containers.rst +++ b/content/administration/odoo_sh/advanced/containers.rst @@ -167,7 +167,7 @@ In the above commands, the argument: * ``--stop-after-init`` will immediately shutdown the server instance after it completed the operations you asked. More options are available and detailed in the -:doc:`CLI documentation `. +:doc:`CLI documentation `. 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*": diff --git a/content/administration/odoo_sh/getting_started/branches.rst b/content/administration/odoo_sh/getting_started/branches.rst index e4443f420..15063dabf 100644 --- a/content/administration/odoo_sh/getting_started/branches.rst +++ b/content/administration/odoo_sh/getting_started/branches.rst @@ -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 `. +:doc:`the command line `. In the case the changes in the commit prevent the server to restart, or if the modules update fails, diff --git a/content/administration/odoo_sh/getting_started/create.rst b/content/administration/odoo_sh/getting_started/create.rst index e91d74f4d..d004cfe55 100644 --- a/content/administration/odoo_sh/getting_started/create.rst +++ b/content/administration/odoo_sh/getting_started/create.rst @@ -79,7 +79,7 @@ Import your database ==================== You can import your database in your Odoo.sh project as long as it is in a :doc:`supported version -` of Odoo. +` of Odoo. Push your modules in production ------------------------------- diff --git a/content/applications.rst b/content/applications.rst index cb2528d55..38b03ab93 100644 --- a/content/applications.rst +++ b/content/applications.rst @@ -1,11 +1,18 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: -============ -Applications -============ + +========= +User Docs +========= + +Discover our user guides and configuration tutorials per application. .. toctree:: + :maxdepth: 2 applications/finance applications/sales diff --git a/content/applications/finance/accounting.rst b/content/applications/finance/accounting.rst index aef28dbe8..0a411dfd4 100644 --- a/content/applications/finance/accounting.rst +++ b/content/applications/finance/accounting.rst @@ -1,9 +1,25 @@ +:nosearch: :show-content: +:hide-page-toc: +:show-toc: ======================== Accounting and Invoicing ======================== +**Odoo Invoicing** is a standalone invoicing app to create invoices, send them to your customers, +and manage payments. + +**Odoo Accounting** is a full featured accounting app. Accountant productivity is at the core of its +development with features such as AI-powered invoice recognition, synchronization with your bank +accounts, smart matching suggestions, etc. + +.. seealso:: + - `Odoo Tutorials: Invoicing `_ + - `Odoo Tutorials: Accounting `_ + - :doc:`Accounting Cheat Sheet ` + + .. toctree:: :titlesonly: @@ -15,155 +31,3 @@ Accounting and Invoicing accounting/reporting accounting/others accounting/fiscal_localizations - -**Odoo Invoicing** is a standalone invoicing app that allows you to :doc:`issue invoices -`, send them to your customers, and manage -payments, including :doc:`online payments -`. It works as a "lighter" version of Odoo -Accounting, and you can upgrade it to Odoo Accounting if you need more advanced accounting features. - -**Odoo Accounting** is a complete and strong accounting app. The automation of processes is at the -core of its development with its perfect integration with all Odoo apps and with features such as -:doc:`AI-powered invoice recognition `, -:doc:`synchronization with your bank accounts `, and -:doc:`automatic suggestions for a simplified reconciliation process -`. - -.. seealso:: - - `Odoo Invoicing: product page `_ - - `Odoo Accounting: product page `_ - -Double-entry bookkeeping -======================== - -Odoo automatically creates all the behind-the-scenes journal entries -for each of your accounting transactions: customer invoices, point of -sale order, expenses, inventory moves, etc. - -Odoo uses the rules of double-entry bookkeeping system: all journal -entries are automatically balanced (sum of debits = sum of credits). - -.. seealso:: - - :doc:`Understand Odoo's accounting transactions per document - ` - -Accrual and Cash Basis Methods -============================== - -Odoo supports both accrual and cash basis reporting. This allows you to -report income / expense at the time transactions occur (i.e., accrual basis), or when -payment is made or received (i.e., cash basis). - -Multi-companies -=============== - -Odoo allows one to manage several companies within the same database. Each -company has its own chart of accounts and rules. You can get -consolidation reports following your consolidation rules. - -Users can access several companies but always work in one company at a -time. - -Multi-currencies -================ - -Every transaction is recorded in the default currency of the -company. For transactions occurring in another currency, Odoo stores -both the value in the currency of the company and the value in the -currency of the transaction. Odoo can generate currencies gains and -losses after the reconciliation of the journal items. - -Currency rates are updated once a day using a yahoo.com online -web-service. - -International Standards -======================= - -Odoo accounting supports more than 50 countries. The Odoo core -accounting implements accounting standards that are common to all -countries. Specific modules exist per country for the -specificities of the country like the chart of accounts, taxes, or -bank interfaces. - -In particular, Odoo's core accounting engine supports: - -* Anglo-Saxon Accounting (U.S., U.K.,, and other English-speaking - countries including Ireland, Canada, Australia, and New Zealand) - where costs of good sold are reported when products are - sold/delivered. -* European accounting where expenses are accounted at the supplier - bill. - -Odoo has modules to comply with IFRS rules. - -Accounts Receivable and Payable -=============================== - -By default, Odoo uses a single account for all account -receivable entries and one for all accounts payable entries. You can -create separate accounts per customers/suppliers, but you don't need -to. - -As transactions are associated to customers or suppliers, you get -reports to perform analysis per customer/supplier such as the customer -statement, revenues per customers, aged receivable/payables, ... - -Wide range of financial reports -=============================== - -In Odoo, you can generate financial reports in real time. Odoo's -reports range from basic accounting reports to advanced management -reports. Odoo's reports include: - -* Performance reports (such as Profit and Loss, Budget Variance) -* Position reports (such as Balance Sheet, Aged Payables, Aged - Receivables) -* Cash reports (such as Bank Summary) -* Detail reports (such as Trial Balance and General Ledger) -* Management reports (such as Budgets, Executive Summary) - -Odoo's report engine allows you to customize your own report based on -your own formulae. - -Import bank feeds automatically -=============================== - -Bank reconciliation is a process that matches your bank statement -lines, as supplied by the bank, to your accounting transactions in the -general ledger. Odoo makes bank reconciliation easy by frequently -importing bank statement lines from your bank directly into your Odoo -account. This means you can have a daily view of your cashflow without -having to log into your online banking or wait for your paper bank -statements. - -Odoo speeds up bank reconciliation by matching most of your imported -bank statement lines to your accounting transactions. Odoo also -remembers how you've treated other bank statement lines and provides -suggested general ledger transactions. - -Calculate the tax you owe your tax authority -============================================ - -Odoo totals all your accounting transactions for your tax period and -uses these totals to calculate your tax obligation. You can then check -your sales tax by running Odoo's Tax Report. - -Inventory Valuation -=================== - -Odoo support both periodic (manual) and perpetual (automated) -inventory valuations. The available methods are standard price, -average price, LIFO (for countries allowing it) and FIFO. - -.. seealso:: - - :doc:`View impact of the valuation method on your transactions - <../inventory_and_mrp/inventory/management/reporting/inventory_valuation_config>` - -Easy retained earnings -====================== - -Retained earnings are the portion of income retained by your -business. Odoo automatically calculates your current year earnings in -real time so no year-end journal or rollover is required. This is -calculated by reporting the profit and loss balance to your balance -sheet report automatically. diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst index e9da7e929..d97bcd514 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst @@ -2,44 +2,44 @@ France ====== -FEC +FEC === If you have installed the French Accounting, you will be able to download the FEC. -For this, go in :menuselection:`Accounting --> Reporting --> France --> FEC`. +For this, go in :menuselection:`Accounting --> Reporting --> France --> FEC`. .. tip:: If you do not see the submenu **FEC**, go in **Apps** and search for the module - called **France-FEC** and verify if it is well installed. + called **France-FEC** and verify if it is well installed. French Accounting Reports ========================= -If you have installed the French Accounting, you will have access to some accounting reports specific to France: +If you have installed the French Accounting, you will have access to some accounting reports specific to France: - Bilan comptable - Compte de résultats -- Plan de Taxes France +- Plan de Taxes France Get the VAT anti-fraud certification with Odoo ============================================== -As of January 1st 2018, a new anti-fraud legislation comes into effect -in France and DOM-TOM. This new legislation stipulates certain criteria -concerning the inalterability, security, storage and archiving of sales data. -These legal requirements are implemented in Odoo, version 9 onward, +As of January 1st 2018, a new anti-fraud legislation comes into effect +in France and DOM-TOM. This new legislation stipulates certain criteria +concerning the inalterability, security, storage and archiving of sales data. +These legal requirements are implemented in Odoo, version 9 onward, through a module and a certificate of conformity to download. Is my company required to use an anti-fraud software? ----------------------------------------------------- -Your company is required to use an anti-fraud cash register software like +Your company is required to use an anti-fraud cash register software like Odoo (CGI art. 286, I. 3° bis) if: * You are taxable (not VAT exempt) in France or any DOM-TOM, * Some of your customers are private individuals (B2C). -This rule applies to any company size. Auto-entrepreneurs are exempted from +This rule applies to any company size. Auto-entrepreneurs are exempted from VAT and therefore are not affected. Get certified with Odoo @@ -47,13 +47,12 @@ Get certified with Odoo Getting compliant with Odoo is very easy. -Your company is requested by the tax administration to deliver a certificate +Your company is requested by the tax administration to deliver a certificate of conformity testifying that your software complies with the anti-fraud -legislation. This certificate is granted by Odoo SA to Odoo Enterprise users +legislation. This certificate is granted by Odoo SA to Odoo Enterprise users `here `_. -If you use Odoo Community, you should -:doc:`upgrade to Odoo Enterprise ` -or contact your Odoo service provider. +If you use Odoo Community, you should :doc:`upgrade to Odoo Enterprise +` or contact your Odoo service provider. In case of non-conformity, your company risks a fine of €7,500. @@ -89,52 +88,52 @@ Anti-fraud features The anti-fraud module introduces the following features: -* **Inalterability**: deactivation of all the ways to cancel or modify +* **Inalterability**: deactivation of all the ways to cancel or modify key data of POS orders, invoices and journal entries; * **Security**: chaining algorithm to verify the inalterability; -* **Storage**: automatic sales closings with computation of both period +* **Storage**: automatic sales closings with computation of both period and cumulative totals (daily, monthly, annually). Inalterability ~~~~~~~~~~~~~~ -All the possible ways to cancel and modify key data of paid POS orders, -confirmed invoices and journal entries are deactivated, -if the company is located in France or in any DOM-TOM. +All the possible ways to cancel and modify key data of paid POS orders, +confirmed invoices and journal entries are deactivated, +if the company is located in France or in any DOM-TOM. -.. note:: If you run a multi-companies environment, only the documents of +.. note:: If you run a multi-companies environment, only the documents of such companies are impacted. Security ~~~~~~~~ -To ensure the inalterability, every order or journal entry is encrypted -upon validation. -This number (or hash) is calculated from the key data of the document as +To ensure the inalterability, every order or journal entry is encrypted +upon validation. +This number (or hash) is calculated from the key data of the document as well as from the hash of the precedent documents. -The module introduces an interface to test the data inalterability. -If any information is modified on a document after its validation, -the test will fail. The algorithm recomputes all the hashes and compares them -against the initial ones. In case of failure, the system points out the first +The module introduces an interface to test the data inalterability. +If any information is modified on a document after its validation, +the test will fail. The algorithm recomputes all the hashes and compares them +against the initial ones. In case of failure, the system points out the first corrupted document recorded in the system. -Users with *Manager* access rights can launch the inalterability check. -For POS orders, go to -:menuselection:`Point of Sales --> Reporting --> French Statements`. -For invoices or journal entries, +Users with *Manager* access rights can launch the inalterability check. +For POS orders, go to +:menuselection:`Point of Sales --> Reporting --> French Statements`. +For invoices or journal entries, go to :menuselection:`Invoicing/Accounting --> Reporting --> French Statements`. Storage ~~~~~~~ -The system also processes automatic sales closings on a daily, monthly +The system also processes automatic sales closings on a daily, monthly and annual basis. -Such closings distinctly compute the sales total of the period as well as -the cumulative grand totals from the very first sales entry recorded +Such closings distinctly compute the sales total of the period as well as +the cumulative grand totals from the very first sales entry recorded in the system. -Closings can be found in the *French Statements* menu of Point of Sale, +Closings can be found in the *French Statements* menu of Point of Sale, Invoicing and Accounting apps. .. note:: @@ -142,15 +141,15 @@ Invoicing and Accounting apps. * For multi-companies environments, such closings are performed by company. - * POS orders are posted as journal entries at the closing of the POS session. - Closing a POS session can be done anytime. - To prompt users to do it on a daily basis, the module prevents from resuming - a session opened more than 24 hours ago. + * POS orders are posted as journal entries at the closing of the POS session. + Closing a POS session can be done anytime. + To prompt users to do it on a daily basis, the module prevents from resuming + a session opened more than 24 hours ago. Such a session must be closed before selling again. - * A period’s total is computed from all the journal entries posted after the - previous closing of the same type, regardless of their posting date. - If you record a new sales transaction for a period already closed, + * A period’s total is computed from all the journal entries posted after the + previous closing of the same type, regardless of their posting date. + If you record a new sales transaction for a period already closed, it will be counted in the very next closing. .. tip:: For test & audit purposes such closings can be manually generated in the @@ -161,14 +160,14 @@ Invoicing and Accounting apps. Responsibilities ---------------- -Do not uninstall the module! If you do so, the hashes will be reset and none +Do not uninstall the module! If you do so, the hashes will be reset and none of your past data will be longer guaranteed as being inalterable. -Users remain responsible for their Odoo instance and must use it with -due diligence. It is not permitted to modify the source code which guarantees +Users remain responsible for their Odoo instance and must use it with +due diligence. It is not permitted to modify the source code which guarantees the inalterability of data. - -Odoo absolves itself of all and any responsibility in case of changes + +Odoo absolves itself of all and any responsibility in case of changes in the module’s functions caused by 3rd party applications not certified by Odoo. diff --git a/content/applications/finance/accounting/getting_started.rst b/content/applications/finance/accounting/getting_started.rst index c39e7f959..698505090 100644 --- a/content/applications/finance/accounting/getting_started.rst +++ b/content/applications/finance/accounting/getting_started.rst @@ -7,6 +7,7 @@ Getting Started .. toctree:: :titlesonly: + getting_started/main_concept getting_started/memento getting_started/initial_configuration getting_started/process_overview diff --git a/content/applications/finance/accounting/getting_started/main_concept.rst b/content/applications/finance/accounting/getting_started/main_concept.rst new file mode 100644 index 000000000..cd32e0121 --- /dev/null +++ b/content/applications/finance/accounting/getting_started/main_concept.rst @@ -0,0 +1,138 @@ +======================== +Main accounting concepts +======================== + +Double-entry bookkeeping +======================== + +Odoo automatically creates all the behind-the-scenes journal entries +for each of your accounting transactions: customer invoices, point of +sale order, expenses, inventory moves, etc. + +Odoo uses the rules of double-entry bookkeeping system: all journal +entries are automatically balanced (sum of debits = sum of credits). + +.. seealso:: + - :doc:`Understand Odoo's accounting transactions per document + ` + +Accrual and Cash Basis Methods +============================== + +Odoo supports both accrual and cash basis reporting. This allows you to +report income / expense at the time transactions occur (i.e., accrual basis), or when +payment is made or received (i.e., cash basis). + +Multi-companies +=============== + +Odoo allows one to manage several companies within the same database. Each +company has its own chart of accounts and rules. You can get +consolidation reports following your consolidation rules. + +Users can access several companies but always work in one company at a +time. + +Multi-currencies +================ + +Every transaction is recorded in the default currency of the +company. For transactions occurring in another currency, Odoo stores +both the value in the currency of the company and the value in the +currency of the transaction. Odoo can generate currencies gains and +losses after the reconciliation of the journal items. + +Currency rates are updated once a day using a yahoo.com online +web-service. + +International Standards +======================= + +Odoo accounting supports more than 50 countries. The Odoo core +accounting implements accounting standards that are common to all +countries. Specific modules exist per country for the +specificities of the country like the chart of accounts, taxes, or +bank interfaces. + +In particular, Odoo's core accounting engine supports: + +* Anglo-Saxon Accounting (U.S., U.K.,, and other English-speaking + countries including Ireland, Canada, Australia, and New Zealand) + where costs of good sold are reported when products are + sold/delivered. +* European accounting where expenses are accounted at the supplier + bill. + +Odoo has modules to comply with IFRS rules. + +Accounts Receivable and Payable +=============================== + +By default, Odoo uses a single account for all account +receivable entries and one for all accounts payable entries. You can +create separate accounts per customers/suppliers, but you don't need +to. + +As transactions are associated to customers or suppliers, you get +reports to perform analysis per customer/supplier such as the customer +statement, revenues per customers, aged receivable/payables, ... + +Wide range of financial reports +=============================== + +In Odoo, you can generate financial reports in real time. Odoo's +reports range from basic accounting reports to advanced management +reports. Odoo's reports include: + +* Performance reports (such as Profit and Loss, Budget Variance) +* Position reports (such as Balance Sheet, Aged Payables, Aged + Receivables) +* Cash reports (such as Bank Summary) +* Detail reports (such as Trial Balance and General Ledger) +* Management reports (such as Budgets, Executive Summary) + +Odoo's report engine allows you to customize your own report based on +your own formulae. + +Import bank feeds automatically +=============================== + +Bank reconciliation is a process that matches your bank statement +lines, as supplied by the bank, to your accounting transactions in the +general ledger. Odoo makes bank reconciliation easy by frequently +importing bank statement lines from your bank directly into your Odoo +account. This means you can have a daily view of your cashflow without +having to log into your online banking or wait for your paper bank +statements. + +Odoo speeds up bank reconciliation by matching most of your imported +bank statement lines to your accounting transactions. Odoo also +remembers how you've treated other bank statement lines and provides +suggested general ledger transactions. + +Calculate the tax you owe your tax authority +============================================ + +Odoo totals all your accounting transactions for your tax period and +uses these totals to calculate your tax obligation. You can then check +your sales tax by running Odoo's Tax Report. + +Inventory Valuation +=================== + +Odoo support both periodic (manual) and perpetual (automated) +inventory valuations. The available methods are standard price, +average price, LIFO (for countries allowing it) and FIFO. + +.. seealso:: + - :doc:`View impact of the valuation method on your transactions + ` + +Easy retained earnings +====================== + +Retained earnings are the portion of income retained by your +business. Odoo automatically calculates your current year earnings in +real time so no year-end journal or rollover is required. This is +calculated by reporting the profit and loss balance to your balance +sheet report automatically. diff --git a/content/applications/finance/accounting/getting_started/memento.rst b/content/applications/finance/accounting/getting_started/memento.rst index d82ca1bf7..cf383a622 100644 --- a/content/applications/finance/accounting/getting_started/memento.rst +++ b/content/applications/finance/accounting/getting_started/memento.rst @@ -2,9 +2,9 @@ :custom-css: accounting.css :custom-js: accounts.js,chart-of-accounts.js,entries.js,misc.js,reconciliation.js -============================================== -Accounting Memento For Entrepreneurs (US GAAP) -============================================== +====================== +Accounting cheat sheet +====================== .. h:div:: intro-list diff --git a/content/applications/finance/accounting/receivables/customer_invoices/overview.rst b/content/applications/finance/accounting/receivables/customer_invoices/overview.rst index 499aca350..43f9bb981 100644 --- a/content/applications/finance/accounting/receivables/customer_invoices/overview.rst +++ b/content/applications/finance/accounting/receivables/customer_invoices/overview.rst @@ -1,6 +1,6 @@ -================================= -Overview of the invoicing process -================================= +=================== +Invoicing processes +=================== Depending on your business and the application you use, there are different ways to automate the customer invoice creation in Odoo. diff --git a/content/applications/general.rst b/content/applications/general.rst index 0aac3875f..4b85181ee 100644 --- a/content/applications/general.rst +++ b/content/applications/general.rst @@ -1,184 +1,15 @@ -:show-content: - -======= -General -======= +============= +Miscellaneous +============= .. toctree:: general/users - general/export_import_data - general/multi_companies general/auth + general/apps_modules + general/export_import_data general/payment_acquirers general/voip general/calendars general/in_app_purchase - general/unsplash - -**Odoo** is a suite of open source business apps that cover all your company needs: :doc:`CRM -`, :doc:`eCommerce `, :doc:`accounting `, -:doc:`inventory `, :doc:`point of sale `, -:doc:`project management `, etc. Its unique value proposition is to be at the same -time *very easy* to use and *fully integrated*. - -This section of the documentation covers all functional aspects that aren't app-specific. You can -find, for example, information about: - -- :doc:`general/users` and :doc:`general/users/access_rights`, to configure each user correctly. -- :doc:`general/export_import_data`, to transfer data from and to other environments than Odoo or - update data. -- :doc:`general/payment_acquirers`, to allow your customers to pay with their favorite payment - method. -- :doc:`general/auth/google`, as an authentication method. - -.. important:: - - | **Installing or uninstalling apps, managing users, etc., is up to you.** - | As the administrator of your database, you are responsible for its usage, as you know best - how your organization works. This includes the installation or uninstallation of :ref:`apps - ` as well as the number of :doc:`users ` currently in - use. - - | **Odoo apps have dependencies.** - | Installing some apps and features with dependencies may also install additional apps and - modules that are technically required, even if you won't actively use them. - - | **Always test app installation/removal on a duplicate of your database.** - | This way, you can know what app dependencies may be required or what data may be erased. - -.. seealso:: - - :ref:`Online Database management: Duplicate a database ` - - :ref:`On-premises Database management: Duplicate a database ` - - `Submit a Support Ticket `_ - -.. _general/apps-modules: - -Apps and modules -================ - -You can :ref:`install `, :ref:`upgrade ` and :ref:`uninstall -` all apps and modules from the :menuselection:`Apps` dashboard. - -By default, an *Apps* filter is applied. If you want to search for modules (including :doc:`Fiscal -Localization Packages -`), click on -*Filters* and select *Extra*. - -.. image:: general/apps-search-filter.png - :align: center - :alt: Add "Extra" filter in Odoo Apps - -.. warning:: - Odoo is *not a smartphone*, and its apps shouldn't be installed or uninstalled carelessly. Apply - caution when adding or removing apps and modules on your database since this may impact your - subscription costs. - -.. _general/install: - -Install apps and modules ------------------------- - -Go to :menuselection:`Apps`, and click on the *Install* button of the app you want to install. - -.. note:: - If the module you are looking for is not listed, you can **update the app list**. - - To do so, activate the :ref:`developer mode `, then go to :menuselection:`Apps - --> Update Apps List` and click on *Update*. - -.. _general/upgrade: - -Upgrade apps and modules ------------------------- - -On some occasions, new improvements or app features are added to :doc:`supported versions of Odoo -`. To be able to use them, you must **upgrade** your app. - -Go to :menuselection:`Apps`, click on the *dropdown menu* of the app you want to upgrade, then on -*Upgrade*. - -.. _general/uninstall: - -Uninstall apps and modules --------------------------- - -Go to :menuselection:`Apps`, click on the *dropdown menu* of the app you want to uninstall, then on -*Uninstall*. - -.. image:: general/uninstall.png - :align: center - -Some apps have dependencies, meaning that one app requires another. Therefore, uninstalling one app -may uninstall multiple apps and modules. Odoo warns you which dependant apps and modules are -affected by it. - -.. image:: general/uninstall_deps.png - :align: center - -To complete the uninstallation, click on *Confirm*. - -.. danger:: - Uninstalling an app also uninstalls all its dependencies and permanently erases their data. - -.. _developer-mode: - -Activate the developer mode (debug mode) -======================================== - -The developer mode (or debug mode) gives you access to extra and advanced tools. - -Through the Settings --------------------- - -Go to :menuselection:`Settings --> Activate the developer mode`. - -.. image:: general/settings.png - :align: center - :alt: Overview of the debug options under settings in Odoo - -.. note:: - *Activate the developer mode (with assets)* is used by developers; *Activate the developer mode - (with tests assets)* is used by developers and testers. - -Once activated, the *Deactivate the developer mode* option becomes available. - -Through a browser extension ---------------------------- - -| Go to the settings and extensions of your web browser, and search for *Odoo Debug*. Once the - extension is installed, a new icon will be shown on your toolbar. -| For the *Odoo Debug* extension, a single click enables a normal version of the mode, while a - double click enables it with assets. To deactivate it, use a single click. - -.. image:: general/monkey.png - :align: center - :alt: View of odoo’s debug icon in a chrome’s toolbar - -Through the URL ---------------- - -In the URL add ``?debug=1`` or ``?debug=true`` after *web*. - -.. image:: general/url.png - :align: center - :alt: Overview of an url with the debug mode command added in Odoo - -.. tip:: - Developers: type ``?debug=assets`` and activate the mode with assets. - -Locate the mode tools ---------------------- - -The Developer mode tools can be accessed from the *Open Developer Tools* button, located on the -header of your pages. - -.. image:: general/button_location.png - :align: center - :alt: Overview of a console page and the debug icon being shown in Odoo - -Mobile Push Notifications -========================= - -As of Odoo 12.0, 13.0 or above, there is no more complex configuration to enable push -notifications in the mobile app. - -Simply go to :menuselection:`Settings --> General Settings --> Odoo Cloud Notification (OCN)` -and make sure that **Push Notifications** is checked. + general/developer_mode diff --git a/content/applications/general/apps_modules.rst b/content/applications/general/apps_modules.rst new file mode 100644 index 000000000..ba96e90ed --- /dev/null +++ b/content/applications/general/apps_modules.rst @@ -0,0 +1,76 @@ +================ +Apps and modules +================ + +You can :ref:`install `, :ref:`upgrade ` and :ref:`uninstall +` all apps and modules from the :menuselection:`Apps` dashboard. + +By default, an *Apps* filter is applied. If you want to search for modules, click on +*Filters* and select *Extra*. + +.. image:: apps-search-filter.png + :align: center + :alt: Add "Extra" filter in Odoo Apps + +.. warning:: + Odoo is *not a smartphone*, and its apps shouldn't be installed or uninstalled carelessly. Apply + caution when adding or removing apps and modules on your database since this may impact your + subscription costs. + + - | **Installing or uninstalling apps and managing users is up to you.** + | As the administrator of your database, you are responsible for its usage, as you know best + how your organization works. + - | **Odoo apps have dependencies.** + | Installing some apps and features with dependencies may also install additional apps and + modules that are technically required, even if you won't actively use them. + - | **Test app installation/removal on a duplicate of your database.** + | This way, you can know what app dependencies may be required or what data may be erased. + +.. _general/install: + +Install apps and modules +======================== + +Go to :menuselection:`Apps`, and click on the *Install* button of the app you want to install. + +.. note:: + If the module you are looking for is not listed, you can **update the app list**. + + To do so, activate the :ref:`developer mode `, then go to :menuselection:`Apps + --> Update Apps List` and click on *Update*. + +.. _general/upgrade: + +Upgrade apps and modules +======================== + +On some occasions, new improvements or app features are added to :doc:`supported versions of Odoo +`. To be able to use them, you must **upgrade** your app. + +Go to :menuselection:`Apps`, click on the *dropdown menu* of the app you want to upgrade, then on +*Upgrade*. + +.. _general/uninstall: + +Uninstall apps and modules +========================== + +Go to :menuselection:`Apps`, click on the *dropdown menu* of the app you want to uninstall, then on +*Uninstall*. + +.. image:: uninstall.png + :align: center + +Some apps have dependencies, meaning that one app requires another. Therefore, uninstalling one app +may uninstall multiple apps and modules. Odoo warns you which dependant apps and modules are +affected by it. + +.. image:: uninstall_deps.png + :align: center + +To complete the uninstallation, click on *Confirm*. + +.. danger:: + Uninstalling an app also uninstalls all its dependencies and permanently erases their data. + + diff --git a/content/applications/general/auth.rst b/content/applications/general/auth.rst index 92d779b8a..955d455ab 100644 --- a/content/applications/general/auth.rst +++ b/content/applications/general/auth.rst @@ -8,7 +8,6 @@ Authentication :titlesonly: auth/google - auth/google_spreadsheets auth/azure auth/ldap auth/2fa diff --git a/content/applications/general/auth/ldap.rst b/content/applications/general/auth/ldap.rst index cdabd8335..2f6202646 100644 --- a/content/applications/general/auth/ldap.rst +++ b/content/applications/general/auth/ldap.rst @@ -1,6 +1,6 @@ -======================================= -How to allow users to sign in with LDAP -======================================= +================= +Sign in with LDAP +================= - Install the LDAP module in General Settings. diff --git a/content/applications/general/developer_mode.rst b/content/applications/general/developer_mode.rst new file mode 100644 index 000000000..c24699411 --- /dev/null +++ b/content/applications/general/developer_mode.rst @@ -0,0 +1,57 @@ +.. _developer-mode: + +=========================== +Developer Mode (debug mode) +=========================== + +The developer mode (or debug mode) gives you access to extra and advanced tools. + +Activate through the Settings +============================= + +Go to :menuselection:`Settings --> Activate the developer mode`. + +.. image:: settings.png + :align: center + :alt: Overview of the debug options under settings in Odoo + +.. note:: + *Activate the developer mode (with assets)* is used by developers; *Activate the developer mode + (with tests assets)* is used by developers and testers. + +Once activated, the *Deactivate the developer mode* option becomes available. + +Activate through a browser extension +==================================== + +| Go to the settings and extensions of your web browser, and search for *Odoo Debug*. Once the + extension is installed, a new icon will be shown on your toolbar. +| For the *Odoo Debug* extension, a single click enables a normal version of the mode, while a + double click enables it with assets. To deactivate it, use a single click. + +.. image:: monkey.png + :align: center + :alt: View of odoo’s debug icon in a chrome’s toolbar + +Activate through the URL +======================== + +In the URL add ``?debug=1`` or ``?debug=true`` after *web*. + +.. image:: url.png + :align: center + :alt: Overview of an url with the debug mode command added in Odoo + +.. tip:: + Developers: type ``?debug=assets`` and activate the mode with assets. + +Locate the mode tools +===================== + +The Developer mode tools can be accessed from the *Open Developer Tools* button, located on the +header of your pages. + +.. image:: button_location.png + :align: center + :alt: Overview of a console page and the debug icon being shown in Odoo + diff --git a/content/applications/general/in_app_purchase.rst b/content/applications/general/in_app_purchase.rst index 33e61eba6..47d2e50b4 100644 --- a/content/applications/general/in_app_purchase.rst +++ b/content/applications/general/in_app_purchase.rst @@ -68,4 +68,4 @@ Offering my own services I am more than welcome to offer my own IAP services through Odoo Apps! It is the perfect opportunity to get recurring revenue for an ongoing service use rather than — and possibly instead of — a sole initial purchase. Please, find more information at: :doc:`In-App Purchase -`. +`. diff --git a/content/applications/general/users.rst b/content/applications/general/users.rst index 253d7c846..a378105a6 100644 --- a/content/applications/general/users.rst +++ b/content/applications/general/users.rst @@ -1,161 +1,20 @@ -:show-content: +:nosearch: +:hide-page-toc: +:show-toc: -============== -Users settings -============== - -.. toctree:: - :titlesonly: - - users/language - users/access_rights +================= +Users & Companies +================= Odoo defines a *user* as someone who has access to a database to perform daily tasks. You can add as many users as you need and, in order to restrict the type of information each user can access, rules can be applied. Users and access rights can be added and changed at any point. -.. seealso:: - - :doc:`users/language` - - :doc:`users/access_rights` +.. toctree:: + :titlesonly: -.. _users/add-individual: + users/manage_users + users/language + users/access_rights + users/companies -Add individual users -==================== - -Go to :menuselection:`Settings --> Manage Users` and click on *Create*. - -.. image:: users/manage-users.png - :align: center - :height: 280 - :alt: View of the settings page emphasizing the manage users field in Odoo - -| Fill in the form with the needed information. Under the tab - :doc:`Access Rights ` choose the group within each application the user can - have access to. -| The list of applications shown is based on the applications installed on the database. - -.. image:: users/new_user.png - :align: center - :alt: View of a user’s form emphasizing the access rights tab in Odoo - -When you are done editing the page and have *Saved* it, an invitation email is automatically sent to -the user. The user must click on it to accept the invitation and create a login. - -.. image:: users/invitation-email.png - :align: center - :alt: View of a user’s form with a notification that the invitation email has been sent in Odoo - -.. note:: - Remember that subscription prices follow the number of users. Refer to our - `pricing page `_ - for more information. - -With the :ref:`developer mode ` activated, *User Types* can be selected. - -.. image:: users/user-type.png - :align: center - :height: 300 - :alt: View of a user’s form in developer mode emphasizing the user type field in Odoo - -The *Portal* and *Public* options do not allow you to choose access rights. Members have specific -ones (such as record rules and restricted menus) and usually do not belong to the usual Odoo -groups. - -.. _users/deactivate: - -Deactivate Users -================ - -Go to :menuselection:`Settings --> Users & Companies --> Users`, open the user you want to -deactivate, click on *Action*, and then on *Archive*. - -.. danger:: - **Never** deactivate the main user (*admin*). - -.. _users/passwords-management: - -Passwords management -==================== - -.. _users/reset-password: - -Reset passwords ---------------- - -.. _users/reset-password-login: - -Enable password resets from login page -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -It is possible to enable password resets directly from the login page. - -To do so, go to :menuselection:`Settings --> Permissions`, activate **Password Reset** and *Save*. - -.. image:: users/password-reset-login.png - :align: center - :alt: Enabling Password Reset in Odoo Settings - -.. _users/reset-password-email: - -Send reset instructions to users -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -Go to :menuselection:`Settings --> Users & Companies --> Users`, select the user out of the list and -click on *Send Password Reset Instructions* on its user form. An email is automatically sent to -them. - -.. note:: - The *Send Password Reset Instructions* button only appears if the Odoo invitation email has - already been confirmed by the user. - -This email contains all the instructions needed to reset the password, along with a link redirecting -the user to an Odoo login page. - -.. image:: users/password-email.png - :align: center - :alt: Example of an email with a password reset link for an Odoo account - -.. _users/change-password: - -Change users’ passwords ------------------------ - -Go to :menuselection:`Settings --> Users & Companies --> Users` and select a user to access its -form. Click on the *Action* button and select *Change Password*. - -.. image:: users/change-password.png - :align: center - :alt: Change another user's password on Odoo - -Enter a new password and confirm by clicking on *Change Password*. - -.. note:: - This operation only modifies the password of the users locally and does not affect their odoo.com - account. If you want to change the odoo.com password, you can :ref:`send the password reset - instructions `. - -Click on *Change Password* one more time. You are then redirected to an Odoo login page where you -can reaccess your database using your new password. - -.. _users/multi-companies: - -Multi Companies -=============== - -The *Multi Companies* field allows you to set to which of the multiple companies database you hold -the user can have access. - -.. note:: - Note that if not handled correctly, it may be the source of a lot of inconsistent multi-company - behaviors. Therefore, a good knowledge of Odoo is required. For technical explanations refer - to :doc:`this ` documentation. - -.. image:: users/multi-companies.png - :align: center - :height: 300 - :alt: View of a user’s form emphasizing the multi companies field in Odoo - -.. seealso:: - - :doc:`multi_companies` - - :doc:`../general` \ No newline at end of file diff --git a/content/applications/general/multi_companies.rst b/content/applications/general/users/companies.rst similarity index 80% rename from content/applications/general/multi_companies.rst rename to content/applications/general/users/companies.rst index 1e1305285..310eb5267 100644 --- a/content/applications/general/multi_companies.rst +++ b/content/applications/general/users/companies.rst @@ -1,6 +1,6 @@ -=============== -Multi Companies -=============== +========= +Companies +========= A centralized management environment allows you to select multiple companies simultaneously and set their specific warehouses, customers, equipment, and contacts. It provides you the ability to @@ -14,7 +14,7 @@ Go to :menuselection:`Settings --> Manage Companies` and fill in the form with y information. If a *Parent Company* is selected, records are shared between the two companies (as long as both environments are active). -.. image:: multi_companies/create_js_store_us.png +.. image:: companies/create_js_store_us.png :align: center :alt: Overview of a new company's form in Odoo @@ -23,7 +23,7 @@ long as both environments are active). companies, and easily identify them by the browser tabs. Set your favicons’ files size to 16x16 or 32x32 pixels. JPG, PNG, GIF, and ICO are extensions accepted. - .. image:: multi_companies/favicon.png + .. image:: companies/favicon.png :align: center :height: 200 :alt: View of a web browser and the favicon for a specific company chosen in Odoo @@ -33,7 +33,7 @@ grayed company is the one which environment is in use. To switch environments, c company’s name. In the example below, the user has access to three companies, two are activated, and the environment in use is of *JS Store US*. -.. image:: multi_companies/multi_companies_menu_dashboard.png +.. image:: companies/multi_companies_menu_dashboard.png :align: center :alt: View of the companies menu through the main dashboard in Odoo @@ -43,17 +43,17 @@ company only. To do so, on their forms, choose between: - *A blank field*: the record is shared within all companies. - *Adding a company*: the record is visible to users logged in to that specific company. -.. image:: multi_companies/product_form_company.png +.. image:: companies/product_form_company.png :align: center :alt: View of a product's form emphasizing the company field in Odoo Sales Employees' access ================= -Once companies are created, manage your employees' :doc:`Access Rights ` for -*Multi Companies*. +Once companies are created, manage your employees' :doc:`Access Rights ` +for *Multi Companies*. -.. image:: multi_companies/access_rights_multi_companies.png +.. image:: companies/access_rights_multi_companies.png :align: center :alt: View of an user form emphasizing the multi companies field under the access rights tabs in Odoo @@ -75,7 +75,7 @@ Documents’ format To set documents' formats according to each company, *activate* and *select* the respective one and, under *Settings*, click on *Configure Document Layout*. -.. image:: multi_companies/document_layout.png +.. image:: companies/document_layout.png :align: center :alt: View of the settings page emphasizing the document layout field in Odoo @@ -84,18 +84,20 @@ Inter-Company Transactions First, make sure each one of your companies is properly set in relation to: -- :doc:`Chart of Accounts <../finance/accounting/getting_started/initial_configuration/chart_of_accounts>` -- :doc:`Taxes <../finance/accounting/taxation/taxes/default_taxes>` -- :doc:`Fiscal Positions <../finance/accounting/taxation/taxes/fiscal_positions>` -- :doc:`Journals <../finance/accounting/bank/setup/bank_accounts>` -- :doc:`Fiscal Localizations <../finance/accounting/fiscal_localizations/overview/fiscal_localization_packages>` -- :doc:`Pricelists <../sales/sales/products_prices/prices/pricing>` +- :doc:`Chart of Accounts + <../../finance/accounting/getting_started/initial_configuration/chart_of_accounts>` +- :doc:`Taxes <../../finance/accounting/taxation/taxes/default_taxes>` +- :doc:`Fiscal Positions <../../finance/accounting/taxation/taxes/fiscal_positions>` +- :doc:`Journals <../../finance/accounting/bank/setup/bank_accounts>` +- :doc:`Fiscal Localizations + <../../finance/accounting/fiscal_localizations/overview/fiscal_localization_packages>` +- :doc:`Pricelists <../../sales/sales/products_prices/prices/pricing>` Now, activate the *Inter-Company Transactions* option under *Settings*. With the respective company *activated* and *selected*, choose if you would like operations between companies to be synchronized at an invoice/bills level or at a sales/purchase orders level. -.. image:: multi_companies/inter_company_transactions.png +.. image:: companies/inter_company_transactions.png :align: center :alt: View of the settings page emphasizing the inter company transaction field in Odoo @@ -105,7 +107,7 @@ at an invoice/bills level or at a sales/purchase orders level. *Example:* an invoice posted on JS Store Belgium, for JS Store US, automatically creates a vendor bill on the JS Store US, from the JS Store Belgium. -.. image:: multi_companies/invoice_inter_company.png +.. image:: companies/invoice_inter_company.png :align: center :alt: View of an invoice for JS Store US created on JS Store Belgium in Odoo @@ -117,7 +119,7 @@ at an invoice/bills level or at a sales/purchase orders level. on JS Store Belgium is automatically created (and confirmed if the *Automatic Validation* feature was enabled). -.. image:: multi_companies/purchase_order_inter_company.png +.. image:: companies/purchase_order_inter_company.png :align: center :alt: View of the purchase created on JS Store US from JS Store Belgium in Odoo @@ -129,5 +131,4 @@ at an invoice/bills level or at a sales/purchase orders level. .. seealso:: - :doc:`Multi-company Guidelines ` - - :doc:`../finance/accounting/others/multicurrencies/how_it_works` - + - :doc:`../../finance/accounting/others/multicurrencies/how_it_works` diff --git a/content/applications/general/multi_companies/access_rights_multi_companies.png b/content/applications/general/users/companies/access_rights_multi_companies.png similarity index 100% rename from content/applications/general/multi_companies/access_rights_multi_companies.png rename to content/applications/general/users/companies/access_rights_multi_companies.png diff --git a/content/applications/general/multi_companies/create_js_store_us.png b/content/applications/general/users/companies/create_js_store_us.png similarity index 100% rename from content/applications/general/multi_companies/create_js_store_us.png rename to content/applications/general/users/companies/create_js_store_us.png diff --git a/content/applications/general/multi_companies/document_layout.png b/content/applications/general/users/companies/document_layout.png similarity index 100% rename from content/applications/general/multi_companies/document_layout.png rename to content/applications/general/users/companies/document_layout.png diff --git a/content/applications/general/multi_companies/favicon.png b/content/applications/general/users/companies/favicon.png similarity index 100% rename from content/applications/general/multi_companies/favicon.png rename to content/applications/general/users/companies/favicon.png diff --git a/content/applications/general/multi_companies/inter_company_transactions.png b/content/applications/general/users/companies/inter_company_transactions.png similarity index 100% rename from content/applications/general/multi_companies/inter_company_transactions.png rename to content/applications/general/users/companies/inter_company_transactions.png diff --git a/content/applications/general/multi_companies/invoice_inter_company.png b/content/applications/general/users/companies/invoice_inter_company.png similarity index 100% rename from content/applications/general/multi_companies/invoice_inter_company.png rename to content/applications/general/users/companies/invoice_inter_company.png diff --git a/content/applications/general/multi_companies/multi_companies_menu_dashboard.png b/content/applications/general/users/companies/multi_companies_menu_dashboard.png similarity index 100% rename from content/applications/general/multi_companies/multi_companies_menu_dashboard.png rename to content/applications/general/users/companies/multi_companies_menu_dashboard.png diff --git a/content/applications/general/multi_companies/product_form_company.png b/content/applications/general/users/companies/product_form_company.png similarity index 100% rename from content/applications/general/multi_companies/product_form_company.png rename to content/applications/general/users/companies/product_form_company.png diff --git a/content/applications/general/multi_companies/purchase_order_inter_company.png b/content/applications/general/users/companies/purchase_order_inter_company.png similarity index 100% rename from content/applications/general/multi_companies/purchase_order_inter_company.png rename to content/applications/general/users/companies/purchase_order_inter_company.png diff --git a/content/applications/general/users/manage_users.rst b/content/applications/general/users/manage_users.rst new file mode 100644 index 000000000..b4a702fcc --- /dev/null +++ b/content/applications/general/users/manage_users.rst @@ -0,0 +1,152 @@ +============ +Manage users +============ + +Odoo defines a **user** as someone who has access to a database to perform daily tasks. You can add +as many users as you need and, in order to restrict the type of information each user can access, +rules can be applied. Users and access rights can be added and changed at any point. + +.. seealso:: + - :doc:`language` + - :doc:`access_rights` + +.. _users/add-individual: + +Add individual users +==================== + +Go to :menuselection:`Settings --> Manage Users` and click on *Create*. + +.. image:: manage_users/manage-users.png + :align: center + :height: 280 + :alt: View of the settings page emphasizing the manage users field in Odoo + +| Fill in the form with the needed information. Under the tab + :doc:`Access Rights ` choose the group within each application the user can + have access to. +| The list of applications shown is based on the applications installed on the database. + +.. image:: manage_users/new_user.png + :align: center + :alt: View of a user’s form emphasizing the access rights tab in Odoo + +When you are done editing the page and have *Saved* it, an invitation email is automatically sent to +the user. The user must click on it to accept the invitation and create a login. + +.. image:: manage_users/invitation-email.png + :align: center + :alt: View of a user’s form with a notification that the invitation email has been sent in Odoo + +.. note:: + Remember that subscription prices follow the number of users. Refer to our + `pricing page `_ + for more information. + +With the :ref:`developer mode ` activated, *User Types* can be selected. + +.. image:: manage_users/user-type.png + :align: center + :height: 300 + :alt: View of a user’s form in developer mode emphasizing the user type field in Odoo + +The *Portal* and *Public* options do not allow you to choose access rights. Members have specific +ones (such as record rules and restricted menus) and usually do not belong to the usual Odoo +groups. + +.. _users/deactivate: + +Deactivate users +================ + +Go to :menuselection:`Settings --> Users & Companies --> Users`, open the user you want to +deactivate, click on *Action*, and then on *Archive*. + +.. danger:: + **Never** deactivate the main user (*admin*). + +.. _users/passwords-management: + +Passwords management +==================== + +.. _users/reset-password: + +Reset passwords +--------------- + +.. _users/reset-password-login: + +Enable password resets from login page +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +It is possible to enable password resets directly from the login page. + +To do so, go to :menuselection:`Settings --> Permissions`, activate **Password Reset** and *Save*. + +.. image:: manage_users/password-reset-login.png + :align: center + :alt: Enabling Password Reset in Odoo Settings + +.. _users/reset-password-email: + +Send reset instructions to users +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Go to :menuselection:`Settings --> Users & Companies --> Users`, select the user out of the list and +click on *Send Password Reset Instructions* on its user form. An email is automatically sent to +them. + +.. note:: + The *Send Password Reset Instructions* button only appears if the Odoo invitation email has + already been confirmed by the user. + +This email contains all the instructions needed to reset the password, along with a link redirecting +the user to an Odoo login page. + +.. image:: manage_users/password-email.png + :align: center + :alt: Example of an email with a password reset link for an Odoo account + +.. _users/change-password: + +Change users’ passwords +----------------------- + +Go to :menuselection:`Settings --> Users & Companies --> Users` and select a user to access its +form. Click on the *Action* button and select *Change Password*. + +.. image:: manage_users/change-password.png + :align: center + :alt: Change another user's password on Odoo + +Enter a new password and confirm by clicking on *Change Password*. + +.. note:: + This operation only modifies the password of the users locally and does not affect their odoo.com + account. If you want to change the odoo.com password, you can :ref:`send the password reset + instructions `. + +Click on *Change Password* one more time. You are then redirected to an Odoo login page where you +can reaccess your database using your new password. + +.. _users/multi-companies: + +Multi Companies +=============== + +The *Multi Companies* field allows you to set to which of the multiple companies database you hold +the user can have access. + +.. note:: + Note that if not handled correctly, it may be the source of a lot of inconsistent multi-company + behaviors. Therefore, a good knowledge of Odoo is required. For technical explanations refer + to :doc:`this ` documentation. + +.. image:: manage_users/multi-companies.png + :align: center + :height: 300 + :alt: View of a user’s form emphasizing the multi companies field in Odoo + +.. seealso:: + - :doc:`companies` diff --git a/content/applications/general/users/change-password.png b/content/applications/general/users/manage_users/change-password.png similarity index 100% rename from content/applications/general/users/change-password.png rename to content/applications/general/users/manage_users/change-password.png diff --git a/content/applications/general/users/invitation-email.png b/content/applications/general/users/manage_users/invitation-email.png similarity index 100% rename from content/applications/general/users/invitation-email.png rename to content/applications/general/users/manage_users/invitation-email.png diff --git a/content/applications/general/users/manage-users.png b/content/applications/general/users/manage_users/manage-users.png similarity index 100% rename from content/applications/general/users/manage-users.png rename to content/applications/general/users/manage_users/manage-users.png diff --git a/content/applications/general/users/multi-companies.png b/content/applications/general/users/manage_users/multi-companies.png similarity index 100% rename from content/applications/general/users/multi-companies.png rename to content/applications/general/users/manage_users/multi-companies.png diff --git a/content/applications/general/users/new_user.png b/content/applications/general/users/manage_users/new_user.png similarity index 100% rename from content/applications/general/users/new_user.png rename to content/applications/general/users/manage_users/new_user.png diff --git a/content/applications/general/users/password-email.png b/content/applications/general/users/manage_users/password-email.png similarity index 100% rename from content/applications/general/users/password-email.png rename to content/applications/general/users/manage_users/password-email.png diff --git a/content/applications/general/users/password-reset-login.png b/content/applications/general/users/manage_users/password-reset-login.png similarity index 100% rename from content/applications/general/users/password-reset-login.png rename to content/applications/general/users/manage_users/password-reset-login.png diff --git a/content/applications/general/users/user-type.png b/content/applications/general/users/manage_users/user-type.png similarity index 100% rename from content/applications/general/users/user-type.png rename to content/applications/general/users/manage_users/user-type.png diff --git a/content/applications/inventory_and_mrp/inventory.rst b/content/applications/inventory_and_mrp/inventory.rst index 299032ecd..e612d8c6b 100644 --- a/content/applications/inventory_and_mrp/inventory.rst +++ b/content/applications/inventory_and_mrp/inventory.rst @@ -1,13 +1,24 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ========= Inventory ========= +**Odoo Inventory** is both an inventory application and a warehouse management system, with an +advanced barcode scanner app. Learn how to manage lead times, automate replenishments, and configure +advanced routes like drop-shipping, cross-docks, etc. + +.. seealso:: + - `Odoo Tutorials: Inventory `_ + - `Odoo Tutorials: Barcode Scanner `_ + .. toctree:: :titlesonly: inventory/management inventory/shipping inventory/routes - inventory/barcode \ No newline at end of file + inventory/barcode diff --git a/content/applications/inventory_and_mrp/manufacturing.rst b/content/applications/inventory_and_mrp/manufacturing.rst index d640dc2f5..7137394eb 100644 --- a/content/applications/inventory_and_mrp/manufacturing.rst +++ b/content/applications/inventory_and_mrp/manufacturing.rst @@ -1,9 +1,21 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ============= Manufacturing ============= +**Odoo Manufacturing** helps you schedule, plan and process manufacturing orders. With the work +center control panel, put tablets on the shop floor to control all your work orders in real-time and +allow workers to trigger maintenance operations, feedback loops, quality issues, etc. + +.. seealso:: + - `Odoo Tutorials: MRP `_ + - `Odoo Tutorials: Barcode Scanner `_ + - :doc:`IoT Boxes (MES) ` + .. toctree:: :titlesonly: diff --git a/content/applications/inventory_and_mrp/purchase.rst b/content/applications/inventory_and_mrp/purchase.rst index a5751557d..f28e34f58 100644 --- a/content/applications/inventory_and_mrp/purchase.rst +++ b/content/applications/inventory_and_mrp/purchase.rst @@ -1,9 +1,18 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ======== Purchase ======== +**Odoo Purchase** helps you keep track of purchase agreements, quotations, and purchase orders. +Learn how to keep track of purchase tender, automate replenishments and follow up on your orders. + +.. seealso:: + - `Odoo Tutorials: Purchase `_ + .. toctree:: :titlesonly: diff --git a/content/applications/marketing.rst b/content/applications/marketing.rst index 84b9d7419..6d5203f2c 100644 --- a/content/applications/marketing.rst +++ b/content/applications/marketing.rst @@ -9,4 +9,4 @@ Marketing marketing/marketing_automation marketing/sms_marketing - marketing/survey + marketing/surveys diff --git a/content/applications/marketing/marketing_automation.rst b/content/applications/marketing/marketing_automation.rst index 8ef437a2c..6827055ec 100644 --- a/content/applications/marketing/marketing_automation.rst +++ b/content/applications/marketing/marketing_automation.rst @@ -1,9 +1,15 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ==================== Marketing Automation ==================== +.. seealso:: + - `Odoo Tutorials: Marketing `_ + .. toctree:: :titlesonly: diff --git a/content/applications/marketing/sms_marketing.rst b/content/applications/marketing/sms_marketing.rst index f199b419a..2146e4e19 100644 --- a/content/applications/marketing/sms_marketing.rst +++ b/content/applications/marketing/sms_marketing.rst @@ -1,10 +1,16 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ============= SMS Marketing ============= +.. seealso:: + - `Odoo Tutorials: Marketing `_ + .. toctree:: :titlesonly: - sms_marketing/pricing \ No newline at end of file + sms_marketing/pricing diff --git a/content/applications/marketing/survey.rst b/content/applications/marketing/survey.rst deleted file mode 100644 index ac0f9c836..000000000 --- a/content/applications/marketing/survey.rst +++ /dev/null @@ -1,10 +0,0 @@ -:nosearch: - -====== -Survey -====== - -.. toctree:: - :titlesonly: - - survey/overview \ No newline at end of file diff --git a/content/applications/marketing/surveys.rst b/content/applications/marketing/surveys.rst new file mode 100644 index 000000000..53491ed88 --- /dev/null +++ b/content/applications/marketing/surveys.rst @@ -0,0 +1,16 @@ +:nosearch: +:show-content: +:hide-page-toc: +:show-toc: + +======= +Surveys +======= + +.. seealso:: + - `Odoo Tutorials: Surveys `_ + +.. toctree:: + :titlesonly: + + surveys/overview diff --git a/content/applications/marketing/survey/overview.rst b/content/applications/marketing/surveys/overview.rst similarity index 100% rename from content/applications/marketing/survey/overview.rst rename to content/applications/marketing/surveys/overview.rst diff --git a/content/applications/marketing/survey/overview/create.rst b/content/applications/marketing/surveys/overview/create.rst similarity index 100% rename from content/applications/marketing/survey/overview/create.rst rename to content/applications/marketing/surveys/overview/create.rst diff --git a/content/applications/marketing/survey/overview/media/analytical_page.png b/content/applications/marketing/surveys/overview/media/analytical_page.png similarity index 100% rename from content/applications/marketing/survey/overview/media/analytical_page.png rename to content/applications/marketing/surveys/overview/media/analytical_page.png diff --git a/content/applications/marketing/survey/overview/media/answers_form.png b/content/applications/marketing/surveys/overview/media/answers_form.png similarity index 100% rename from content/applications/marketing/survey/overview/media/answers_form.png rename to content/applications/marketing/surveys/overview/media/answers_form.png diff --git a/content/applications/marketing/survey/overview/media/frontend_bagdes.png b/content/applications/marketing/surveys/overview/media/frontend_bagdes.png similarity index 100% rename from content/applications/marketing/survey/overview/media/frontend_bagdes.png rename to content/applications/marketing/surveys/overview/media/frontend_bagdes.png diff --git a/content/applications/marketing/survey/overview/media/frontend_description.png b/content/applications/marketing/surveys/overview/media/frontend_description.png similarity index 100% rename from content/applications/marketing/survey/overview/media/frontend_description.png rename to content/applications/marketing/surveys/overview/media/frontend_description.png diff --git a/content/applications/marketing/survey/overview/media/new_survey.png b/content/applications/marketing/surveys/overview/media/new_survey.png similarity index 100% rename from content/applications/marketing/survey/overview/media/new_survey.png rename to content/applications/marketing/surveys/overview/media/new_survey.png diff --git a/content/applications/marketing/survey/overview/media/random_question.png b/content/applications/marketing/surveys/overview/media/random_question.png similarity index 100% rename from content/applications/marketing/survey/overview/media/random_question.png rename to content/applications/marketing/surveys/overview/media/random_question.png diff --git a/content/applications/marketing/survey/overview/media/scoring_candidates.png b/content/applications/marketing/surveys/overview/media/scoring_candidates.png similarity index 100% rename from content/applications/marketing/survey/overview/media/scoring_candidates.png rename to content/applications/marketing/surveys/overview/media/scoring_candidates.png diff --git a/content/applications/marketing/survey/overview/media/sections_questions.png b/content/applications/marketing/surveys/overview/media/sections_questions.png similarity index 100% rename from content/applications/marketing/survey/overview/media/sections_questions.png rename to content/applications/marketing/surveys/overview/media/sections_questions.png diff --git a/content/applications/marketing/survey/overview/media/tab_options_layout.png b/content/applications/marketing/surveys/overview/media/tab_options_layout.png similarity index 100% rename from content/applications/marketing/survey/overview/media/tab_options_layout.png rename to content/applications/marketing/surveys/overview/media/tab_options_layout.png diff --git a/content/applications/marketing/survey/overview/media/tab_options_timelimit.png b/content/applications/marketing/surveys/overview/media/tab_options_timelimit.png similarity index 100% rename from content/applications/marketing/survey/overview/media/tab_options_timelimit.png rename to content/applications/marketing/surveys/overview/media/tab_options_timelimit.png diff --git a/content/applications/marketing/survey/overview/media/user_feedback.png b/content/applications/marketing/surveys/overview/media/user_feedback.png similarity index 100% rename from content/applications/marketing/survey/overview/media/user_feedback.png rename to content/applications/marketing/surveys/overview/media/user_feedback.png diff --git a/content/applications/marketing/survey/overview/scoring.rst b/content/applications/marketing/surveys/overview/scoring.rst similarity index 100% rename from content/applications/marketing/survey/overview/scoring.rst rename to content/applications/marketing/surveys/overview/scoring.rst diff --git a/content/applications/marketing/survey/overview/time_random.rst b/content/applications/marketing/surveys/overview/time_random.rst similarity index 100% rename from content/applications/marketing/survey/overview/time_random.rst rename to content/applications/marketing/surveys/overview/time_random.rst diff --git a/content/applications/productivity/discuss.rst b/content/applications/productivity/discuss.rst index aec0d199f..07f007892 100644 --- a/content/applications/productivity/discuss.rst +++ b/content/applications/productivity/discuss.rst @@ -1,4 +1,7 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ======= Discuss @@ -8,4 +11,4 @@ Discuss :titlesonly: discuss/overview - discuss/advanced \ No newline at end of file + discuss/advanced diff --git a/content/applications/productivity/iot.rst b/content/applications/productivity/iot.rst index a91629cb4..02503dee3 100644 --- a/content/applications/productivity/iot.rst +++ b/content/applications/productivity/iot.rst @@ -1,4 +1,7 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ======================== Internet of Things (IoT) diff --git a/content/applications/productivity/studio.rst b/content/applications/productivity/studio.rst index 1e1ae7688..f48e6a714 100644 --- a/content/applications/productivity/studio.rst +++ b/content/applications/productivity/studio.rst @@ -1,12 +1,21 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ====== Studio ====== +Learn all you need in order to build custom applications: customize views, create specific reports, +automate actions, define approval workflows, etc. + +.. seealso:: + - `Odoo Tutorials: Studio `_ + .. toctree:: :titlesonly: studio/concepts studio/use_cases - studio/how_to \ No newline at end of file + studio/how_to diff --git a/content/applications/sales/crm.rst b/content/applications/sales/crm.rst index 571961e2b..bae638522 100644 --- a/content/applications/sales/crm.rst +++ b/content/applications/sales/crm.rst @@ -1,9 +1,19 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: === CRM === +**Odoo CRM** helps you organize your sales activities: track leads, close opportunities and get +accurate forecasts. Keep opportunities organized with the pipeline and manage your day-to-day +activities with meetings and next activities. + +.. seealso:: + - `Odoo Tutorials: CRM `_ + .. toctree:: :titlesonly: diff --git a/content/applications/sales/crm/performance.rst b/content/applications/sales/crm/performance.rst index d9f190501..8f679f807 100644 --- a/content/applications/sales/crm/performance.rst +++ b/content/applications/sales/crm/performance.rst @@ -8,3 +8,4 @@ Analyze performance :titlesonly: performance/win_loss + performance/google_spreadsheets diff --git a/content/applications/general/auth/google_spreadsheets.rst b/content/applications/sales/crm/performance/google_spreadsheets.rst similarity index 92% rename from content/applications/general/auth/google_spreadsheets.rst rename to content/applications/sales/crm/performance/google_spreadsheets.rst index bb09ebd14..1b60c1c61 100644 --- a/content/applications/general/auth/google_spreadsheets.rst +++ b/content/applications/sales/crm/performance/google_spreadsheets.rst @@ -12,7 +12,7 @@ Configuration From the *General Settings*, active *Google Drive* and *Google Spreadsheet*. The options *Authorization Code* and *Get Authorization Code* are now available. -.. image:: media/authori.png +.. image:: google_spreadsheets/authori.png :align: center :alt: Enable the Google Drive and Google Spreadsheet features in Odoo @@ -25,7 +25,7 @@ Create a new Spreadsheet From the *CRM* app, for example, go to *Favorites* and click on *Add to Google Spreadsheet*. -.. image:: media/add_to_google_spread.png +.. image:: google_spreadsheets/add_to_google_spread.png :align: center :alt: From the CRM application, for example, click on add to Google Spreadsheet in Odoo @@ -41,7 +41,7 @@ Link a Spreadsheet with Odoo | From this new file, configure your database. | Go to :menuselection:`Odoo --> Server Settings --> Database Name --> Username --> Password`. -.. image:: media/odoo_menu.png +.. image:: google_spreadsheets/odoo_menu.png :align: center :alt: Menu called Odoo is shown on the settings bar in the Spreadsheet @@ -66,7 +66,7 @@ Retrieve Data order in the database). | Find some the arguments in the table below. -.. image:: media/retrieve_data.png +.. image:: google_spreadsheets/retrieve_data.png :align: center :alt: Table with examples of arguments to use in Odoo @@ -77,7 +77,7 @@ Retrieve Grouped Sums Use it when you want to display a sum of data (e.g.: total invoiced). | Find some arguments in the table below. -.. image:: media/retrieve_sums.png +.. image:: google_spreadsheets/retrieve_sums.png :align: center :alt: Table with examples of grouped sum arguments to use in Odoo diff --git a/content/applications/general/auth/media/add_to_google_spread.png b/content/applications/sales/crm/performance/google_spreadsheets/add_to_google_spread.png similarity index 100% rename from content/applications/general/auth/media/add_to_google_spread.png rename to content/applications/sales/crm/performance/google_spreadsheets/add_to_google_spread.png diff --git a/content/applications/general/auth/media/authori.png b/content/applications/sales/crm/performance/google_spreadsheets/authori.png similarity index 100% rename from content/applications/general/auth/media/authori.png rename to content/applications/sales/crm/performance/google_spreadsheets/authori.png diff --git a/content/applications/general/auth/media/odoo_menu.png b/content/applications/sales/crm/performance/google_spreadsheets/odoo_menu.png similarity index 100% rename from content/applications/general/auth/media/odoo_menu.png rename to content/applications/sales/crm/performance/google_spreadsheets/odoo_menu.png diff --git a/content/applications/general/auth/media/retrieve_data.png b/content/applications/sales/crm/performance/google_spreadsheets/retrieve_data.png similarity index 100% rename from content/applications/general/auth/media/retrieve_data.png rename to content/applications/sales/crm/performance/google_spreadsheets/retrieve_data.png diff --git a/content/applications/general/auth/media/retrieve_sums.png b/content/applications/sales/crm/performance/google_spreadsheets/retrieve_sums.png similarity index 100% rename from content/applications/general/auth/media/retrieve_sums.png rename to content/applications/sales/crm/performance/google_spreadsheets/retrieve_sums.png diff --git a/content/applications/sales/point_of_sale.rst b/content/applications/sales/point_of_sale.rst index 7e9479f94..c3039501d 100644 --- a/content/applications/sales/point_of_sale.rst +++ b/content/applications/sales/point_of_sale.rst @@ -1,9 +1,19 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ============= Point of Sale ============= +With **Odoo Point of Sale**, run your shops or restaurants easily. The app runs on the browser, but +is able to continue working even if you are offline. + +.. seealso:: + - `Odoo Tutorials: Point of Sale Tutorials `_ + - :doc:`IoT Boxes Documentations ` + .. toctree:: :titlesonly: diff --git a/content/applications/sales/sales.rst b/content/applications/sales/sales.rst index 75b3d8247..25c8244c4 100644 --- a/content/applications/sales/sales.rst +++ b/content/applications/sales/sales.rst @@ -1,9 +1,18 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ===== Sales ===== +**Odoo Sales** is the application to run your sales process (from quotation to sales order) and +deliver and invoice what has been sold. + +.. seealso:: + - `Odoo Tutorials: Sales Tutorials `_ + .. toctree:: :titlesonly: @@ -12,4 +21,4 @@ Sales sales/products_prices sales/amazon_connector sales/ebay_connector - sales/advanced \ No newline at end of file + sales/advanced diff --git a/content/applications/sales/subscriptions.rst b/content/applications/sales/subscriptions.rst index 5566a4062..f01a437a0 100644 --- a/content/applications/sales/subscriptions.rst +++ b/content/applications/sales/subscriptions.rst @@ -1,13 +1,23 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ============= Subscriptions ============= +**Odoo Subscriptions** is used to run recurring businesses: sell new contracts, upsell customers, +keep the churn under control and have reporting on the main KPIs: MRR, ARR, retention, churn, +upselling, etc. + +.. seealso:: + - `Odoo Tutorials: Subscriptions `_ + .. toctree:: :titlesonly: subscriptions/configuration subscriptions/sales_flow subscriptions/follow_up - subscriptions/reporting \ No newline at end of file + subscriptions/reporting diff --git a/content/applications/services/fsm.rst b/content/applications/services/fsm.rst index 591d24d53..8b1f7cda6 100644 --- a/content/applications/services/fsm.rst +++ b/content/applications/services/fsm.rst @@ -1,9 +1,15 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ============= Field Service ============= +.. seealso:: + - `Odoo Tutorials: Field Service `_ + .. toctree:: :titlesonly: diff --git a/content/applications/services/helpdesk.rst b/content/applications/services/helpdesk.rst index 8832919c8..850158388 100644 --- a/content/applications/services/helpdesk.rst +++ b/content/applications/services/helpdesk.rst @@ -1,9 +1,15 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ======== Helpdesk ======== +.. seealso:: + - `Odoo Tutorials: Helpdesk `_ + .. toctree:: :titlesonly: diff --git a/content/applications/services/project.rst b/content/applications/services/project.rst index 05a479c58..8b0172814 100644 --- a/content/applications/services/project.rst +++ b/content/applications/services/project.rst @@ -1,9 +1,16 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ======= Project ======= +.. seealso:: + - `Odoo Tutorials: Project and Timesheets + `_ + .. toctree:: :titlesonly: diff --git a/content/applications/services/timesheets.rst b/content/applications/services/timesheets.rst index b155fcc1d..7036d92f8 100644 --- a/content/applications/services/timesheets.rst +++ b/content/applications/services/timesheets.rst @@ -1,10 +1,17 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ========== Timesheets ========== +.. seealso:: + - `Odoo Tutorials: Project and Timesheets + `_ + .. toctree:: :titlesonly: - timesheets/overview \ No newline at end of file + timesheets/overview diff --git a/content/applications/websites/ecommerce.rst b/content/applications/websites/ecommerce.rst index 732e96a7f..2dc7e44a3 100644 --- a/content/applications/websites/ecommerce.rst +++ b/content/applications/websites/ecommerce.rst @@ -1,9 +1,19 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ========= eCommerce ========= +Run a modern open-source online store with Odoo eCommerce. Learn how to sell online, promote +products and increase your average cart sizes. + +.. seealso:: + - `Odoo Tutorials: Website `_ + - `Odoo Tutorials: eCommerce `_ + .. toctree:: :titlesonly: diff --git a/content/applications/websites/livechat.rst b/content/applications/websites/livechat.rst index 68024bdcf..9ad70dcf0 100644 --- a/content/applications/websites/livechat.rst +++ b/content/applications/websites/livechat.rst @@ -1,10 +1,16 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ========= Live Chat ========= +.. seealso:: + - `Live Chat: product page `_ + .. toctree:: :titlesonly: - livechat/overview \ No newline at end of file + livechat/overview diff --git a/content/applications/websites/website.rst b/content/applications/websites/website.rst index c5f1cd5e2..26e2bf856 100644 --- a/content/applications/websites/website.rst +++ b/content/applications/websites/website.rst @@ -1,9 +1,19 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: ======= Website ======= +Discover the best **Open-Source Website Builder** and learn how to build beautiful websites that +convert visitors into leads or revenues. + +.. seealso:: + - `Odoo Tutorials: Website `_ + - `Odoo Tutorials: eCommerce `_ + .. toctree:: :titlesonly: diff --git a/content/applications/websites/website/optimize.rst b/content/applications/websites/website/optimize.rst index f2de2beac..50267e63b 100644 --- a/content/applications/websites/website/optimize.rst +++ b/content/applications/websites/website/optimize.rst @@ -11,6 +11,7 @@ Optimize optimize/google_analytics optimize/google_analytics_dashboard optimize/link_tracker + optimize/unsplash diff --git a/content/applications/general/unsplash.rst b/content/applications/websites/website/optimize/unsplash.rst similarity index 96% rename from content/applications/general/unsplash.rst rename to content/applications/websites/website/optimize/unsplash.rst index f78a27c24..e3a66b723 100644 --- a/content/applications/general/unsplash.rst +++ b/content/applications/websites/website/optimize/unsplash.rst @@ -1,6 +1,6 @@ -======== -Unsplash -======== +====================== +Unsplash (free images) +====================== Generate an Unsplash access key =============================== diff --git a/content/applications/general/unsplash/accept_terms.png b/content/applications/websites/website/optimize/unsplash/accept_terms.png similarity index 100% rename from content/applications/general/unsplash/accept_terms.png rename to content/applications/websites/website/optimize/unsplash/accept_terms.png diff --git a/content/applications/general/unsplash/access_key.png b/content/applications/websites/website/optimize/unsplash/access_key.png similarity index 100% rename from content/applications/general/unsplash/access_key.png rename to content/applications/websites/website/optimize/unsplash/access_key.png diff --git a/content/applications/general/unsplash/app_id_url.png b/content/applications/websites/website/optimize/unsplash/app_id_url.png similarity index 100% rename from content/applications/general/unsplash/app_id_url.png rename to content/applications/websites/website/optimize/unsplash/app_id_url.png diff --git a/content/applications/general/unsplash/app_infos.png b/content/applications/websites/website/optimize/unsplash/app_infos.png similarity index 100% rename from content/applications/general/unsplash/app_infos.png rename to content/applications/websites/website/optimize/unsplash/app_infos.png diff --git a/content/applications/general/unsplash/create_app.png b/content/applications/websites/website/optimize/unsplash/create_app.png similarity index 100% rename from content/applications/general/unsplash/create_app.png rename to content/applications/websites/website/optimize/unsplash/create_app.png diff --git a/content/applications/general/unsplash/select_app.png b/content/applications/websites/website/optimize/unsplash/select_app.png similarity index 100% rename from content/applications/general/unsplash/select_app.png rename to content/applications/websites/website/optimize/unsplash/select_app.png diff --git a/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst b/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst index 69d09513e..8ca66e49b 100644 --- a/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst +++ b/content/applications/websites/website/publish/on-premise_geo-ip-installation.rst @@ -33,7 +33,7 @@ Installation ./odoo-bin --geoip-db= ~/Downloads/GeoLite2-City.mmdb .. seealso:: - - :doc:`CLI documentation `. + - :doc:`CLI documentation `. .. warning:: ``GeoIP`` Python library can also be used. However this version is discontinued since January diff --git a/content/contributing/documentation/rst_cheat_sheet.rst b/content/contributing/documentation/rst_cheat_sheet.rst index 7b78c24b0..170ec4f72 100644 --- a/content/contributing/documentation/rst_cheat_sheet.rst +++ b/content/contributing/documentation/rst_cheat_sheet.rst @@ -515,9 +515,12 @@ Document metadata +-----------------+--------------------------------------------------------------------------------+ | `show-content` | Make a toctree page accessible from the navigation menu. | +-----------------+--------------------------------------------------------------------------------+ +| `show-toc` | Show the table of content on a page that has the `show-content` metadata | +| | directive. | ++-----------------+--------------------------------------------------------------------------------+ | `code-column` | | Show a dynamic side column that can be used to display interactive | | | tutorials or code excerpts. | -| | | For example, see :doc:`/developer/webservices/upgrade` or | +| | | For example, see :doc:`/developer/misc/api/upgrade` or | | | :doc:`/applications/finance/accounting/getting_started/memento`. | +-----------------+--------------------------------------------------------------------------------+ | `hide-page-toc` | Hide the "On this page" sidebar and use full page width for the content. | diff --git a/content/developer.rst b/content/developer.rst index 0a1a7a71f..01bc598e0 100644 --- a/content/developer.rst +++ b/content/developer.rst @@ -1,12 +1,19 @@ :nosearch: +:show-content: +:hide-page-toc: +:show-toc: + ========= Developer ========= +Learn through tutorials and get help using reference guides. + .. toctree:: + :titlesonly: - developer/reference - developer/webservices developer/howtos + developer/reference + developer/misc diff --git a/content/developer/howtos/rdtraining/B_acl_irrules.rst b/content/developer/howtos/rdtraining/B_acl_irrules.rst index 7c3a8890f..a01a8a3c2 100644 --- a/content/developer/howtos/rdtraining/B_acl_irrules.rst +++ b/content/developer/howtos/rdtraining/B_acl_irrules.rst @@ -481,7 +481,7 @@ or a *visibility* feature before using it: * *Visibility* features mean a user can still access the model or record otherwise, either through an other part of the interface or by :doc:`perform - operations remotely using RPC <../../webservices/odoo>`, things might just not be + operations remotely using RPC <../../misc/api/odoo>`, things might just not be visible in the web interface in some contexts. * *Security* features mean a user can not access records, fields or operations. diff --git a/content/developer/misc.rst b/content/developer/misc.rst new file mode 100644 index 000000000..0b30597af --- /dev/null +++ b/content/developer/misc.rst @@ -0,0 +1,12 @@ +:nosearch: + +==== +Misc +==== + +.. toctree:: + :titlesonly: + + misc/api + misc/i18n + misc/other diff --git a/content/developer/misc/api.rst b/content/developer/misc/api.rst new file mode 100644 index 000000000..b0fc90cbe --- /dev/null +++ b/content/developer/misc/api.rst @@ -0,0 +1,12 @@ +:nosearch: + +=== +API +=== + +.. toctree:: + :titlesonly: + + api/odoo + api/iap + api/upgrade diff --git a/content/developer/webservices/iap.rst b/content/developer/misc/api/iap.rst similarity index 100% rename from content/developer/webservices/iap.rst rename to content/developer/misc/api/iap.rst diff --git a/content/developer/webservices/images/account-security.png b/content/developer/misc/api/images/account-security.png similarity index 100% rename from content/developer/webservices/images/account-security.png rename to content/developer/misc/api/images/account-security.png diff --git a/content/developer/webservices/images/button.png b/content/developer/misc/api/images/button.png similarity index 100% rename from content/developer/webservices/images/button.png rename to content/developer/misc/api/images/button.png diff --git a/content/developer/webservices/images/creating_service.png b/content/developer/misc/api/images/creating_service.png similarity index 100% rename from content/developer/webservices/images/creating_service.png rename to content/developer/misc/api/images/creating_service.png diff --git a/content/developer/webservices/images/credits.jpg b/content/developer/misc/api/images/credits.jpg similarity index 100% rename from content/developer/webservices/images/credits.jpg rename to content/developer/misc/api/images/credits.jpg diff --git a/content/developer/webservices/images/credits2.jpg b/content/developer/misc/api/images/credits2.jpg similarity index 100% rename from content/developer/webservices/images/credits2.jpg rename to content/developer/misc/api/images/credits2.jpg diff --git a/content/developer/webservices/images/delete-key.png b/content/developer/misc/api/images/delete-key.png similarity index 100% rename from content/developer/webservices/images/delete-key.png rename to content/developer/misc/api/images/delete-key.png diff --git a/content/developer/webservices/images/flow.png b/content/developer/misc/api/images/flow.png similarity index 100% rename from content/developer/webservices/images/flow.png rename to content/developer/misc/api/images/flow.png diff --git a/content/developer/webservices/images/menu.png b/content/developer/misc/api/images/menu.png similarity index 100% rename from content/developer/webservices/images/menu.png rename to content/developer/misc/api/images/menu.png diff --git a/content/developer/webservices/images/no-credit.png b/content/developer/misc/api/images/no-credit.png similarity index 100% rename from content/developer/webservices/images/no-credit.png rename to content/developer/misc/api/images/no-credit.png diff --git a/content/developer/webservices/images/normal.png b/content/developer/misc/api/images/normal.png similarity index 100% rename from content/developer/webservices/images/normal.png rename to content/developer/misc/api/images/normal.png diff --git a/content/developer/webservices/images/package.png b/content/developer/misc/api/images/package.png similarity index 100% rename from content/developer/webservices/images/package.png rename to content/developer/misc/api/images/package.png diff --git a/content/developer/webservices/images/players.png b/content/developer/misc/api/images/players.png similarity index 100% rename from content/developer/webservices/images/players.png rename to content/developer/misc/api/images/players.png diff --git a/content/developer/webservices/images/preferences.png b/content/developer/misc/api/images/preferences.png similarity index 100% rename from content/developer/webservices/images/preferences.png rename to content/developer/misc/api/images/preferences.png diff --git a/content/developer/webservices/images/service_created.png b/content/developer/misc/api/images/service_created.png similarity index 100% rename from content/developer/webservices/images/service_created.png rename to content/developer/misc/api/images/service_created.png diff --git a/content/developer/webservices/images/service_list.png b/content/developer/misc/api/images/service_list.png similarity index 100% rename from content/developer/webservices/images/service_list.png rename to content/developer/misc/api/images/service_list.png diff --git a/content/developer/webservices/images/template.png b/content/developer/misc/api/images/template.png similarity index 100% rename from content/developer/webservices/images/template.png rename to content/developer/misc/api/images/template.png diff --git a/content/developer/webservices/odoo.rst b/content/developer/misc/api/odoo.rst similarity index 100% rename from content/developer/webservices/odoo.rst rename to content/developer/misc/api/odoo.rst diff --git a/content/developer/webservices/upgrade.rst b/content/developer/misc/api/upgrade.rst similarity index 100% rename from content/developer/webservices/upgrade.rst rename to content/developer/misc/api/upgrade.rst diff --git a/content/developer/misc/i18n.rst b/content/developer/misc/i18n.rst new file mode 100644 index 000000000..3069e91ad --- /dev/null +++ b/content/developer/misc/i18n.rst @@ -0,0 +1,11 @@ +:nosearch: + +==================== +Internationalization +==================== + +.. toctree:: + :titlesonly: + + i18n/localization + i18n/translations diff --git a/content/developer/webservices/localization.rst b/content/developer/misc/i18n/localization.rst similarity index 99% rename from content/developer/webservices/localization.rst rename to content/developer/misc/i18n/localization.rst index 0f3057807..3aa6a336f 100644 --- a/content/developer/webservices/localization.rst +++ b/content/developer/misc/i18n/localization.rst @@ -1,12 +1,12 @@ ======================= -Creating a Localization +Accounting Localization ======================= .. warning:: This tutorial requires knowledges about how to build a module in Odoo (see - :doc:`../howtos/backend`). + :doc:`/developer/howtos/backend`). Building a localization module ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/content/developer/reference/translations.rst b/content/developer/misc/i18n/translations.rst similarity index 100% rename from content/developer/reference/translations.rst rename to content/developer/misc/i18n/translations.rst diff --git a/content/developer/reference/translations/po-export.png b/content/developer/misc/i18n/translations/po-export.png similarity index 100% rename from content/developer/reference/translations/po-export.png rename to content/developer/misc/i18n/translations/po-export.png diff --git a/content/developer/misc/other.rst b/content/developer/misc/other.rst new file mode 100644 index 000000000..3feffe256 --- /dev/null +++ b/content/developer/misc/other.rst @@ -0,0 +1,12 @@ +:nosearch: + +====== +Others +====== + +.. toctree:: + :titlesonly: + + other/guidelines + other/cmdline + other/iot diff --git a/content/developer/reference/cmdline.rst b/content/developer/misc/other/cmdline.rst similarity index 99% rename from content/developer/reference/cmdline.rst rename to content/developer/misc/other/cmdline.rst index 32e9ea142..4666f9d0e 100644 --- a/content/developer/reference/cmdline.rst +++ b/content/developer/misc/other/cmdline.rst @@ -1,9 +1,9 @@ .. _reference/cmdline: -================================ -Command-line interface: odoo-bin -================================ +============= +CLI: odoo-bin +============= .. _reference/cmdline/server: diff --git a/content/developer/reference/guidelines.rst b/content/developer/misc/other/guidelines.rst similarity index 100% rename from content/developer/reference/guidelines.rst rename to content/developer/misc/other/guidelines.rst diff --git a/content/developer/reference/iot.rst b/content/developer/misc/other/iot.rst similarity index 100% rename from content/developer/reference/iot.rst rename to content/developer/misc/other/iot.rst diff --git a/content/developer/reference.rst b/content/developer/reference.rst index 3a6323d08..4d9a26558 100644 --- a/content/developer/reference.rst +++ b/content/developer/reference.rst @@ -1,29 +1,12 @@ :nosearch: :types: reference -========= -Reference -========= +================ +Reference Guides +================ .. toctree:: :titlesonly: - reference/orm - reference/data - reference/actions - reference/views - reference/module - reference/cmdline - reference/security - reference/testing - - reference/http - reference/qweb - reference/javascript_cheatsheet - reference/javascript_reference - reference/translations - reference/reports - reference/mixins - reference/guidelines - reference/mobile - reference/iot + reference/addons + reference/javascript diff --git a/content/developer/reference/addons.rst b/content/developer/reference/addons.rst new file mode 100644 index 000000000..2f441c207 --- /dev/null +++ b/content/developer/reference/addons.rst @@ -0,0 +1,19 @@ +:nosearch: + +============= +Server Addons +============= + +.. toctree:: + :titlesonly: + + addons/orm + addons/data + addons/actions + addons/views + addons/module + addons/reports + addons/security + addons/testing + addons/http + addons/mixins diff --git a/content/developer/reference/actions.rst b/content/developer/reference/addons/actions.rst similarity index 100% rename from content/developer/reference/actions.rst rename to content/developer/reference/addons/actions.rst diff --git a/content/developer/reference/data.rst b/content/developer/reference/addons/data.rst similarity index 100% rename from content/developer/reference/data.rst rename to content/developer/reference/addons/data.rst diff --git a/content/developer/reference/http.rst b/content/developer/reference/addons/http.rst similarity index 100% rename from content/developer/reference/http.rst rename to content/developer/reference/addons/http.rst diff --git a/content/developer/reference/images/tests.png b/content/developer/reference/addons/images/tests.png similarity index 100% rename from content/developer/reference/images/tests.png rename to content/developer/reference/addons/images/tests.png diff --git a/content/developer/reference/mixins.rst b/content/developer/reference/addons/mixins.rst similarity index 100% rename from content/developer/reference/mixins.rst rename to content/developer/reference/addons/mixins.rst diff --git a/content/developer/reference/module.rst b/content/developer/reference/addons/module.rst similarity index 100% rename from content/developer/reference/module.rst rename to content/developer/reference/addons/module.rst diff --git a/content/developer/reference/orm.rst b/content/developer/reference/addons/orm.rst similarity index 99% rename from content/developer/reference/orm.rst rename to content/developer/reference/addons/orm.rst index 9d9061f98..36184ef36 100644 --- a/content/developer/reference/orm.rst +++ b/content/developer/reference/addons/orm.rst @@ -974,7 +974,7 @@ Odoo provides three different mechanisms to extend models in a modular way: version * delegating some of the model's fields to records it contains -.. image:: ../images/inheritance_methods.png +.. image:: ../../images/inheritance_methods.png :align: center Classical inheritance diff --git a/content/developer/reference/reports.rst b/content/developer/reference/addons/reports.rst similarity index 100% rename from content/developer/reference/reports.rst rename to content/developer/reference/addons/reports.rst diff --git a/content/developer/reference/security.rst b/content/developer/reference/addons/security.rst similarity index 100% rename from content/developer/reference/security.rst rename to content/developer/reference/addons/security.rst diff --git a/content/developer/reference/static/res.country.state.csv b/content/developer/reference/addons/static/res.country.state.csv similarity index 100% rename from content/developer/reference/static/res.country.state.csv rename to content/developer/reference/addons/static/res.country.state.csv diff --git a/content/developer/reference/testing.rst b/content/developer/reference/addons/testing.rst similarity index 100% rename from content/developer/reference/testing.rst rename to content/developer/reference/addons/testing.rst diff --git a/content/developer/reference/views.rst b/content/developer/reference/addons/views.rst similarity index 100% rename from content/developer/reference/views.rst rename to content/developer/reference/addons/views.rst diff --git a/content/developer/reference/javascript.rst b/content/developer/reference/javascript.rst new file mode 100644 index 000000000..0c973a34f --- /dev/null +++ b/content/developer/reference/javascript.rst @@ -0,0 +1,13 @@ +:nosearch: + +================== +Javascript Modules +================== + +.. toctree:: + :titlesonly: + + javascript/javascript_cheatsheet + javascript/javascript_reference + javascript/mobile + javascript/qweb diff --git a/content/developer/reference/images/mobile_contact_create.png b/content/developer/reference/javascript/images/mobile_contact_create.png similarity index 100% rename from content/developer/reference/images/mobile_contact_create.png rename to content/developer/reference/javascript/images/mobile_contact_create.png diff --git a/content/developer/reference/images/mobile_notification.png b/content/developer/reference/javascript/images/mobile_notification.png similarity index 100% rename from content/developer/reference/images/mobile_notification.png rename to content/developer/reference/javascript/images/mobile_notification.png diff --git a/content/developer/reference/images/mobile_switch_account.png b/content/developer/reference/javascript/images/mobile_switch_account.png similarity index 100% rename from content/developer/reference/images/mobile_switch_account.png rename to content/developer/reference/javascript/images/mobile_switch_account.png diff --git a/content/developer/reference/images/mobile_working.jpg b/content/developer/reference/javascript/images/mobile_working.jpg similarity index 100% rename from content/developer/reference/images/mobile_working.jpg rename to content/developer/reference/javascript/images/mobile_working.jpg diff --git a/content/developer/reference/images/odoo_mobile_api.png b/content/developer/reference/javascript/images/odoo_mobile_api.png similarity index 100% rename from content/developer/reference/images/odoo_mobile_api.png rename to content/developer/reference/javascript/images/odoo_mobile_api.png diff --git a/content/developer/reference/images/runner.png b/content/developer/reference/javascript/images/runner.png similarity index 100% rename from content/developer/reference/images/runner.png rename to content/developer/reference/javascript/images/runner.png diff --git a/content/developer/reference/images/runner2.png b/content/developer/reference/javascript/images/runner2.png similarity index 100% rename from content/developer/reference/images/runner2.png rename to content/developer/reference/javascript/images/runner2.png diff --git a/content/developer/reference/images/snackbar.png b/content/developer/reference/javascript/images/snackbar.png similarity index 100% rename from content/developer/reference/images/snackbar.png rename to content/developer/reference/javascript/images/snackbar.png diff --git a/content/developer/reference/images/tests2.png b/content/developer/reference/javascript/images/tests2.png similarity index 100% rename from content/developer/reference/images/tests2.png rename to content/developer/reference/javascript/images/tests2.png diff --git a/content/developer/reference/images/tests3.png b/content/developer/reference/javascript/images/tests3.png similarity index 100% rename from content/developer/reference/images/tests3.png rename to content/developer/reference/javascript/images/tests3.png diff --git a/content/developer/reference/images/toast.png b/content/developer/reference/javascript/images/toast.png similarity index 100% rename from content/developer/reference/images/toast.png rename to content/developer/reference/javascript/images/toast.png diff --git a/content/developer/reference/javascript_cheatsheet.rst b/content/developer/reference/javascript/javascript_cheatsheet.rst similarity index 100% rename from content/developer/reference/javascript_cheatsheet.rst rename to content/developer/reference/javascript/javascript_cheatsheet.rst diff --git a/content/developer/reference/javascript_reference.rst b/content/developer/reference/javascript/javascript_reference.rst similarity index 99% rename from content/developer/reference/javascript_reference.rst rename to content/developer/reference/javascript/javascript_reference.rst index 6da9451bf..85148e922 100644 --- a/content/developer/reference/javascript_reference.rst +++ b/content/developer/reference/javascript/javascript_reference.rst @@ -1341,7 +1341,7 @@ to be translated. The way it currently works is the following: is found. Note that translations are explained in more details, from the server point of -view, in the document :doc:`translations`. +view, in the document :doc:`/developer/misc/i18n/translations`. There are two important functions for the translations in javascript: *_t* and *_lt*. The difference is that *_lt* is lazily evaluated. diff --git a/content/developer/reference/mobile.rst b/content/developer/reference/javascript/mobile.rst similarity index 100% rename from content/developer/reference/mobile.rst rename to content/developer/reference/javascript/mobile.rst diff --git a/content/developer/reference/qweb.rst b/content/developer/reference/javascript/qweb.rst similarity index 99% rename from content/developer/reference/qweb.rst rename to content/developer/reference/javascript/qweb.rst index 82ae3b107..6d9d5e01c 100644 --- a/content/developer/reference/qweb.rst +++ b/content/developer/reference/javascript/qweb.rst @@ -3,9 +3,9 @@ .. _reference/qweb: -==== -QWeb -==== +============== +QWeb Templates +============== QWeb is the primary templating_ engine used by Odoo\ [#othertemplates]_. It is an XML templating engine\ [#genshif]_ and used mostly to generate HTML_ diff --git a/content/developer/webservices.rst b/content/developer/webservices.rst deleted file mode 100644 index f6c2f0834..000000000 --- a/content/developer/webservices.rst +++ /dev/null @@ -1,14 +0,0 @@ -:nosearch: - -============ -Web Services -============ - -.. toctree:: - :titlesonly: - - webservices/odoo - webservices/iap - webservices/upgrade - webservices/localization - webservices/extract_api \ No newline at end of file diff --git a/content/developer/webservices/extract_api.rst b/content/developer/webservices/extract_api.rst deleted file mode 100644 index df0bdc99a..000000000 --- a/content/developer/webservices/extract_api.rst +++ /dev/null @@ -1,555 +0,0 @@ -:code-column: - -=============== -Extract API -=============== - -Odoo provides a service allowing you to automate the processing of your invoices. The service scans your document using an Optical -Character Recognition (OCR) engine and then uses AI-based algorithms to extract the fields of interest such as the total, the due date, or -the invoice lines. More functional information can be found on the `demo page `_. - -This service is a paid service. Each invoice processing will cost you one credit. Three different sized packs can be bought on `iap.odoo.com `_. - -You can either use this service directly in the Odoo Accounting App or through the API. The Extract API which is detailed in the next section -allows you to integrate our service directly into your own projects. - -Invoices -======== -The extract API use the JSON-RPC2_ protocol. The diffent routes are located at the following address: **https://iap-extract.odoo.com**. - -Expected successful flow ------------------------- - -1. Call :ref:`webservices/extract_api/invoice_parse` to submit your invoices (one call for each invoice). On success, you receive a `document_id` in the response. -2. You then have to regularly poll :ref:`webservices/extract_api/invoice_get_results` to get the document's parsing status. -3. Once the result received, you can validate it by calling :ref:`webservices/extract_api/invoice_validate` and sending the expected values. - This step is optional but greatly helps the system to improve. - -These 3 routes are detailed in this :ref:`section `. The HTTP POST method should be used for all of them. A python implementation of the full flow -can be found :download:`here ` and a token for integration testing is provided in the :ref:`integration testing section `. - -.. _webservices/extract_api/routes: - -Routes ------- - -.. _webservices/extract_api/invoice_parse: - -``/iap/invoice_extract/parse`` -'''''''''''''''''''''''''''''' - -Description -^^^^^^^^^^^ -Request a processing of the document from the OCR. The route will return a `document_id` you can use to obtain the result of your request. - -Request Body -^^^^^^^^^^^^ - -``jsonrpc`` (required) - Must be exactly “2.0”. -``method`` (required) - Must be “call”. -``id`` (required) - An identifier established by the client. It allows the client to keep track of which response goes with which request. This makes asynchronous calls easier. -``params`` - ``account_token`` (required) - The token of the account from which credits will be taken. Each successful call costs one token. - ``version`` (optional) - The version will determine the format of your requests and the format of the server response. Some results can be unavailable in older versions. For the current - version 1.2.0, send ‘120’. If not specified, the latest version will be used. - ``documents`` (required) - The invoice must be provided as a string in the ASCII encoding. The list should contain only one string. If multiple strings are provided only the first string - corresponding to a pdf will be processed. If no pdf is found, the first string will be processed. This field is a list only for legacy reasons. The supported extensions - are *pdf*, *png*, *jpg* and *bmp*. - ``user_infos`` (required) - Information concerning the person to whom the invoice is intended. This information is not required in order for the service to work but it greatly improves the quality of the result. - - ``user_company_vat`` (optional) - VAT number of the client. - ``user_company_name`` (optional) - Name of the client’s company. - ``user_company_country_code`` (optional) - Country code of the client. Format: `ISO3166 alpha-2 `_. - ``user_lang`` (optional) - The client language. Format: *language_code + _ + locale* (ex: fr_FR, en_US). - ``user_email`` (optional) - The client email. - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { - "jsonrpc": string, - "method": string, - "params": { - "account_token": string (hex), - "version": int, - "documents": [string], - "user_infos": { - "user_company_vat": string, - "user_company_name": string, - "user_company_country_code": string, - "user_lang": string, - "user_email": string, - }, - }, - "id": string (hex), - } - -Response -^^^^^^^^ - -``jsonrpc`` - A string specifying the version of the JSON-RPC protocol. It will be “2.0”. -``id`` - The identifier you set in the request body. -``result`` - ``status_code`` - |STATUS_CODE| - ``status_msg`` - |STATUS_MSG| - ``document_id`` - Only present if the request is successful. - -.. note:: The API does not actually use the JSON-RPC error scheme. Instead the API has its own error scheme bundled inside a successful JSON-RPC result. - -============= ============================================================== - status_code status_msg -============= ============================================================== -0 Success -2 An error occurred -3 You don't have enough credit -6 Unsupported file format -9 Server is currently under maintenance. Please try again later. -============= ============================================================== - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { - "jsonrpc": string, - "id": string, - "result": { - "status_code": int, - "status_msg": string, - "document_id": int, - } - } - - -.. _webservices/extract_api/invoice_get_results: - -``/iap/invoice_extract/get_results`` -'''''''''''''''''''''''''''''''''''' - -Description -^^^^^^^^^^^ -Request the results of the documents ids obtained with the :ref:`/parse ` route. Can either return the results or a "request pending" message. - -Request Body -^^^^^^^^^^^^ - -``jsonrpc`` (required) - |SAME_AS_PARSE| -``method`` (required) - |SAME_AS_PARSE| -``id`` (required) - |SAME_AS_PARSE| -``params``: - ``version`` (required) - |SAME_AS_PARSE| - ``documents_ids`` (required) - The list of ``document_id`` for which you want to get the current parsing status. - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { - "jsonrpc": string, - "method": string, - "params": { - "version": int, - "documents_ids": [int] - }, - "id": string (hex), - } - - -Response -^^^^^^^^ - -``jsonrpc`` - |SAME_AS_PARSE| -``id`` - |SAME_AS_PARSE| -``result`` - Dictionary where each key is a document_id. For each ``document_id``: - - ``status_code`` - |STATUS_CODE| - ``status_msg`` - |STATUS_MSG| - ``results`` - Only present if the request is successful. - -.. warning:: result keys are strings despite the fact that the document_ids given in the request body are integers. - -============= ============================================================== - status_code status_msg -============= ============================================================== -0 Success -1 Not ready -2 An error occurred -9 Server is currently under maintenance. Please try again later. -============= ============================================================== - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { - "jsonrpc": string, - "id": string, - "result": { - "document_id_1": { - "status_code": int, - "status_msg": str, - "results": [{"feature_1_name": feature_1_result, - "feature_2_name": feature_2_result, - … - }] - }, - "document_id_2": { - "status_code": int, - "status_msg": str, - "results": [{"feature_1_name": feature_1_result, - "feature_2_name": feature_2_result, - … - }] - }, - ... - } - } - -.. _webservices/extract_api/invoice_get_results/feature_result: - -``feature_result`` -'''''''''''''''''' - -Each field of interest we want to extract from the invoice such as the total or the due date are also called features. An exhaustive list of all the extracted features can be found in the table below. - -For each feature, we return a list of candidates and we spotlight the candidate our model predicts to be the best fit for the feature. - -``selected_value`` - The best candidate for this feature. -``words`` - List of all the candidates for this feature ordered by decreasing score. - -.. container:: doc-aside - - .. switcher:: - - .. code-block:: text - - { - "selected_value": candidate_12, - "words": [candidate_12, candidate_3, candidate_4,...] - } - - -``candidate`` -''''''''''''' - -For each candidate we give its representation and position in the document. Candidates are sorted by decreasing order of suitability. - -``content`` - Representation of the candidate. -``coords`` - ``[center_x, center_y, width, height, rotation_angle]``. The position and dimensions are relative to the size of the page and are therefore between 0 and 1. - The angle is a clockwise rotation measured in degrees. -``page`` - Page of the original document on which the candidate is located (starts at 0). - -.. container:: doc-aside - - .. switcher:: - - .. code-block:: text - - { - "content": string|float, - "coords": [float, float, float, float, float], - "page": int - } - -+-------------------------+------------------------------------------------------------------------------------+ -| Feature name | Specifities | -+=========================+====================================================================================+ -| ``SWIFT_code`` | **content** is a dictionary encoded as a string. | -| | | -| | It contains information about the detected SWIFT code | -| | (or `BIC `_). | -| | | -| | Keys: | -| | | -| | ``bic`` | -| | detected BIC (string). | -| | ``name`` (optional) | -| | bank name (string). | -| | ``country_code`` | -| | ISO3166 alpha-2 country code of the bank (string). | -| | ``city`` (optional) | -| | city of the bank (string). | -| | ``verified_bic`` | -| | True if the BIC has been found in our DB (bool). | -| | | -| | Name and city are present only if verified_bic is true. | -+-------------------------+------------------------------------------------------------------------------------+ -| ``VAT_Number`` | **content** is a string | -+-------------------------+------------------------------------------------------------------------------------+ -| ``country`` | **content** is a string | -+-------------------------+------------------------------------------------------------------------------------+ -| ``currency`` | **content** is a string | -+-------------------------+------------------------------------------------------------------------------------+ -| ``date`` | **content** is a string | -| | | -| | Format : *YYYY-MM-DD HH:MM:SS* | -+-------------------------+------------------------------------------------------------------------------------+ -| ``due_date`` | Same as for ``date`` | -+-------------------------+------------------------------------------------------------------------------------+ -| ``global_taxes`` | **content** is a float | -| | | -| | **candidate** has an additional field ``amount_type``. Its value is always percent.| -| | | -| | **selected_values** is a list of candidates. | -+-------------------------+------------------------------------------------------------------------------------+ -| ``global_taxes_amount`` | **content** is a float | -+-------------------------+------------------------------------------------------------------------------------+ -| ``invoice_id`` | **content** is a string | -+-------------------------+------------------------------------------------------------------------------------+ -| ``subtotal`` | **content** is a float | -+-------------------------+------------------------------------------------------------------------------------+ -| ``total`` | **content** is a float | -+-------------------------+------------------------------------------------------------------------------------+ -| ``supplier`` | **content** is a string | -+-------------------------+------------------------------------------------------------------------------------+ - -``feature_result`` for the ``invoice_lines`` feature -'''''''''''''''''''''''''''''''''''''''''''''''''''' - -It follows a more specific structure. It is basically a list of dictionaries where each dictionary represents an invoice line. Each value follows -a :ref:`webservices/extract_api/invoice_get_results/feature_result` structure. - -.. container:: doc-aside - - .. switcher:: - - .. code-block:: text - - [ - { - "description": feature_result, - "discount": feature_result, - "product": feature_result, - "quantity": feature_result, - "subtotal": feature_result, - "total": feature_result, - "taxes": feature_result, - "total": feature_result, - "unit": feature_result, - "unit_price": feature_result - }, - ... - ] - -.. _webservices/extract_api/invoice_validate: - -``/iap/invoice_extract/validate`` -''''''''''''''''''''''''''''''''' - -Description -^^^^^^^^^^^ -Route that validates the different features of an invoice. The validation step is an optional step but is strongly recommended. By telling the system if it were right or wrong for each -feature you give an important feedback. It has no direct impact but it helps the system to greatly improve its prediction accuracy for the invoices you will send in the future. - -Request Body -^^^^^^^^^^^^ - -``jsonrpc`` (required) - |SAME_AS_PARSE| -``method`` (required) - |SAME_AS_PARSE| -``params`` - ``documents_id`` (required) - Id of the document for which you want to validate the result. - ``values`` - Contains the validation for each feature. The field ``merged_line`` indicates if the ``invoice_lines`` have been merged or not. - -.. note:: You don't have to validate all the features in order for the validation to succeed. However :ref:`/validate ` can't be called multiple times for a same invoice. - Therefore you should validate all the features you want to validate at once. - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { - "jsonrpc": string, - "method": string, - "params": { - "document_id": int, - "values": { - "merged_lines": bool - "feature_name_1": validation_1, - "feature_name_2": validation_2, - ... - } - }, - "id": string (hex), - } - -``validation`` -'''''''''''''' - -A **validation** for a given feature is a dictionary containing the textual representation of the expected value for this given feature. -This format apply for all the features except for ``global_taxes`` and ``invoice_lines`` which have more complex validation format. - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { "content": string|float } - -validation for ``global_taxes`` -''''''''''''''''''''''''''''''' - -**content** is a list of dictionaries. Each dictionary represents a tax: - -``amount`` - Amount on which the tax is applied. -``tax_amount`` - Amount of the tax. -``tax_amount_type`` - Indicates if the ``tax_amount`` is a percentage or a fixed value. The type must be specified using the literal string "fixed" or "percent". -``tax_price_include`` - Indicates if ``amount`` already contains the tax or not. - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - {"content": [ - { - "amount": float, - "tax_amount": float, - "tax_amount_type": "fixed"|"percent", - "tax_price_include": bool - }, - ... - ]} - -validation for ``invoice_lines`` -'''''''''''''''''''''''''''''''' - -**lines** is a list of dictionaries. Each dictionary represents an invoice line. The dictionary keys speak for themselves. - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - {"lines": [ - { - "description": string, - "quantity": float, - "unit_price": float, - "product": string, - "taxes_amount": float, - "taxes": [ - { - "amount": float, - "type": "fixed"|"percent", - "price_include": bool - }, - ... - ], - "subtotal": float, - "total": float - }, - ... - ]} - -Response --------- - -``jsonrpc`` - |SAME_AS_PARSE| -``id`` - |SAME_AS_PARSE| -``result`` - ``status_code`` - |STATUS_CODE| - ``status_msg`` - |STATUS_MSG| - -============= ========================================================== - status_code status_msg -============= ========================================================== -0 Success -12 Validation format is incorrect -============= ========================================================== - -.. rst-class:: setup doc-aside - -.. switcher:: - - .. code-block:: text - - { - "jsonrpc": string, - "id": string, - "result": { - "status_code": int, - "status_msg": string, - } - } - - -.. _webservices/extract_api/integration_testing: - -Integration Testing -=================== - -You can test your integration by using *integration_token* as ``account_token`` in the :ref:`/parse ` request. - -Using this token put you in test mode and allows you to simulate the entire flow without really parsing a document and without being billed one credit for each successful invoice parsing. - -The only technical differences in test mode is that the document you send is not parsed by the system and that the response you get from :ref:`/get_results ` -is a hard-coded one. - -A python implementation of the full flow can be found :download:`here `. - -.. _JSON-RPC2: https://www.jsonrpc.org/specification - -.. |SAME_AS_PARSE| replace:: Same as for :ref:`/parse `. - -.. |STATUS_CODE| replace:: The code indicating the status of the request. ``status_code`` is 0 in case of success. Other ``status_code`` are detailed in the table below. - -.. |STATUS_MSG| replace:: A string giving verbose details about the request status. \ No newline at end of file diff --git a/content/developer/webservices/files/extract_api_implementation.py b/content/developer/webservices/files/extract_api_implementation.py deleted file mode 100644 index f62487029..000000000 --- a/content/developer/webservices/files/extract_api_implementation.py +++ /dev/null @@ -1,100 +0,0 @@ -import base64 -import time -import sys -import json -import requests - -account_token = "integration_token" # Use your token -domain_name = "https://iap-extract.odoo.com" -path_to_pdf = "/path/to/invoice_file" - -API_VERSION = 120 # Do not change -SUCCESS = 0 -NOT_READY = 1 - -def jsonrpc(path, params): - payload = { - 'jsonrpc': '2.0', - 'method': 'call', - 'params': params, - 'id': 0, - } - req = requests.post(domain_name+path, json=payload, timeout=10) - req.raise_for_status() - resp = req.json() - return resp - - -with open(path_to_pdf, "rb") as file: - params = { - 'account_token': account_token, - 'version': API_VERSION, - 'documents': [base64.b64encode(file.read()).decode('ascii')], - } - -response = jsonrpc("/iap/invoice_extract/parse", params) -print("/parse call status: ", response['result']['status_msg']) - -if response['result']['status_code'] != SUCCESS: - sys.exit(1) - -# You received an id that you can use to poll the server to get the result of the ocr when it will be ready -document_id = response['result']['document_id'] -params = { - 'version': API_VERSION, - 'document_ids': [document_id], # you can request the results of multiple documents at once if wanted -} - -response = jsonrpc("/iap/invoice_extract/get_results", params) -document_id = str(document_id) # /get_results expects a string despite the fact that the returned document_id is a int - -while response['result'][document_id]['status_code'] == NOT_READY: # 1 is the status code indicating that the server is still processing the document - print("Still processing... Retrying in 5 seconds") - time.sleep(5) - response = jsonrpc("/iap/invoice_extract/get_results", params) - -with open('results.txt', 'w') as outfile: - json.dump(response, outfile, indent=2) -print("\nResult saved in results.txt") - -if response['result'][document_id]['status_code'] != SUCCESS: - print(response['result'][document_id]['status_msg']) # if it isn't a success, print the error message - sys.exit(1) - -document_results = response['result'][document_id]['results'][0] -print("\nTotal:", document_results['total']['selected_value']['content']) -print("Subtotal:", document_results['subtotal']['selected_value']['content']) -print("Invoice id:", document_results['invoice_id']['selected_value']['content']) -print("Date:", document_results['date']['selected_value']['content']) -print("...\n") - -params = { - 'document_id': document_id, - 'values': { - 'total': {'content': 100.0}, - 'subtotal': {'content': 100.0}, - 'global_taxes': {'content': []}, - 'global_taxes_amount': {'content': 0.0}, - 'date': {'content': '2020-09-25'}, - 'due_date': {'content': '2020-09-25'}, - 'invoice_id': {'content': document_results['invoice_id']['selected_value']['content']}, - 'partner': {'content': 'twinnta'}, - 'VAT_Number': {'content': 'BE23252248420'}, - 'currency': {'content': 'USD'}, - 'merged_lines': False, - 'invoice_lines': {'lines': [{'description': 'Total TVA ', - 'quantity': 1.0, - 'unit_price': 100.0, - 'product': False, - 'taxes_amount': 0.0, - 'taxes': [], - 'subtotal': 100.0, - 'total': 100.0}] - } - } -} -response = jsonrpc("/iap/invoice_extract/validate", params) -if response['result']['status_code'] == SUCCESS: - print("/validate call status: Success") -else: - print("/validate call status: wrong format") \ No newline at end of file diff --git a/content/index.rst b/content/index.rst index 86418529b..952a7a6a7 100644 --- a/content/index.rst +++ b/content/index.rst @@ -10,5 +10,4 @@ Odoo Documentation applications administration developer - services contributing diff --git a/content/services.rst b/content/services.rst deleted file mode 100644 index 0795e7c70..000000000 --- a/content/services.rst +++ /dev/null @@ -1,10 +0,0 @@ -:nosearch: - -======== -Services -======== - - -.. toctree:: - - services/support diff --git a/content/services/support.rst b/content/services/support.rst deleted file mode 100644 index 763c95fb8..000000000 --- a/content/services/support.rst +++ /dev/null @@ -1,12 +0,0 @@ -:nosearch: - -======= -Support -======= - -.. toctree:: - :titlesonly: - - support/where_can_i_get_support - support/what_can_i_expect - support/supported_versions diff --git a/content/services/support/media/add_text.png b/content/services/support/media/add_text.png deleted file mode 100644 index 8a2d6a674..000000000 Binary files a/content/services/support/media/add_text.png and /dev/null differ diff --git a/content/services/support/media/edit_on_github.png b/content/services/support/media/edit_on_github.png deleted file mode 100644 index af4c901ad..000000000 Binary files a/content/services/support/media/edit_on_github.png and /dev/null differ diff --git a/content/services/support/media/preview_changes.png b/content/services/support/media/preview_changes.png deleted file mode 100644 index ce271601e..000000000 Binary files a/content/services/support/media/preview_changes.png and /dev/null differ diff --git a/content/services/support/media/propose_changes.png b/content/services/support/media/propose_changes.png deleted file mode 100644 index ad0a20825..000000000 Binary files a/content/services/support/media/propose_changes.png and /dev/null differ diff --git a/content/services/support/what_can_i_expect.rst b/content/services/support/what_can_i_expect.rst deleted file mode 100644 index 47940491c..000000000 --- a/content/services/support/what_can_i_expect.rst +++ /dev/null @@ -1,56 +0,0 @@ - -.. _support-expectations: - -=========================================== -What can I expect from the support service? -=========================================== - - -5 days a week -============= - -Your Odoo Online subscription includes **unlimited 24hr support at no extra -cost, Monday to Friday**. Our teams are located around the world to ensure you -have support, no matter your location. Your support representative could be -communicating to you from San Francisco, Belgium, or India! - -Our support team can be contacted through our `online support form `__. - - -What kind of support is included? -================================= - -- Providing you with relevant material (guidelines, product documentation, - etc...) -- Answers to issues that you may encounter in your standard Odoo database (eg. - “I cannot close my Point of Sale” or “I cannot find my sales KPIs?”) -- Questions related to your account, subscription, or billing -- Bug resolution (blocking issues or unexpected behaviour not due to - misconfiguration or customization) -- Issues that might occur in a test database after upgrading to a newer version - -*Odoo Support does not make changes to your production database without your agreement and gives you -the material and knowledge to do it yourself!* - - -What kind of support is not included? -===================================== - -- Questions that require us to understand your business processes in order to - help you implement your database -- Training on how to use our software (we will direct you to our many resources) -- Import of documents into your database -- Guidance on which configurations to apply inside of an application or the database -- How to set up configuration models (Examples include: Inventory Routes, - Payment Terms, Warehouses, etc) -- Any intervention on your own servers/deployments of Odoo -- Any intervention on your own third party account (Ingenico, Authorize, UPS, etc) -- Questions or issues related to specific developments or customizations done - either by Odoo or a third party (this is specific only to your database or - involving code) - -You can get this type of support with a `Success Pack `__. -With a pack, one of our consultants will analyze the way your business runs and -tell you how you can get the most out of your Odoo Database. We will handle all -configurations and coach you on how to use Odoo. - diff --git a/content/services/support/where_can_i_get_support.rst b/content/services/support/where_can_i_get_support.rst deleted file mode 100644 index 010000dc2..000000000 --- a/content/services/support/where_can_i_get_support.rst +++ /dev/null @@ -1,32 +0,0 @@ - -=================== -Where to find help? -=================== - - -Odoo Enterprise -=============== - -Users who have a valid Odoo Enterprise subscription may always contact our support teams through our -`support form `_, no matter the hosting type you chose (Odoo Online, -Odoo.sh or on your own server). - -Please include in your request: - -- your subscription number -- the URL of your database if your database is hosted by Odoo (Odoo Online or Odoo.sh) - -Our agents will get back to you as soon as possible. - - -Odoo Community -============== - -*Odoo Community users don't get access to the support service.* - -Here are some resources that might help you: - -- Our `documentation pages `_. -- Ask your question on the `community forum `_. -- :doc:`Buy Odoo Enterprise ` to get the - support and bugfix services. diff --git a/extensions/odoo_theme/layout.html b/extensions/odoo_theme/layout.html index b231697ad..1e08e4f43 100644 --- a/extensions/odoo_theme/layout.html +++ b/extensions/odoo_theme/layout.html @@ -79,7 +79,7 @@ {%- set main_classes = main_classes + ['o_index'] %} {%- endif %} - {%- if 'show-content' in meta %} {# The page is an accessible toctree #} + {%- if ('show-content' in meta) and ('show-toc' not in meta) %} {# The page is an accessible toctree #} {%- set main_classes = main_classes + ['o_hide_toc'] %} {%- endif %} diff --git a/extensions/odoo_theme/layout_templates/homepage.html b/extensions/odoo_theme/layout_templates/homepage.html index 6ab00651f..1b27254b1 100644 --- a/extensions/odoo_theme/layout_templates/homepage.html +++ b/extensions/odoo_theme/layout_templates/homepage.html @@ -1,65 +1,59 @@
-
-
-

{{ _("Odoo Documentation") }}

-

{{ _("The comprehensive guide for Odoo users. Easily find the tutorial and helpful tips that suit your needs.") }}

- -
+
+

{{ _("Odoo Documentation") }}

-

{{ _("Applications") }}

-

{{ _("Master any app thanks to their end-user guides. Our wide array of functional workflows and processes are designed to help you unleash Odoo's potential.") }}

-
{{ _("Top Links") }}
+

{{ _("User Docs") }}

+

{{ _("Discover our guide to help you use and configure the platform, by applications.") }}

+
{{ _("Top Apps") }}
-

{{ _("Administration") }}

-

{{ _("Easily setup your first Odoo installation. From downloads to day-to-day database administration, the dedicated tutorials have got you covered.") }}

+

{{ _("Install and Maintain") }}

+

{{ _("Learn how to install, deploy and upgrade Odoo on premise or on Odoo.sh.") }}

{{ _("Top Links") }}
@@ -67,58 +61,39 @@
-

{{ _("Services") }}

-

{{ _("Find out how to open a support ticket should you need to contact a Customer Service Representative.") }}

-
{{ _("Top Links") }}
- -
-
-
-
-

{{ _("Contributing") }}

+

{{ _("Contributing") }}

{{ _("You want to contribute to Odoo but don't know where to start? The tutorials and guidelines are there to help you make Odoo even better.") }}

{{ _("Top Links") }}
    @@ -139,4 +114,4 @@ {# If changelog exists import it here} {% include "layout_templates/changelog.html" %} {#} -
\ No newline at end of file +
diff --git a/extensions/odoo_theme/static/style.scss b/extensions/odoo_theme/static/style.scss index ba3d37bfc..d6c93d39e 100644 --- a/extensions/odoo_theme/static/style.scss +++ b/extensions/odoo_theme/static/style.scss @@ -55,10 +55,9 @@ header.o_main_header { padding: 0 $padding-m; } @include media-breakpoint-up(xl) { - padding: 0 $padding-l; + padding: 0 $padding-l 0 $padding-m; } - .o_logo_wrapper { > .o_logo { img { @@ -203,6 +202,7 @@ header.o_main_header { z-index: 10; @include font-size($font-size-secondary); color: $o-violet-dark; + font-weight: $fw_regular; @include media-breakpoint-up(lg) { width: calc(#{$o-side-nav-width} - 1rem); height: calc(100vh - #{$o-header-height}); @@ -212,8 +212,6 @@ header.o_main_header { } @include media-breakpoint-up(xl) { width: $o-side-nav-width; - padding-top: $padding-l; - padding-left: $padding-l; } &.show { @@ -223,6 +221,11 @@ header.o_main_header { .toctree-l1 { padding-top: $padding-xs; padding-bottom: $padding-xs; + + > .o_toc_entry_wrapper a { + color: $o-violet-dark; + font-weight: 600; + } } ul { @@ -232,6 +235,20 @@ header.o_main_header { margin-left: -3px; } + li { + &.o_active_toc_entry { + &:not(.toctree-l1) > .o_toc_entry_wrapper i[class^="i-"]:not(.collapsed), > a , > .o_toc_entry_wrapper a, > .o_toc_entry_wrapper i { + color: $o-violet-dark; + } + } + + a { + &.current { + color: $o-violet-dark; + } + } + } + > .toctree-l1 { &[class*="o_menu_"] > .o_toc_entry_wrapper > i:before { @include o-inline-icon($i-doc-apps, 0 5px 0 0); @@ -290,16 +307,8 @@ header.o_main_header { a { display: inline-block; padding: .4rem 0; - color: inherit; - opacity: .75; - - &.current, &:hover { - opacity: 1; - } - } - - > .o_toc_entry_wrapper i { - opacity: .75; + color: $gray-darker; + font-weight: $fw_regular; } &:not(.toctree-l1) { @@ -314,9 +323,6 @@ header.o_main_header { margin-right: .125rem; @include o-transition(rotate, .3s); font-size: .75rem; - font-weight: $fw_bold; - color: inherit; - &[aria-expanded="true"] { @include o-transform(rotate(90deg)); } @@ -332,7 +338,6 @@ header.o_main_header { } > a , > .o_toc_entry_wrapper a, > .o_toc_entry_wrapper i { font-weight: $fw_bold; - opacity: 1; } } } @@ -448,11 +453,6 @@ header.o_main_header { margin: -#{$margin-l} -#{$margin-l} $margin-l; padding: $padding-l $padding-l; } - - .btn-primary { - background-color: #00A09D; - border-color: #00A09D; - } } .row:first-of-type h2.border-top { @include media-breakpoint-up(lg) { @@ -485,17 +485,25 @@ header.o_main_header { } } - // pages with full width: Legal + // First level legal page and pages with toctrees (i.e.: User Docs, Install & Maintain, Developer, Contributing) &.o_fullwidth_page { - .toctree-l1 > a { - display: block; - color: $gray-darker; - @include font-size($h2-font-size); - padding-bottom: $padding-xs; - border-bottom: 1px solid $gray-light; - margin-bottom: $margin-s; + div.toctree-wrapper > ul { + display: flex; + flex-wrap: wrap; + > li { + @include media-breakpoint-down(lg) { + width: 100%; + } + @include media-breakpoint-up(lg) { + width: 33%; + &:not(:nth-of-type(3n)){ + padding-right: $padding-m; + } + } + + } + } } - } // pages with column for code on the right &.o_has_code_column { @@ -583,22 +591,36 @@ header.o_main_header { } .toctree-wrapper { - > ul { + > ul, .toctree-l1 > ul { padding-left: 0; list-style: none; } - .toctree-l1 > a[href="#"] { + .toctree-l1 > a { + display: block; + @include font-size($h2-font-size); + margin-top: $padding-m; + padding-bottom: $padding-xs; + border-bottom: 1px solid $gray-light; + margin-bottom: $margin-s; font-size: 1.2rem; font-weight: 600; - border-bottom: 2px solid $gray-darker; + } + + .toctree-l1 { + margin-bottom: 2rem; + } + + .toctree-l2 > a[href="#"] { + margin-top: 0.7rem; + display: inline-block; } a[href="#"] { pointer-events: none; cursor: default; color: $gray-darker; - font-weight: $fw_regular; + font-weight: $fw_semibold; } } diff --git a/redirects.txt b/redirects.txt index dc9a3323c..504283195 100644 --- a/redirects.txt +++ b/redirects.txt @@ -200,22 +200,64 @@ crm/optimize/setup.rst applications/general/voip/asterisk.rst # general/odoo_basics/add_user.rst applications/general/odoo_basics/users.rst # add_user -> users applications/general/in_app_purchase/in_app_purchase.rst applications/general/in_app_purchase.rst # in_app_purchase/in_app_purchase -> in_app_purchase -applications/general/tags/take_tags.rst applications/general/tags.rst # tags/take_tags -> tags -applications/general/multi_companies/manage_multi_companies.rst applications/general/multi_companies.rst # multi_companies/manage_multi_companies -> multi_companies +applications/general/multi_companies/manage_multi_companies.rst applications/general/companies.rst # multi_companies/manage_multi_companies -> companies +applications/general/multi_companies.rst applications/general/users/companies.rst # multi_companies -> companies applications/general/payment_acquirers/payment_acquirers.rst applications/general/payment_acquirers.rst # payment_acquirers/payment_acquirers -> payment_acquirers -applications/general/unsplash/unsplash_access_key.rst applications/general/unsplash.rst # unsplash/unsplash_access_key -> unsplash -applications/general/unsplash/unsplash_application_id.rst applications/general/unsplash.rst # unsplash/unsplash_application_id -> unsplash +applications/general/unsplash/unsplash_access_key.rst applications/websites/website/optimize/unsplash.rst # general/unsplash/unsplash_access_key -> general/unsplash +applications/general/unsplash/unsplash_application_id.rst applications/websites/website/optimize/unsplash.rst # general/unsplash/unsplash_application_id -> general/unsplash +applications/general/unsplash.rst applications/websites/website/optimize/unsplash.rst # general/unsplash -> websites/website/optimize/unsplash applications/general/base_import.rst applications/general/export_import_data.rst # base_import -> export_import_data -applications/general/base_import/import_faq.rst applications/general/export_import_data.rst # base_import/import_faq -> export_import_data -applications/general/base_import/adapt_template.rst applications/general/export_import_data.rst # base_import/adapt_template -> export_import_data +applications/general/base_import/import_faq.rst applications/general/export_import_data.rst +applications/general/base_import/adapt_template.rst applications/general/export_import_data.rst applications/general/odoo_basics/export-data.rst applications/general/export_import_data.rst # odoo_basics/export-data -> export_import_data applications/settings/users_and_features.rst applications/general.rst # settings/users_and_features -> general applications/general/mobile.rst applications/general.rst # general/mobile -> general -applications/general/developer_mode/activate.rst applications/general.rst # developer_mode/activate -> general +applications/general/developer_mode/activate.rst applications/general/developer_mode.rst # developer_mode/activate -> developer_mode applications/general/odoo_basics/users.rst applications/general/users.rst # odoo_basics/users -> users applications/general/odoo_basics/choose_language.rst applications/general/users/language.rst # odoo_basics/choose_language -> users/language +applications/general/auth/google_spreadsheets.rst applications/sales/crm/performance/google_spreadsheets.rst # general/auth/* -> sales/crm/performance/ -applications/finance/sign/overview/signature_validity.rst applications/finance/sign.rst #sign/overview/signature_validity -> sign/* +applications/finance/sign/overview/signature_validity.rst applications/finance/sign.rst # sign/overview/signature_validity -> sign/* + +applications/marketing/survey/overview/create.rst applications/marketing/surveys/overview/create.rst # /survey/* -> /surveys/* +applications/marketing/survey/overview/scoring.rst applications/marketing/surveys/overview/scoring.rst # /survey/* -> /surveys/* +applications/marketing/survey/overview/time_random.rst applications/marketing/surveys/overview/time_random.rst # /survey/* -> /surveys/* + +administration/db_management/db_premise.rst administration/maintain/db_premise.rst # /db_management/* -> /maintain/* +administration/db_management/hosting_changes.rst administration/maintain/hosting_changes.rst # /db_management/* -> /maintain/* +administration/db_upgrade.rst administration/maintain/db_upgrade.rst # /* -> /maintain/* +administration/enterprise.rst administration/maintain/enterprise.rst # /* -> /maintain/* +administration/update.rst administration/maintain/update.rst # administration/* -> administration/maintain/* +administration/install.rst administration/install/install.rst # /* -> /install/* +administration/deployment/cdn.rst administration/install/cdn.rst # /deployment/* -> /install/* +administration/deployment/deploy.rst administration/install/deploy.rst # /deployment/* -> /install/* +administration/deployment/email_gateway.rst administration/install/email_gateway.rst # /deployment/* -> /install/* +administration/deployment/install.rst administration/install/install.rst # /deployment/* -> /install/* + +developer/webservices/iap.rst developer/misc/api/iap.rst +developer/webservices/odoo.rst developer/misc/api/odoo.rst +developer/webservices/upgrade.rst developer/misc/api/upgrade.rst +developer/webservices/localizations.rst developer/misc/i18n/localization.rst +developer/reference/translations.rst developer/misc/i18n/translations.rst +developer/reference/cmdline.rst developer/misc/other/cmdline.rst +developer/reference/guidelines.rst developer/misc/other/guidelines.rst +developer/reference/iot.rst developer/misc/other/iot.rst +developer/actions.rst developer/addons/actions.rst +developer/data.rst developer/addons/data.rst +developer/http.rst developer/addons/http.rst +developer/mixins.rst developer/addons/mixins.rst +developer/module.rst developer/addons/module.rst +developer/orm.rst developer/addons/orm.rst +developer/reports.rst developer/addons/reports.rst +developer/security.rst developer/addons/security.rst +developer/testing.rst developer/addons/testing.rst +developer/views.rst developer/addons/views.rst +developer/javascript_cheatsheet.rst developer/javascript/javascript_cheatsheet.rst +developer/javascript_reference.rst developer/javascript/javascript_reference.rst +developer/mobile.rst developer/javascript/mobile.rst +developer/qweb.rst developer/javascript/qweb.rst + +services/support/supported_versions.rst administration/maintain/supported_versions.rst # services/support/* -> administration/maintain/* # Redirections introduced in 14.0 :