Compare commits
8 Commits
master-she
...
saas-16.1-
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
0b5b3a7e54 |
[IMP] supported_versions: add end of support dates for SaaS versions
X-original-commit:
|
||
|
|
06f105215c |
[ADD] accounting: configuration of silverfin integration
task-2918697
closes odoo/documentation#3358
X-original-commit:
|
||
|
|
906ec0988d |
[FIX] developer: remove merge text in chapter 6
closes odoo/documentation#3351
X-original-commit:
|
||
|
|
9cc91f99e9 |
[FW][ADD] maintain: connect office365 with azure oauth
closes odoo/documentation#3350
X-original-commit:
|
||
|
|
8fb3e7dc52 |
[IMP] MRP: edited semi-finished products user doc
closes odoo/documentation#3339
X-original-commit:
|
||
|
|
1cf2d7d30c |
[IMP] sales: update portal.rst
Removed old and probably not needed image of the dashboard showing the Contacts App
closes odoo/documentation#3344
X-original-commit:
|
||
|
|
7e1eabfddb |
[IMP] backend: add groups_draggable option in kanban view
Related PR: odoo/odoo#97447
task-2941335
closes odoo/documentation#3335
X-original-commit:
|
||
|
|
50908eb7f3 | [REL] freeze saas-16.1 |
2
Makefile
|
|
@@ -26,7 +26,7 @@ SOURCE_DIR = content
|
|||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.1
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
|
|
|
|||
3
conf.py
|
|
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
|||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = 'master'
|
||||
version = release = 'saas-16.1'
|
||||
|
||||
# `current_branch` is the technical name of the current branch.
|
||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||
|
|
@@ -210,6 +210,7 @@ sphinx.transforms.i18n.docname_to_domain = (
|
|||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'saas-16.1': "Odoo Online",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
|
|
|
|||
|
|
@@ -7,6 +7,7 @@ Maintain
|
|||
.. toctree::
|
||||
|
||||
maintain/domain_names
|
||||
maintain/azure_oauth
|
||||
maintain/google_oauth
|
||||
maintain/mailjet_api
|
||||
maintain/update
|
||||
|
|
|
|||
216
content/administration/maintain/azure_oauth.rst
Normal file
|
|
@@ -0,0 +1,216 @@
|
|||
=======================================================
|
||||
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
|
||||
=======================================================
|
||||
|
||||
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
|
||||
secure emails from a custom domain, all that is required is to configure a few settings on the
|
||||
Azure platform and on the back end of the Odoo database. This configuration works with either a
|
||||
personal email address or an address created by a custom domain.
|
||||
|
||||
.. seealso::
|
||||
`Microsoft Learn: Register an application with the Microsoft identity platform
|
||||
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
||||
Create a new application
|
||||
------------------------
|
||||
|
||||
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
|
||||
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
|
||||
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
|
||||
will need to connect and perform the following configuration. Next, navigate to the section
|
||||
labeled :guilabel:`Manage Azure Active Directory`.
|
||||
|
||||
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
|
||||
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
|
||||
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
|
||||
:guilabel:`Accounts in any organizational directory (Any Azure AD directory - Multitenant) and
|
||||
personal Microsoft accounts (e.g. Skype, Xbox)`.
|
||||
|
||||
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
|
||||
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
|
||||
is the canonical domain at which your Odoo instance can be reached in the URL field.
|
||||
|
||||
.. example::
|
||||
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
|
||||
assuming it's hosted on Odoo.com
|
||||
|
||||
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
|
||||
|
||||
API permissions
|
||||
---------------
|
||||
|
||||
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
|
||||
able to read (IMAP) and send (IMAP) emails in the Microsoft 365 setup. First, click the
|
||||
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
|
||||
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
|
||||
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
|
||||
|
||||
In the search bar, search for the following :guilabel:`Deregulated permissions` and click
|
||||
:guilabel:`Add permissions` for each one:
|
||||
|
||||
- :guilabel:`SMTP.Send`
|
||||
- :guilabel:`IMAP.AccessAsUser.All`
|
||||
|
||||
.. note::
|
||||
The :guilabel:`User.Read` permission will be added by default.
|
||||
|
||||
.. image:: azure_oauth/permissions.png
|
||||
:align: center
|
||||
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
|
||||
|
||||
Assign users and groups
|
||||
=======================
|
||||
|
||||
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
|
||||
:guilabel:`Application` in the top of the left sidebar menu.
|
||||
|
||||
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
|
||||
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
|
||||
right-hand side of the table.
|
||||
|
||||
.. image:: azure_oauth/managed-application.png
|
||||
:align: center
|
||||
:alt: Add users/groups by clicking the Managed application in local directory link for the
|
||||
created application.
|
||||
|
||||
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
|
||||
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
|
||||
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
|
||||
added.
|
||||
|
||||
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
|
||||
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
|
||||
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
|
||||
application.
|
||||
|
||||
Create credentials
|
||||
------------------
|
||||
|
||||
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
|
||||
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
|
||||
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
|
||||
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
|
||||
in the :guilabel:`Essentials` overview of the app.
|
||||
|
||||
.. image:: azure_oauth/application-id.png
|
||||
:align: center
|
||||
:alt: Application/Client ID located in the Overview of the app.
|
||||
|
||||
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
|
||||
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
|
||||
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
|
||||
|
||||
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
|
||||
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
|
||||
:guilabel:`expiration date`.
|
||||
|
||||
.. important::
|
||||
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
|
||||
expires. In this event, there could be an interruption of service, so the expiration date should
|
||||
be noted and set to the furthest possible date.
|
||||
|
||||
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
|
||||
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
|
||||
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
|
||||
The :guilabel:`Secret ID` is not needed.
|
||||
|
||||
.. image:: azure_oauth/secretvalue.png
|
||||
:align: center
|
||||
:alt: Client Secret Value or Value in the app's credentials.
|
||||
|
||||
After these steps, the following items should be ready to be set up in Odoo:
|
||||
|
||||
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
|
||||
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
|
||||
|
||||
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
|
||||
|
||||
Setup in Odoo
|
||||
=============
|
||||
|
||||
Enter Microsoft Outlook credentials
|
||||
-----------------------------------
|
||||
|
||||
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
|
||||
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
|
||||
called :guilabel:`Microsoft Outlook`.
|
||||
|
||||
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
|
||||
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
|
||||
a new option for :guilabel:`Outlook Credentials`.
|
||||
|
||||
:guilabel:`Save` the progress.
|
||||
|
||||
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
|
||||
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
|
||||
|
||||
.. image:: azure_oauth/outlookcreds.png
|
||||
:align: center
|
||||
:alt: Outlook Credentials in Odoo General Settings.
|
||||
|
||||
Configure outgoing email server
|
||||
-------------------------------
|
||||
|
||||
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
|
||||
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
|
||||
|
||||
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
|
||||
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
|
||||
|
||||
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
|
||||
<email_communication/default_from>`.
|
||||
|
||||
Then, cick on :guilabel:`Connect your Outlook account`.
|
||||
|
||||
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
|
||||
appropriate email address that is being configured in Odoo.
|
||||
|
||||
.. image:: azure_oauth/verify-outlook.png
|
||||
:align: center
|
||||
:alt: Permission page to grant access between newly created app and Odoo.
|
||||
|
||||
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
|
||||
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
|
||||
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
|
||||
:guilabel:`Outlook Token Valid` appears in green.
|
||||
|
||||
.. image:: azure_oauth/outlook-token.png
|
||||
:align: center
|
||||
:alt: Valid Outlook Token indicator.
|
||||
|
||||
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
|
||||
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
|
||||
|
||||
Multiple user configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Each user should have a separate server set up. The :guilabel:`from-filter` should be set so that
|
||||
only the user's email is sent from that server. In other words, only a user with an email address
|
||||
that matches the set :guilabel:`from-filter` is able to use this server.
|
||||
|
||||
After setting the :guilabel:`from-filter`, set up a fallback email account to allow for the sending
|
||||
of :guilabel:`notifications`. The fallback email must be configured as a :guilabel:`general
|
||||
transactional server`. The :guilabel:`mail.default.from` system parameter must be set to the
|
||||
:guilabel:`username` of the general transactional server account. For more information see
|
||||
:ref:`Use a default email address <email_communication/default>`.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`System Parameters` can be accessed by activating
|
||||
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
|
||||
--> Parameters --> System Parameters` menu.
|
||||
|
||||
Configure incoming email server
|
||||
-------------------------------
|
||||
|
||||
The incoming account should be configured in a similar way to the outgoing email account. Navigate
|
||||
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
|
||||
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
|
||||
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
|
||||
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
|
||||
account. The account should be ready to receive email to the Odoo database.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../../applications/general/email_communication/email_servers`
|
||||
BIN
content/administration/maintain/azure_oauth/application-id.png
Normal file
|
After Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 38 KiB |
BIN
content/administration/maintain/azure_oauth/outlook-token.png
Normal file
|
After Width: | Height: | Size: 47 KiB |
BIN
content/administration/maintain/azure_oauth/outlookcreds.png
Normal file
|
After Width: | Height: | Size: 23 KiB |
BIN
content/administration/maintain/azure_oauth/permissions.png
Normal file
|
After Width: | Height: | Size: 18 KiB |
BIN
content/administration/maintain/azure_oauth/secretvalue.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
content/administration/maintain/azure_oauth/verify-outlook.png
Normal file
|
After Width: | Height: | Size: 64 KiB |
|
|
@@ -208,7 +208,7 @@ Connection`.
|
|||
`yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there
|
||||
isn't one, then use the :guilabel:`mail.catchall.domain` system parameter.
|
||||
|
||||
For more information see :ref:`Using a default email address <email_domain/default>`.
|
||||
For more information see :ref:`Using a default email address <email_communication/default>`.
|
||||
|
||||
The :guilabel:`System Parameters` can be accessed by activating
|
||||
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
|
||||
|
|
|
|||
|
|
@@ -28,9 +28,9 @@ This matrix shows the support status of every version.
|
|||
+=================+=============+==========+=============+================+========================+
|
||||
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
|
||||
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | January 2023 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
|
||||
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
| **Odoo 15.0** | |green| | |green| | |green| | October 2021 | October 2024 (planned) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
|
|
|||
|
|
@@ -9,3 +9,4 @@ Reporting
|
|||
|
||||
reporting/overview
|
||||
reporting/declarations
|
||||
reporting/silverfin
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,41 @@
|
|||
=====================
|
||||
Silverfin integration
|
||||
=====================
|
||||
|
||||
`Silverfin <https://www.silverfin.com>`_ is a third-party service provider that offers a cloud
|
||||
platform for accountants.
|
||||
|
||||
Odoo and Silverfin provide an integration to automate the synchronisation of data.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure this integration, you need to input the following data into your Silverfin account:
|
||||
|
||||
- user's email address
|
||||
- :ref:`Odoo API key <silverfin/api-key>`
|
||||
- URL of the Odoo database
|
||||
- name of your Odoo database
|
||||
|
||||
.. _silverfin/api-key:
|
||||
|
||||
Odoo API key
|
||||
------------
|
||||
|
||||
To create a new API key, navigate to `Odoo's website <https://www.odoo.com>`_ and sign in with your
|
||||
administrator account. Next, open `your account security settings in developer mode
|
||||
<https://www.odoo.com/my/security?debug=1>`_, click on :guilabel:`New API Key`, confirm your
|
||||
password, give a descriptive name to your new key, and copy the new API key.
|
||||
|
||||
.. important::
|
||||
- You can copy the API key only at its creation, and you cannot retrieve it later.
|
||||
- The API key provides full access to your user account. Store it securely.
|
||||
- If you need it again, create a new API key.
|
||||
- You can delete your existing API keys from this same page.
|
||||
|
||||
.. image:: silverfin/api-key.png
|
||||
:align: center
|
||||
:alt: creation of an Odoo external API key for an integration with Silverfin
|
||||
|
||||
.. seealso::
|
||||
:doc:`/developer/api/external_api`
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
|
@@ -167,7 +167,7 @@ To fully test the configuration, use the `Mail-Tester <https://www.mail-tester.c
|
|||
gives a full overview of the content and configuration in one sent email. Mail-Tester can also be
|
||||
used for other, lesser-known providers.
|
||||
|
||||
.. _email_domain/default:
|
||||
.. _email_communication/default:
|
||||
|
||||
Use a default email address
|
||||
===========================
|
||||
|
|
|
|||
|
|
@@ -2,59 +2,74 @@
|
|||
Manage semi-finished products
|
||||
=============================
|
||||
|
||||
With Odoo MRP, you can use semi-finished products to simplify a complex *Bill
|
||||
of Materials* or to represent your manufacturing flow more accurately.
|
||||
A *semi-finished product* is a manufactured product that is used as a
|
||||
component in a Bill of Material.
|
||||
A *semi-finished product*, also known as a *subassembly*, is a manufactured product that is used as
|
||||
a component in another product's bill of materials (BoM). Semi-finished products are used to
|
||||
simplify complex :abbr:`BoMs (Bills of Materials)` or to more accurately represent a manufacturing
|
||||
flow. A :abbr:`BoM (Bill of Materials)` that contains semi-finished products is referred to as a
|
||||
*multilevel BoM*, where the main *top-level product* and its subassemblies are distinguished.
|
||||
|
||||
A *BoM* that employs *semi-finished products* is referred to as
|
||||
a multi-level BoM, where we distinguish between the *top level Product*
|
||||
and the *sub-assemblies*.
|
||||
Configure semi-finished products
|
||||
================================
|
||||
|
||||
Configure a Multi Level BoM
|
||||
============================
|
||||
To set up a multilevel :abbr:`BoM (Bill of Materials)`, the top-level product and semi-finished
|
||||
products must be configured. Therefore, the first step is to create the semi-finished products and
|
||||
their :abbr:`BoMs (Bills of Materials)`.
|
||||
|
||||
To configure a *multi-level BoM*, you will need the top-level product
|
||||
and its sub-assemblies. Therefore, you must first create the sub-assembly
|
||||
products and their respective Bill of Materials. Please refer to
|
||||
:doc:`bill_configuration` for more details on how to create a BOM.
|
||||
.. seealso::
|
||||
:doc:`bill_configuration`
|
||||
|
||||
.. image:: sub_assemblies/sf_1.png
|
||||
:align: center
|
||||
.. image:: sub_assemblies/semifinished-product-bom.png
|
||||
:align: center
|
||||
:alt: A bill of materials for a semi-finished product.
|
||||
|
||||
Configure the Main BoM
|
||||
======================
|
||||
Create the top-level bill of materials (BoM)
|
||||
============================================
|
||||
|
||||
Then on the final product form, simply add your semi-finished
|
||||
products to the Bill of Material.
|
||||
After the semi-finished products are fully configured, navigate to :menuselection:`Manufacturing
|
||||
--> Products --> Products`. Then, :guilabel:`Create` the top-level product. Configure the product's
|
||||
specifications as desired, and be sure to :guilabel:`Save`.
|
||||
|
||||
.. image:: sub_assemblies/sf_2.png
|
||||
:align: center
|
||||
Once the top-level product is configured, click the :guilabel:`Bill of Materials` smart button on
|
||||
the product form, then click :guilabel:`Create` to make a :abbr:`BoM (Bill of Materials)` for the
|
||||
top-level product. Then, simply add the semi-finished products to this :abbr:`BoM (Bill of
|
||||
Materials)`, along with any other necessary components.
|
||||
|
||||
Manage your production planning
|
||||
=================================
|
||||
.. image:: sub_assemblies/custom-computer-bom.png
|
||||
:align: center
|
||||
:alt: A bill of materials for a top-level product, containing a subassembly component.
|
||||
|
||||
There are several methods to manage the triggering of the various manufacturing orders.
|
||||
Manage production planning
|
||||
==========================
|
||||
|
||||
If every time a manufacturing order is confirmed for the main product, you'd like one for
|
||||
the semi-finished products as well, you have two options:
|
||||
There are several methods to manage manufacturing order automation for products with multilevel
|
||||
:abbr:`BoMs (Bills of Materials)`.
|
||||
|
||||
Option 1 : Create re-ordering rules for the semi-finished products, with both the minimum
|
||||
and maximum desired stock quantities at 0.
|
||||
.. note::
|
||||
Semi-finished products are specifically used to manage manufacturable products with multilevel
|
||||
BoMs. If a BoM is being created simply to organize components or bundle sellable products,
|
||||
using :doc:`Kits <kit_shipping>` is the more appropriate option.
|
||||
|
||||
.. image:: sub_assemblies/sf_3.png
|
||||
:align: center
|
||||
To automatically trigger manufacturing orders for semi-finished products after confirming a
|
||||
manufacturing order for the main product, there are two options:
|
||||
|
||||
Option 2 : Use the Replenish on Order (MTO) route on the semi-finished product, as well as
|
||||
the manufacturing one.
|
||||
- **Option 1 (recommended):** Create *Reordering Rules* for the semi-finished products and set both
|
||||
the minimum and maximum desired stock quantities to `0`.
|
||||
|
||||
Note that Option 1 is usually recommended over Option 2 as it is more flexible. The MTO route
|
||||
creates a unique link between the semi-finished and the top level product, whereas the
|
||||
re-ordering rule allows you to simply unreserve that production from the top level product
|
||||
production and redirect it to another, more pressing demand, for example.
|
||||
.. seealso::
|
||||
:doc:`../../purchase/products/reordering`
|
||||
|
||||
In any case, as soon as the semi-finished product is produced, it will become
|
||||
available in the manufacturing order of the final product, as shown below.
|
||||
- **Option 2:** Activate the :guilabel:`Replenish on Order (MTO)` and :guilabel:`Manufacture`
|
||||
routes under the :guilabel:`Inventory` tab of the semi-finished product's product form.
|
||||
|
||||
.. image:: sub_assemblies/sf_4.png
|
||||
:align: center
|
||||
Option 1 is more flexible than Option 2 and is therefore recommended. Reordering rules do not
|
||||
directly link demand to replenishment, and therefore allow stocks to be unreserved and redirected
|
||||
to other orders, if necessary. The Replenish on Order (MTO) route creates a unique link between the
|
||||
semi-finished and top-level products, exclusively reserving quantities for the confirmed top-level
|
||||
manufacturing order.
|
||||
|
||||
Regardless of the method chosen, semi-finished products must be fully manufactured before
|
||||
manufacturing can begin on the top-level product.
|
||||
|
||||
.. image:: sub_assemblies/semifinished-on-mo.png
|
||||
:align: center
|
||||
:alt: A manufacturing order for a top-level product.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
|
@@ -1,48 +1,64 @@
|
|||
=================================================
|
||||
How to give portal access rights to my customers?
|
||||
=================================================
|
||||
-------------
|
||||
Portal access
|
||||
-------------
|
||||
|
||||
What is Portal access/Who is a portal user?
|
||||
============================================
|
||||
Portal access is given to users who need the ability to view certain documents or information
|
||||
within an Odoo database.
|
||||
|
||||
A portal access is given to a user who has the necessity to have access
|
||||
to Odoo instance, to view certain documents or information in the
|
||||
system.
|
||||
Some common use cases for providing portal access include allowing customers to read/view any or
|
||||
all of the following in Odoo:
|
||||
|
||||
For Example, a long term client who needs to view online quotations.
|
||||
- leads/opportunities
|
||||
- quotations/sales orders
|
||||
- purchase orders
|
||||
- invoices & bills
|
||||
- projects
|
||||
- tasks
|
||||
- timesheets
|
||||
- tickets
|
||||
- signatures
|
||||
- subscriptions
|
||||
|
||||
A portal user has only read/view access. He or she will not be able to
|
||||
edit any document in the system.
|
||||
.. note::
|
||||
Portal users only have read/view access, and will not be able to edit any documents in the
|
||||
database.
|
||||
|
||||
How to give portal access to customers?
|
||||
=======================================
|
||||
Provide portal access to customers
|
||||
----------------------------------
|
||||
From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not
|
||||
yet created in the database, click on the :guilabel:`Create` button, enter the details of the
|
||||
contact, and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on
|
||||
the :guilabel:`Action` drop-down menu located at the top-center of the interface.
|
||||
|
||||
From Contacts Module
|
||||
--------------------
|
||||
.. image:: portal/grant-portal-access.png
|
||||
:align: center
|
||||
:alt: Use the Contacts application to give portal access to users
|
||||
|
||||
From the main menu, select **Contacts** menu. If the contact is not
|
||||
yet created in the system, click on the create button to create
|
||||
new contact. Enter details of the contact and click "save".
|
||||
Then select :guilabel:`Grant portal access`. A pop-up window appears, listing three fields:
|
||||
|
||||
.. image:: portal/portal01.png
|
||||
:align: center
|
||||
- :guilabel:`Contact`: the recorded name of the contact in the Odoo database
|
||||
- :guilabel:`Email`: the contact's email address that they will use to log into the portal
|
||||
- :guilabel:`In Portal`: whether or not the user has portal access
|
||||
|
||||
.. image:: portal/portal02.png
|
||||
:align: center
|
||||
To grant portal access, first enter the contact's :guilabel:`Email` they will use to log into the
|
||||
portal. Then, check the box under the :guilabel:`In Portal` column. Optionally, add text to the
|
||||
invitation message the contact will receive. Then click :guilabel:`Apply` to finish.
|
||||
|
||||
Choose a contact, click on the **Action** menu in the top-center of
|
||||
the interface and from the drop down.
|
||||
.. image:: portal/add-contact-to-portal.png
|
||||
:align: center
|
||||
:alt: An email address and corresponding checkbox for the contact need to be filled in before
|
||||
sending a portal invitation.
|
||||
|
||||
Select **Portal Access Management**. A pop up window appears.
|
||||
An email will be sent to the specified email address, indicating that the contact is now a portal
|
||||
user for that Odoo database.
|
||||
|
||||
.. image:: portal/portal03.png
|
||||
:align: center
|
||||
.. tip::
|
||||
To grant portal access to multiple users at once, navigate to a company contact, then click
|
||||
:menuselection:`Action --> Grant portal access` to view a list of all of the company's related
|
||||
contacts. Check the box under the :guilabel:`In Portal` column for all the contacts that need
|
||||
portal access, then click :guilabel:`Apply`.
|
||||
|
||||
Enter the login **email ID**, check the box under **In Portal** and
|
||||
add the content to be included in the email in the text field box below. Click on **Apply** when you're done.
|
||||
|
||||
.. image:: portal/portal04.png
|
||||
:align: center
|
||||
|
||||
An email will be sent to the specified email address, indicating that
|
||||
the contact is now a portal user of the respective instance.
|
||||
.. note::
|
||||
At any time, portal access can be revoked by navigating to the contact, clicking
|
||||
:menuselection:`Action --> Grant portal access`, and then unselecting the checkbox under the
|
||||
:guilabel:`In Portal` column and clicking :guilabel:`Apply`.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
Before Width: | Height: | Size: 84 KiB |
|
Before Width: | Height: | Size: 74 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
Before Width: | Height: | Size: 33 KiB |
|
|
@@ -41,15 +41,7 @@ addon includes the necessary server files to add a new view.
|
|||
1. Make a hello world view
|
||||
==========================
|
||||
|
||||
<<<<<<< HEAD
|
||||
<<<<<<< HEAD
|
||||
First step is to create a JavaScript implementation with a simple component.
|
||||
=======
|
||||
First step is to create a javascript implementation with a simple component.
|
||||
>>>>>>> 953fca3a ([IMP] developer: JavaScript tutorial: chapter 6)
|
||||
=======
|
||||
The first step is to create a JavaScript implementation with a simple component.
|
||||
>>>>>>> e1a22ec3 (review chapter 6)
|
||||
|
||||
.. exercise::
|
||||
|
||||
|
|
|
|||
|
|
@@ -1697,6 +1697,10 @@ attributes:
|
|||
``records_draggable``
|
||||
whether it should be possible to drag records when kanban is grouped. Default: true.
|
||||
|
||||
Set to ``true`` to always enable it, and to ``false`` to always disable it.
|
||||
``groups_draggable``
|
||||
whether it should be possible to resequence colunms when kanban is grouped. Default: true.
|
||||
|
||||
Set to ``true`` to always enable it, and to ``false`` to always disable it.
|
||||
|
||||
.. todo:: VFE missing information on on_create attribute of kanban views.
|
||||
|
|
|
|||