diff --git a/Makefile b/Makefile index e0a34a1e6..15a05b068 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ # Makefile for Sphinx documentation -# Pass WORKERS=auto for parallel build +# Pass WORKERS=1 for single-worker build ifndef WORKERS WORKERS = auto endif diff --git a/README.md b/README.md index 2d872c815..e2e7b778c 100644 --- a/README.md +++ b/README.md @@ -4,10 +4,10 @@ ### Requirements -- [Git](https://www.odoo.com/documentation/master/contributing/documentation/introduction_guide.html#install-git) -- [Python 3.6, 3.7, or 3.8](https://www.odoo.com/documentation/master/contributing/documentation/introduction_guide.html#python) +- [Git](https://www.odoo.com/documentation/master/contributing/documentation.html#install-git) +- [Python 3.6, 3.7, or 3.8](https://www.odoo.com/documentation/master/contributing/documentation.html#python) - Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/master/requirements.txt). -- [Make](https://www.odoo.com/documentation/master/contributing/documentation/introduction_guide.html#make) +- [Make](https://www.odoo.com/documentation/master/contributing/documentation.html#make) - A local copy of the [odoo/odoo repository in master](https://github.com/odoo/odoo/tree/master) (Optional) ### Instructions @@ -23,7 +23,7 @@ 2. Open the file `documentation/_build/html/index.html` in your web browser to display the render. -3. See [this guide](https://www.odoo.com/documentation/master/contributing/documentation/introduction_guide.html#preview-your-changes) +3. See [this guide](https://www.odoo.com/documentation/master/contributing/documentation.html#preview-your-changes) for more detailed instructions. Optional: to fully build the developer documentation with inline docstrings for documented Python @@ -34,7 +34,7 @@ be shown. ## Contribute to the documentation For contributions to the content of the documentation, please refer to the -[Introduction Guide](https://www.odoo.com/documentation/master/contributing/documentation/introduction_guide.html). +[Introduction Guide](https://www.odoo.com/documentation/master/contributing/documentation.html). To **report a content issue**, **request new content** or **ask a question**, use the [repository's issue tracker](https://github.com/odoo/documentation-user/issues) as usual. diff --git a/content/administration/odoo_sh/getting_started/create.rst b/content/administration/odoo_sh/getting_started/create.rst index f44ff19cf..583a45364 100644 --- a/content/administration/odoo_sh/getting_started/create.rst +++ b/content/administration/odoo_sh/getting_started/create.rst @@ -151,7 +151,7 @@ Check your outgoing email servers There is a default mail server provided with Odoo.sh. To use it, there must be no enabled outgoing mail server configured in your database in :menuselection:`Settings --> Technical --> Outgoing Mail Servers` -(:doc:`Developer mode ` must be activated). +(:ref:`Developer mode ` must be activated). After the import of your database, all outgoing email servers are disabled so you use the Odoo.sh email server provided by default. diff --git a/content/administration/odoo_sh/getting_started/first_module.rst b/content/administration/odoo_sh/getting_started/first_module.rst index d2ad364b3..fdc7c6f93 100644 --- a/content/administration/odoo_sh/getting_started/first_module.rst +++ b/content/administration/odoo_sh/getting_started/first_module.rst @@ -263,7 +263,7 @@ and on your production you would not like your module to be installed automatica Your module may not appear directly in your apps to install either, you need to update your apps list first: -* activate the :doc:`Developer mode ` +* Activate the :ref:`developer mode ` * in the apps menu, click the *Update Apps List* button, * in the dialog that appears, click the *Update* button. diff --git a/content/applications.rst b/content/applications.rst index df8123d14..208da8203 100644 --- a/content/applications.rst +++ b/content/applications.rst @@ -12,5 +12,4 @@ Applications applications/marketing applications/services applications/productivity - applications/settings applications/general diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst index e467e9709..6ee254de6 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/argentina.rst @@ -275,8 +275,8 @@ with the same letter will share the same sequence. For example: Sequences ~~~~~~~~~ In case that you want to synchronize the next number in the sequence in Odoo based on the next -number in the AFIP POS, the next button that is visible under :doc:`developer mode -` can be used: +number in the AFIP POS, the next button that is visible under :ref:`developer mode ` +can be used: .. image:: media/argentina_edi_05.png :align: center diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/chile.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/chile.rst index c29581111..9dd822443 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/chile.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/chile.rst @@ -377,7 +377,10 @@ You can manually change the document type if needed. .. image:: media/Chile15.png :align: center :alt: Document type selection on invoices. - + +.. important:: + Documents type 33: Electronic Invoice must have at least one item with tax, otherwise the SII + rejects the document validation. Validation and DTE Status ~~~~~~~~~~~~~~~~~~~~~~~~~ diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/colombia.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/colombia.rst index 2b4c2817d..e304be8f6 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/colombia.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/colombia.rst @@ -142,7 +142,7 @@ Journals Once the DIAN has assigned the official sequence and prefix for the electronic invoice resolution, the Sales journals related to your invoice documents need to be updated in Odoo. The sequence can be -accessed using the :doc:`Developer mode `: :menuselection:`Accounting --> +accessed using the :ref:`developer mode `: :menuselection:`Accounting --> Settings --> Configuration Setting --> Journals`. .. image:: media/colombia09.png diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst index d098c498d..18ee3e29b 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/france.rst @@ -72,7 +72,7 @@ To get the certification just follow the following steps: .. note:: * To install the module in any system created before December 18th 2017, you should update the modules list. - To do so, activate the :doc:`Developer mode `. + To do so, activate the :ref:`developer mode `. Then go to the *Apps* menu and press *Update Modules List* in the top-menu. * In case you run Odoo on-premise, you need to update your installation and restart your server beforehand. @@ -154,8 +154,8 @@ Invoicing and Accounting apps. it will be counted in the very next closing. .. tip:: For test & audit purposes such closings can be manually generated in the - :doc:`Developer mode `. Then go to - :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`. + :ref:`developer mode `. Then go to :menuselection:`Settings --> + Technical --> Automation --> Scheduled Actions`. Responsibilities diff --git a/content/applications/finance/accounting/fiscal_localizations/localizations/mexico.rst b/content/applications/finance/accounting/fiscal_localizations/localizations/mexico.rst index 335af9779..a634338c5 100644 --- a/content/applications/finance/accounting/fiscal_localizations/localizations/mexico.rst +++ b/content/applications/finance/accounting/fiscal_localizations/localizations/mexico.rst @@ -1333,7 +1333,7 @@ Enabling Explicit errors on the CFDI using the XSD local validator (CFDI 3.3) Frequently you want receive explicit errors from the fields incorrectly set on the xml, those errors are better informed to the user if the check is enable, to enable the Check with xsd feature follow the next steps (with the -:doc:`Developer mode ` enabled). +:ref:`developer mode ` enabled). - Go to :menuselection:`Settings --> Technical --> Actions --> Server Actions` - Look for the Action called "Download XSD files to CFDI" diff --git a/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst b/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst index 3c1064c62..cd244c9aa 100644 --- a/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst +++ b/content/applications/finance/accounting/receivables/customer_payments/online_payment.rst @@ -42,4 +42,4 @@ They can choose which Payment Acquirer to use by clicking on *Pay Now*. .. seealso:: - - :doc:`/applications/general/payment_acquirers/payment_acquirers` + - :doc:`/applications/general/payment_acquirers` diff --git a/content/applications/finance/accounting/reporting/overview/customize.rst b/content/applications/finance/accounting/reporting/overview/customize.rst index 6aa7cba3b..e27fb6a1d 100644 --- a/content/applications/finance/accounting/reporting/overview/customize.rst +++ b/content/applications/finance/accounting/reporting/overview/customize.rst @@ -14,7 +14,7 @@ Activate the developer mode =========================== In order to have access to the financial report creation interface, the -:doc:`Developer mode ` needs to be activated. +:ref:`developer mode ` needs to be activated. Create your financial report ============================ diff --git a/content/applications/finance/documents.rst b/content/applications/finance/documents.rst index 940319431..96532cf11 100644 --- a/content/applications/finance/documents.rst +++ b/content/applications/finance/documents.rst @@ -33,8 +33,8 @@ on *Create*. An action applies to all *Child Workspaces* under the *Parent Workspace* you selected. .. tip:: - If you use the :doc:`developer mode <../general/developer_mode/activate>`, you can directly - access all your actions by going to :menuselection:`Documents --> Configuration --> Actions`. + If you use the :ref:`developer mode `, you can directly access all your actions + by going to :menuselection:`Documents --> Configuration --> Actions`. Set the conditions ------------------ @@ -66,9 +66,8 @@ Advanced condition type: domain It is recommended to have some knowledge of Odoo development to properly configure *Domain* filters. -To access the *Domain* condition, the :doc:`developer mode <../general/developer_mode/activate>` -needs to be activated. Once that's done, select the *Domain* condition type, and click on *Add -Filter*. +To access the *Domain* condition, the :ref:`developer mode ` needs to be activated. +Once that's done, select the *Domain* condition type, and click on *Add Filter*. .. image:: documents/activate-domain-condition.png :align: center diff --git a/content/applications/general.rst b/content/applications/general.rst index 0f78952ed..6497db0ef 100644 --- a/content/applications/general.rst +++ b/content/applications/general.rst @@ -1,18 +1,207 @@ +:show-content: + ======= General ======= - .. toctree:: - general/odoo_basics - general/unsplash - general/base_import + general/users + general/export_import_data general/multi_companies general/auth general/payment_acquirers general/voip general/calendars general/in_app_purchase - general/developer_mode - general/mobile + general/unsplash + +.. _general/users-features: + +Users and Features +================== + +As the administrator of your database, you are responsible for its usage. +This includes the Apps you install as well as the number of users currently +in use. + +Odoo is many things (ERP, CMS, CRM application, e-Commerce backend, etc.) +but it is *not* a smartphone. You should apply caution when adding/removing +features (especially Apps) on your database since this may impact your +subscription amount significantly (or switch you from a free account +to a paying one on our online platform). + +This section contains some information as to how you can manage your Odoo +instances. Before carrying any of these procedures, we **strongly** advise +to test them on a duplicate of your database first. That way, if something goes +wrong, your day-to-day business is not impacted. + +.. note:: You can find guides on how to duplicate your databases both for + :ref:`online ` and :ref:`on premise ` + installations. + +.. note:: If you have questions about the content of this section or if you + encounter an issue while carrying out these procedures, please contact + us through our `support form `__. + + +Deactivating Users +------------------ + +.. note:: Make sure you have sufficient **administrative rights** if + you want to change the status of any of your users. + +In your Odoo instance, click on **Settings**. You will have a section +showing you the active users on your database. Click on **Manage Users.** + ++----------------+----------------+ +| |settings| | |browse_users| | ++----------------+----------------+ + +You'll then see the list of your users. + +.. image:: general/list_users.png + :align: center + +.. note:: The pre-selected filter *Internal Users* shows your paying + users (different from the *Portal Users* which are free). If you + remove this filter, you'll get all your users (the ones you pay for + and the portal ones) + +In your list of users, click on the user you want to deactivate. As soon +as you are on the userform, click on the Action drop down menu, and +then click on Archive. + +.. image:: general/deactivate_user.png + :align: center + + +The user is now deactivated. + +.. danger:: **Never** deactivate the main user (*admin*) + +Uninstalling Apps +----------------- + +.. warning:: Make sure you first test what you are about to do on a + :ref:`duplicate ` of your database before making any + changes (*especially* installing/uninstalling apps). + +In your Odoo instance click on **Settings**; in this app, you will be +able to see how many applications you have installed. Click on **Browse +Apps** to access the list of your installed applications. + ++----------------+----------------+ +| |settings| | |browse_apps| | ++----------------+----------------+ + +In your applications' dashboard, you will see all the icons of your +applications. Click on the application you want to uninstall. Then, on +the form of the application, click on **Uninstall**. + +.. image:: general/uninstall.png + :align: center + +.. danger:: Some applications have dependencies, like Invoicing, eCommerce, + etc. Therefore, the system will give you a warning message to advise + you of what is about to be removed. If you uninstall your application, + all its dependencies will be uninstalled as well (and the data in them + will permanently disappear). If you are sure you still want to uninstall + it, then click **Confirm**. + +Last, after having checked the warning message (if any), click **Confirm**. + +.. image:: general/uninstall_deps.png + :align: center + +You have finished uninstalling your application. + +Good to know +------------ + +* **Uninstalling apps, managing users, etc. is up to you**: no one else can + know if your business flow is broken better than you. If we were to uninstall + applications for you, we would never be able to tell if relevant data had + been removed or if one of your business flow was broken because we *do not + know how you work* and therefore cannot validate these kinds of operations. + +* **Odoo Apps have dependencies**: this means that you may need to install + modules that you do not actively use to access some features of Odoo + you might need. For example, the Website Builder app is needed to be + able to show your customer their Quotes in a web page. Even though you + might not need or use the Website itself, it is needed for the Online + Quotes feature to work properly. + +* **Always test app installation/removal on a duplicate** (or on a + free trial database): that way you can know what other apps may + be required, etc. This will avoid surprises when uninstalling + or when receiving your invoices. + +.. |settings| image:: general/settings_app.png +.. |browse_apps| image:: general/browse_apps.png +.. |browse_users| image:: general/browse_users.png + +.. _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 application +-------------------------------- + +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. diff --git a/content/applications/general/base_import.rst b/content/applications/general/base_import.rst deleted file mode 100644 index 92a43880a..000000000 --- a/content/applications/general/base_import.rst +++ /dev/null @@ -1,9 +0,0 @@ -=========== -Data Import -=========== - -.. toctree:: - :titlesonly: - - base_import/adapt_template - base_import/import_faq \ No newline at end of file diff --git a/content/applications/general/base_import/adapt_template.rst b/content/applications/general/base_import/adapt_template.rst deleted file mode 100644 index 468db7cc0..000000000 --- a/content/applications/general/base_import/adapt_template.rst +++ /dev/null @@ -1,50 +0,0 @@ -=============================== -How to adapt an import template -=============================== - -Import templates are provided in the import tool of the most common data to -import (contacts, products, bank statements, etc.). -You can open them with any spreadsheets software (Microsoft Office, -OpenOffice, Google Drive, etc.). - -How to customize the file -========================= - -* Remove columns you don't need. We advise to not remove the *ID* one (see - why here below). -* Set a unique ID to every single record by dragging down the ID sequencing. - -.. image:: media/dragdown.gif - :align: center - -* When you add a new column, Odoo might not be able to map it automatically if its - label doesn't fit any field of the system. - If so, find the corresponding field using the search. - - .. image:: media/field_list.png - :align: center - - Then, use the label you found in your import template in order to make it work - straight away the very next time you try to import. - -Why an “ID” column -================== - -The **ID** (External ID) is an unique identifier for the line item. -Feel free to use the one of your previous software to ease the transition to Odoo. - -Setting an ID is not mandatory when importing but it helps in many cases: - -* Update imports: you can import the same file several times without creating duplicates; -* Import relation fields (see here below). - -How to import relation fields -============================= - -An Odoo object is always related to many other objects (e.g. a product is linked -to product categories, attributes, vendors, etc.). To import those relations you need to -import the records of the related object first from their own list menu. - -You can do it using either the name of the related record or its ID. The ID is expected when -two records have the same name. In such a case add " / ID" at the end of the column title -(e.g. for product attributes: Product Attributes / Attribute / ID). \ No newline at end of file diff --git a/content/applications/settings/media/browse_apps.png b/content/applications/general/browse_apps.png similarity index 100% rename from content/applications/settings/media/browse_apps.png rename to content/applications/general/browse_apps.png diff --git a/content/applications/settings/media/browse_users.png b/content/applications/general/browse_users.png similarity index 100% rename from content/applications/settings/media/browse_users.png rename to content/applications/general/browse_users.png diff --git a/content/applications/general/developer_mode/media/button_location.png b/content/applications/general/button_location.png similarity index 100% rename from content/applications/general/developer_mode/media/button_location.png rename to content/applications/general/button_location.png diff --git a/content/applications/settings/media/deactivate_user.png b/content/applications/general/deactivate_user.png old mode 100755 new mode 100644 similarity index 100% rename from content/applications/settings/media/deactivate_user.png rename to content/applications/general/deactivate_user.png diff --git a/content/applications/general/developer_mode.rst b/content/applications/general/developer_mode.rst deleted file mode 100644 index 2a901fa88..000000000 --- a/content/applications/general/developer_mode.rst +++ /dev/null @@ -1,8 +0,0 @@ -============== -Developer Mode -============== - -.. toctree:: - :titlesonly: - - developer_mode/activate \ No newline at end of file diff --git a/content/applications/general/developer_mode/activate.rst b/content/applications/general/developer_mode/activate.rst deleted file mode 100644 index 5f7dd20e1..000000000 --- a/content/applications/general/developer_mode/activate.rst +++ /dev/null @@ -1,54 +0,0 @@ -=================================== -Activate the Developer (Debug) Mode -=================================== - -The Developer or Debug Mode gives you access to extra and advanced tools. - -Through the Settings application --------------------------------- - -Go to :menuselection:`Settings --> Activate the developer mode`. - -.. image:: media/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:: media/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:: media/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:: media/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/base_import/import_faq.rst b/content/applications/general/export_import_data.rst similarity index 67% rename from content/applications/general/base_import/import_faq.rst rename to content/applications/general/export_import_data.rst index ae08eed7f..286e77d86 100644 --- a/content/applications/general/base_import/import_faq.rst +++ b/content/applications/general/export_import_data.rst @@ -1,22 +1,82 @@ -=========== -Import data -=========== +====================== +Export and import data +====================== + +.. _export-data: + +Export data from Odoo +===================== + +When working with a database, it sometimes is necessary to export your data in a distinct file. +Doing so can help to do reporting over your activities (even if Odoo offers a precise and easy +reporting tool with each available application). + +With Odoo, you can export the values from any field in any record. To do so, +activate the list view on the items that need to be exported, click on *Action*, and, then, +on *Export*. + +.. image:: export_import_data/list-view-export.png + :align: center + :alt: view of the different things to enable/click to export data + +Pretty simple, this action still comes with some specificities. In fact, +when clicking on *Export*, a pop-up window appears with several +options for the data to export: + +.. image:: export_import_data/export-data-overview.png + :align: center + :alt: overview of all the options to take into account when exporting data in Odoo + +#. With the *I want to update data* option ticked, the system only + shows the fields which can be imported. This is very helpful in + case you want to update existing records. Basically, this works + like a filter. Leaving the box unticked gives way more field + options because it shows all the fields, not just the ones which + can be imported. +#. When exporting, you can choose between two formats: .csv and .xls. + With .csv, items are separated with a comma, while .xls holds information about all the + worksheets in a file, including both content and formatting. +#. Those are the items you may want to export. Use the arrows to display + more sub-field options. Of course, you can use the search bar to + find specific fields more easily. To use the search option more + efficiently, display all the fields by clicking on all the + arrows! +#. The + button is there to add fields to the "to export" list. +#. The "handles" next to the selected fields allow you to move the fields up and down to + change the order in which they must be displayed in the exported + file. +#. The trashcan is there if you need to remove fields. +#. For recurring reports, it might be interesting to save export presets. + Select all the needed ones and click on the template bar. + There, click on *New template* and give a name to yours. The + next time you need to export the same list, simply select the + related template. + +.. tip:: + It’s good to keep the field’s external identifier in mind. For example, + *Related Company* is equal to *parent_id*. Doing so helps export + only what you would like to import next. + +.. _import-data: + +Import data into Odoo +===================== How to start ------------ -You can import data on any Odoo's business object using either Excel +You can import data on any Odoo's business object using either Excel (.xlsx) or CSV (.csv) formats: contacts, products, bank statements, journal entries and even orders! Open the view of the object you want to populate and click on :menuselection:`Favorites --> Import records`. -.. image:: media/import_button.png +.. image:: export_import_data/import_button.png :align: center There you are provided with templates you can easily populate -with your own data. Such templates can be imported in one click; +with your own data. Such templates can be imported in one click; The data mapping is already done. How to adapt the template @@ -26,55 +86,54 @@ How to adapt the template * We advise to not remove the **ID** one (see why in the next section). * Set a unique ID to every single record by dragging down the ID sequencing. - .. image:: media/dragdown.gif - :align: center +.. image:: export_import_data/dragdown.gif + :align: center -* When you add a new column, Odoo might not be able to map it automatically if its +* When you add a new column, Odoo might not be able to map it automatically if its label doesn't fit any field in Odoo. Don't worry! You can map new columns manually when you test the import. Search the list for the corresponding field. - .. image:: media/field_list.png - :align: center + .. image:: export_import_data/field_list.png + :align: center Then, use this field's label in your file in order to make it work straight on the very next time. - How to import from another application -------------------------------------- -In order to re-create relationships between different records, -you should use the unique identifier from the original application -and map it to the **ID** (External ID) column in Odoo. -When you import another record that links to the first one, +In order to re-create relationships between different records, +you should use the unique identifier from the original application +and map it to the **ID** (External ID) column in Odoo. +When you import another record that links to the first one, use **XXX/ID** (XXX/External ID) to the original unique identifier. -You can also find this record using its name but you will be stuck +You can also find this record using its name but you will be stuck if at least 2 records have the same name. -The **ID** will also be used to update the original import -if you need to re-import modified data later, +The **ID** will also be used to update the original import +if you need to re-import modified data later, it's thus good practice to specify it whenever possible. I cannot find the field I want to map my column to -------------------------------------------------- -Odoo tries to find with some heuristic, based on the first ten lines of -the files, the type of field for each column inside your file. -For example if you have a column only containing numbers, -only the fields that are of type *Integer* will be displayed for you -to choose from. -While this behavior might be good and easy for most cases, -it is also possible that it goes wrong or that you want to +Odoo tries to find with some heuristic, based on the first ten lines of +the files, the type of field for each column inside your file. +For example if you have a column only containing numbers, +only the fields that are of type *Integer* will be displayed for you +to choose from. +While this behavior might be good and easy for most cases, +it is also possible that it goes wrong or that you want to map your column to a field that is not proposed by default. -If that happens, you just have to check the -** Show fields of relation fields (advanced)** option, +If that happens, you just have to check the +** Show fields of relation fields (advanced)** option, you will then be able to choose from the complete list of fields for each column. -.. image:: media/field_list.png - :align: center +.. image:: export_import_data/field_list.png + :align: center Where can I change the date import format? ------------------------------------------ @@ -147,14 +206,14 @@ link to a record of the 'Country' object. When you want to import such fields, O recreate links between the different records. To help you import such fields, Odoo provides three mechanisms. You must use one and only one mechanism per field you want to import. -For example, to reference the country of a contact, Odoo proposes you 3 different fields to import: +For example, to reference the country of a contact, Odoo proposes you 3 different fields to import: - Country: the name or code of the country - Country/Database ID: the unique Odoo ID for a record, defined by the ID postgresql column - Country/External ID: the ID of this record referenced in another application (or the .XML file that imported it) -For the country Belgium, you can use one of these 3 ways to import: +For the country Belgium, you can use one of these 3 ways to import: - Country: Belgium - Country/Database ID: 21 @@ -176,10 +235,10 @@ with columns like "Field/External ID". The following two CSV files give you an e and their Categories. :download:`CSV file for categories -`. +`. :download:`CSV file for Products -`. +`. What can I do if I have multiple matches for a field? ----------------------------------------------------- @@ -200,7 +259,7 @@ The tags should be separated by a comma without any spacing. For example, if you to be linked to both tags 'Manufacturer' and 'Retailer' then you will encode "Manufacturer,Retailer" in the same column of your CSV file. -:download:`CSV file for Manufacturer, Retailer ` +:download:`CSV file for Manufacturer, Retailer ` How can I import a one2many relationship (e.g. several Order Lines of a Sales Order)? @@ -213,16 +272,16 @@ any information in the fields relative to the order. As an example, here is ``purchase.order_functional_error_line_cant_adpat.CSV`` file of some quotations you can import, based on demo data. -:download:`File for some Quotations `. +:download:`File for some Quotations `. The following CSV file shows how to import purchase orders with their respective purchase order lines: -:download:`Purchase orders with their respective purchase order lines `. +:download:`Purchase orders with their respective purchase order lines `. The following CSV file shows how to import customers and their respective contacts: -:download:`Customers and their respective contacts `. +:download:`Customers and their respective contacts `. Can I import several times the same record? ------------------------------------------- @@ -258,7 +317,7 @@ must be unique across all the records of all objects, so it's a good practice to As an example, suppose you have a SQL database with two tables you want to import: companies and persons. Each person belong to one company, so you will have to recreate the link between a person and the company he work for. (If you want to test this example, here is a :download:`dump of such a -PostgreSQL database `) +PostgreSQL database `) We will first export all companies and their "External ID". In PSQL, write the following command: @@ -300,3 +359,53 @@ original database). The two files produced are ready to be imported in Odoo without any modifications. After having imported these two CSV files, you will have 4 contacts and 3 companies. (the firsts two contacts are linked to the first company). You must first import the companies and then the persons. + +How to adapt an import template +=============================== + +Import templates are provided in the import tool of the most common data to +import (contacts, products, bank statements, etc.). +You can open them with any spreadsheets software (Microsoft Office, +OpenOffice, Google Drive, etc.). + +How to customize the file +========================= + +* Remove columns you don't need. We advise to not remove the *ID* one (see + why here below). +* Set a unique ID to every single record by dragging down the ID sequencing. + + .. image:: export_import_data/dragdown.gif + :align: center + +* When you add a new column, Odoo might not be able to map it automatically if its + label doesn't fit any field of the system. + If so, find the corresponding field using the search. + + .. image:: export_import_data/field_list.png + :align: center + + Then, use the label you found in your import template in order to make it work + straight away the very next time you try to import. + +Why an “ID” column +================== + +The **ID** (External ID) is an unique identifier for the line item. +Feel free to use the one of your previous software to ease the transition to Odoo. + +Setting an ID is not mandatory when importing but it helps in many cases: + +* Update imports: you can import the same file several times without creating duplicates; +* Import relation fields (see here below). + +How to import relation fields +============================= + +An Odoo object is always related to many other objects (e.g. a product is linked +to product categories, attributes, vendors, etc.). To import those relations you need to +import the records of the related object first from their own list menu. + +You can do it using either the name of the related record or its ID. The ID is expected when +two records have the same name. In such a case add " / ID" at the end of the column title +(e.g. for product attributes: Product Attributes / Attribute / ID). \ No newline at end of file diff --git a/content/applications/general/base_import/files/External_id_3rd_party_application_product_categories.csv b/content/applications/general/export_import_data/External_id_3rd_party_application_product_categories.csv similarity index 100% rename from content/applications/general/base_import/files/External_id_3rd_party_application_product_categories.csv rename to content/applications/general/export_import_data/External_id_3rd_party_application_product_categories.csv diff --git a/content/applications/general/base_import/files/External_id_3rd_party_application_products.csv b/content/applications/general/export_import_data/External_id_3rd_party_application_products.csv similarity index 100% rename from content/applications/general/base_import/files/External_id_3rd_party_application_products.csv rename to content/applications/general/export_import_data/External_id_3rd_party_application_products.csv diff --git a/content/applications/general/base_import/files/database_import_test.sql b/content/applications/general/export_import_data/database_import_test.sql similarity index 100% rename from content/applications/general/base_import/files/database_import_test.sql rename to content/applications/general/export_import_data/database_import_test.sql diff --git a/content/applications/general/base_import/media/dragdown.gif b/content/applications/general/export_import_data/dragdown.gif similarity index 100% rename from content/applications/general/base_import/media/dragdown.gif rename to content/applications/general/export_import_data/dragdown.gif diff --git a/content/applications/general/odoo_basics/media/export-data-overview.png b/content/applications/general/export_import_data/export-data-overview.png similarity index 100% rename from content/applications/general/odoo_basics/media/export-data-overview.png rename to content/applications/general/export_import_data/export-data-overview.png diff --git a/content/applications/general/base_import/media/field_list.png b/content/applications/general/export_import_data/field_list.png similarity index 100% rename from content/applications/general/base_import/media/field_list.png rename to content/applications/general/export_import_data/field_list.png diff --git a/content/applications/general/base_import/media/import_button.png b/content/applications/general/export_import_data/import_button.png similarity index 100% rename from content/applications/general/base_import/media/import_button.png rename to content/applications/general/export_import_data/import_button.png diff --git a/content/applications/general/odoo_basics/media/list-view-export.png b/content/applications/general/export_import_data/list-view-export.png similarity index 100% rename from content/applications/general/odoo_basics/media/list-view-export.png rename to content/applications/general/export_import_data/list-view-export.png diff --git a/content/applications/general/base_import/files/m2m_customers_tags.csv b/content/applications/general/export_import_data/m2m_customers_tags.csv similarity index 100% rename from content/applications/general/base_import/files/m2m_customers_tags.csv rename to content/applications/general/export_import_data/m2m_customers_tags.csv diff --git a/content/applications/general/base_import/files/o2m_customers_contacts.csv b/content/applications/general/export_import_data/o2m_customers_contacts.csv similarity index 100% rename from content/applications/general/base_import/files/o2m_customers_contacts.csv rename to content/applications/general/export_import_data/o2m_customers_contacts.csv diff --git a/content/applications/general/base_import/files/o2m_purchase_order_lines.csv b/content/applications/general/export_import_data/o2m_purchase_order_lines.csv similarity index 100% rename from content/applications/general/base_import/files/o2m_purchase_order_lines.csv rename to content/applications/general/export_import_data/o2m_purchase_order_lines.csv diff --git a/content/applications/general/base_import/files/purchase.order_functional_error_line_cant_adpat.csv b/content/applications/general/export_import_data/purchase.order_functional_error_line_cant_adpat.csv similarity index 100% rename from content/applications/general/base_import/files/purchase.order_functional_error_line_cant_adpat.csv rename to content/applications/general/export_import_data/purchase.order_functional_error_line_cant_adpat.csv diff --git a/content/applications/general/in_app_purchase.rst b/content/applications/general/in_app_purchase.rst index 53caf9d4a..33e61eba6 100644 --- a/content/applications/general/in_app_purchase.rst +++ b/content/applications/general/in_app_purchase.rst @@ -1,8 +1,71 @@ -=============== -In-App Purchase -=============== +===================== +In-App Purchase (IAP) +===================== -.. toctree:: - :titlesonly: +In-App Purchases (IAP) gives access to additional services through Odoo. For instance, it allows you +to send SMS Text Messages or to send Invoices by post directly from my database. - in_app_purchase/in_app_purchase \ No newline at end of file +Buying Credits +============== + +Each IAP Service relies on prepaid credits to work and has its own pricing. To consult my current +balance or to recharge my account, go to :menuselection:`Settings --> Odoo IAP --> View my +Services`. + +.. image:: in_app_purchase/image1.png + :align: center + +.. tip:: + If I am on Odoo Online (SAAS) and have the Enterprise version, I benefit from free credits to + test our IAP features. + +IAP accounts +============ + +Credits to use IAP services are stored on IAP accounts, which are specific to each service and +database. By default, IAP accounts are common to all companies, but can be restricted to specific +ones. Activate the :ref:`developer mode `, then go to :menuselection:`Technical +Settings --> IAP Account`. + +.. image:: in_app_purchase/image2.png + :align: center + +IAP Portal +========== + +The IAP Portal is a platform regrouping my IAP Services. It is accessible from +:menuselection:`Settings app --> Odoo IAP --> View my Services`. From there, I can view my current +balance, recharge my credits, review my consumption and set a reminder to when credits are low. + +.. image:: in_app_purchase/image3.png + :align: center + +Get notified when credits are low +================================= + +To be notified when it’s time to recharge my credits, I’ll go to my IAP Portal through +:menuselection:`Settings app --> Odoo IAP --> View my Services`, unfold a service and mark the +Receive threshold warning option. Then, I’ll provide a minimum amount of credits and email +addresses. Now, every time that the limit is reached, an automatic reminder will be sent to by +email! + +.. image:: in_app_purchase/image4.png + :align: center + +IAP services available +====================== + +Different services are available depending on the hosting type of your Database: + +- *Odoo Online (SAAS)*: only the IAP services provided by Odoo can be used (i.e. the SMS, Snailmail, + Reveal and Partner Autocomplete features); +- *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party + apps can be used. + +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/in_app_purchase/media/image1.png b/content/applications/general/in_app_purchase/image1.png similarity index 100% rename from content/applications/general/in_app_purchase/media/image1.png rename to content/applications/general/in_app_purchase/image1.png diff --git a/content/applications/general/in_app_purchase/media/image2.png b/content/applications/general/in_app_purchase/image2.png similarity index 100% rename from content/applications/general/in_app_purchase/media/image2.png rename to content/applications/general/in_app_purchase/image2.png diff --git a/content/applications/general/in_app_purchase/media/image3.png b/content/applications/general/in_app_purchase/image3.png similarity index 100% rename from content/applications/general/in_app_purchase/media/image3.png rename to content/applications/general/in_app_purchase/image3.png diff --git a/content/applications/general/in_app_purchase/media/image4.png b/content/applications/general/in_app_purchase/image4.png similarity index 100% rename from content/applications/general/in_app_purchase/media/image4.png rename to content/applications/general/in_app_purchase/image4.png diff --git a/content/applications/general/in_app_purchase/in_app_purchase.rst b/content/applications/general/in_app_purchase/in_app_purchase.rst deleted file mode 100644 index 427b807d9..000000000 --- a/content/applications/general/in_app_purchase/in_app_purchase.rst +++ /dev/null @@ -1,71 +0,0 @@ -================================================== -General guide about In-App Purchase (IAP) Services -================================================== - -In-App Purchases (IAP) gives access to additional services through Odoo. For instance, it allows me -to send SMS Text Messages or to send Invoices by post directly from my database. - -Buying Credits -============== - -Each IAP Service relies on prepaid credits to work and has its own pricing. To consult my current -balance or to recharge my account, go to :menuselection:`Settings --> Odoo IAP --> -View my Services`. - -.. image:: media/image1.png - :align: center - -.. tip:: - If I am on Odoo Online (SAAS) and have the Enterprise version, I benefit from free credits to - test our IAP features. - -IAP accounts -============ - -Credits to use IAP services are stored on IAP accounts, which are specific to each service and -database. By default, IAP accounts are common to all companies, but can be restricted to specific -ones. Activate the :doc:`Developer mode `, then go to -:menuselection:`Technical Settings --> IAP Account`. - -.. image:: media/image2.png - :align: center - -IAP Portal -========== - -The IAP Portal is a platform regrouping my IAP Services. It is accessible from -:menuselection:`Settings app --> Odoo IAP --> View my Services`. From there, I can view my current -balance, recharge my credits, review my consumption and set a reminder to when credits are low. - -.. image:: media/image3.png - :align: center - -Get notified when credits are low -================================= - -To be notified when it’s time to recharge my credits, I’ll go to my IAP Portal through -:menuselection:`Settings app --> Odoo IAP --> View my Services`, unfold a service and mark the -Receive threshold warning option. Then, I’ll provide a minimum amount of credits and email -addresses. Now, every time that the limit is reached, an automatic reminder will be sent to by -email! - -.. image:: media/image4.png - :align: center - -IAP services available -====================== - -Different services are available depending on the hosting type of your Database: - -- *Odoo Online (SAAS)*: only the IAP services provided by Odoo can be used (i.e. the SMS, Snailmail, - Reveal and Partner Autocomplete features); -- *Odoo.sh and Odoo Enterprise (on-premise)*: both the services provided by Odoo and by third-party - apps can be used. - -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/settings/media/list_users.png b/content/applications/general/list_users.png similarity index 100% rename from content/applications/settings/media/list_users.png rename to content/applications/general/list_users.png diff --git a/content/applications/general/mobile.rst b/content/applications/general/mobile.rst deleted file mode 100644 index 2e2747b12..000000000 --- a/content/applications/general/mobile.rst +++ /dev/null @@ -1,13 +0,0 @@ - -====== -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. diff --git a/content/applications/general/developer_mode/media/monkey.png b/content/applications/general/monkey.png similarity index 100% rename from content/applications/general/developer_mode/media/monkey.png rename to content/applications/general/monkey.png diff --git a/content/applications/general/multi_companies.rst b/content/applications/general/multi_companies.rst index 8349f9c79..1e1305285 100644 --- a/content/applications/general/multi_companies.rst +++ b/content/applications/general/multi_companies.rst @@ -2,7 +2,132 @@ Multi Companies =============== -.. toctree:: - :titlesonly: +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 +generate reports of aggregated figures without switching interfaces, which facilitates daily tasks +and the overall management process. + +Manage companies and records +============================ + +Go to :menuselection:`Settings --> Manage Companies` and fill in the form with your company’s +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 + :align: center + :alt: Overview of a new company's form in Odoo + +.. tip:: + Activate the :ref:`developer mode ` to choose a *Favicon* for each of your + 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 + :align: center + :height: 200 + :alt: View of a web browser and the favicon for a specific company chosen in Odoo + +Switch between or select multiple companies by enabling their selection boxes to activate them. The +grayed company is the one which environment is in use. To switch environments, click on the +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 + :align: center + :alt: View of the companies menu through the main dashboard in Odoo + +Data such as Products, Contacts, and Equipment can be shared or set to be shown for a specific +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 + :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*. + +.. image:: multi_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 + +| If a user has multiple companies *activated* on his database, and he is **editing** a record, + the editing happens on the record's related company. +| Example: if editing a sale order issued under JS Store US while working on the JS Store Belgium + environment, the changes are applied under JS Store US (the company from which the sale order + was issued). +| When **creating** a record, the company taken into account is: + +- The current company (the one active) or, +- No company is set (on products and contacts’ forms for example) or, +- The company set is the one linked to the document (the same as if a record is being edited). + +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 + :align: center + :alt: View of the settings page emphasizing the document layout field in Odoo + +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>` + +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 + :align: center + :alt: View of the settings page emphasizing the inter company transaction field in Odoo + +- **Synchronize invoice/bills**: generates a bill/invoice when a company confirms a bill/invoice for + the selected company. + + *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 + :align: center + :alt: View of an invoice for JS Store US created on JS Store Belgium in Odoo + +- **Synchronize sales/purchase order**: generates a drafted purchase/sales order using the selected + company warehouse when a sales/purchase order is confirmed for the selected company. If instead of + a drafted purchase/sales order you rather have it validated, enable *Automatic Validation*. + + *Example:* when a sale order for JS Store US is confirmed on JS Store Belgium, a purchase order + on JS Store Belgium is automatically created (and confirmed if the *Automatic Validation* feature + was enabled). + +.. image:: multi_companies/purchase_order_inter_company.png + :align: center + :alt: View of the purchase created on JS Store US from JS Store Belgium in Odoo + +.. note:: + Products have to be configured as *Can be sold* and must be shared between the companies. + +.. tip:: + Remember to test all workflows as an user other than the administrator. + +.. seealso:: + - :doc:`Multi-company Guidelines ` + - :doc:`../finance/accounting/others/multicurrencies/how_it_works` - multi_companies/manage_multi_companies \ No newline at end of file diff --git a/content/applications/general/multi_companies/media/access_rights_multi_companies.png b/content/applications/general/multi_companies/access_rights_multi_companies.png similarity index 100% rename from content/applications/general/multi_companies/media/access_rights_multi_companies.png rename to content/applications/general/multi_companies/access_rights_multi_companies.png diff --git a/content/applications/general/multi_companies/media/create_js_store_us.png b/content/applications/general/multi_companies/create_js_store_us.png similarity index 100% rename from content/applications/general/multi_companies/media/create_js_store_us.png rename to content/applications/general/multi_companies/create_js_store_us.png diff --git a/content/applications/general/multi_companies/media/document_layout.png b/content/applications/general/multi_companies/document_layout.png similarity index 100% rename from content/applications/general/multi_companies/media/document_layout.png rename to content/applications/general/multi_companies/document_layout.png diff --git a/content/applications/general/multi_companies/media/favicon.png b/content/applications/general/multi_companies/favicon.png similarity index 100% rename from content/applications/general/multi_companies/media/favicon.png rename to content/applications/general/multi_companies/favicon.png diff --git a/content/applications/general/multi_companies/media/inter_company_transactions.png b/content/applications/general/multi_companies/inter_company_transactions.png similarity index 100% rename from content/applications/general/multi_companies/media/inter_company_transactions.png rename to content/applications/general/multi_companies/inter_company_transactions.png diff --git a/content/applications/general/multi_companies/media/invoice_inter_company.png b/content/applications/general/multi_companies/invoice_inter_company.png similarity index 100% rename from content/applications/general/multi_companies/media/invoice_inter_company.png rename to content/applications/general/multi_companies/invoice_inter_company.png diff --git a/content/applications/general/multi_companies/manage_multi_companies.rst b/content/applications/general/multi_companies/manage_multi_companies.rst deleted file mode 100644 index b1cf39f7c..000000000 --- a/content/applications/general/multi_companies/manage_multi_companies.rst +++ /dev/null @@ -1,131 +0,0 @@ -Multi 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 -generate reports of aggregated figures without switching interfaces, which facilitates daily tasks -and the overall management process. - -Manage companies and records ----------------------------- - -Go to :menuselection:`Settings --> Manage Companies` and fill in the form with your company’s -information. If a *Parent Company* is selected, records are shared between the two companies (as -long as both environments are active). - -.. image:: media/create_js_store_us.png - :align: center - :alt: Overview of a new company's form in Odoo - -.. tip:: - Activate the :doc:`Developer mode <../developer_mode/activate>` to choose a *Favicon* - for each of your 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:: media/favicon.png - :align: center - :height: 200 - :alt: View of a web browser and the favicon for a specific company chosen in Odoo - -Switch between or select multiple companies by enabling their selection boxes to activate them. The -grayed company is the one which environment is in use. To switch environments, click on the -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:: media/multi_companies_menu_dashboard.png - :align: center - :alt: View of the companies menu through the main dashboard in Odoo - -Data such as Products, Contacts, and Equipment can be shared or set to be shown for a specific -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:: media/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 <../odoo_basics/users>` -for *Multi Companies*. - -.. image:: media/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 - -| If a user has multiple companies *activated* on his database, and he is **editing** a record, - the editing happens on the record's related company. -| Example: if editing a sale order issued under JS Store US while working on the JS Store Belgium - environment, the changes are applied under JS Store US (the company from which the sale order - was issued). -| When **creating** a record, the company taken into account is: - -- The current company (the one active) or, -- No company is set (on products and contacts’ forms for example) or, -- The company set is the one linked to the document (the same as if a record is being edited). - -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:: media/document_layout.png - :align: center - :alt: View of the settings page emphasizing the document layout field in Odoo - -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>` - -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:: media/inter_company_transactions.png - :align: center - :alt: View of the settings page emphasizing the inter company transaction field in Odoo - -- **Synchronize invoice/bills**: generates a bill/invoice when a company confirms a bill/invoice for - the selected company. - - *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:: media/invoice_inter_company.png - :align: center - :alt: View of an invoice for JS Store US created on JS Store Belgium in Odoo - -- **Synchronize sales/purchase order**: generates a drafted purchase/sales order using the selected - company warehouse when a sales/purchase order is confirmed for the selected company. If instead of - a drafted purchase/sales order you rather have it validated, enable *Automatic Validation*. - - *Example:* when a sale order for JS Store US is confirmed on JS Store Belgium, a purchase order - on JS Store Belgium is automatically created (and confirmed if the *Automatic Validation* feature - was enabled). - -.. image:: media/purchase_order_inter_company.png - :align: center - :alt: View of the purchase created on JS Store US from JS Store Belgium in Odoo - -.. note:: - Products have to be configured as *Can be sold* and must be shared between the companies. - -.. tip:: - Remember to test all workflows as an user other than the administrator. - -.. seealso:: - - :doc:`Multi-company Guidelines ` - - :doc:`../../finance/accounting/others/multicurrencies/how_it_works` diff --git a/content/applications/general/multi_companies/media/multi_companies_menu_dashboard.png b/content/applications/general/multi_companies/multi_companies_menu_dashboard.png similarity index 100% rename from content/applications/general/multi_companies/media/multi_companies_menu_dashboard.png rename to content/applications/general/multi_companies/multi_companies_menu_dashboard.png diff --git a/content/applications/general/multi_companies/media/product_form_company.png b/content/applications/general/multi_companies/product_form_company.png similarity index 100% rename from content/applications/general/multi_companies/media/product_form_company.png rename to content/applications/general/multi_companies/product_form_company.png diff --git a/content/applications/general/multi_companies/media/purchase_order_inter_company.png b/content/applications/general/multi_companies/purchase_order_inter_company.png similarity index 100% rename from content/applications/general/multi_companies/media/purchase_order_inter_company.png rename to content/applications/general/multi_companies/purchase_order_inter_company.png diff --git a/content/applications/general/odoo_basics.rst b/content/applications/general/odoo_basics.rst deleted file mode 100644 index 43de50b65..000000000 --- a/content/applications/general/odoo_basics.rst +++ /dev/null @@ -1,10 +0,0 @@ -====== -Basics -====== - -.. toctree:: - :titlesonly: - - odoo_basics/choose_language - odoo_basics/users - odoo_basics/export-data \ No newline at end of file diff --git a/content/applications/general/odoo_basics/export-data.rst b/content/applications/general/odoo_basics/export-data.rst deleted file mode 100644 index 29f9fd1c0..000000000 --- a/content/applications/general/odoo_basics/export-data.rst +++ /dev/null @@ -1,53 +0,0 @@ -====================== -Export Data From Odoo -====================== - -When working with a database, it sometimes is necessary to export your data in a distinct file. -Doing so can help to do reporting over your activities (even if Odoo offers a precise and easy -reporting tool with each available application). - -With Odoo, you can export the values from any field in any record. To do so, -activate the list view on the items that need to be exported, click on *Action*, and, then, -on *Export*. - -.. image:: media/list-view-export.png - :align: center - :alt: view of the different things to enable/click to export data - -Pretty simple, this action still comes with some specificities. In fact, -when clicking on *Export*, a pop-up window appears with several -options for the data to export: - -.. image:: media/export-data-overview.png - :align: center - :alt: overview of all the options to take into account when exporting data in Odoo - -1. With the *I want to update data* option ticked, the system only - shows the fields which can be imported. This is very helpful in - case you want to update existing records. Basically, this works - like a filter. Leaving the box unticked gives way more field - options because it shows all the fields, not just the ones which - can be imported. -2. When exporting, you can choose between two formats: .csv and .xls. - With .csv, items are separated with a comma, while .xls holds information about all the - worksheets in a file, including both content and formatting. -3. Those are the items you may want to export. Use the arrows to display - more sub-field options. Of course, you can use the search bar to - find specific fields more easily. To use the search option more - efficiently, display all the fields by clicking on all the - arrows! -4. The + button is there to add fields to the “to export” list. -5. The “handles” next to the selected fields allow you to move the fields up and down to - change the order in which they must be displayed in the exported - file. -6. The trashcan is there if you need to remove fields. -7. For recurring reports, it might be interesting to save export presets. - Select all the needed ones and click on the template bar. - There, click on *New template* and give a name to yours. The - next time you need to export the same list, simply select the - related template. - -.. tip:: - It’s good to keep the field’s external identifier in mind. For example, - *Related Company* is equal to *parent_id*. Doing so helps export - only what you would like to import next. \ No newline at end of file diff --git a/content/applications/general/payment_acquirers.rst b/content/applications/general/payment_acquirers.rst index 1557e43a9..6c75e33ca 100644 --- a/content/applications/general/payment_acquirers.rst +++ b/content/applications/general/payment_acquirers.rst @@ -1,12 +1,239 @@ -================= -Payment Acquirers -================= +:show-content: + +================================================ +Payment Acquirers (Credit Cards, Online Payment) +================================================ .. toctree:: :titlesonly: - payment_acquirers/payment_acquirers payment_acquirers/wire_transfer payment_acquirers/authorize payment_acquirers/paypal payment_acquirers/stripe + +Odoo embeds several **payment acquirers** that allow your customers to pay on their *Customer +Portals* or your *eCommerce website*. They can pay Sales Orders, invoices, or subscriptions with +recurring payments with their favorite payment methods such as **Credit Cards**. + +Offering several payment methods increases the chances of getting paid in time, or even immediately, +as you make it more convenient for your customers to pay with the payment method they prefer and +trust. + +.. image:: payment_acquirers/online-payment.png + :align: center + :alt: Pay online in the customer portal and select which payment acquirer to use. + +.. note:: + Odoo apps delegate the handling of sensitive information to the certified payment acquirer so + that you don't ever have to worry about PCI compliance. + + This means that no sensitive information (such as credit card numbers or credentials) is stored + on Odoo servers or Odoo databases hosted elsewhere. Instead, Odoo apps use a unique reference + number to the data stored safely in the payment acquirers' systems. + +.. _payment_acquirers/acquirers: + +Payment Acquirers +================= + +From an accounting perspective, we can distinguish two types of payment acquirers: the payments that +go directly on the bank account and follow the usual reconciliation workflow, and the payment +acquirers that are third-party services and require you to follow another accounting workflow. + +.. _payment_acquirers/bank_payments: + +Bank Payments +------------- + +- | :doc:`Wire Transfer ` + | When selected, Odoo displays your payment information with a payment reference. You have to + approve the payment manually once you have received it on your bank account. +- | SEPA Direct Debit + | Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged + directly. :doc:`Click here <../finance/accounting/receivables/customer_payments/batch_sdd>` for more + information about this payment method. + +.. _payment_acquirers/online_providers: + +Online Payment Providers +------------------------ + ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| | Redirection to | Payment | Save Cards | Capture Amount | +| | the acquirer website | from Odoo | | Manually | ++=====================================+======================+===========+============+=================+ +| Adyen | ✔ | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| Alipay | ✔ | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| :doc:`Authorize.Net | ✔ | ✔ | ✔ | ✔ | +| ` | | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| Buckaroo | ✔ | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| Ingenico | ✔ | ✔ | ✔ | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| :doc:`PayPal | ✔ | | | | +| ` | | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| PayUMoney | ✔ | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| SIPS | ✔ | | | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ +| Stripe | ✔ | ✔ | ✔ | | ++-------------------------------------+----------------------+-----------+------------+-----------------+ + +.. note:: + Some of these Online Payment Providers can also be added as :doc:`Bank Accounts + <../finance/accounting/bank/setup/bank_accounts>`, but this is **not** the same process as adding them + as Payment Acquirers. Payment Acquirers allow customers to pay online, and Bank Accounts are + added and configured on your Accounting app to do a bank reconciliation, which is an accounting + control process. + +.. _payment_acquirers/configuration: + +Configuration +============= + +Some of the features described in this section are available only with some Payment Acquirers. Refer +to :ref:`the table above ` for more details. + +.. _payment_acquirers/add_new: + +Add a new Payment Acquirer +-------------------------- + +To add a new Payment acquirer and make it available to your customers, go to +:menuselection:`Accounting --> Configuration --> Payment Acquirers`, look for your payment acquirer, +install the related module, and activate it. To do so, open the payment acquirer and change its +state from *Disabled* to *Enabled*. + +.. image:: payment_acquirers/activation.png + :align: center + :alt: Click on install, then on activate to make the payment acquirer available on Odoo. + +.. warning:: + We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is + meant to be used with your test/sandbox credentials, but Odoo generates Sales Orders and Invoices + as usual. It isn't always possible to cancel an invoice, and this could create some issues with + your invoices numbering if you were to test your payment acquirers on your main database. + +.. _payment_acquirers/credentials_tab: + +Credentials tab +~~~~~~~~~~~~~~~ + +If not done yet, go to the **Online Payment Provider**'s website, create an account, and make sure +to have the credentials required for third-party use. Odoo requires these credentials to communicate +with the Payment Acquirer and get the confirmation of the *payment authentication*. + +The form in this section is specific to the Payment Acquirer you are configuring. Please refer to +the related documentation for more information. + +.. _payment_acquirers/configuration_tab: + +Configuration tab +~~~~~~~~~~~~~~~~~ + +You can change the Payment Acquirer front-end appearance by modifying its name under the **Displayed +as** field and which credit card icons to display under the **Supported Payment Icons** field. + +.. _payment_acquirers/save_cards: + +Save and reuse Credit Cards +*************************** + +With the **Save Cards** feature, Odoo can store **Payment Tokens** in your database, which can be +used for subsequent payments, without having to reenter the payment details. This is particularly +useful for subscriptions' recurring payments. + +.. _payment_acquirers/capture_amount: + +Place a hold on a card +********************** + +If the **Capture Amount Manually** field is enabled, the funds are reserved for a few days on the +customer's card, but not charged yet. You must then go to the related Sales Order and manually +*capture* the funds before its automatic cancellation, or *void the transaction* to unlock the funds +from the customer's card. + +.. _payment_acquirers/payment_flow: + +Payment Flow +************ + +Choose in the **Payment Flow** field if to redirect the user to the payment acquirer's portal to +authenticate the payment, or if to stay on the current page and authenticate the payment from Odoo. + +.. note:: + Some features are available only if you select *Redirection to the acquirer website*. + +.. _payment_acquirers/countries: + +Countries +********* + +Restrict the use of the Payment Acquirer to a selection of countries. Leave this field blank to make +the Payment Acquirer available to all countries. + +.. _payment_acquirers/journal: + +Payment Journal +*************** + +The **Payment Journal** selected for your Payment Acquirer must be a *Bank* journal. + +.. important:: + In many cases, Odoo automatically creates a new **Journal** and a new **Account** when you + activate a new Payment Acquirer. Both of them are preset to work out-of-the-box, but we strongly + recommend you to make sure these fields are correctly set according to your accounting needs, and + adapt them if necessary. + +.. _payment_acquirers/messages: + +Messages tab +~~~~~~~~~~~~ + +Change here the messages displayed by Odoo after a payment's confirmation or failure. + +.. _payment_acquirers/accounting: + +Accounting perspective +====================== + +The **Bank Payments** that go directly to one of your bank accounts follow their usual +reconciliation workflows. However, payments recorded with **Online Payment Providers** require you +to consider how you want to record your payments' journal entries. We recommend you to ask your +accountant for advice. + +Odoo default method is to record the payments on a *Current Assets Account*, on a dedicated *Bank +Journal*, once the *Payment Authentication* is confirmed. At some point, you transfer the funds from +the *Payment Acquirer* to your *Bank Account*. + +Here are the requirements for this to work: + +- Bank Journal + + - The Journal's **type** must be *Bank Journal*. + - Select the right **Default Debit Account** and **Default Credit Account**. + - | Under the *Advanced Settings* tab, make sure that **Posting** is set as *Post At Payment + Validation*. + | This implies that the Journal Entry is recorded directly when your Odoo database receives the + confirmation of the *Payment Authentication* from the Online Payment Provider. + +- Current Asset Account + + - The Account's **type** is *Current Assets* + - The Account must **Allow Reconciliation** + +.. note:: + In many cases, Odoo automatically creates a new **Journal** and a new **Current Asset Account** + when you activate a new Payment Acquirer. You can modify them if necessary. + +.. seealso:: + + - :doc:`../finance/accounting/receivables/customer_payments/recording` + - :doc:`payment_acquirers/wire_transfer` + - :doc:`payment_acquirers/authorize` + - :doc:`payment_acquirers/paypal` \ No newline at end of file diff --git a/content/applications/general/payment_acquirers/media/payment-acquirers-activation.png b/content/applications/general/payment_acquirers/activation.png similarity index 100% rename from content/applications/general/payment_acquirers/media/payment-acquirers-activation.png rename to content/applications/general/payment_acquirers/activation.png diff --git a/content/applications/general/payment_acquirers/authorize.rst b/content/applications/general/payment_acquirers/authorize.rst index 5437b0c3e..cec04d3da 100644 --- a/content/applications/general/payment_acquirers/authorize.rst +++ b/content/applications/general/payment_acquirers/authorize.rst @@ -10,7 +10,7 @@ provider, allowing businesses to accept **credit cards**. :alt: Authorize.Net logo This Payment Acquirer offers additional options that are not available for other :doc:`Payment -Acquirers `, such as the ability to process your customer's payment after +Acquirers <../payment_acquirers>`, such as the ability to process your customer's payment after delivery. Authorize.Net account @@ -47,7 +47,7 @@ Configuration --> Payment Acquirers`, open **Authorize.Net**, and change the **S Don't forget to click on *Save* once you've set everything up. .. note:: - Please refer to the :doc:`Payment Acquirers documentation ` to read how to + Please refer to the :doc:`Payment Acquirers documentation <../payment_acquirers>` to read how to configure this payment acquirer. Credentials @@ -113,5 +113,5 @@ order is canceled, you can click on *Void Transaction* to unlock the funds from .. seealso:: - `Authorize.Net: Getting Started Guide `__ - - :doc:`payment_acquirers` + - :doc:`../payment_acquirers` - :doc:`../../websites/ecommerce/shopper_experience/payment_acquirer` diff --git a/content/applications/general/payment_acquirers/media/payment-acquirers-online-payment.png b/content/applications/general/payment_acquirers/online-payment.png similarity index 100% rename from content/applications/general/payment_acquirers/media/payment-acquirers-online-payment.png rename to content/applications/general/payment_acquirers/online-payment.png diff --git a/content/applications/general/payment_acquirers/payment_acquirers.rst b/content/applications/general/payment_acquirers/payment_acquirers.rst deleted file mode 100644 index 475edd18b..000000000 --- a/content/applications/general/payment_acquirers/payment_acquirers.rst +++ /dev/null @@ -1,226 +0,0 @@ -================================================ -Payment Acquirers (Credit Cards, Online Payment) -================================================ - -Odoo embeds several **payment methods** that allow your customers to pay on their *Customer Portals* -or your *eCommerce website*. They can pay Sales Orders, invoices, or subscriptions with recurring -payments with their favorite payment acquirers, including **online payment providers** that accept -**Credit Cards**. - -Having several payment methods increases the chances of getting paid in time, or even immediately, -as you make it more convenient for your customers to pay with the payment method they prefer and -trust. - -.. image:: media/payment-acquirers-online-payment.png - :align: center - :alt: Pay online in the customer portal and select which payment acquirer to use. - -.. important:: - Odoo does not keep Credit Card numbers or credentials on its servers, nor is it stored on Odoo - databases hosted elsewhere. Instead, Odoo apps use a unique reference to the data stored in the - payment acquirers' systems, where the information is safely stored. This reference is useless - without your credentials for the payment acquirer. - -.. _payment_acquirers/acquirers: - -Payment Acquirers -================= - -From an accounting perspective, we can distinguish two types of payment acquirers: the payments that -go directly on the bank account and follow the usual reconciliation workflow, and the payment -acquirers that are third-party services and require you to follow another accounting workflow. - -.. _payment_acquirers/bank_payments: - -Bank Payments -------------- - -- | :doc:`Wire Transfer ` - | When selected, Odoo displays your payment information with a payment reference. You have to - approve the payment manually once you have received it on your bank account. -- | SEPA Direct Debit - | Your customers can sign a SEPA Direct Debit mandate online and get their bank account charged - directly. :doc:`Click here <../../finance/accounting/receivables/customer_payments/batch_sdd>` for more - information about this payment method. - -.. _payment_acquirers/online_providers: - -Online Payment Providers ------------------------- - -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| | Redirection to | Payment | Save Cards | Capture Amount | -| | the acquirer website | from Odoo | | Manually | -+=====================================+======================+===========+============+=================+ -| Adyen | ✔ | | | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| Alipay | ✔ | | | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| :doc:`Authorize.Net ` | ✔ | ✔ | ✔ | ✔ | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| Buckaroo | ✔ | | | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| Ingenico | ✔ | ✔ | ✔ | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| :doc:`PayPal ` | ✔ | | | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| PayUMoney | ✔ | | | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| SIPS | ✔ | | | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ -| Stripe | ✔ | ✔ | ✔ | | -+-------------------------------------+----------------------+-----------+------------+-----------------+ - -.. note:: - Some of these Online Payment Providers can also be added as :doc:`Bank Accounts - <../../finance/accounting/bank/setup/bank_accounts>`, but this is **not** the same process as adding them - as Payment Acquirers. Payment Acquirers allow customers to pay online, and Bank Accounts are - added and configured on your Accounting app to do a bank reconciliation, which is an accounting - control process. - -.. _payment_acquirers/configuration: - -Configuration -============= - -Some of the features described in this section are available only with some Payment Acquirers. Refer -to :ref:`the table above ` for more details. - -.. _payment_acquirers/add_new: - -Add a new Payment Acquirer --------------------------- - -To add a new Payment acquirer and make it available to your customers, go to -:menuselection:`Accounting --> Configuration --> Payment Acquirers`, look for your payment acquirer, -install the related module, and activate it. To do so, open the payment acquirer and change its -state from *Disabled* to *Enabled*. - -.. image:: media/payment-acquirers-activation.png - :align: center - :alt: Click on install, then on activate to make the payment acquirer available on Odoo. - -.. warning:: - We recommend using the *Test Mode* on a duplicated database or a test database. The Test Mode is - meant to be used with your test/sandbox credentials, but Odoo generates Sales Orders and Invoices - as usual. It isn't always possible to cancel an invoice, and this could create some issues with - your invoices numbering if you were to test your payment acquirers on your main database. - -.. _payment_acquirers/credentials_tab: - -Credentials tab -~~~~~~~~~~~~~~~ - -If not done yet, go to the **Online Payment Provider**'s website, create an account, and make sure -to have the credentials required for third-party use. Odoo requires these credentials to communicate -with the Payment Acquirer and get the confirmation of the *payment authentication*. - -The form in this section is specific to the Payment Acquirer you are configuring. Please refer to -the related documentation for more information. - -.. _payment_acquirers/configuration_tab: - -Configuration tab -~~~~~~~~~~~~~~~~~ - -You can change the Payment Acquirer front-end appearance by modifying its name under the **Displayed -as** field and which credit card icons to display under the **Supported Payment Icons** field. - -.. _payment_acquirers/save_cards: - -Save and reuse Credit Cards -*************************** - -With the **Save Cards** feature, Odoo can store **Payment Tokens** in your database, which can be -used for subsequent payments, without having to reenter the payment details. This is particularly -useful for subscriptions' recurring payments. - -.. _payment_acquirers/capture_amount: - -Place a hold on a card -********************** - -If the **Capture Amount Manually** field is enabled, the funds are reserved for a few days on the -customer's card, but not charged yet. You must then go to the related Sales Order and manually -*capture* the funds before its automatic cancellation, or *void the transaction* to unlock the funds -from the customer's card. - -.. _payment_acquirers/payment_flow: - -Payment Flow -************ - -Choose in the **Payment Flow** field if to redirect the user to the payment acquirer's portal to -authenticate the payment, or if to stay on the current page and authenticate the payment from Odoo. - -.. note:: - Some features are available only if you select *Redirection to the acquirer website*. - -.. _payment_acquirers/countries: - -Countries -********* - -Restrict the use of the Payment Acquirer to a selection of countries. Leave this field blank to make -the Payment Acquirer available to all countries. - -.. _payment_acquirers/journal: - -Payment Journal -*************** - -The **Payment Journal** selected for your Payment Acquirer must be a *Bank* journal. - -.. important:: - In many cases, Odoo automatically creates a new **Journal** and a new **Account** when you - activate a new Payment Acquirer. Both of them are preset to work out-of-the-box, but we strongly - recommend you to make sure these fields are correctly set according to your accounting needs, and - adapt them if necessary. - -.. _payment_acquirers/messages: - -Messages tab -~~~~~~~~~~~~ - -Change here the messages displayed by Odoo after a payment's confirmation or failure. - -.. _payment_acquirers/accounting: - -Accounting perspective -====================== - -The **Bank Payments** that go directly to one of your bank accounts follow their usual -reconciliation workflows. However, payments recorded with **Online Payment Providers** require you -to consider how you want to record your payments' journal entries. We recommend you to ask your -accountant for advice. - -Odoo default method is to record the payments on a *Current Assets Account*, on a dedicated *Bank -Journal*, once the *Payment Authentication* is confirmed. At some point, you transfer the funds from -the *Payment Acquirer* to your *Bank Account*. - -Here are the requirements for this to work: - -- Bank Journal - - - The Journal's **type** must be *Bank Journal*. - - Select the right **Default Debit Account** and **Default Credit Account**. - - | Under the *Advanced Settings* tab, make sure that **Posting** is set as *Post At Payment - Validation*. - | This implies that the Journal Entry is recorded directly when your Odoo database receives the - confirmation of the *Payment Authentication* from the Online Payment Provider. - -- Current Asset Account - - - The Account's **type** is *Current Assets* - - The Account must **Allow Reconciliation** - -.. note:: - In many cases, Odoo automatically creates a new **Journal** and a new **Current Asset Account** - when you activate a new Payment Acquirer. You can modify them if necessary. - -.. seealso:: - - - :doc:`../../finance/accounting/receivables/customer_payments/recording` - - :doc:`wire_transfer` - - :doc:`authorize` - - :doc:`paypal` \ No newline at end of file diff --git a/content/applications/general/payment_acquirers/paypal.rst b/content/applications/general/payment_acquirers/paypal.rst index cade12d69..ee0ae614a 100644 --- a/content/applications/general/payment_acquirers/paypal.rst +++ b/content/applications/general/payment_acquirers/paypal.rst @@ -203,5 +203,5 @@ when a fictitious transaction is completed. Run a test transaction from Odoo using the sandbox personal account. .. seealso:: - - :doc:`payment_acquirers` + - :doc:`../payment_acquirers` - :doc:`../../websites/ecommerce/shopper_experience/payment_acquirer` diff --git a/content/applications/general/developer_mode/media/settings.png b/content/applications/general/settings.png similarity index 100% rename from content/applications/general/developer_mode/media/settings.png rename to content/applications/general/settings.png diff --git a/content/applications/settings/media/settings_app.png b/content/applications/general/settings_app.png similarity index 100% rename from content/applications/settings/media/settings_app.png rename to content/applications/general/settings_app.png diff --git a/content/applications/settings/media/uninstall.png b/content/applications/general/uninstall.png similarity index 100% rename from content/applications/settings/media/uninstall.png rename to content/applications/general/uninstall.png diff --git a/content/applications/settings/media/uninstall_deps.png b/content/applications/general/uninstall_deps.png similarity index 100% rename from content/applications/settings/media/uninstall_deps.png rename to content/applications/general/uninstall_deps.png diff --git a/content/applications/general/unsplash.rst b/content/applications/general/unsplash.rst index 5078c1d88..f78a27c24 100644 --- a/content/applications/general/unsplash.rst +++ b/content/applications/general/unsplash.rst @@ -2,8 +2,65 @@ Unsplash ======== -.. toctree:: - :titlesonly: +Generate an Unsplash access key +=============================== - unsplash/unsplash_access_key - unsplash/unsplash_application_id \ No newline at end of file +.. tip:: + **As a SaaS user**, you are ready to use Unsplash. You won't need to follow this guide to set up + Unsplash information since you will use our own Odoo Unsplash key in a transparent way. + +Generate an Unsplash access key for non-Saas users +-------------------------------------------------- + +- Create an account on `Unsplash.com `_. + +- Go to your `applications dashboard `_ and click on **New + Application**. + +.. image:: unsplash/create_app.png + :align: center + +- Accept the conditions and click on **Accept terms**. + +.. image:: unsplash/accept_terms.png + :align: center + +- You will be prompted to insert an **Application name** and a **Description**. Please prefix your + application name by "**Odoo:** " so that Unsplash can recognize it as an Odoo instance. Once done, + click on **Create application**. + +.. image:: unsplash/app_infos.png + :align: center + +- You should be redirected to your application details page. Scroll down a bit to find your **access + key**. + +.. image:: unsplash/access_key.png + :align: center + +.. warning:: + **As a non-SaaS user**, you won't be able to register for a production Unsplash key and will be + limited to your test key that has a restriction of 50 Unsplash requests per hour. + +Generate an Unsplash application ID +=================================== + +.. tip:: + You should first create and set up your Unsplash application. + +- Go to your `applications dashboard `_ and click on your + newly created Unsplash application under **Your applications**. + +.. image:: unsplash/select_app.png + :align: center + +- You will be redirected to your application details page. The **application ID** will be visible in + your browser's URL. The URL should be something like + ``https://unsplash.com/oauth/applications/`` + +.. image:: unsplash/app_id_url.png + :align: center + +.. warning:: + **As a non-SaaS user**, you won't be able to register for a production Unsplash key and will be + limited to your test key that has a 50 Unsplash requests per hour restriction. diff --git a/content/applications/general/unsplash/media/accept_terms.png b/content/applications/general/unsplash/accept_terms.png similarity index 100% rename from content/applications/general/unsplash/media/accept_terms.png rename to content/applications/general/unsplash/accept_terms.png diff --git a/content/applications/general/unsplash/media/access_key.png b/content/applications/general/unsplash/access_key.png similarity index 100% rename from content/applications/general/unsplash/media/access_key.png rename to content/applications/general/unsplash/access_key.png diff --git a/content/applications/general/unsplash/media/app_id_url.png b/content/applications/general/unsplash/app_id_url.png similarity index 100% rename from content/applications/general/unsplash/media/app_id_url.png rename to content/applications/general/unsplash/app_id_url.png diff --git a/content/applications/general/unsplash/media/app_infos.png b/content/applications/general/unsplash/app_infos.png similarity index 100% rename from content/applications/general/unsplash/media/app_infos.png rename to content/applications/general/unsplash/app_infos.png diff --git a/content/applications/general/unsplash/media/create_app.png b/content/applications/general/unsplash/create_app.png similarity index 100% rename from content/applications/general/unsplash/media/create_app.png rename to content/applications/general/unsplash/create_app.png diff --git a/content/applications/general/unsplash/media/production_account.png b/content/applications/general/unsplash/production_account.png similarity index 100% rename from content/applications/general/unsplash/media/production_account.png rename to content/applications/general/unsplash/production_account.png diff --git a/content/applications/general/unsplash/media/select_app.png b/content/applications/general/unsplash/select_app.png similarity index 100% rename from content/applications/general/unsplash/media/select_app.png rename to content/applications/general/unsplash/select_app.png diff --git a/content/applications/general/unsplash/unsplash_access_key.rst b/content/applications/general/unsplash/unsplash_access_key.rst deleted file mode 100644 index 7e28420ff..000000000 --- a/content/applications/general/unsplash/unsplash_access_key.rst +++ /dev/null @@ -1,37 +0,0 @@ -======================================================= -How to generate an Unsplash access key -======================================================= - -.. tip:: - **As an SaaS user**, you are ready to use Unsplash. You won't need to follow this guide to set up Unsplash information, since you will use our own Odoo Unsplash key in a transparent way. - -Generate an Unsplash access key for **non-Saas** users -====================================================== - -- Create an account on `Unsplash.com `_. - -- Go to your `applications dashboard `_ and click on **New Application**. - -.. image:: media/create_app.png - :align: center - -- Accept the conditions and click on **Accept terms**. - -.. image:: media/accept_terms.png - :align: center - -- You will be prompted to insert an **Application name** and a **Description**. Please prefix your application name by "**Odoo:** " so that Unsplash can recognize it as an Odoo instance. Once done, click on **Create application**. - -.. image:: media/app_infos.png - :align: center - -- You should be redirected to your application details page. Scroll down a bit to find your **access key**. - -.. image:: media/access_key.png - :align: center - -.. warning:: - **As a non-SaaS user**, you won't be able to register for a production Unsplash key and will be limited to your test key that has a restriction of 50 Unsplash requests per hour. - -.. seealso:: - * :doc:`unsplash_application_id` diff --git a/content/applications/general/unsplash/unsplash_application_id.rst b/content/applications/general/unsplash/unsplash_application_id.rst deleted file mode 100644 index 9707044ed..000000000 --- a/content/applications/general/unsplash/unsplash_application_id.rst +++ /dev/null @@ -1,19 +0,0 @@ -======================================================= -How to generate an Unsplash application ID -======================================================= - -.. tip:: - You should first create and set up your Unsplash application with this tutorial: :doc:`unsplash_access_key`. - -- Go to your `applications dashboard `_ and click on your newly created Unsplash application under **Your applications**. - -.. image:: media/select_app.png - :align: center - -- You will be redirected to your application details page. The **application ID** will be visible in your browser's URL. The URL should be something like ``https://unsplash.com/oauth/applications/`` - -.. image:: media/app_id_url.png - :align: center - -.. warning:: - **As a non-SaaS user**, you won't be able to register for a production Unsplash key and will be limited to your test key that has a 50 Unsplash requests per hour restriction. diff --git a/content/applications/general/developer_mode/media/url.png b/content/applications/general/url.png similarity index 100% rename from content/applications/general/developer_mode/media/url.png rename to content/applications/general/url.png diff --git a/content/applications/general/odoo_basics/users.rst b/content/applications/general/users.rst similarity index 55% rename from content/applications/general/odoo_basics/users.rst rename to content/applications/general/users.rst index 1df85dfad..877fae188 100644 --- a/content/applications/general/odoo_basics/users.rst +++ b/content/applications/general/users.rst @@ -1,12 +1,24 @@ -======================= -Users and Access Rights -======================= +:show-content: + +============== +Users settings +============== + +.. toctree:: + :titlesonly: + + users/language + users/access_rights 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. -.. _general/odoo_basics/add_individual_user: +.. seealso:: + - :doc:`users/language` + - :doc:`users/access_rights` + +.. _users/add-individual: Add individual users ==================== @@ -19,11 +31,11 @@ Go to :menuselection:`Settings --> Manage Users` and click on *Create*. :alt: View of the settings page emphasizing the manage users field in Odoo | Fill in the form with the needed information. Under the tab - :ref:`Access Rights ` choose the group within - each application the user can have access to. + :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:: media/new_user.png +.. image:: users/new_user.png :align: center :alt: View of a user’s form emphasizing the access rights tab in Odoo @@ -39,8 +51,7 @@ the user. The user must click on it to accept the invitation and create a login. `pricing page `_ for more information. -With the :doc:`Developer mode ` activated, *User Types* can -be selected. +With the :ref:`developer mode ` activated, *User Types* can be selected. .. image:: users/user-type.png :align: center @@ -116,74 +127,7 @@ Enter a new password and confirm by clicking on *Change Password*. 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. -.. _general/odoo_basics/users/access_rights: - -Access Rights in detail -======================= - -Activate the :doc:`Developer mode `, then go to -:menuselection:`Settings --> Users & Companies --> Groups`. - -Groups ------- - -| When choosing the groups the user can have access under - :ref:`Access Rights `, details of the rules and - inheritances of that group are not shown, so this is when the menu *Groups* comes along. *Groups* - are created to define rules to models within an application. -| Under *Users*, have a list of the current ones. The ones with administrative rights are shown - in black. - -.. image:: users/groups-users.png - :align: center - :alt: View of a group’s form emphasizing the tab users in Odoo - -*Inherited* means that users added to this application group are automatically added to the -following ones. In the example below, users who have access to the group *Administrator* of *Sales* -also have access to *Website/Restricted Editor* and *Sales/User: All Documents*. - -.. image:: users/groups-inherited.png - :align: center - :height: 330 - :alt: View of a group’s form emphasizing the tab inherited in Odoo - -.. important:: - Remember to always test the settings being changed in order to ensure that they are being applied - to the needed and right users. - -The *Menus* tab is where you define which menus (models) the user can have access to. - -.. image:: users/groups-menus.png - :align: center - :height: 330 - :alt: View of a group’s form emphasizing the tab menus in Odoo - -*Access Rights* rules are the first level of rights. The field is composed of the object name, which -is the technical name given to a model. For each model, enable the following options as appropriate: - -- *Read*: the values of that object can be only seen by the user. -- *Write*: the values of that object can be edited by the user. -- *Create*: values for that object can be created by the user. -- *Delete*: the values of that object can be deleted by the user. - -.. image:: users/groups-access-rights.png - :align: center - :alt: View of a group’s form emphasizing the tab access rights in Odoo - -| As a second layer of editing and visibility rules, *Record Rules* can be formed. They overwrite, - or refine, the *Access Rights*. -| A record rule is written using a *Domain*. Domains are conditions used to filter or searching - data. Therefore, a domain expression is a list of conditions. For each rule, choose among the - following options: *Read*, *Write*, *Create* and *Delete* values. - -.. image:: users/groups-record-rules.png - :align: center - :alt: View of a group’s form emphasizing the tab record rules in Odoo - -.. important:: - Making changes in access rights can have a big impact on the database. For this reason, we - recommend you to contact your Odoo Business Analyst or our Support Team, unless you have - knowledge about Domains in Odoo. +.. _users/multi-companies: Multi Companies =============== @@ -202,5 +146,5 @@ the user can have access. :alt: View of a user’s form emphasizing the multi companies field in Odoo .. seealso:: - - :doc:`../multi_companies/manage_multi_companies` - - :doc:`../../settings/users_and_features` + - :doc:`multi_companies` + - :doc:`../general` \ No newline at end of file diff --git a/content/applications/general/users/access_rights.rst b/content/applications/general/users/access_rights.rst new file mode 100644 index 000000000..8439f24c5 --- /dev/null +++ b/content/applications/general/users/access_rights.rst @@ -0,0 +1,67 @@ +============= +Access Rights +============= + +Activate the :ref:`developer mode `, then go to :menuselection:`Settings --> Users & +Companies --> Groups`. + +Groups +====== + +| When choosing the groups the user can have access under + :ref:`Access Rights `, details of the rules and inheritances of that group + are not shown, so this is when the menu *Groups* comes along. *Groups* are created to define rules + to models within an application. +| Under *Users*, have a list of the current ones. The ones with administrative rights are shown + in black. + +.. image:: access_rights/groups-users.png + :align: center + :alt: View of a group’s form emphasizing the tab users in Odoo + +*Inherited* means that users added to this application group are automatically added to the +following ones. In the example below, users who have access to the group *Administrator* of *Sales* +also have access to *Website/Restricted Editor* and *Sales/User: All Documents*. + +.. image:: access_rights/groups-inherited.png + :align: center + :height: 330 + :alt: View of a group’s form emphasizing the tab inherited in Odoo + +.. important:: + Remember to always test the settings being changed in order to ensure that they are being applied + to the needed and right users. + +The *Menus* tab is where you define which menus (models) the user can have access to. + +.. image:: access_rights/groups-menus.png + :align: center + :height: 330 + :alt: View of a group’s form emphasizing the tab menus in Odoo + +*Access Rights* rules are the first level of rights. The field is composed of the object name, which +is the technical name given to a model. For each model, enable the following options as appropriate: + +- *Read*: the values of that object can be only seen by the user. +- *Write*: the values of that object can be edited by the user. +- *Create*: values for that object can be created by the user. +- *Delete*: the values of that object can be deleted by the user. + +.. image:: access_rights/groups-access-rights.png + :align: center + :alt: View of a group’s form emphasizing the tab access rights in Odoo + +| As a second layer of editing and visibility rules, *Record Rules* can be formed. They overwrite, + or refine, the *Access Rights*. +| A record rule is written using a *Domain*. Domains are conditions used to filter or searching + data. Therefore, a domain expression is a list of conditions. For each rule, choose among the + following options: *Read*, *Write*, *Create* and *Delete* values. + +.. image:: access_rights/groups-record-rules.png + :align: center + :alt: View of a group’s form emphasizing the tab record rules in Odoo + +.. important:: + Making changes in access rights can have a big impact on the database. For this reason, we + recommend you to contact your Odoo Business Analyst or our Support Team, unless you have + knowledge about Domains in Odoo. \ No newline at end of file diff --git a/content/applications/general/odoo_basics/users/groups-access-rights.png b/content/applications/general/users/access_rights/groups-access-rights.png similarity index 100% rename from content/applications/general/odoo_basics/users/groups-access-rights.png rename to content/applications/general/users/access_rights/groups-access-rights.png diff --git a/content/applications/general/odoo_basics/users/groups-inherited.png b/content/applications/general/users/access_rights/groups-inherited.png similarity index 100% rename from content/applications/general/odoo_basics/users/groups-inherited.png rename to content/applications/general/users/access_rights/groups-inherited.png diff --git a/content/applications/general/odoo_basics/users/groups-menus.png b/content/applications/general/users/access_rights/groups-menus.png similarity index 100% rename from content/applications/general/odoo_basics/users/groups-menus.png rename to content/applications/general/users/access_rights/groups-menus.png diff --git a/content/applications/general/odoo_basics/users/groups-record-rules.png b/content/applications/general/users/access_rights/groups-record-rules.png similarity index 100% rename from content/applications/general/odoo_basics/users/groups-record-rules.png rename to content/applications/general/users/access_rights/groups-record-rules.png diff --git a/content/applications/general/odoo_basics/users/groups-users.png b/content/applications/general/users/access_rights/groups-users.png similarity index 100% rename from content/applications/general/odoo_basics/users/groups-users.png rename to content/applications/general/users/access_rights/groups-users.png diff --git a/content/applications/general/odoo_basics/users/change-password.png b/content/applications/general/users/change-password.png similarity index 100% rename from content/applications/general/odoo_basics/users/change-password.png rename to content/applications/general/users/change-password.png diff --git a/content/applications/general/odoo_basics/users/invitation-email.png b/content/applications/general/users/invitation-email.png similarity index 100% rename from content/applications/general/odoo_basics/users/invitation-email.png rename to content/applications/general/users/invitation-email.png diff --git a/content/applications/general/odoo_basics/choose_language.rst b/content/applications/general/users/language.rst similarity index 86% rename from content/applications/general/odoo_basics/choose_language.rst rename to content/applications/general/users/language.rst index bb86d2b94..27572b609 100644 --- a/content/applications/general/odoo_basics/choose_language.rst +++ b/content/applications/general/users/language.rst @@ -1,6 +1,6 @@ -================================ -Manage Odoo in your own language -================================ +=============== +Change language +=============== Odoo provides you with the option to manage Odoo in different languages, and each user can use Odoo in his own language . @@ -15,7 +15,7 @@ From the general dashboard click on the **Settings** app; on the top left of the page select :menuselection:`Translations --> Load a Translation`, select a language to install and click on **LOAD.** -.. image:: media/choose_language01.png +.. image:: language/choose_language01.png :align: center .. note:: @@ -30,13 +30,13 @@ You can change the language to the installed language by going to the drop-down menu at the top right side of the screen, choose **Preferences**. -.. image:: media/choose_language02.png +.. image:: language/choose_language02.png :align: center Then change the Language setting to your installed language and click **SAVE.** -.. image:: media/choose_language03.png +.. image:: language/choose_language03.png :align: center Open a new menu to view the changes. @@ -54,7 +54,7 @@ user and click on **Edit** in the top left corner. Under Preferences you can change the Language to any previously installed language and click **SAVE.** -.. image:: media/choose_language04.png +.. image:: language/choose_language04.png :align: center .. seealso:: diff --git a/content/applications/general/odoo_basics/media/choose_language01.png b/content/applications/general/users/language/choose_language01.png similarity index 100% rename from content/applications/general/odoo_basics/media/choose_language01.png rename to content/applications/general/users/language/choose_language01.png diff --git a/content/applications/general/odoo_basics/media/choose_language02.png b/content/applications/general/users/language/choose_language02.png similarity index 100% rename from content/applications/general/odoo_basics/media/choose_language02.png rename to content/applications/general/users/language/choose_language02.png diff --git a/content/applications/general/odoo_basics/media/choose_language03.png b/content/applications/general/users/language/choose_language03.png similarity index 100% rename from content/applications/general/odoo_basics/media/choose_language03.png rename to content/applications/general/users/language/choose_language03.png diff --git a/content/applications/general/odoo_basics/media/choose_language04.png b/content/applications/general/users/language/choose_language04.png similarity index 100% rename from content/applications/general/odoo_basics/media/choose_language04.png rename to content/applications/general/users/language/choose_language04.png diff --git a/content/applications/general/odoo_basics/users/manage-users.png b/content/applications/general/users/manage-users.png similarity index 100% rename from content/applications/general/odoo_basics/users/manage-users.png rename to content/applications/general/users/manage-users.png diff --git a/content/applications/general/odoo_basics/users/multi-companies.png b/content/applications/general/users/multi-companies.png similarity index 100% rename from content/applications/general/odoo_basics/users/multi-companies.png rename to content/applications/general/users/multi-companies.png diff --git a/content/applications/general/odoo_basics/media/new_user.png b/content/applications/general/users/new_user.png similarity index 100% rename from content/applications/general/odoo_basics/media/new_user.png rename to content/applications/general/users/new_user.png diff --git a/content/applications/general/odoo_basics/users/password-email.png b/content/applications/general/users/password-email.png similarity index 100% rename from content/applications/general/odoo_basics/users/password-email.png rename to content/applications/general/users/password-email.png diff --git a/content/applications/general/odoo_basics/users/password-reset-login.png b/content/applications/general/users/password-reset-login.png similarity index 100% rename from content/applications/general/odoo_basics/users/password-reset-login.png rename to content/applications/general/users/password-reset-login.png diff --git a/content/applications/general/odoo_basics/users/user-type.png b/content/applications/general/users/user-type.png similarity index 100% rename from content/applications/general/odoo_basics/users/user-type.png rename to content/applications/general/users/user-type.png diff --git a/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst b/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst index 7af121f5e..1f04afb30 100644 --- a/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst +++ b/content/applications/inventory_and_mrp/inventory/barcode/operations/barcode_nomenclature.rst @@ -14,7 +14,7 @@ Create a Barcode Nomenclature Odoo supports Barcode Nomenclatures, which determine the mapping and interpretation of the encoded information. You can configure your barcode nomenclature being in -:doc:`Developer mode `. +:ref:`developer mode `. To do so, go to :menuselection:`Inventory --> Configuration --> Barcode Nomenclature`. You can create a barcode nomenclature from there, and then add a line to diff --git a/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst b/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst index cc65d9706..26e816e16 100644 --- a/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst +++ b/content/applications/inventory_and_mrp/inventory/management/reporting/inventory_valuation_config.rst @@ -184,7 +184,7 @@ accounting modes. Usually, based on your country, the correct accounting mode will be chosen by default. If you want to verify your accounting mode, activate -the :doc:`Developer mode ` and open your accounting +the :ref:`developer mode ` and open your accounting settings. Manual Inventory Valuation diff --git a/content/applications/inventory_and_mrp/purchase/products/uom.rst b/content/applications/inventory_and_mrp/purchase/products/uom.rst index 32a9aa613..99869e8eb 100644 --- a/content/applications/inventory_and_mrp/purchase/products/uom.rst +++ b/content/applications/inventory_and_mrp/purchase/products/uom.rst @@ -88,10 +88,10 @@ of measure, you can enter 1. .. note:: If you use a *Rounding Precision* inferior to 0.01, a warning message might appear stating that it is higher than the *Decimal Accuracy* and that it might cause inconsistencies. If you - wish to use a *Rounding Precision* lower than 0.01, first :doc:`activate the Developer Mode - <../../../general/developer_mode/activate>`, then go to :menuselection:`Settings --> Technical --> - Database Structure --> Decimal Accuracy`, select *Product Unit of Measure* and edit *Digits* - accordingly. For example, if you want to use a rounding precision of 0.00001, set *Digits* to 5. + wish to use a *Rounding Precision* lower than 0.01, first activate the :ref:`developer mode + `, then go to :menuselection:`Settings --> Technical --> Database Structure --> + Decimal Accuracy`, select *Product Unit of Measure* and edit *Digits* accordingly. For example, + if you want to use a rounding precision of 0.00001, set *Digits* to 5. Next, create a second unit of measure, name it, and select the same units of measure category as your reference unit. As *Type*, select *Smaller* or *Bigger than the reference Unit of Measure*, diff --git a/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst b/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst index 62b38743c..48332a510 100644 --- a/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst +++ b/content/applications/marketing/sms_marketing/pricing/pricing_and_faq.rst @@ -99,8 +99,7 @@ More common questions #. **Do I have a history of the sent SMSs?** Yes, the SMS is logged as a note under the chatter of the corresponding record, and a complete - history of the SMSs sent is available on - :doc:`Developer mode ` under + history of the SMSs sent is available on :ref:`developer mode ` under :menuselection:`Technical --> SMS`. diff --git a/content/applications/productivity/discuss/advanced/email_servers.rst b/content/applications/productivity/discuss/advanced/email_servers.rst index 0a04ef33a..06f7dfcfd 100644 --- a/content/applications/productivity/discuss/advanced/email_servers.rst +++ b/content/applications/productivity/discuss/advanced/email_servers.rst @@ -209,7 +209,7 @@ alias in your mail server. .. tip:: All the aliases are customizable in Odoo. Object aliases can be edited from their respective configuration view. To edit catchall and bounce aliases, you first need to activate the - :doc:`Developer mode `. + :ref:`developer mode `. Then go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to customize the aliases (*mail.catchall.alias* & * mail.bounce.alias*). @@ -218,7 +218,7 @@ alias in your mail server. :align: center .. note:: By default inbound messages are fetched every 5 minutes in Odoo on-premise. - You can change this value in :doc:`Developer mode `. + You can change this value in :ref:`developer mode `. Go to :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for *Mail: Fetchmail Service*. @@ -239,11 +239,10 @@ or Sendgrid for mass mailings. A default outgoing email server is already configured. You should not create an alternative one unless you want to use a specific external outgoing email server for technical reasons. -To do this, you should first enable the :doc:`Developer mode -` and then go to :menuselection:`Settings --> Technical ---> Outgoing` e-mail servers. There you have to create two e-mail MTA server settings. One for -transactional e-mails and one for mass mail servers. Be sure to mark the priority of transactional -e-mail servers as low as the mass email servers. +To do this, you should first activate the :ref:`developer mode ` and then go to +:menuselection:`Settings --> Technical --> Outgoing` e-mail servers. There you have to create two +e-mail MTA server settings. One for transactional e-mails and one for mass mail servers. Be sure to +mark the priority of transactional e-mail servers as low as the mass email servers. Now, go to :menuselection:`Email Marketing --> Settings` and enable *Dedicated Server*. With these settings, Odoo uses the server with the lower priority for transactional emails, and the diff --git a/content/applications/productivity/discuss/advanced/email_template.rst b/content/applications/productivity/discuss/advanced/email_template.rst index 993b95a20..63631d34f 100644 --- a/content/applications/productivity/discuss/advanced/email_template.rst +++ b/content/applications/productivity/discuss/advanced/email_template.rst @@ -11,8 +11,8 @@ improving their overall experience with the company. Enable it and understand a few concepts ======================================= -The :doc:`Developer mode ` must be activated. Then, go to -:menuselection:`Settings --> Technical --> Templates`. A view of the existing templates is shown. +The :ref:`developer mode ` must be activated. Then, go to :menuselection:`Settings +--> Technical --> Templates`. A view of the existing templates is shown. .. warning:: **It is highly recommended not to change the content in existing templates unless the user has diff --git a/content/applications/productivity/studio/how_to/reports.rst b/content/applications/productivity/studio/how_to/reports.rst index 0c059e067..fa98c3f24 100644 --- a/content/applications/productivity/studio/how_to/reports.rst +++ b/content/applications/productivity/studio/how_to/reports.rst @@ -34,10 +34,10 @@ them. Fields with related objects have their directives shown on *Field Expressi | Under **Visible if**, define the rule(s) to set visibility conditions to fields. | Example: if choosing to display a product image, you could set a visibility rule to only display the ones that are *set* in the product form, avoiding having a plain icon when they are not set. -| **Visible for** is used to set which :doc:`groups ` - can have access to specific elements in the report. **Limit visibility to groups**, under - *Report*, sets the visibility of the report to specifics groups, meaning that users belonging to - other groups do not see the same final document. +| **Visible for** is used to set which :doc:`groups ` can have access + to specific elements in the report. **Limit visibility to groups**, under *Report*, sets the + visibility of the report to specifics groups, meaning that users belonging to other groups do not + see the same final document. .. image:: media/reports/limit_visibility.png :align: center @@ -50,8 +50,8 @@ added to the *Print* menu list on its respective document form. :align: center :alt: View of an invoice form emphasizing the menu print for Odoo Studio -If activating the :doc:`Developer mode `, additional fields -such as *Class* under *Options*, and *Reload from attachment* under *Report*, become visible. +If activating the :ref:`developer mode `, additional fields such as *Class* under +*Options*, and *Reload from attachment* under *Report*, become visible. - *Class*: add custom CSS classes to the selected element (e.g. Bootstrap classes such as *text-danger*). diff --git a/content/applications/productivity/studio/use_cases/models_fields.rst b/content/applications/productivity/studio/use_cases/models_fields.rst index 8a898e68d..c56aa19fa 100644 --- a/content/applications/productivity/studio/use_cases/models_fields.rst +++ b/content/applications/productivity/studio/use_cases/models_fields.rst @@ -116,7 +116,7 @@ Administrator* or managers. - **Case scenario 5: change the tooltip of a field for all views.** -| Activate the :doc:`Developer mode ` and open Studio. +| Activate the :ref:`developer mode ` and open Studio. | Select the necessary field and, under *Properties*, click on *More* to write your tooltip message on *Field Help*. The tooltip message is the explanatory message shown when the user hovers the field. The message here written is displayed on all views forms where the field is added. diff --git a/content/applications/sales/crm/acquire_leads/lead_mining.rst b/content/applications/sales/crm/acquire_leads/lead_mining.rst index 53aff7150..d4982e0bd 100644 --- a/content/applications/sales/crm/acquire_leads/lead_mining.rst +++ b/content/applications/sales/crm/acquire_leads/lead_mining.rst @@ -68,5 +68,5 @@ Credits`; or go to :menuselection:`Settings --> In-App Purchases --> View my Ser If you are on Odoo Online (SAAS) and have the Enterprise version, you benefit from free trial credits to test the feature. .. seealso:: - * :doc:`In-App Purchases (IAP) ` + * :doc:`In-App Purchases (IAP) ` diff --git a/content/applications/sales/crm/optimize/outlook_extension.rst b/content/applications/sales/crm/optimize/outlook_extension.rst index e6b0f0b2a..831f74b51 100644 --- a/content/applications/sales/crm/optimize/outlook_extension.rst +++ b/content/applications/sales/crm/optimize/outlook_extension.rst @@ -171,5 +171,5 @@ In-App Purchase - Learn about our *Privacy Policy* `here `_. .. seealso:: - - :doc:`../../../general/in_app_purchase/in_app_purchase` + - :doc:`../../../general/in_app_purchase` - `Odoo Tutorials: Lead Enrichment `_ \ No newline at end of file diff --git a/content/applications/sales/sales/amazon_connector/manage.rst b/content/applications/sales/sales/amazon_connector/manage.rst index 3c61c43cb..d9852b744 100644 --- a/content/applications/sales/sales/amazon_connector/manage.rst +++ b/content/applications/sales/sales/amazon_connector/manage.rst @@ -17,15 +17,14 @@ order is automatically canceled in Odoo. .. note:: To force the synchronization of an order whose status has not changed since the last - synchronization, activate the :doc:`Developer mode `, - navigate to your Amazon account and modify the date under - :menuselection:`Orders Follow-up --> Last Order Sync`. Pick a date anterior to the last status - change of the order that you wish to synchronize and save. + synchronization, activate the :ref:`developer mode `, navigate to your Amazon + account and modify the date under :menuselection:`Orders Follow-up --> Last Order Sync`. Pick a + date anterior to the last status change of the order that you wish to synchronize and save. .. tip:: - To synchronize immediately the orders of your Amazon account switch to - :doc:`Developer mode `, head to your Amazon account and - click on **SYNC ORDERS**. The same can be done with pickings by clicking on **SYNC PICKINGS**. + To synchronize immediately the orders of your Amazon account switch to :ref:`developer mode + `, head to your Amazon account and click on **SYNC ORDERS**. The same can be done + with pickings by clicking on **SYNC PICKINGS**. Manage deliveries in FBM ======================== diff --git a/content/applications/sales/sales/amazon_connector/setup.rst b/content/applications/sales/sales/amazon_connector/setup.rst index 32f0ea545..2c6059f79 100644 --- a/content/applications/sales/sales/amazon_connector/setup.rst +++ b/content/applications/sales/sales/amazon_connector/setup.rst @@ -97,9 +97,8 @@ code, a default database product **Amazon Sale** is used. The same is done with **Amazon Shipping** and the shipping code. .. note:: - To modify the default products, activate the - :doc:`Developer mode ` and navigate to - :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> + To modify the default products, activate the :ref:`developer mode ` and navigate + to :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> Default Products`. Configure taxes of products @@ -130,8 +129,7 @@ marketplaces. `_. The marketplace must belong to the same region as that of your seller account. -To add a new marketplace, you must first enable :doc:`Developer mode -`. +To add a new marketplace, you must first activate the :ref:`developer mode `. Once that is done, go to :menuselection:`Sales --> Configuration --> Settings --> Connectors --> Amazon Sync --> Amazon Marketplaces`. diff --git a/content/applications/sales/sales/ebay_connector/setup.rst b/content/applications/sales/sales/ebay_connector/setup.rst index a15e77c2e..64cc0dd75 100644 --- a/content/applications/sales/sales/ebay_connector/setup.rst +++ b/content/applications/sales/sales/ebay_connector/setup.rst @@ -48,7 +48,7 @@ parallel in existing installations. To switch to the new synchronization mechanism: -#. Enable the :doc:`Developer mode `. +#. Activate the :ref:`developer mode `. #. Go to :menuselection:`Settings --> Technical --> Scheduled Actions` #. Archive the old synchronization actions (both are named *Ebay: update product status*) #. Activate the new synchronization actions (*Ebay: get new orders* which runs every 15min by default and *Ebay: synchronise stock (for 'get new orders' synchronisation)* which runs once a day per default) diff --git a/content/applications/services/helpdesk/overview/getting_started.rst b/content/applications/services/helpdesk/overview/getting_started.rst index e968a409b..7888ff5dc 100644 --- a/content/applications/services/helpdesk/overview/getting_started.rst +++ b/content/applications/services/helpdesk/overview/getting_started.rst @@ -61,4 +61,4 @@ or use the stage. :alt: View of a team’s kanban view in Odoo Helpdesk .. seealso:: - - :doc:`/applications/general/odoo_basics/users` + - :doc:`/applications/general/users` diff --git a/content/applications/services/timesheets/overview/time_off.rst b/content/applications/services/timesheets/overview/time_off.rst index 5b3162138..b3e311624 100644 --- a/content/applications/services/timesheets/overview/time_off.rst +++ b/content/applications/services/timesheets/overview/time_off.rst @@ -6,8 +6,8 @@ Odoo automatically timesheets on project/tasks upon time off requests. This allo overall control over the validation of timesheets, as it does not leave place for forgetfulness and questions after hours that have not been timesheeted by the employee. -Activate the :doc:`Developer mode `, go to *Timesheets*, -and change the *Project* and *Task* set by default, if you like. +Activate the :ref:`developer mode `, go to *Timesheets*, and change the *Project* +and *Task* set by default, if you like. .. image:: media/record_time_off.png :align: center diff --git a/content/applications/settings.rst b/content/applications/settings.rst deleted file mode 100644 index 27a9c4970..000000000 --- a/content/applications/settings.rst +++ /dev/null @@ -1,8 +0,0 @@ -======== -Settings -======== - - -.. toctree:: - - settings/users_and_features diff --git a/content/applications/settings/users_and_features.rst b/content/applications/settings/users_and_features.rst deleted file mode 100644 index b79b6a828..000000000 --- a/content/applications/settings/users_and_features.rst +++ /dev/null @@ -1,126 +0,0 @@ - -.. _db_management/documentation: - -================== -Users and Features -================== - -As the administrator of your database, you are responsible for its usage. -This includes the Apps you install as well as the number of users currently -in use. - -Odoo is many things (ERP, CMS, CRM application, e-Commerce backend, etc.) -but it is *not* a smartphone. You should apply caution when adding/removing -features (especially Apps) on your database since this may impact your -subscription amount significantly (or switch you from a free account -to a paying one on our online platform). - -This page contains some information as to how you can manage your Odoo -instances. Before carrying any of these procedures, we **strongly** advise -to test them on a duplicate of your database first. That way, if something goes -wrong, your day-to-day business is not impacted. - -.. note:: You can find guides on how to duplicate your databases both for - :ref:`online ` and :ref:`on premise ` - installations. - -.. note:: If you have questions about the content of this page or if you - encounter an issue while carrying out these procedures, please contact - us through our `support form `__. - - -Deactivating Users -================== - -.. note:: Make sure you have sufficient **administrative rights** if - you want to change the status of any of your users. - -In your Odoo instance, click on **Settings**. You will have a section -showing you the active users on your database. Click on **Manage Users.** - -+----------------+----------------+ -| |settings| | |browse_users| | -+----------------+----------------+ - -You'll then see the list of your users. - -.. image:: media/list_users.png - :align: center - -.. note:: The pre-selected filter *Internal Users* shows your paying - users (different from the *Portal Users* which are free). If you - remove this filter, you'll get all your users (the ones you pay for - and the portal ones) - -In your list of users, click on the user you want to deactivate. As soon -as you are on the userform, click on the Action drop down menu, and -then click on Archive. - -.. image:: media/deactivate_user.png - :align: center - - -The user is now deactivated. - -.. danger:: **Never** deactivate the main user (*admin*) - -Uninstalling Apps -================= - -.. warning:: Make sure you first test what you are about to do on a - :ref:`duplicate ` of your database before making any - changes (*especially* installing/uninstalling apps). - -In your Odoo instance click on **Settings**; in this app, you will be -able to see how many applications you have installed. Click on **Browse -Apps** to access the list of your installed applications. - -+----------------+----------------+ -| |settings| | |browse_apps| | -+----------------+----------------+ - -In your applications' dashboard, you will see all the icons of your -applications. Click on the application you want to uninstall. Then, on -the form of the application, click on **Uninstall**. - -.. image:: media/uninstall.png - :align: center - -.. danger:: Some applications have dependencies, like Invoicing, eCommerce, - etc. Therefore, the system will give you a warning message to advise - you of what is about to be removed. If you uninstall your application, - all its dependencies will be uninstalled as well (and the data in them - will permanently disappear). If you are sure you still want to uninstall - it, then click **Confirm**. - -Last, after having checked the warning message (if any), click **Confirm**. - -.. image:: media/uninstall_deps.png - :align: center - -You have finished uninstalling your application. - -Good to know -============ - -* **Uninstalling apps, managing users, etc. is up to you**: no one else can - know if your business flow is broken better than you. If we were to uninstall - applications for you, we would never be able to tell if relevant data had - been removed or if one of your business flow was broken because we *do not - know how you work* and therefore cannot validate these kinds of operations. - -* **Odoo Apps have dependencies**: this means that you may need to install - modules that you do not actively use to access some features of Odoo - you might need. For example, the Website Builder app is needed to be - able to show your customer their Quotes in a web page. Even though you - might not need or use the Website itself, it is needed for the Online - Quotes feature to work properly. - -* **Always test app installation/removal on a duplicate** (or on a - free trial database): that way you can know what other apps may - be required, etc. This will avoid surprises when uninstalling - or when receiving your invoices. - -.. |settings| image:: media/settings_app.png -.. |browse_apps| image:: media/browse_apps.png -.. |browse_users| image:: media/browse_users.png diff --git a/content/applications/websites/ecommerce/shopper_experience/payment_acquirer.rst b/content/applications/websites/ecommerce/shopper_experience/payment_acquirer.rst index 9277b0b85..1b569b4bf 100644 --- a/content/applications/websites/ecommerce/shopper_experience/payment_acquirer.rst +++ b/content/applications/websites/ecommerce/shopper_experience/payment_acquirer.rst @@ -58,5 +58,5 @@ confirmed, but the amount is kept on hold. Once the delivery is processed, you c payment from the related Sales Order. .. seealso:: - - :doc:`../../../general/payment_acquirers/payment_acquirers` + - :doc:`../../../general/payment_acquirers` - :ref:`Payment Acquirers: Place a hold on a card ` diff --git a/content/applications/websites/website/optimize/seo.rst b/content/applications/websites/website/optimize/seo.rst index 0b01bcf4c..a43bb4889 100644 --- a/content/applications/websites/website/optimize/seo.rst +++ b/content/applications/websites/website/optimize/seo.rst @@ -480,10 +480,9 @@ page. As these files are shared across all pages, further clicks by the same visitor will not load any other Javascript resource. .. note:: - If you work on :doc:`Developer mode `, the CSS and - Javascript are neither concatenated, nor minified. Thus, it's much slower. But it allows you to - easily debug with the Chrome debugger as CSS and Javascript resources are not transformed from - their original versions. + If you work on :ref:`developer mode `, the CSS and Javascript are neither + concatenated, nor minified. Thus, it's much slower. But it allows you to easily debug with the + Chrome debugger as CSS and Javascript resources are not transformed from their original versions. CDN --- @@ -638,7 +637,7 @@ It means that all robots are allowed to index your website and there is no other indexing rule than specified in the sitemap to be found at following address. -You can customize the file *robots* in -:doc:`Developer mode ` from *Settings --> Technical --> -User Interface --> Views* (exclude robots, exclude some pages, redirect to a custom Sitemap). -Make the Model Data of the view *Non Updatable* to not reset the file after system upgrades. +You can customize the file *robots* in :ref:`developer mode ` from *Settings --> +Technical --> User Interface --> Views* (exclude robots, exclude some pages, redirect to a custom +Sitemap). Make the Model Data of the view *Non Updatable* to not reset the file after system +upgrades. diff --git a/content/contributing.rst b/content/contributing.rst index 8b8ecd456..b4989edfb 100644 --- a/content/contributing.rst +++ b/content/contributing.rst @@ -1,4 +1,3 @@ - ============ Contributing ============ diff --git a/content/contributing/documentation.rst b/content/contributing/documentation.rst index e98074551..75cb1162a 100644 --- a/content/contributing/documentation.rst +++ b/content/contributing/documentation.rst @@ -1,12 +1,404 @@ +:show-content: -================================= -Contributing to the documentation -================================= +=================== +Write documentation +=================== .. toctree:: :titlesonly: - documentation/introduction_guide + documentation/content_guidelines documentation/rst_cheat_sheet documentation/rst_guidelines - documentation/content_guidelines \ No newline at end of file + +**First of all, thank you for landing here and helping us improve the user documentation of Odoo!** + +This introductory guide will help you acquire the tools and knowledge you need to write +documentation, whether you plan to make a minor content change or document an application from +scratch. + +.. _contributing/rst-intro: + +reStructuredText +================ + +Our documentation is written in **reStructuredText** (RST), a `lightweight markup language +`_ consisting of normal text augmented +with markup which allows including headings, images, notes, and so on. This might seem a bit +abstract but there is no need to worry. :abbr:`RST (reStructuredText)` is not hard to learn, +especially if you intend to make only small changes to the content. + +If you need to learn about a specific markup, head over to :doc:`our cheat sheet for RST +` which contains all the information that you should ever need for +the user documentation of Odoo. + +.. important:: + We kindly ask you to observe a set of :doc:`content ` and + :doc:`RST ` guidelines as you write documentation. This ensures + that you stay consistent with the rest of the documentation and facilitates the approval of your + content changes as they are reviewed by a redactor at Odoo. + +.. seealso:: + - :doc:`documentation/content_guidelines` + - :doc:`documentation/rst_cheat_sheet` + - :doc:`documentation/rst_guidelines` + +.. _contributing/getting-started: + +Getting started +=============== + +As our documentation is maintained on GitHub, you will need a free GitHub account. Click `here +`_ to create one. + +Now, depending on whether you want to update existing content, or rather work on new content and +make file changes, you have two courses of action: + +#. **For small changes** in ``.rst`` files only, i.e. addition/edition of paragraphs or typos, **we + suggest that you use the GitHub interface**. This is the easiest and fasted way to submit your + request for changes for the documentation and is suitable for non-technical people. Read + :ref:`contributing/github-interface` to learn how to use this method. +#. **For more complex cases**, it is necessary to **use Git and work from a local copy of the + documentation**. This method seems intimidating but only requires basic knowledge of Git. See + :ref:`contributing/canonical-git-workflow` for more information on this method. + +.. _contributing/github-interface: + +Use the GitHub interface +======================== + +#. Verify that you are browsing the documentation in the version that you intend to change. The + version can be selected from the dropdown in the top menu. + + .. image:: documentation/version-selector.png + +#. Head over to the page that you want to change and click on the **Edit on GitHub** button in the + bottom of the left menu. + + .. image:: documentation/edit-on-github.png + +#. If you do not have edit rights on the repository (`odoo/documentation + `_), you need to fork it by clicking on the appropriate + button. In other terms, you create a copy of the entire repository on your own account. If you do + have the edit rights, skip this step. + + .. image:: documentation/fork-repository.png + +#. Make the appropriate changes while taking care of following the :doc:`content + ` and :doc:`RST ` guidelines. + +#. Click on the **Preview changes** button to review your contribution in a more human-readable + format. Be aware that the preview is not able to handle all markups correctly. Notes and tips, + for instance, are not correctly rendered. The version of your content published to the website + will be, however. + +#. Go to the bottom of the page to create a commit (:dfn:`what packs your changes together and + labels them with a commit message`) of your changes. + + #. | In first text box, describe your changes. For instance, "Fix a typo" and "Add documentation + for invoicing of sales orders" are two clear commit messages. + | In the second text box, justify *why* you made these changes, if you feel that it is not + obvious. + #. Select the option "Create a new branch for this commit and start a pull request." if you have + the choice (if you have partial or full edit writes on the repository). If not, skip this + step. + #. Click on the green button. It is either labelled "Commit changes" or "Propose file change". + + .. image:: documentation/commit-changes.png + +#. In the dropdown for the selection of the base branch (i.e., the version of the documentation that + your changes concern), make sure to select the same version as in the first step of this guide + and click on the **Create pull request** button. + + .. image:: documentation/select-branches-base.png + +#. Double-check your :abbr:`PR (Pull Request)` and, when ready, click again on the **Create pull + request** button to submit your changes for review by a content writer at Odoo. + + .. image:: documentation/create-pull-request.png + +#. You're done! If your changes are approved straight away they will appear in the documentation the + very next day. It may also be the case that the reviewer has a question or a remark, so make sure + to check your notifications or your emails, depending on your account settings. + +.. _contributing/canonical-git-workflow: + +Use the canonical Git workflow +============================== + +.. _contributing/prepare-machine: + +Prepare your machine +-------------------- + +.. _contributing/install-git: + +Install Git +~~~~~~~~~~~ + +We use `Git `_ to manage the files of the user documentation. +It is a tool that allows to track the history of changes made to a file and, more importantly, to +work on different versions of those files at the same time. It means that you do not need to worry +about overwriting someone else’s pending work when you start editing the documentation. + +You must then configure Git to identify yourself as the author of your future contribution. Enter +the same email address as the one you used to register on GitHub. + +#. Download and install **Git** on your machine. +#. Verify that `the installation folder of Git is included in your system's PATH variable + `_. +#. Execute the following commands in a terminal: + + .. code-block:: console + + $ git config --global user.name “Your Name” + $ git config --global user.email “youremail@example.com” + +.. _contributing/fetch-sources: + +Fetch the sources +~~~~~~~~~~~~~~~~~ + +As stated earlier, our documentation (in all its versions) is maintained on GitHub at +`github.com/odoo/documentation `_. A modification is made by +the mean of a :abbr:`PR (Pull Request)` (:dfn:`proposal of content changes`) to allow for a review +of the changes before updating the sources of the documentation. + +Prior to submitting a modification, you need to make a copy of the sources and download that copy on +your machine. + +#. Go to `github.com/odoo/documentation `_ and click on the + **Fork** button in the top right corner. + + .. image:: documentation/fork-button.png + +#. Execute the following commands in a terminal: + + .. code-block:: console + + $ git clone https://github.com/odoo/documentation + $ cd documentation/ + + .. important:: + If you do not have edit rights on the repository owned by Odoo, replace "odoo" with your + Github username in the URL of the command above. If you do have edit rights, it is not + necessary to fork the repository. + +#. In order to ease the collaboration between writers coming from many different systems and teams, + execute the following group of commands that correspond to your :abbr:`OS (Operating System)` in + a terminal. + + - Windows: + + .. code-block:: doscon + + $ cd documentation/ + $ git config --global core.autocrlf true + $ git config commit.template %CD%\commit_template.txt + + - Linux or Mac OS: + + .. code-block:: console + + $ cd documentation/ + $ git config --global core.autocrlf input + $ git config commit.template `pwd`/commit_template.txt + +.. _contributing/python: + +Python +~~~~~~ + +Because the documentation is written in :abbr:`RST (reStructuredText)`, it needs to be built +(:dfn:`converted to HTML`) in order to display nicely. This is done by the documentation generator +which takes the original :abbr:`RST (reStructuredText)` files as input, transforms the markups +in a human-readable format, and outputs HTML files to be read in your web browser. + +The documentation generator that we use is called `Sphinx `_. +and is written in `Python `_. You have +to install Python in order to use Sphinx. For the record, Sphinx is the program and Python the +programming language, but you do not need to know much more about them so don't panic! + +Python comes with its own package manager: `pip +`_. It allows installing Python dependencies in +a single command. + +#. Download and install the recommended release (`see README file + `_) of **Python 3** on your machine. +#. Make sure to have **pip** installed on your machine (on Windows, you can install pip alongside + Python). +#. Execute the following commands in a terminal to verify that both installations finished + successfully: + + .. code-block:: console + + $ python3 --version + $ pip3 --version + +#. Execute the following commands in a terminal to install the Python dependencies of the + documentation: + + .. code-block:: console + + $ cd documentation/ + $ pip3 install -r requirements.txt + +.. note:: + Depending on your :abbr:`OS (Operating System)`, you may need to run the commands ``python`` and + ``pip`` instead of ``python3`` and ``pip3`` + +.. _contributing/make: + +Make +~~~~ + +`Make `_ is a tool that packs a bunch of +command-lines into one to be easier to remember and to type. In our case, it is used to execute +complex Sphinx build commands by using a single and simpler one instead. + +#. Download and install **Make** on your machine. +#. Verify that `the installation folder of Make is included in your system's PATH variable + `_. + +.. _contributing/pngquant: + +pngquant +~~~~~~~~ + +`pngquant `_ is a tool that we use to compress PNG images so that the +documentation does not end up weighting several Gigabytes in a few year span. + +#. Download and install **pngquant** on your machine. +#. Verify that `the installation folder of pngquant is included in your system's PATH variable + `_. + +.. _contributing/prepare-version: + +Prepare your version +-------------------- + +Now that your machine is all set up, it is time to do the same for your version of the documentation +files. As it would not be convenient to have several people working on the version 13.0 in parallel +(conflicts of content would occur all the time), and in order to be able to create a :abbr:`PR +(Pull Request)`, you must `create a new branch +`_ starting from the branch 13.0. In other +words, you copy the entirety of this version’s files and give it another name. For this example, we +will go with ``13.0-my_contribution``. + +Execute the following commands in a terminal to... + +#. Navigate to the documentation folder: + + .. code-block:: console + + $ cd documentation/ + +#. Switch to the version 13.0: + + .. code-block:: console + + $ git checkout 13.0 + +#. Create your own branch which will be a copy of 13.0: + + .. code-block:: console + + $ git checkout -b 13.0-my_contribution + +.. _contributing/perform-changes: + +Perform your changes +-------------------- + +You can now perform any change you want to the documentation files. These changes must be compliant +with :abbr:`RST (reStructuredText)` syntax (see :doc:`documentation/rst_cheat_sheet`) and with our +:doc:`content ` and :doc:`RST ` +guidelines. + +.. important:: + If your changes include the addition of a new image, for instance :file:`my_image.png`, proceed + as follows: + + #. Make sure that the image is in ``.png`` format. + #. Execute the following commands in a terminal: + + .. code-block:: console + + $ cd path-to-the-directory-of-the-image/ + $ pngquant my_image.png + + #. Delete :file:`my_image.png`. + #. Rename :file:`my_image-fs8.png` to :file:`my_image.png`. + +.. _contributing/preview-changes: + +Preview your changes +-------------------- + +To preview your changes in a generated documentation, proceed as follows: + +#. Execute the following commands in a terminal: + + .. code-block:: console + + $ cd documentation/ + $ make clean + $ make html + + .. tip:: + You can omit the :command:`make clean` command when no recent change has been made to the + hierarchy of documentation files. + +#. Fix any error or warning shown in the logs of the build. +#. Open the file :file:`documentation/_build/html/index.html` with your default web browser. + +.. note:: + These steps have for only purpose to show you the final results of your changes. They have no + impact on the documentation source files. + +.. _contributing/submit-changes: + +Submit your changes +------------------- + +.. important:: + We expect you to have basic knowledge of Git, which should be enough to cover the basic flow of a + one-time contribution. If you plan on submitting several contributions, work on older versions of + the documentation or perform any other advanced action, we recommend you to be confident with + Git. Help yourself with `this manual of Git `_ and `this + interactive tutorial `_. + +#. Execute the following commands in a terminal: + + .. code-block:: console + + $ git add * + $ git commit + $ git push -u origin 13.0-my_contribution + +#. Go to `github.com/odoo/documentation/pulls + `_ and click on the **New pull request** button. + + .. image:: documentation/new-pull-request.png + +#. If you forked the base repository in the section :ref:`contributing/fetch-sources`, click on the + link **compare across forks** If not, skip this step. + + .. image:: documentation/compare-across-forks.png + +#. In the dropdown for the selection of the base branch (i.e., the version of the documentation that + your changes concern), make sure to select the version that your changes target (here **13.0**). + + .. image:: documentation/select-branches-fork.png + +#. Double-check your :abbr:`PR (Pull Request)` and, when ready, click again on the **Create pull + request** button to submit your changes for review by a redactor at Odoo. + + .. image:: documentation/create-pull-request.png + +#. You're done! If your changes are approved straight away they will appear in the documentation the + very next day. It may also be the case that the reviewer has a question or a remark, so make sure + to check your notifications or your emails, depending on your account settings. + + +.. _win-add-to-path: https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/ diff --git a/content/contributing/documentation/media/commit-changes.png b/content/contributing/documentation/commit-changes.png similarity index 100% rename from content/contributing/documentation/media/commit-changes.png rename to content/contributing/documentation/commit-changes.png diff --git a/content/contributing/documentation/media/compare-across-forks.png b/content/contributing/documentation/compare-across-forks.png similarity index 100% rename from content/contributing/documentation/media/compare-across-forks.png rename to content/contributing/documentation/compare-across-forks.png diff --git a/content/contributing/documentation/content_guidelines.rst b/content/contributing/documentation/content_guidelines.rst index 6e0a82623..db606ff91 100644 --- a/content/contributing/documentation/content_guidelines.rst +++ b/content/contributing/documentation/content_guidelines.rst @@ -1,4 +1,3 @@ - ================== Content guidelines ================== @@ -12,7 +11,7 @@ writing style, some rules still apply to give the reader more clarity and compre section of the documentation. Good knowledge of the ins and outs of **RST writing** is required to write and submit your contribution. Note that it also affects your writing style itself. - - :doc:`introduction_guide` + - :doc:`../documentation` - :doc:`rst_cheat_sheet` - :doc:`rst_guidelines` @@ -82,33 +81,33 @@ To write good titles and headings: - proper nouns (brands, product and service names, etc.) - app features, as written in the apps - .. important:: - Do not capitalize common nouns when they are not referred to as features. This is more likely - to happen in headings rather than in titles. +.. important:: + Do not capitalize common nouns when they are not referred to as features. This is more likely + to happen in headings rather than in titles. - +------------------+-----------------------------------+--------------------------------------------------------+ - | | Examples | Explanations | - +==================+===================================+========================================================+ - | | **Titles** | *Quotation Templates* | "Quotation Templates" is a feature in Odoo. | - | | (h1) +-----------------------------------+--------------------------------------------------------+ - | | *Lead Mining* | "Lead Mining" is a feature in Odoo. | - | +-----------------------------------+--------------------------------------------------------+ - | | *Resupply from another Warehouse* | "Warehouse" is capitalized as we refer to the feature | - | | | in the app rather than to a real warehouse. | - | +-----------------------------------+--------------------------------------------------------+ - | | *Synchronize Google Calendar | "Google Calendar" is a product and "Odoo" is a brand. | - | | with Odoo* | | - +------------------+-----------------------------------+--------------------------------------------------------+ - | | **Headings** | *Confirm the quotation* | "The quotation" is a common noun not referring to a | - | | (h2, h3, etc.) | | feature in Odoo. | - | +-----------------------------------+--------------------------------------------------------+ - | | *Test environment* | "Environment" is a common noun. | - | +-----------------------------------+--------------------------------------------------------+ - | | *Add a new Payment Acquirer* | "Payment Acquirers" is a feature in Odoo. | - | +-----------------------------------+--------------------------------------------------------+ - | | *Generate SEPA Direct Debit XML | "SEPA Direct Debit" and "XML" are considered as proper | - | | files to submit payments* | nouns. | - +------------------+-----------------------------------+--------------------------------------------------------+ ++------------------+-----------------------------------+--------------------------------------------------------+ +| | Examples | Explanations | ++==================+===================================+========================================================+ +| | **Titles** | *Quotation Templates* | "Quotation Templates" is a feature in Odoo. | +| | (h1) +-----------------------------------+--------------------------------------------------------+ +| | *Lead Mining* | "Lead Mining" is a feature in Odoo. | +| +-----------------------------------+--------------------------------------------------------+ +| | *Resupply from another Warehouse* | "Warehouse" is capitalized as we refer to the feature | +| | | in the app rather than to a real warehouse. | +| +-----------------------------------+--------------------------------------------------------+ +| | *Synchronize Google Calendar | "Google Calendar" is a product and "Odoo" is a brand. | +| | with Odoo* | | ++------------------+-----------------------------------+--------------------------------------------------------+ +| | **Headings** | *Confirm the quotation* | "The quotation" is a common noun not referring to a | +| | (h2, h3, etc.) | | feature in Odoo. | +| +-----------------------------------+--------------------------------------------------------+ +| | *Test environment* | "Environment" is a common noun. | +| +-----------------------------------+--------------------------------------------------------+ +| | *Add a new Payment Acquirer* | "Payment Acquirers" is a feature in Odoo. | +| +-----------------------------------+--------------------------------------------------------+ +| | *Generate SEPA Direct Debit XML | "SEPA Direct Debit" and "XML" are considered as proper | +| | files to submit payments* | nouns. | ++------------------+-----------------------------------+--------------------------------------------------------+ .. _contributing/document-structure: @@ -185,7 +184,7 @@ A few tips to improve your screenshots: #. If necessary, you can **edit** the screenshot to remove unnecessary fields and to narrow even more Odoo's display. -.. image:: media/screenshot-tips.gif +.. image:: content_guidelines/screenshot-tips.gif :align: center :alt: Three tips to take good screenshots for the Odoo documentation. diff --git a/content/contributing/documentation/media/screenshot-tips.gif b/content/contributing/documentation/content_guidelines/screenshot-tips.gif similarity index 100% rename from content/contributing/documentation/media/screenshot-tips.gif rename to content/contributing/documentation/content_guidelines/screenshot-tips.gif diff --git a/content/contributing/documentation/media/create-pull-request.png b/content/contributing/documentation/create-pull-request.png similarity index 100% rename from content/contributing/documentation/media/create-pull-request.png rename to content/contributing/documentation/create-pull-request.png diff --git a/content/contributing/documentation/media/edit-on-github.png b/content/contributing/documentation/edit-on-github.png similarity index 100% rename from content/contributing/documentation/media/edit-on-github.png rename to content/contributing/documentation/edit-on-github.png diff --git a/content/contributing/documentation/media/fork-button.png b/content/contributing/documentation/fork-button.png similarity index 100% rename from content/contributing/documentation/media/fork-button.png rename to content/contributing/documentation/fork-button.png diff --git a/content/contributing/documentation/media/fork-repository.png b/content/contributing/documentation/fork-repository.png similarity index 100% rename from content/contributing/documentation/media/fork-repository.png rename to content/contributing/documentation/fork-repository.png diff --git a/content/contributing/documentation/introduction_guide.rst b/content/contributing/documentation/introduction_guide.rst deleted file mode 100644 index 21ec3360b..000000000 --- a/content/contributing/documentation/introduction_guide.rst +++ /dev/null @@ -1,395 +0,0 @@ - -================== -Introduction guide -================== - -**First of all, thank you for landing here and helping us improve the user documentation of Odoo!** - -This introductory guide will help you acquire the tools and knowledge you need to write -documentation, whether you plan to make a minor content change or document an application from -scratch. - -.. _contributing/rst-intro: - -reStructuredText -================ - -Our documentation is written in **reStructuredText** (RST), a `lightweight markup language -`_ consisting of normal text augmented -with markup which allows including headings, images, notes, and so on. This might seem a bit -abstract but there is no need to worry. :abbr:`RST (reStructuredText)` is not hard to learn, -especially if you intend to make only small changes to the content. - -If you need to learn about a specific markup, head over to :doc:`our cheat sheet for RST -` which contains all the information that you should ever need for the user -documentation of Odoo. - -.. important:: - We kindly ask you to observe a set of :doc:`content ` and :doc:`RST - ` guidelines as you write documentation. This ensures that you stay consistent - with the rest of the documentation and facilitates the approval of your content changes as they - are reviewed by a redactor at Odoo. - -.. seealso:: - - :doc:`rst_cheat_sheet` - - :doc:`rst_guidelines` - - :doc:`content_guidelines` - -.. _contributing/getting-started: - -Getting started -=============== - -As our documentation is maintained on GitHub, you will need a free GitHub account. Click `here -`_ to create one. - -Now, depending on whether you want to update existing content, or rather work on new content and -make file changes, you have two courses of action: - -#. **For small changes** in ``.rst`` files only, i.e. addition/edition of paragraphs or typos, **we - suggest that you use the GitHub interface**. This is the easiest and fasted way to submit your - request for changes for the documentation and is suitable for non-technical people. Read - :ref:`contributing/github-interface` to learn how to use this method. -#. **For more complex cases**, it is necessary to **use Git and work from a local copy of the - documentation**. This method seems intimidating but only requires basic knowledge of Git. See - :ref:`contributing/canonical-git-workflow` for more information on this method. - -.. _contributing/github-interface: - -Use the GitHub interface -======================== - -#. Verify that you are browsing the documentation in the version that you intend to change. The - version can be selected from the dropdown in the top menu. - - .. image:: media/version-selector.png - -#. Head over to the page that you want to change and click on the **Edit on GitHub** button in the - bottom of the left menu. - - .. image:: media/edit-on-github.png - -#. If you do not have edit rights on the repository (`odoo/documentation - `_), you need to fork it by clicking on the appropriate - button. In other terms, you create a copy of the entire repository on your own account. If you do - have the edit rights, skip this step. - - .. image:: media/fork-repository.png - -#. Make the appropriate changes while taking care of following the :doc:`guidelines - `. - -#. Click on the **Preview changes** button to review your contribution in a more human-readable - format. Be aware that the preview is not able to handle all markups correctly. Notes and tips, - for instance, are not correctly rendered. The version of your content published to the website - will be, however. - -#. Go to the bottom of the page to create a commit (:dfn:`what packs your changes together and - labels them with a commit message`) of your changes. - - #. | In first text box, describe your changes. For instance, "Fix a typo" and "Add documentation - for invoicing of sales orders" are two clear commit messages. - | In the second text box, justify *why* you made these changes, if you feel that it is not - obvious. - #. Select the option "Create a new branch for this commit and start a pull request." if you have - the choice (if you have partial or full edit writes on the repository). If not, skip this - step. - #. Click on the green button. It is either labelled "Commit changes" or "Propose file change". - - .. image:: media/commit-changes.png - -#. In the dropdown for the selection of the base branch (i.e., the version of the documentation that - your changes concern), make sure to select the same version as in the first step of this guide - and click on the **Create pull request** button. - - .. image:: media/select-branches-base.png - -#. Double-check your :abbr:`PR (Pull Request)` and, when ready, click again on the **Create pull - request** button to submit your changes for review by a content writer at Odoo. - - .. image:: media/create-pull-request.png - -#. You're done! If your changes are approved straight away they will appear in the documentation the - very next day. It may also be the case that the reviewer has a question or a remark, so make sure - to check your notifications or your emails, depending on your account settings. - -.. _contributing/canonical-git-workflow: - -Use the canonical Git workflow -============================== - -.. _contributing/prepare-machine: - -Prepare your machine --------------------- - -.. _contributing/install-git: - -Install Git -~~~~~~~~~~~ - -We use `Git `_ to manage the files of the user documentation. -It is a tool that allows to track the history of changes made to a file and, more importantly, to -work on different versions of those files at the same time. It means that you do not need to worry -about overwriting someone else’s pending work when you start editing the documentation. - -You must then configure Git to identify yourself as the author of your future contribution. Enter -the same email address as the one you used to register on GitHub. - -#. Download and install **Git** on your machine. -#. Verify that `the installation folder of Git is included in your system's PATH variable - `_. -#. Execute the following commands in a terminal: - - .. code-block:: console - - $ git config --global user.name “Your Name” - $ git config --global user.email “youremail@example.com” - -.. _contributing/fetch-sources: - -Fetch the sources -~~~~~~~~~~~~~~~~~ - -As stated earlier, our documentation (in all its versions) is maintained on GitHub at -`github.com/odoo/documentation `_. A modification is made by -the mean of a :abbr:`PR (Pull Request)` (:dfn:`proposal of content changes`) to allow for a review -of the changes before updating the sources of the documentation. - -Prior to submitting a modification, you need to make a copy of the sources and download that copy on -your machine. - -#. Go to `github.com/odoo/documentation `_ and click on the - **Fork** button in the top right corner. - - .. image:: media/fork-button.png - -#. Execute the following commands in a terminal: - - .. code-block:: console - - $ git clone https://github.com/odoo/documentation - $ cd documentation/ - - .. important:: - If you do not have edit rights on the repository owned by Odoo, replace "odoo" with your - Github username in the URL of the command above. If you do have edit rights, it is not - necessary to fork the repository. - -#. In order to ease the collaboration between writers coming from many different systems and teams, - execute the following group of commands that correspond to your :abbr:`OS (Operating System)` in - a terminal. - - - Windows: - - .. code-block:: doscon - - $ cd documentation/ - $ git config --global core.autocrlf true - $ git config commit.template %CD%\commit_template.txt - - - Linux or Mac OS: - - .. code-block:: console - - $ cd documentation/ - $ git config --global core.autocrlf input - $ git config commit.template `pwd`/commit_template.txt - -.. _contributing/python: - -Python -~~~~~~ - -Because the documentation is written in :abbr:`RST (reStructuredText)`, it needs to be built -(:dfn:`converted to HTML`) in order to display nicely. This is done by the documentation generator -which takes the original :abbr:`RST (reStructuredText)` files as input, transforms the markups -in a human-readable format, and outputs HTML files to be read in your web browser. - -The documentation generator that we use is called `Sphinx `_. -and is written in `Python `_. You have -to install Python in order to use Sphinx. For the record, Sphinx is the program and Python the -programming language, but you do not need to know much more about them so don't panic! - -Python comes with its own package manager: `pip -`_. It allows installing Python dependencies in -a single command. - -#. Download and install the recommended release (`see README file - `_) of **Python 3** on your machine. -#. Make sure to have **pip** installed on your machine (on Windows, you can install pip alongside - Python). -#. Execute the following commands in a terminal to verify that both installations finished - successfully: - - .. code-block:: console - - $ python3 --version - $ pip3 --version - -#. Execute the following commands in a terminal to install the Python dependencies of the - documentation: - - .. code-block:: console - - $ cd documentation/ - $ pip3 install -r requirements.txt - -.. note:: - Depending on your :abbr:`OS (Operating System)`, you may need to run the commands ``python`` and - ``pip`` instead of ``python3`` and ``pip3`` - -.. _contributing/make: - -Make -~~~~ - -`Make `_ is a tool that packs a bunch of -command-lines into one to be easier to remember and to type. In our case, it is used to execute -complex Sphinx build commands by using a single and simpler one instead. - -#. Download and install **Make** on your machine. -#. Verify that `the installation folder of Make is included in your system's PATH variable - `_. - -.. _contributing/pngquant: - -pngquant -~~~~~~~~ - -`pngquant `_ is a tool that we use to compress PNG images so that the -documentation does not end up weighting several Gigabytes in a few year span. - -#. Download and install **pngquant** on your machine. -#. Verify that `the installation folder of pngquant is included in your system's PATH variable - `_. - -.. _contributing/prepare-version: - -Prepare your version --------------------- - -Now that your machine is all set up, it is time to do the same for your version of the documentation -files. As it would not be convenient to have several people working on the version 14.0 in parallel -(conflicts of content would occur all the time), and in order to be able to create a :abbr:`PR -(Pull Request)`, you must `create a new branch -`_ starting from the branch 14.0. In other -words, you copy the entirety of this version’s files and give it another name. For this example, we -will go with ``14.0-my_contribution``. - -Execute the following commands in a terminal to... - -#. Navigate to the documentation folder: - - .. code-block:: console - - $ cd documentation/ - -#. Switch to the version 14.0: - - .. code-block:: console - - $ git checkout 14.0 - -#. Create your own branch which will be a copy of 14.0: - - .. code-block:: console - - $ git checkout -b 14.0-my_contribution - -.. _contributing/perform-changes: - -Perform your changes --------------------- - -You can now perform any change you want to the documentation files. These changes must be compliant -with :abbr:`RST (reStructuredText)` syntax (see :doc:`rst_cheat_sheet`) and with our -:doc:`guidelines `. - -.. important:: - If your changes include the addition of a new image, for instance :file:`my_image.png`, proceed - as follows: - - #. Make sure that the image is in ``.png`` format. - #. Execute the following commands in a terminal: - - .. code-block:: console - - $ cd path-to-the-directory-of-the-image/ - $ pngquant my_image.png - - #. Delete :file:`my_image.png`. - #. Rename :file:`my_image-fs8.png` to :file:`my_image.png`. - -.. _contributing/preview-changes: - -Preview your changes --------------------- - -To preview your changes in a generated documentation, proceed as follows: - -#. Execute the following commands in a terminal: - - .. code-block:: console - - $ cd documentation/ - $ make clean - $ make html - - .. tip:: - You can omit the :command:`make clean` command when no recent change has been made to the - hierarchy of documentation files. - -#. Fix any error or warning shown in the logs of the build. -#. Open the file :file:`documentation/_build/html/index.html` with your default web browser. - -.. note:: - These steps have for only purpose to show you the final results of your changes. They have no - impact on the documentation source files. - -.. _contributing/submit-changes: - -Submit your changes -------------------- - -.. important:: - We expect you to have basic knowledge of Git, which should be enough to cover the basic flow of a - one-time contribution. If you plan on submitting several contributions, work on older versions of - the documentation or perform any other advanced action, we recommend you to be confident with - Git. Help yourself with `this manual of Git `_ and `this - interactive tutorial `_. - -#. Execute the following commands in a terminal: - - .. code-block:: console - - $ git add * - $ git commit - $ git push -u origin 14.0-my_contribution - -#. Go to `github.com/odoo/documentation/pulls - `_ and click on the **New pull request** button. - - .. image:: media/new-pull-request.png - -#. If you forked the base repository in the section :ref:`contributing/fetch-sources`, click on the - link **compare across forks** If not, skip this step. - - .. image:: media/compare-across-forks.png - -#. In the dropdown for the selection of the base branch (i.e., the version of the documentation that - your changes concern), make sure to select the version that your changes target (here **14.0**). - - .. image:: media/select-branches-fork.png - -#. Double-check your :abbr:`PR (Pull Request)` and, when ready, click again on the **Create pull - request** button to submit your changes for review by a redactor at Odoo. - - .. image:: media/create-pull-request.png - -#. You're done! If your changes are approved straight away they will appear in the documentation the - very next day. It may also be the case that the reviewer has a question or a remark, so make sure - to check your notifications or your emails, depending on your account settings. - - -.. _win-add-to-path: https://www.howtogeek.com/118594/how-to-edit-your-system-path-for-easy-command-line-access/ diff --git a/content/contributing/documentation/media/screenshot-max-width.png b/content/contributing/documentation/media/screenshot-max-width.png deleted file mode 100644 index 912aac521..000000000 Binary files a/content/contributing/documentation/media/screenshot-max-width.png and /dev/null differ diff --git a/content/contributing/documentation/media/new-pull-request.png b/content/contributing/documentation/new-pull-request.png similarity index 100% rename from content/contributing/documentation/media/new-pull-request.png rename to content/contributing/documentation/new-pull-request.png diff --git a/content/contributing/documentation/rst_cheat_sheet.rst b/content/contributing/documentation/rst_cheat_sheet.rst index e176038ce..e6a2902ca 100644 --- a/content/contributing/documentation/rst_cheat_sheet.rst +++ b/content/contributing/documentation/rst_cheat_sheet.rst @@ -1,4 +1,3 @@ - =============== RST cheat sheet =============== @@ -328,7 +327,7 @@ RST Render ****** -.. image:: media/create-invoice.png +.. image:: rst_cheat_sheet/create-invoice.png :align: center :alt: Create an invoice :height: 100 diff --git a/content/contributing/documentation/media/create-invoice.png b/content/contributing/documentation/rst_cheat_sheet/create-invoice.png similarity index 100% rename from content/contributing/documentation/media/create-invoice.png rename to content/contributing/documentation/rst_cheat_sheet/create-invoice.png diff --git a/content/contributing/documentation/rst_guidelines.rst b/content/contributing/documentation/rst_guidelines.rst index ca55f5d17..ea80b8bf3 100644 --- a/content/contributing/documentation/rst_guidelines.rst +++ b/content/contributing/documentation/rst_guidelines.rst @@ -1,4 +1,3 @@ - ============== RST guidelines ============== diff --git a/content/contributing/documentation/media/select-branches-base.png b/content/contributing/documentation/select-branches-base.png similarity index 100% rename from content/contributing/documentation/media/select-branches-base.png rename to content/contributing/documentation/select-branches-base.png diff --git a/content/contributing/documentation/media/select-branches-fork.png b/content/contributing/documentation/select-branches-fork.png similarity index 100% rename from content/contributing/documentation/media/select-branches-fork.png rename to content/contributing/documentation/select-branches-fork.png diff --git a/content/contributing/documentation/media/version-selector.png b/content/contributing/documentation/version-selector.png similarity index 100% rename from content/contributing/documentation/media/version-selector.png rename to content/contributing/documentation/version-selector.png diff --git a/content/developer/reference/data.rst b/content/developer/reference/data.rst index bff1e4860..948e9600b 100644 --- a/content/developer/reference/data.rst +++ b/content/developer/reference/data.rst @@ -276,7 +276,7 @@ For this case, data files can also use csv_, this is often the case for for :term:`external identifiers` (used for creation or update) * each row thereafter creates a new record -Here's the first lines of the data file defining US states +Here's the first lines of the data file defining country states ``res.country.state.csv`` .. literalinclude:: static/res.country.state.csv diff --git a/content/legal.rst b/content/legal.rst index b48159377..e00b2503d 100644 --- a/content/legal.rst +++ b/content/legal.rst @@ -31,7 +31,7 @@ Terms and Conditions .. |download_enterprise_en| image:: legal/img/pdf.svg :alt: Download Odoo Enterprise Agreement - :target: https://www.odoo.com/documentation/12.0/odoo_enterprise_agreement.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_enterprise_agreement.pdf .. |view_partnership_en| image:: legal/img/txt.svg :alt: View Odoo Partnership Agreement @@ -39,7 +39,7 @@ Terms and Conditions .. |download_partnership_en| image:: legal/img/pdf.svg :alt: Download Odoo Partnership Agreement - :target: https://www.odoo.com/documentation/12.0/odoo_partnership_agreement.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_partnership_agreement.pdf .. |view_terms_of_sale_en| image:: legal/img/txt.svg :alt: View Terms of Sale @@ -51,7 +51,7 @@ Terms and Conditions .. |download_enterprise_fr| image:: legal/img/pdf.svg :alt: Download Odoo Enterprise Agreement (FR) - :target: https://www.odoo.com/documentation/12.0/odoo_enterprise_agreement_fr.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_enterprise_agreement_fr.pdf .. |view_enterprise_fr| image:: legal/img/txt.svg :alt: View Odoo Enterprise Agreement (FR) @@ -59,7 +59,7 @@ Terms and Conditions .. |download_partnership_fr| image:: legal/img/pdf.svg :alt: Download Odoo Partnership Agreement (FR) - :target: https://www.odoo.com/documentation/12.0/odoo_partnership_agreement_fr.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_partnership_agreement_fr.pdf .. |view_enterprise_nl| image:: legal/img/txt.svg :alt: View Odoo Enterprise Agreement (NL) @@ -71,7 +71,7 @@ Terms and Conditions .. |download_terms_of_sale_fr| image:: legal/img/pdf.svg :alt: Download Odoo Terms of Sale (FR) - :target: https://www.odoo.com/documentation/12.0/terms_of_sale_fr.pdf + :target: https://www.odoo.com/documentation/14.0/terms_of_sale_fr.pdf .. |view_terms_of_sale_fr| image:: legal/img/txt.svg :alt: View Terms of Sale (FR) @@ -79,7 +79,7 @@ Terms and Conditions .. |download_enterprise_nl| image:: legal/img/pdf.svg :alt: Download Odoo Enterprise Agreement (NL) - :target: https://www.odoo.com/documentation/12.0/odoo_enterprise_agreement_nl.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_enterprise_agreement_nl.pdf .. |download_partnership_nl| image:: legal/img/pdf.svg :alt: Download Odoo Partnership Agreement (NL) @@ -87,7 +87,7 @@ Terms and Conditions .. |download_enterprise_de| image:: legal/img/pdf.svg :alt: Download Odoo Enterprise Agreement (DE) - :target: https://www.odoo.com/documentation/12.0/odoo_enterprise_agreement_de.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_enterprise_agreement_de.pdf .. |view_enterprise_de| image:: legal/img/txt.svg :alt: View Odoo Enterprise Agreement (DE) @@ -95,7 +95,7 @@ Terms and Conditions .. |download_partnership_de| image:: legal/img/pdf.svg :alt: Download Odoo Partnership Agreement (DE) - :target: https://www.odoo.com/documentation/12.0/odoo_partnership_agreement_de.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_partnership_agreement_de.pdf .. |view_partnership_de| image:: legal/img/txt.svg :alt: View Odoo Partnership Agreement (DE) @@ -103,7 +103,7 @@ Terms and Conditions .. |download_enterprise_es| image:: legal/img/pdf.svg :alt: Download Odoo Enterprise Agreement (ES) - :target: https://www.odoo.com/documentation/12.0/odoo_enterprise_agreement_es.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_enterprise_agreement_es.pdf .. |view_enterprise_es| image:: legal/img/txt.svg :alt: View Odoo Partnership Agreement (ES) @@ -111,7 +111,7 @@ Terms and Conditions .. |download_partnership_es| image:: legal/img/pdf.svg :alt: Download Odoo Partnership Agreement (ES) - :target: https://www.odoo.com/documentation/12.0/odoo_partnership_agreement_es.pdf + :target: https://www.odoo.com/documentation/14.0/odoo_partnership_agreement_es.pdf .. |view_partnership_es| image:: legal/img/txt.svg :alt: View Odoo Partnership Agreement (ES) diff --git a/extensions/odoo_theme/layout.html b/extensions/odoo_theme/layout.html index c0ccb1a51..b231697ad 100644 --- a/extensions/odoo_theme/layout.html +++ b/extensions/odoo_theme/layout.html @@ -64,7 +64,7 @@