Compare commits
17 Commits
17.0-allow
...
saas-16.1-
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
2c83938803 |
[IMP] surveys:update get started docs
X-original-commit:
|
||
|
|
f2d8b2796d |
[IMP] : accounting : manage a financial budget documentation
closes odoo/documentation#3400
X-original-commit:
|
||
|
|
2cf6eeb953 |
[IMP] helpdesk: close_ticket.rst cleanup
closes odoo/documentation#3387
X-original-commit:
|
||
|
|
fbf63527c8 |
[ADD] accounting/l10n: add section about E-waybill (India)
closes odoo/documentation#3394
X-original-commit:
|
||
|
|
c1da9bbf11 |
[ADD] finance: explain how to disable online invoice payment
closes odoo/documentation#3390
X-original-commit:
|
||
|
|
1a4a9cc5d6 |
[ADD] knowledge: main, editing and properties pages
Task ID: 3035887
closes odoo/documentation#3389
X-original-commit:
|
||
|
|
246905ab12 |
[IMP] POS: improve and update the barcode page (text & screenshots)
Task ID: 3004918
closes odoo/documentation#3368
X-original-commit:
|
||
|
|
7ce506c2b2 |
[FIX] developer/guidelines: odoo addons import order
The example for import order is a little confusing since it is wrong.
closes odoo/documentation#3380
X-original-commit:
|
||
|
|
5a39a14721 |
[FW][FIX] productivity/outlook: correct link for plugin installation
Forward-port of
|
||
|
|
de2e27f62e |
[IMP] supported_versions: add end of support dates for SaaS versions
closes odoo/documentation#3369
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) |
|
||||
+-----------------+-------------+----------+-------------+----------------+------------------------+
|
||||
|
|
|
|||
|
|
@@ -19,16 +19,19 @@ localization:
|
|||
* - :guilabel:`Indian - Accounting`
|
||||
- `l10n_in`
|
||||
- Default :doc:`fiscal localization package <../overview/fiscal_localization_packages>`
|
||||
* - :guilabel:`Indian E-invoice Integration`
|
||||
* - :guilabel:`Indian E-invoicing`
|
||||
- `l10n_in_edi`
|
||||
- :ref:`Indian e-invoicing integration <india/e-invoicing>`
|
||||
* - :guilabel:`Indian E-waybill`
|
||||
- `l10n_in_edi_ewaybill`
|
||||
- :ref:`Indian E-waybill integration <india/e-waybill>`
|
||||
|
||||
.. _india/e-invoicing:
|
||||
|
||||
Indian e-invoicing
|
||||
==================
|
||||
|
||||
Odoo is compliant with the **Indian Good and Services Tax (GST) e-Invoice system** requirements.
|
||||
Odoo is compliant with the **Indian Goods and Services Tax (GST) e-Invoice system** requirements.
|
||||
|
||||
.. important::
|
||||
Indian e-invoicing is available from Odoo 15.0. If needed, :doc:`upgrade
|
||||
|
|
@@ -42,7 +45,7 @@ Registration on your NIC e-Invoice web portal
|
|||
You must register on the **NIC e-Invoice** web portal to get your **API credentials**. You need
|
||||
these credentials to :ref:`configure your Odoo Accounting app <india/e-invoicing-configuration>`.
|
||||
|
||||
#. Login to the NIC e-Invoice web portal on - https://einvoice1.gst.gov.in/ by clicking on
|
||||
#. Log in to the NIC e-Invoice web portal at https://einvoice1.gst.gov.in/ by clicking on
|
||||
:guilabel:`Login` and entering your :guilabel:`Username` and :guilabel:`Password`.
|
||||
|
||||
.. note::
|
||||
|
|
@@ -65,7 +68,7 @@ these credentials to :ref:`configure your Odoo Accounting app <india/e-invoicing
|
|||
|
||||
.. image:: india/trigger-otp.png
|
||||
:align: center
|
||||
:alt: Trigger an OTP to your registerd phone number
|
||||
:alt: Trigger an OTP to your registered phone number
|
||||
|
||||
#. Select :guilabel:`Through GSP` in the first field, select :guilabel:`Tera Software Limited`
|
||||
as your GSP, and type in a :guilabel:`Username` and :guilabel:`Password` for your API.
|
||||
|
|
@@ -153,17 +156,20 @@ the :guilabel:`Cancel reason` and :guilabel:`Cancel remarks` fields. Then, click
|
|||
:guilabel:`Request EDI cancellation`. The status of the :guilabel:`Electronic invoicing` field
|
||||
changes to :guilabel:`To Cancel`.
|
||||
|
||||
.. important::
|
||||
Doing so cancels both the :ref:`E-invoice <india/e-invoicing>` and the :ref:`E-waybill
|
||||
<india/e-waybill>`.
|
||||
|
||||
.. image:: india/e-invoice-cancellation.png
|
||||
:align: center
|
||||
:alt: cancel reason and remarks
|
||||
|
||||
.. note::
|
||||
If you want to abort the cancellation before processing the invoice, then click on
|
||||
:guilabel:`Call Off EDI Cancellation`.
|
||||
|
||||
Once you request to cancel the e-invoice, Odoo automatically submits the JSON Signed file to the
|
||||
government portal. If you want to process the invoice immediately, you can process it by clicking on
|
||||
:guilabel:`Process Now`.
|
||||
- If you want to abort the cancellation before processing the invoice, then click on
|
||||
:guilabel:`Call Off EDI Cancellation`.
|
||||
- Once you request to cancel the e-invoice, Odoo automatically submits the JSON Signed file to
|
||||
the government portal. You can click on :guilabel:`Process Now` if you want to process the
|
||||
invoice immediately.
|
||||
|
||||
.. _india/verify-e-invoice:
|
||||
|
||||
|
|
@@ -187,3 +193,146 @@ website.
|
|||
.. image:: india/signed-invoice.png
|
||||
:align: center
|
||||
:alt: verified e-invoice
|
||||
|
||||
.. _india/e-waybill:
|
||||
|
||||
Indian E-waybill
|
||||
================
|
||||
|
||||
Odoo is compliant with the **Indian Goods and Services Tax (GST) E-waybill system** requirements.
|
||||
|
||||
.. important::
|
||||
Indian E-waybill is available from Odoo 15.0. If needed, :doc:`upgrade </administration/upgrade>`
|
||||
your database.
|
||||
|
||||
.. _india/e-waybill-api:
|
||||
|
||||
API Registration on your NIC E-waybill web portal
|
||||
--------------------------------------------------
|
||||
|
||||
You must register on the **NIC E-waybill** web portal to create your **API credentials**. You need
|
||||
these credentials to :ref:`configure your Odoo Accounting app <india/e-waybill-configuration>`.
|
||||
|
||||
#. Log in to the NIC E-waybill web portal at https://ewaybillgst.gov.in/ by clicking on
|
||||
:guilabel:`Login` and entering your :guilabel:`Username` and :guilabel:`Password`.
|
||||
|
||||
.. image:: india/e-waybill-system-login.png
|
||||
:align: center
|
||||
:alt: E-waybill login
|
||||
|
||||
#. From your dashboard, go to :menuselection:`Registration --> For GSP`.
|
||||
|
||||
.. image:: india/e-waybill-registration-menu.png
|
||||
:align: center
|
||||
:alt: E-waybill registration
|
||||
|
||||
#. Click on :guilabel:`Send OTP`; you should receive an :abbr:`OTP (one-time password)` code to your
|
||||
registered mobile number.
|
||||
#. Enter the OTP code and click on :guilabel:`Verify OTP`.
|
||||
|
||||
.. image:: india/e-waybill-gsp-registration.png
|
||||
:align: center
|
||||
:alt: E-waybill OTP verification
|
||||
|
||||
#. Check if :guilabel:`Tera Software Limited` is already on the list of registered GSP/ERP. If so,
|
||||
use this username and password. Otherwise, follow the next steps.
|
||||
|
||||
.. image:: india/e-waybill-gsp-list.png
|
||||
:align: center
|
||||
:alt: E-waybill list of registered GSP/ERP
|
||||
|
||||
#. Select :guilabel:`Add/New`, select :guilabel:`Tera Software Limited` as your GSP Name, create a
|
||||
:guilabel:`Username` and a :guilabel:`Password` for your API, and click on :guilabel:`Add`.
|
||||
|
||||
.. image:: india/e-waybill-registration-details.png
|
||||
:align: center
|
||||
:alt: Submit GSP API registration details
|
||||
|
||||
.. _india/e-waybill-configuration:
|
||||
|
||||
Configuration on Odoo
|
||||
---------------------
|
||||
|
||||
To set up the E-waybill service, go to :menuselection:`Accounting --> Configuration --> Settings -->
|
||||
Indian Electronic WayBill --> Setup E-Waybill`, and enter your :guilabel:`Username` and
|
||||
:guilabel:`Password`.
|
||||
|
||||
.. image:: india/e-waybill-configuration.png
|
||||
:align: center
|
||||
:alt: E-waybill setup odoo
|
||||
|
||||
.. _india/e-waybill-workflow:
|
||||
|
||||
Workflow
|
||||
--------
|
||||
|
||||
To issue an E-waybill from Odoo, you must create an invoice/bill with the details of the E-waybill
|
||||
using the standard invoicing/bill flow (either from a sales/purchase order or the invoice/bill menu
|
||||
in Accounting).
|
||||
|
||||
.. _india/e-waybill-send:
|
||||
|
||||
Send an E-waybill
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can manually send an E-waybill by clicking on :guilabel:`Send E-waybill`.
|
||||
|
||||
.. image:: india/e-waybill-send-button.png
|
||||
:align: center
|
||||
:alt: Send E-waybill button on invoices
|
||||
|
||||
To send the E-waybill automatically when you confirm an invoice or a bill, enable
|
||||
:guilabel:`E-waybill (IN)` in your :ref:`Sale/Purchase Journal <india/e-invoicing-journals>`.
|
||||
|
||||
.. _india/invoice-validation-e-way:
|
||||
|
||||
Invoice validation
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Once you have issued the invoice and clicked on :guilabel:`Send E-waybill`, a confirmation message
|
||||
is displayed.
|
||||
|
||||
.. note::
|
||||
- Odoo automatically uploads the JSON-signed file to the government portal after a while. You can
|
||||
click on :guilabel:`Process Now` if you want to process the invoice immediately.
|
||||
- You can find the JSON-signed file in the attached files in the chatter.
|
||||
|
||||
.. image:: india/e-waybill-process.png
|
||||
:align: center
|
||||
:alt: Indian e-waybill confirmation message: "The invoice will be processed asynchronously by
|
||||
the following E-waybill service : E-waybill (IN)"
|
||||
|
||||
Invoice PDF Report
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
You can print the invoice PDF report once you have submitted the E-waybill. The report includes the
|
||||
**E-waybill number** and the **E-waybill validity date**.
|
||||
|
||||
.. image:: india/e-waybill-invoice-report.png
|
||||
:align: center
|
||||
:alt: E-waybill acknowledgment number and date
|
||||
|
||||
.. _india/e-waybill-cancellation:
|
||||
|
||||
E-waybill Cancellation
|
||||
~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you want to cancel an E-waybill, go to the :guilabel:`eWayBill` tab of the invoice and fill out
|
||||
the :guilabel:`Cancel reason` and :guilabel:`Cancel remarks` fields. Then, click on
|
||||
:guilabel:`Request EDI Cancellation`.
|
||||
|
||||
.. important::
|
||||
Doing so cancels both the :ref:`E-invoice <india/e-invoicing>` and the :ref:`E-waybill
|
||||
<india/e-waybill>`.
|
||||
|
||||
.. image:: india/e-waybill-cancellation.png
|
||||
:align: center
|
||||
:alt: cancel reason and remarks
|
||||
|
||||
.. note::
|
||||
- If you want to abort the cancellation before processing the invoice, click on :guilabel:`Call
|
||||
Off EDI Cancellation`.
|
||||
- If the E-invoice is applicable for this invoice, then it will also be canceled.
|
||||
- Once you request to cancel the E-waybill, Odoo automatically submits the JSON Signed file to
|
||||
the government portal. You can click on :guilabel:`Process Now` if you want to process the
|
||||
invoice immediately.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 7.5 KiB After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 8.1 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
|
@@ -1,157 +1,102 @@
|
|||
=========================
|
||||
Manage a financial budget
|
||||
=========================
|
||||
================
|
||||
Financial budget
|
||||
================
|
||||
|
||||
Overview
|
||||
========
|
||||
|
||||
Managing budgets is an essential part of running a business. Budgets help
|
||||
people become more intentional with the way money is spent and direct people
|
||||
to organize and prioritize their work to meet financial goals. They allows
|
||||
you to plan your desired financial outcome and then measure your actual
|
||||
performance against the plan. Odoo manages budgets using both General and Analytic
|
||||
Accounts.
|
||||
|
||||
We will use the following example to illustrate. We just started a
|
||||
project with Smith&Co and we would like to budget the incomes and
|
||||
expenses of that project. We plan to have a revenue of 1000 and we don't
|
||||
want to spend more than 700.
|
||||
Managing budgets is an essential part of running a business. Budgets help people become more
|
||||
intentional with how money is spent and direct people to organize and prioritize their work to meet
|
||||
financial goals. They allow the planning of a desired financial outcome and then measure the actual
|
||||
performance against the plan. Odoo manages budgets using both **general** and **analytic accounts**.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
First we need to install the relevant apps to use budgeting. The main
|
||||
module is the accounting app. Go in the app module and install the
|
||||
**Accounting and Finance** app.
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings --> Analytics section`, and enable
|
||||
:guilabel:`Budget Management`.
|
||||
|
||||
.. image:: budget/budget01.png
|
||||
:align: center
|
||||
|
||||
Further configuration is as well necessary. Go to :menuselection:`Accounting
|
||||
module --> Configuration --> Settings` and enable the **Budget
|
||||
management** feature
|
||||
|
||||
.. image:: budget/budget02.png
|
||||
:align: center
|
||||
|
||||
Budgetary Positions
|
||||
Budgetary positions
|
||||
-------------------
|
||||
|
||||
Budgetary positions are lists of accounts for which you want to keep
|
||||
budgets (typically expense or income accounts). They need to be defined
|
||||
so Odoo can know it which accounts he needs to go get the budget
|
||||
information.
|
||||
Budgetary positions are lists of accounts for which you want to keep budgets (typically expense or
|
||||
income accounts).
|
||||
|
||||
The budgetary positions act as a type of restriction on what can be recorded
|
||||
in the 'practical amount' column in a budget.
|
||||
|
||||
Each budgetary position can have any number of accounts from the general
|
||||
ledger (the main chart of accounts) assigned to it, though it must have at least one.
|
||||
|
||||
If you record a transaction that has an analytic account assigned to it that *is*
|
||||
included in a budget line but one of the general ledger accounts *is not* included
|
||||
in the budgetary position for that same budget line, it will not appear within the
|
||||
'practical amount' column of that budget line.
|
||||
|
||||
Some budgetary positions might be already installed with your chart of
|
||||
To define budgetary positions, go to :menuselection:`Accounting --> Configuration --> Management:
|
||||
Budgetary Positions` and :guilabel:`New`. Add a :guilabel:`Name` to your budgetary position and
|
||||
select the :guilabel:`Company` it applies to. Click :guilabel:`Add a line` to add one or more
|
||||
accounts.
|
||||
|
||||
To define the positions enter the :menuselection:`Accounting module --> Configuration -->
|
||||
Budgetary Positions`.
|
||||
.. note::
|
||||
Each budgetary position can have any number of accounts from the chart of accounts, though it
|
||||
must have at least one.
|
||||
|
||||
For our example we need to define what accounts relates to our project's
|
||||
expenses. Create a position and add items to select the accounts.
|
||||
Use case
|
||||
========
|
||||
|
||||
.. image:: budget/budget03.png
|
||||
Let’s illustrate this with an example.
|
||||
|
||||
We just started a project with *Smith & Co*, and we would like to budget the income and expenses of
|
||||
that project. We plan on having a revenue of 1000, and we don’t want to spend more than 700.
|
||||
|
||||
First, we need to define what accounts relate to our project’s expenses. Go to
|
||||
:menuselection:`Accounting --> Configuration --> Management: Budgetary positions`, and click
|
||||
:guilabel:`New` to add a position. Add the accounts wherein expenses will be booked.
|
||||
|
||||
.. image:: budget/smith-and-co-expenses.png
|
||||
:align: center
|
||||
:alt: display the Smith and Co expenses
|
||||
|
||||
In this case we select the three relevant accounts used wherein we will
|
||||
book our expenses.
|
||||
Let's repeat the steps to create a budgetary position that reflects the revenue.
|
||||
|
||||
.. image:: budget/budget04.png
|
||||
.. image:: budget/smith-and-co-revenue.png
|
||||
:align: center
|
||||
:alt: display the Smith and Co revenue
|
||||
|
||||
Click on *Select*.
|
||||
Analytical accounts
|
||||
-------------------
|
||||
|
||||
.. image:: budget/budget05.png
|
||||
Odoo needs to know which costs or expenses are relevant to a specified budget, as the above general
|
||||
accounts may be used for different projects. Go to :menuselection:`Accounting --> Configuration -->
|
||||
Analytic Accounting: Analytic Accounts` and click :guilabel:`New` to add a new **Analytic Account**
|
||||
called *Smith & Co*.
|
||||
|
||||
The :guilabel:`Plan` field has to be completed. Plans group multiple analytic accounts; they
|
||||
distribute costs and benefits to analyze business performance. **Analytic Plans** can be created or
|
||||
configured by going to :menuselection:`Accounting --> Configuration --> Analytic Accounting:
|
||||
Analytic Plans`.
|
||||
|
||||
When creating a new customer invoice and/or vendor bill, you have to refer to this analytic account.
|
||||
|
||||
.. image:: budget/analytic-accounts.png
|
||||
:align: center
|
||||
:alt: add analytic accounts in a new invoice or bill.
|
||||
|
||||
Save the changes to confirm your Budgetary position.
|
||||
Define the budget
|
||||
-----------------
|
||||
|
||||
Repeat this steps to create a revenue budgetary position. Only in this
|
||||
case select the relevant income accounts.
|
||||
Let’s set our targets. We specified that we expect to gain 1000 with this project, and we would like
|
||||
not to spend more than 700. Go to :menuselection:`Accounting --> Management: Budgets` and click
|
||||
:guilabel:`New` to create a new budget for *Smith & Co* project.
|
||||
|
||||
Analytical account
|
||||
------------------
|
||||
First, fill in your :guilabel:`Budget Name`. Then, select the :guilabel:`Period` wherein the budget
|
||||
is applicable. Next, add the :guilabel:`Budgetary Position` you want to track, define the related
|
||||
:guilabel:`Analytic Account`, and add the :guilabel:`Planned Amount`.
|
||||
|
||||
Odoo needs to know which costs or
|
||||
expenses are relevant to a specified budget. To do so we need to link
|
||||
our invoices and expenses to a defined analytical account. Create an
|
||||
analytical account by entering the Accounting module and clicking
|
||||
:menuselection:`Advisers --> Analytic Accounts --> Open Charts`. Create a new Account
|
||||
called Smith&Co project and select the related partner.
|
||||
|
||||
.. image:: budget/budget06.png
|
||||
.. image:: budget/define-the-budget.png
|
||||
:align: center
|
||||
:alt: budget lines display
|
||||
|
||||
Set a budget
|
||||
============
|
||||
|
||||
Let's now set our targets for our budget. We specified that we expect to
|
||||
gain 1000 with this project and we would like not to spend more than
|
||||
700.
|
||||
|
||||
To set those targets, enter the accounting app, select :menuselection:`Advisers -->
|
||||
Budgets` and create a new Budget.
|
||||
|
||||
We have to give a name to the budget. In this case we'll call it "Smith
|
||||
Project". Select the period wherein the budget will be applicable. Next
|
||||
add an item to specify your targets in the Budget Line.
|
||||
|
||||
.. image:: budget/budget07.png
|
||||
:align: center
|
||||
|
||||
Select the Budgetary Position related to the Budget Line. In other
|
||||
words, select the position that points to the accounts you want to
|
||||
budget. In this case we will start with our 700 maximum charge target.
|
||||
Select the "Cost" Budgetary Position and specify the Planned Amount.
|
||||
As we are recording a cost, we need to specify a **negative amount**.
|
||||
Finally, select the corresponding analytic account.
|
||||
|
||||
.. image:: budget/budget08.png
|
||||
:align: center
|
||||
|
||||
Click on **Save & new** to input the revenue budget. The Budgetary
|
||||
Position is Revenue and the Planned Amount is 1000. Save and close
|
||||
|
||||
You'll need to **Confirm** and **Approve** the budget.
|
||||
.. Note::
|
||||
When recording a planned amount related to expenses, the amount must be negative.
|
||||
|
||||
Check your budget
|
||||
=================
|
||||
-----------------
|
||||
|
||||
You can check your budget at any time. To see the evolution, let's book
|
||||
some Invoices and Vendors Bills.
|
||||
Go to :menuselection:`Accounting --> Management: Budgets` and find the *Smith & Co* Project to see
|
||||
how it evolves according to the expenses or income for the related analytic account.
|
||||
|
||||
.. tip::
|
||||
If you use analytical accounts remember that you need to specify the account in the invoice
|
||||
and/or purchase line.
|
||||
The :guilabel:`Practical Amount` evolves when a new journal entry related to your analytic account
|
||||
and an account from your budgetary position is created.
|
||||
|
||||
.. seealso::
|
||||
For more information about booking invoices and purchase orders see
|
||||
:doc:`../../receivables/customer_invoices/overview`
|
||||
|
||||
Go back in the budget list and find the Smith Project.
|
||||
|
||||
Via the analytical account, Odoo can account the invoice lines and
|
||||
purchase lines booked in the accounts and will display them in the
|
||||
**Practical Amount** column.
|
||||
|
||||
.. image:: budget/budget09.png
|
||||
:align: center
|
||||
|
||||
.. note::
|
||||
The theoretical amount represents the amount of money you theoretically could
|
||||
have spend / should have received in function of the date. When your budget
|
||||
is 1200 for 12 months (january to december), and today is 31 of january, the
|
||||
theoretical amount will be 100, since this is the actual amount that could
|
||||
have been realised.
|
||||
The :guilabel:`Theoretical Amount` represents the amount of money you theoretically could have spent
|
||||
or should have received based on the date. For example, suppose your budget is 1200 for 12 months
|
||||
(January to December), and today is 31 of January. In that case, the theoretical amount will be 100
|
||||
since this is the actual amount that could have been made.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 3.7 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
|
Before Width: | Height: | Size: 5.0 KiB |
|
Before Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 5.6 KiB |
|
Before Width: | Height: | Size: 8.1 KiB |
|
Before Width: | Height: | Size: 7.1 KiB |
|
Before Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 5.0 KiB |
|
After Width: | Height: | Size: 4.0 KiB |
|
|
@@ -1,7 +1,13 @@
|
|||
:show-content:
|
||||
|
||||
======================
|
||||
Invoice online payment
|
||||
======================
|
||||
|
||||
.. toctree::
|
||||
|
||||
online_payment/install_portal_patch
|
||||
|
||||
To make it more convenient for your customers to pay the invoices you issue, you can activate the
|
||||
**Invoice Online Payment** feature, which adds a *Pay Now* button on their **Customer Portal**. This
|
||||
allows your customers to see their invoices online and pay directly with their favorite payment
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,57 @@
|
|||
===================================================
|
||||
Install the patch to disable online invoice payment
|
||||
===================================================
|
||||
|
||||
Following recent changes in Odoo 16, you might be warned that disabling the :guilabel:`Invoice
|
||||
Online Payment` setting will uninstall modules. If you want to disable the feature without
|
||||
uninstalling modules, follow the steps below to install the module **Payment - Account / Invoice
|
||||
Online Payment Patch**.
|
||||
|
||||
.. note::
|
||||
| If your Odoo database is created after the module **Payment - Account / Invoice Online Payment
|
||||
Patch** was released, you don't have anything to do.
|
||||
| To check if the module is already installed, go to :guilabel:`Apps`, remove the `Apps` filter,
|
||||
and search for `account_payment`. If the module **Payment - Account / Invoice Online Payment
|
||||
Patch** is present and marked as installed, your Odoo database is already up-to-date and you
|
||||
are able to disable the feature without side-effect.
|
||||
|
||||
Update Odoo to the latest release
|
||||
=================================
|
||||
|
||||
The possibility to disable the :guilabel:`Invoice Online Payment` setting without side-effect is
|
||||
made available through a new Odoo module; to be able to install it, you must make sure that your
|
||||
Odoo source code is up-to-date.
|
||||
|
||||
If you use Odoo on Odoo.com or Odoo.sh platform, your code is already up-to-date and you can proceed
|
||||
to the next step.
|
||||
|
||||
If you use Odoo with an on-premise setup or through a partner, you must update your installation as
|
||||
detailed in :doc:`this documentation page </administration/maintain/update>`, or by contacting your
|
||||
integrating partner.
|
||||
|
||||
Update the list of available modules
|
||||
====================================
|
||||
|
||||
New modules must be *discovered* by your Odoo instance to be available in the **Apps** menu.
|
||||
|
||||
To do so, activate the :ref:`developer mode <developer-mode>`, and go to :menuselection:`Apps -->
|
||||
Update Apps List`. A wizard will ask for confirmation.
|
||||
|
||||
Install the module Invoice Online Payment Patch
|
||||
===============================================
|
||||
|
||||
.. warning::
|
||||
You should never install new modules in your production database without first testing them in a
|
||||
duplicate or staging environment. For Odoo.com customers, a duplicate database can be created
|
||||
from the database management page. For Odoo.sh users, you should use a staging or duplicate
|
||||
database. For on-premise users, you should use a staging environment---contact your integrating
|
||||
partner for more information regarding how to test a new module in your particular setup.
|
||||
|
||||
The module should now be available in your :guilabel:`Apps` menu. Remove the ``Apps`` filter and
|
||||
search for ``account_payment``; the module :guilabel:`Payment - Account / Invoice Online Payment Patch`
|
||||
should be available for installation. If you cannot find the module after having updated the list
|
||||
of available modules, it means your Odoo source code is not up-to-date; refer to step one of this
|
||||
page.
|
||||
|
||||
Once the module is installed, disabling the feature will work as intended and will not ask you to
|
||||
uninstall installed applications or modules.
|
||||
|
|
@@ -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,88 +1,224 @@
|
|||
========================
|
||||
Get Started with Surveys
|
||||
========================
|
||||
=================
|
||||
Survey essentials
|
||||
=================
|
||||
|
||||
Surveys can be used for a range of purposes that can go from collecting customer feedback, evaluate
|
||||
the success of an event, measure how pleased customers are with your products/services, gauge
|
||||
whether employees are happy and satisfied with their work environment, and even to find out what
|
||||
your market is thinking.
|
||||
Companies often use surveys to collect valuable information from their customers and employees,
|
||||
which in turn, allows them to make more informed business decisions.
|
||||
|
||||
Get started
|
||||
===========
|
||||
In Odoo, surveys are used to collect customer feedback, evaluate the success of a recent event,
|
||||
measure the satisfaction of customers (or employees), and gain more insight into shifting market
|
||||
sentiments.
|
||||
|
||||
When creating your survey, choose a *Title* and *Category*. The *Category* field is used to know in
|
||||
which context the survey is being conducted, as different applications might use it for different
|
||||
purposes such as recruitment, certification, or employee appraisal.
|
||||
Getting started
|
||||
===============
|
||||
|
||||
.. image:: create/new_survey.png
|
||||
To begin, open the :guilabel:`Surveys` application and click :guilabel:`Create`. Odoo then
|
||||
redirects the page to a blank survey template form.
|
||||
|
||||
On the survey form, add a :guilabel:`Survey Title` and then add a cover image to the survey by
|
||||
hovering over the photo icon and clicking on the :guilabel:`Edit (pencil)` icon. When the file
|
||||
explorer window opens, choose an image from the local files.
|
||||
|
||||
Below the :guilabel:`Survey Title` are various tabs in which the survey questions and format can be
|
||||
created and customized. These tabs are labeled as follows:
|
||||
|
||||
- :guilabel:`Questions`: the list of questions to be asked in the survey
|
||||
- :guilabel:`Description`: contextual information to aid in understanding the survey
|
||||
- :guilabel:`Options`: choices for survey respondents to answer the questions
|
||||
|
||||
.. image:: create/questions-description-options.png
|
||||
:align: center
|
||||
:alt: Form view of a survey with a title and category being chosen in Odoo Surveys
|
||||
:alt: Various tabs that can be found on the survey template page.
|
||||
|
||||
Tab: Questions
|
||||
--------------
|
||||
Questions tab
|
||||
=============
|
||||
|
||||
| Add sections and questions by clicking on the respective links.
|
||||
| On the *Sections and Questions* form, once the question type is chosen and the answer added,
|
||||
under the tab *Options*, enable *Mandatory Answer*, and set an *Error message* to be shown
|
||||
when the user tries to submit the survey without answering the respective question.
|
||||
| Depending on the *Question Type*, the tab *Options* aggregates extra and different
|
||||
possibilities. Examples:
|
||||
Add questions and sections to the survey in the :guilabel:`Questions` tab. A section divides the
|
||||
survey into parts in order to visually group similar questions together. To make a section, click
|
||||
:guilabel:`Add a section` and type in a section name. Then, add questions or drag and drop
|
||||
questions into the divided sections.
|
||||
|
||||
- *Single Line Text Box* - can choose a minimum and maximum text length (number of characters -
|
||||
spaces do not count), and its error message.
|
||||
- *Multiple choice: multiple answers allowed*: choose between radio buttons or a dropdown menu
|
||||
list, and if you would like to have a comment field. If the user select an answer and type a
|
||||
comment, the values are separately recorded. Or, enable the comment field to be
|
||||
displayed as an answer choice, with which a text type field is displayed.
|
||||
- *Matrix Type*: choose if you would like to have one or multiple choices per row.
|
||||
Clicking :guilabel:`Add a question` opens the :guilabel:`Create Sections and Questions` pop-up to
|
||||
create and customize the survey question.
|
||||
|
||||
.. image:: create/sections_questions.png
|
||||
.. image:: create/survey-question-pop-up.png
|
||||
:align: center
|
||||
:alt: Sections and questions view of a survey in Odoo Surveys
|
||||
:alt: The survey question pop-up window.
|
||||
|
||||
Tab: Description
|
||||
Create questions
|
||||
----------------
|
||||
|
||||
Write a *Description* to be displayed under the title of the survey's homepage.
|
||||
In the :guilabel:`Create Sections and Questions` pop-up, type the question in the
|
||||
:guilabel:`Question` field. Then, choose the :guilabel:`Question Type`. A preview of how the
|
||||
question type looks is shown in the preview window.
|
||||
|
||||
.. image:: create/frontend_description.png
|
||||
:align: center
|
||||
:alt: Frontend of a survey showing the title and description of a survey for Odoo Surveys
|
||||
Choose from the following :guilabel:`Question Types`:
|
||||
|
||||
.. tip::
|
||||
Click on *Edit* to personalize your pages with the website builder.
|
||||
- :guilabel:`Multiple Lines Text Box`
|
||||
- :guilabel:`Single Line Text Box`
|
||||
- :guilabel:`Numerical Value`
|
||||
- :guilabel:`Date`
|
||||
- :guilabel:`Datetime`
|
||||
- :guilabel:`Multiple choice: only one answer`
|
||||
- :guilabel:`Multiple choice: multiple answers allowed`
|
||||
- :guilabel:`Matrix`
|
||||
|
||||
Tab: Options
|
||||
.. note::
|
||||
Different features appear in the :guilabel:`Answers` and :guilabel:`Options` tabs, depending on
|
||||
the :guilabel:`Question Type` chosen. However, the :guilabel:`Description` tab always remains
|
||||
the same, regardless of what question is chosen.
|
||||
|
||||
Create sections and questions
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Once a :guilabel:`Question Type` has been selected, there are three possible tabs where information
|
||||
can be customized for the question. These include the :guilabel:`Answers` (if applicable),
|
||||
:guilabel:`Description`, and :guilabel:`Options` tabs.
|
||||
|
||||
Each tab offers a variety of different features depending on what :guilabel:`Question Type` was
|
||||
chosen.
|
||||
|
||||
For example, in the :guilabel:`Options` tab, the following options may appear:
|
||||
|
||||
- :guilabel:`Mandatory Answer`: the question must be answered.
|
||||
- :guilabel:`Matrix Type`: for matrix-type questions, select if one choice or multiple choices can
|
||||
be selected per row.
|
||||
- :guilabel:`Number of columns`: select how many columns are displayed.
|
||||
- :guilabel:`Images on answers`: allow images on the answer options.
|
||||
- :guilabel:`Conditional Display`: determine if the question is displayed based on the
|
||||
participant's answer to a previous question.
|
||||
- :guilabel:`Show Comments Field`: allow the participant to type a comment in a text box.
|
||||
- :guilabel:`Question Time Limit`: for live session surveys, set a time limit for the question.
|
||||
|
||||
Conditional Display
|
||||
*******************
|
||||
|
||||
:guilabel:`Conditional Display` means the question is only displayed if the specified conditional
|
||||
answer has been selected in a previous question.
|
||||
|
||||
When the box next to :guilabel:`Conditional Display` is selected, the :guilabel:`Triggering
|
||||
Question` field appears. Select a question from the survey.
|
||||
|
||||
Then, a :guilabel:`Triggering Answer` field appears. Here, select which answer will trigger this
|
||||
:guilabel:`Conditional Display` question.
|
||||
|
||||
Options tab
|
||||
===========
|
||||
|
||||
Back on the main survey template form, under the :guilabel:`Options` tab, there are different
|
||||
sections of settings that can be modified.
|
||||
|
||||
The sections include:
|
||||
|
||||
- :guilabel:`Questions`: focuses on the overall presentation of the survey
|
||||
- :guilabel:`Scoring`: decides how the survey is scored
|
||||
- :guilabel:`Candidates`: manages access to the survey
|
||||
- :guilabel:`Live Session`: enables the survey into a real-time group activity.
|
||||
|
||||
Questions
|
||||
---------
|
||||
|
||||
First, select the :guilabel:`Layout` of the survey. The following options can be chosen:
|
||||
|
||||
- :guilabel:`One page with all the questions`
|
||||
- :guilabel:`One page per section`
|
||||
- :guilabel:`One page per question`
|
||||
|
||||
If either the :guilabel:`One page per section` or :guilabel:`One page per question` options are
|
||||
chosen, then the :guilabel:`Back Button` option appears. If selected, the :guilabel:`Back Button`
|
||||
option allows the participant to go back to a question during the survey.
|
||||
|
||||
Under the :guilabel:`Layout` options is the :guilabel:`Progression Mode` setting, which indicates
|
||||
how the participant's progress during the survey is displayed. It is shown as either a
|
||||
:guilabel:`Percentage` or a :guilabel:`Number`.
|
||||
|
||||
Next, there is an option available to add a :guilabel:`Survey Time Limit`. To implement this
|
||||
option, simply check the box, and enter the amount of time (in minutes) participants have to
|
||||
complete the survey.
|
||||
|
||||
After the :guilabel:`Survey Time Limit` option is a section labeled :guilabel:`Selection`. Here,
|
||||
questions can be :guilabel:`Randomized per section`, in other words, the number of random questions
|
||||
can be configured by section. This mode is ignored in a live session.
|
||||
|
||||
.. seealso::
|
||||
:doc:`time_random`
|
||||
|
||||
Scoring
|
||||
-------
|
||||
|
||||
The following options are available when deciding how a :guilabel:`Scoring` method:
|
||||
|
||||
- :guilabel:`No scoring`
|
||||
- :guilabel:`Scoring with answers at the end`
|
||||
- :guilabel:`Scoring without answers at the end`
|
||||
|
||||
If either the :guilabel:`Scoring with answers at the end` or :guilabel:`Scoring without answers at
|
||||
the end` options are selected, a :guilabel:`Success %` field appears. Set the percentage of correct
|
||||
answers needed to pass the survey.
|
||||
|
||||
Next, there is the option to make the survey a certification. To do so, check the box next to the
|
||||
option labeled :guilabel:`Is a Certification`, and two additional fields appear. Select a color
|
||||
theme in the :guilabel:`Certification Template` field and then choose an :guilabel:`Email
|
||||
Template`. When a participant passes the certification with the required score, an email from Odoo
|
||||
will automatically be sent to that person using the selected email template.
|
||||
|
||||
If the :guilabel:`Give Badge` feature is enabled and the :guilabel:`Certification Badge` is set,
|
||||
the survey participant also receives a badge upon passing the certification.
|
||||
|
||||
.. seealso::
|
||||
:doc:`scoring`
|
||||
|
||||
Candidates
|
||||
----------
|
||||
|
||||
To determine access to the survey, the :guilabel:`Access Mode` has two options to choose between:
|
||||
:guilabel:`Anyone with the link` and :guilabel:`Invited people only`.
|
||||
|
||||
Below the :guilabel:`Appraisal Managers Only` checkbox is the :guilabel:`Login Required` option to
|
||||
require a login to participate in the survey. If this option is activated, an :guilabel:`Attempts
|
||||
Limit` field also populates, in which the number of survey attempts is defined for the participant.
|
||||
|
||||
Live Session
|
||||
------------
|
||||
|
||||
Under the tab *Options*, choose the *Layout* of your questions. If choosing *One page per section* or
|
||||
*One page per question*, an option *Back Button* becomes available, which allows the user to go back
|
||||
pages.
|
||||
The :guilabel:`Live Session` section is dedicated to users who are conducting surveys in real-time,
|
||||
wherein they directly engage with and collect answers from a live audience.
|
||||
|
||||
.. image:: create/tab_options_layout.png
|
||||
:align: center
|
||||
:alt: Form view of a survey emphasizing the layout feature under options in Odoo Surveys
|
||||
Customize the :guilabel:`Session Code` here; this code is needed for participants to access the
|
||||
live session survey. Reward participants for quick answers by selecting the checkbox labeled
|
||||
:guilabel:`Reward quick answers`. By checking it, attendees will get more points if they answer
|
||||
quickly.
|
||||
|
||||
Description tab
|
||||
===============
|
||||
|
||||
Back on the main survey template page is the :guilabel:`Description` tab, where a custom
|
||||
description of the survey can be added. This is displayed beneath the title on the survey's
|
||||
homepage, which is on the front end of the website made through the Odoo :guilabel:`Website` app.
|
||||
|
||||
Test and share the survey
|
||||
=========================
|
||||
|
||||
| Once your Survey is ready, *Test* it to avoid *Sharing* it with potential errors. As answers get
|
||||
collected, click on *Answers* to access all the details of the respondent and his answers.
|
||||
| By default, a filter *Except Test Entries* is applied to keep the list of entries clean with only
|
||||
real participants.
|
||||
Once the survey is created and saved, run a test to check for possible errors before finally
|
||||
sending it out to the participants by clicking :guilabel:`Test` in the upper left corner of the
|
||||
survey template page.
|
||||
|
||||
.. image:: create/user_feedback.png
|
||||
:align: center
|
||||
:alt: View list of the participations of a survey in Odoo Surveys
|
||||
When activated, Odoo redirects the page to a test version of the survey on the front end of the
|
||||
website. This page displays how the survey will look to participants. Proceed to run through the
|
||||
survey, like a normal participant, to check for errors.
|
||||
|
||||
| Another way to access detailed answers is by going to :menuselection:`Participations -->
|
||||
Participations`.
|
||||
| Click on *See results* to be redirected to an analytical page.
|
||||
To return to the survey template form in the backend, simply click the :guilabel:`This is a test
|
||||
survey. Edit Survey` link in the blue banner along the top of the page. Once Odoo redirects the
|
||||
page to the survey template in the backend, make any further changes, as needed, before officially
|
||||
sending the survey out to participants.
|
||||
|
||||
.. image:: create/analytical_page.png
|
||||
:align: center
|
||||
:alt: View of an analytical page for Odoo Surveys
|
||||
When the survey is ready to be shared with the audience, click the :guilabel:`Start Survey` button
|
||||
in the upper-left corner of the survey template form. Then, click :guilabel:`Share`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`scoring`
|
||||
- :doc:`time_random`
|
||||
In the pop-up window, add the survey recipients in the :guilabel:`Recipients` field (for existing
|
||||
contacts in the Odoo database) or the :guilabel:`Additional emails` field (for contacts that do not
|
||||
want to be listed in the Odoo database). Finally, click :guilabel:`Send`.
|
||||
|
||||
As answers are received, check them by clicking the :guilabel:`Answers` smart button on the survey
|
||||
template form, or the :guilabel:`See Results` button in the upper left corner. To end the survey,
|
||||
click the :guilabel:`Close` button on the survey template form.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
Before Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 29 KiB |
|
|
@@ -1,35 +1,56 @@
|
|||
===============
|
||||
Scoring Surveys
|
||||
Scoring surveys
|
||||
===============
|
||||
|
||||
To measure your respondent’s performance, knowledge of a subject, or overall satisfaction, attach
|
||||
points to the answers of specific questions. The points are summed up to give your respondent a
|
||||
final score.
|
||||
To measure a survey participant's performance, knowledge, or overall satisfaction, Odoo ascribes
|
||||
points to survey answers. At the end of the survey, these points are summed up, resulting in the
|
||||
participant's final score.
|
||||
|
||||
On your survey’s form, click on *Add a question* and, under the tab *Options*, choose between
|
||||
*Scoring with answers at the end* or *Scoring without answers at the end*. Now, on your question’s
|
||||
form, set the right answer and score.
|
||||
To add points to questions, open the :guilabel:`Surveys` application, choose the desired survey
|
||||
form, and then click on the :guilabel:`Options` tab. Under the :guilabel;`Scoring` section, choose
|
||||
between :guilabel:`Scoring with answers at the end` or :guilabel:`Scoring without answers at the
|
||||
end`.
|
||||
|
||||
.. image:: scoring/answers_form.png
|
||||
- :guilabel:`Scoring with answers at the end` shows the survey participant their answers after
|
||||
completing the survey, and displays which questions they got right or wrong. On questions where
|
||||
there was an incorrect answer, the correct answer will be highlighted.
|
||||
|
||||
- :guilabel:`Scoring without answers at the end` does not show the survey participant their answer
|
||||
choices after completing the survey, only their final score.
|
||||
|
||||
To indicate correct answers, click on the :guilabel:`Questions tab` and choose a question. In the
|
||||
question form, check the :guilabel:`Is a correct answer` box for the choice that is the correct
|
||||
answer and attach a score value.
|
||||
|
||||
Back on the :guilabel:`Options` tab of the survey, set the :guilabel:`Success %`. The percentage
|
||||
entered determines what percentage of correct answers is needed to pass the survey.
|
||||
|
||||
Further on the :guilabel:`Options` tab of the survey, survey administrators can also choose to make
|
||||
the survey a certification. A certification indicates that the survey asks questions to test the
|
||||
participants' knowledge level on a subject.
|
||||
|
||||
When enabling the :guilabel:`Is a certification` option, choose a :guilabel:`Certification email
|
||||
template`. The certification will automatically be emailed using this email template to users who
|
||||
pass the survey with a final score that is greater than or equal to the set :guilabel:`Success %`.
|
||||
|
||||
In the :guilabel:`Candidates` section, participants can be required to log in to take the survey.
|
||||
If the :guilabel:`Login Required` setting is enabled, two new options appear: the
|
||||
:guilabel:`Attempts Limit` checkbox, which limits the number of times a participant can attempt
|
||||
the survey, and the option to :guilabel:`Give Badge`, located beneath the :guilabel:`Certification`
|
||||
options in the :guilabel:`Scoring` section.
|
||||
|
||||
.. image:: scoring/required-score-login.png
|
||||
:align: center
|
||||
:alt: Form view of a survey showing a list of answers in Odoo Surveys
|
||||
:alt: Setting the Required Score (percentage), login required, and certification template.
|
||||
|
||||
Set the percentage score the user needs to achieve to have successfully taken the survey. If
|
||||
enabling *Certificate*, choose its template. The certification is automatically sent by email to the
|
||||
users who successfully finish it.
|
||||
Badges are displayed on the eLearning portion of a given user's portal, and are a way to set
|
||||
milestones and reward participants for passing surveys or gaining points. Besides the awardee,
|
||||
website visitors who access the :guilabel:`Courses` page will also be able to see the granted
|
||||
badges.
|
||||
|
||||
.. image:: scoring/scoring_candidates.png
|
||||
.. image:: scoring/frontend-badges.png
|
||||
:align: center
|
||||
:alt: Form view of a survey emphasizing the scoring and candidates section in Odoo Surveys
|
||||
|
||||
Enable *Login required* to be able to *Give Badges*. Badges are related to the eLearning section of
|
||||
your website. Besides the logged-in user, visitors of the website that access the page *Courses*
|
||||
can also see the granted badges.
|
||||
|
||||
.. image:: scoring/frontend_bagdes.png
|
||||
:align: center
|
||||
:alt: View of the courses tab emphasizing the latest achievements section on the website for
|
||||
Odoo Surveys
|
||||
:alt: Example of how a badge looks on the eLearning portion of the website.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`time_random`
|
||||
:doc:`time_random`
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 4.4 KiB |
|
Before Width: | Height: | Size: 118 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 44 KiB |
|
|
@@ -1,34 +1,48 @@
|
|||
============================
|
||||
Time and Randomize Questions
|
||||
============================
|
||||
==============================
|
||||
Timed and randomized questions
|
||||
==============================
|
||||
|
||||
Time Limit
|
||||
When creating a survey in Odoo, there are options to set a time limit on the survey and randomize
|
||||
the questions.
|
||||
|
||||
Time limit
|
||||
==========
|
||||
|
||||
| On timed surveys, respondents need to complete the survey within a certain period of time. It can
|
||||
be used to ensure that all respondents get the same amount of time to find the answers, or to
|
||||
decrease the chance of having them looking at external resources.
|
||||
| Set the *Time limit* under the tab *Options*.
|
||||
During a timed survey, participants must finish the survey within a specified period of time.
|
||||
A common use case for implementing a time limit is that it greatly reduces the chance of
|
||||
participants looking up responses via external resources (e.g. web search), and reduces the survey
|
||||
to a "closed book" testing environment.
|
||||
|
||||
.. image:: time_random/tab_options_timelimit.png
|
||||
Find the :guilabel:`Survey Time Limit` setting in the :guilabel:`Options` tab of the survey form,
|
||||
under the :guilabel:`Questions` section.
|
||||
|
||||
.. image:: time_random/time-limit.png
|
||||
:align: center
|
||||
:alt: View of a survey form emphasizing the time limit feature in Odoo Surveys
|
||||
:alt: Time limit field in the options tab of a survey template form.
|
||||
|
||||
A timer is shown on the pages so the user can keep track of the remaining time. Surveys not \
|
||||
submitted by the *Time limit* do not have their answers saved.
|
||||
When the :guilabel:`Survey Time Limit` option is checked, a timer will be displayed on every page
|
||||
of the survey, letting participants keep track of the time remaining while the survey is active.
|
||||
|
||||
Selection
|
||||
=========
|
||||
.. note::
|
||||
Participants that do not submit their survey by the preconfigured time limit will *not* have
|
||||
their answers saved.
|
||||
|
||||
| When you randomize a survey, you allow for the questions to be shuffled in a random order every
|
||||
time someone opens the questionnaire. This can be useful to avoid having respondents looking at
|
||||
each others' answers.
|
||||
| To do so, under the tab *Options*, enable *Randomized per section*. Now, under the tab *Questions*,
|
||||
set how many of the questions in that section should be taken into account during the shuffling.
|
||||
Randomized selection
|
||||
====================
|
||||
|
||||
.. image:: time_random/random_question.png
|
||||
When a survey is randomized, Odoo shuffles the questions and reveals them in a random order every
|
||||
time a participant begins the questionnaire. Using randomization as a survey method discourages
|
||||
participants from looking at each other's responses, and helps control for individual testing.
|
||||
|
||||
To randomize a survey, click the :guilabel:`Options` tab on the survey form. In the
|
||||
:guilabel:`Questions` section, select :guilabel:`Randomized per section` for the
|
||||
:guilabel:`Selection` field. After enabling, navigate to the :guilabel:`Questions` tab and look in
|
||||
the :guilabel:`Random questions count` column. From there, determine how many questions (per
|
||||
section) Odoo should select and display during the shuffling of questions.
|
||||
|
||||
.. image:: time_random/random-questions.png
|
||||
:align: center
|
||||
:alt: View of a survey form emphasizing the random questions count column in Odoo Surveys
|
||||
:alt: Randomized question count in the questions tab of a survey.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`scoring`
|
||||
:doc:`scoring`
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 79 KiB |
|
Before Width: | Height: | Size: 54 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
|
@@ -8,6 +8,7 @@ Productivity
|
|||
.. toctree::
|
||||
|
||||
productivity/discuss
|
||||
productivity/knowledge
|
||||
productivity/iot
|
||||
productivity/mail_plugins
|
||||
productivity/studio
|
||||
|
|
|
|||
23
content/applications/productivity/knowledge.rst
Normal file
|
|
@@ -0,0 +1,23 @@
|
|||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
|
||||
=========
|
||||
Knowledge
|
||||
=========
|
||||
|
||||
**Odoo Knowledge** is a multipurpose productivity app that allows internal users to enrich their
|
||||
business knowledge base and provide individually or collaboratively gathered information.
|
||||
|
||||
The pages on which they gather content are called *articles*. They are mainly composed of a title
|
||||
and a body. The latter is an HTML field containing text, images, links to other articles, records
|
||||
from other models, templates, etc.
|
||||
|
||||
.. seealso::
|
||||
- `Knowledge product page <https://www.odoo.com/app/knowledge>`_
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
knowledge/articles_editing
|
||||
knowledge/properties
|
||||
257
content/applications/productivity/knowledge/articles_editing.rst
Normal file
|
|
@@ -0,0 +1,257 @@
|
|||
================
|
||||
Articles editing
|
||||
================
|
||||
|
||||
Add and style content
|
||||
=====================
|
||||
|
||||
To start adding content, click anywhere on the page. Your cursor is automatically set to write the
|
||||
article's first-level header. Once you are done writing the title, press **enter** on your keyboard
|
||||
to move to the next line.
|
||||
|
||||
.. image:: articles_editing/ui.png
|
||||
:align: center
|
||||
:alt: knowledge's user interface
|
||||
|
||||
.. tip::
|
||||
Click :guilabel:`Untitled` on the left side of the top bar to automatically match your :dfn:`h1
|
||||
(First-level header)` title and the article's name. To change the name of your article later, you
|
||||
must do it manually. To do so, click the name on the top bar and proceed to the modification.
|
||||
|
||||
Text editor
|
||||
-----------
|
||||
|
||||
To stylize the text using the text editor, select the text to format.
|
||||
|
||||
Then, you can:
|
||||
|
||||
- Change the style by clicking :guilabel:`Normal`. Doing so opens a dropdown menu with multiple
|
||||
styles to choose from (:guilabel:`Normal, Code, Header 1 → Header 6, Quote`);
|
||||
- Format the text. Click :guilabel:`B` to put it in bold, :guilabel:`I` to put it in italic,
|
||||
:guilabel:`U` to underline, and :guilabel:`S` to strikethrough;
|
||||
- Change the font color by clicking :guilabel:`A` or the background color by clicking the **pencil**
|
||||
icon:
|
||||
|
||||
- To choose from a predefined theme color, click :guilabel:`Theme` and select the desired color.
|
||||
- To customize, click :guilabel:`Solid` and define a color using the wheel, by typing its hex
|
||||
code, or its RGBA values.
|
||||
- To use a gradient, click :guilabel:`Gradient`, choose a predefined gradient or click
|
||||
:guilabel:`Custom` to create a personalized gradient.
|
||||
|
||||
- To change the text's size, click the **size number** and select the desired size;
|
||||
- Click the **lists** icons to turn the paragraph into an unordered list, an ordered list, or a
|
||||
checklist;
|
||||
- Click the **chain** icon to insert or edit an URL link.
|
||||
|
||||
.. image:: articles_editing/style-and-colors.png
|
||||
:align: center
|
||||
:alt: Text editor's toolbox
|
||||
|
||||
To format a whole paragraph, type `/` anywhere in the text. Doing so opens the **powerbox**, which
|
||||
allows:
|
||||
|
||||
- Changing a paragraph into lists (unordered, ordered, checklists).
|
||||
- Changing a paragraph into a header (1 → 6), normal text, `code`, or *quotes*.
|
||||
|
||||
Add a cover
|
||||
-----------
|
||||
|
||||
You can customize your article by adding a cover picture and an icon. Hover above the h1 title and
|
||||
click :guilabel:`Add Cover`. A pop-up window opens to set a cover picture.
|
||||
|
||||
If your database and your Unsplash account are associated, the cover picture is automatically
|
||||
selected based on the article's name. To modify it, hover over the picture to make the buttons
|
||||
appear, click :guilabel:`Change Cover`, and select another image.
|
||||
|
||||
Retrieve images from different sources:
|
||||
|
||||
- Search the **Unsplash** database.
|
||||
- Enter a picture's **URL**.
|
||||
- **Upload** an image from a computer.
|
||||
|
||||
To remove the cover, hover over it to make the buttons appear and click :guilabel:`Remove Cover`.
|
||||
|
||||
.. note::
|
||||
- To associate Unsplash with your database, please refer to
|
||||
:doc:`../../websites/website/optimize/unsplash`.
|
||||
- The articles are responsive, and so are the cover pictures. As a result, the images cannot
|
||||
be repositioned manually to fit a particular screen, as they automatically resize
|
||||
depending on the device.
|
||||
|
||||
Add an icon
|
||||
-----------
|
||||
|
||||
To add an icon, hover above the h1 title and click :guilabel:`Add Icon`. Doing this sets a random
|
||||
emoji automatically. To change it, click it and select one from the emoji window. To remove it,
|
||||
proceed equally and click the red-circled :guilabel:`x`.
|
||||
|
||||
.. note::
|
||||
- The emoji is also displayed before the corresponding article in the side panel hierarchic tree.
|
||||
- Click the emoji on the side panel to change it without opening the related article.
|
||||
|
||||
Commands
|
||||
========
|
||||
|
||||
To use a command, type `/` and open the **powerbox**. Type the command's name or select from
|
||||
multiple features to insert blocks, images, files, etc. Some of them, such as `/Image` or `/Article`
|
||||
are common to all the apps, but others are inherent to the knowledge app and cannot be found or used
|
||||
in any other application.
|
||||
|
||||
List of commands
|
||||
----------------
|
||||
|
||||
Commands are divided into multiple categories depending on their use.
|
||||
|
||||
.. tabs::
|
||||
.. tab:: Structure
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`Bulleted list`
|
||||
- Create a bulleted list.
|
||||
* - :guilabel:`Numbered list`
|
||||
- Create a list with numbering.
|
||||
* - :guilabel:`Checklist`
|
||||
- Track tasks with a checklist.
|
||||
* - :guilabel:`Table`
|
||||
- Insert a table.
|
||||
* - :guilabel:`Separator`
|
||||
- Insert an horizontal rule separator.
|
||||
* - :guilabel:`Quote`
|
||||
- Add a blockquote section.
|
||||
* - :guilabel:`Code`
|
||||
- Add a code section.
|
||||
* - :guilabel:`2 columns`
|
||||
- Convert into 2 columns.
|
||||
* - :guilabel:`3 columns`
|
||||
- Convert into 3 columns.
|
||||
* - :guilabel:`4 columns`
|
||||
- Convert into 4 columns.
|
||||
|
||||
.. tab:: Format
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`Heading 1`
|
||||
- Big section heading.
|
||||
* - :guilabel:`Heading 2`
|
||||
- Medium section heading.
|
||||
* - :guilabel:`Heading 3`
|
||||
- Small section heading.
|
||||
* - :guilabel:`Switch direction`
|
||||
- Switch the text's direction.
|
||||
* - :guilabel:`Text`
|
||||
- Paragraph block.
|
||||
|
||||
.. tab:: Media
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`Image`
|
||||
- Insert an image.
|
||||
* - :guilabel:`Article`
|
||||
- Link an article.
|
||||
|
||||
.. tab:: Navigation
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`Link`
|
||||
- Add a link.
|
||||
* - :guilabel:`Button`
|
||||
- Add a button.
|
||||
* - :guilabel:`Appointment`
|
||||
- Add a specific appointment.
|
||||
* - :guilabel:`Calendar`
|
||||
- Schedule an appointment.
|
||||
|
||||
.. tab:: Widget
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`3 Stars`
|
||||
- Insert a rating over 3 stars.
|
||||
* - :guilabel:`5 Stars`
|
||||
- Insert a rating over 5 stars.
|
||||
|
||||
.. tab:: Knowledge
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`Table of Content`
|
||||
- Add a table of content with the article's headings.
|
||||
* - :guilabel:`Index`
|
||||
- Show the first level of nested articles.
|
||||
* - :guilabel:`Outline`
|
||||
- Show all nested articles.
|
||||
* - :guilabel:`Item Kanban`
|
||||
- Insert a kanban view of article items.
|
||||
* - :guilabel:`Item List`
|
||||
- Insert a list view of article items.
|
||||
* - :guilabel:`File`
|
||||
- Embed a file that can be downloaded.
|
||||
* - :guilabel:`Template`
|
||||
- Add a template section that can be inserted in messages, terms & conditions, or
|
||||
description in other applications.
|
||||
|
||||
.. tab:: Basic Blocks
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Command
|
||||
- Use
|
||||
* - :guilabel:`Signature`
|
||||
- Insert your signature.
|
||||
|
||||
Content from other app
|
||||
======================
|
||||
|
||||
Knowledge allows to retrieve content views from other applications. To do so, go to the targeted app
|
||||
and create the desired view. Then, click :menuselection:`Favorite --> Insert view in article` and
|
||||
select an article. The view is inserted at the bottom of the selected article.
|
||||
|
||||
.. example::
|
||||
To retrieve the view below, we created it by going to :menuselection:`Sales --> Graph icon -->
|
||||
Pie Chart icon` and inserted it by clicking :menuselection:`Favorite --> Insert view in article`
|
||||
and selecting the *Sales Playbook* article.
|
||||
|
||||
.. image:: articles_editing/inserted-view.png
|
||||
:align: center
|
||||
:alt: article view from the Sales app
|
||||
|
||||
.. important::
|
||||
Users who do **not** have access to the view will **not** be able to access it in **Knowledge**
|
||||
even though they have access to the article containing the view.
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 141 KiB |
102
content/applications/productivity/knowledge/properties.rst
Normal file
|
|
@@ -0,0 +1,102 @@
|
|||
==========
|
||||
Properties
|
||||
==========
|
||||
|
||||
Properties are fields containing data and that can be added to articles by any user with **write**
|
||||
access. These fields are shared between all the child articles and article items under the same
|
||||
parent.
|
||||
|
||||
.. note::
|
||||
To be able to add properties, an article must be either a **child article** or an **article
|
||||
item**.
|
||||
|
||||
Add property fields
|
||||
===================
|
||||
|
||||
Hover above the first-level header to make the buttons appear. Click :menuselection:`⚙ Add
|
||||
Properties --> Field Type`, select the type and add a default value if needed. To make the fields
|
||||
appear in **kanban views**, check :guilabel:`View in Kanban` as well. To validate and close the
|
||||
property creation window, click anywhere.
|
||||
|
||||
.. image:: properties/fields.png
|
||||
:align: center
|
||||
:alt: Dropdown of property fields types
|
||||
|
||||
The different types assess what the field content can be:
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Types
|
||||
- Uses
|
||||
* - :guilabel:`Text`
|
||||
- Allows adding any content with no restriction.
|
||||
* - :guilabel:`Checkbox`
|
||||
- Add a checkbox.
|
||||
* - :guilabel:`Integer`
|
||||
- Allows adding integer numbers.
|
||||
* - :guilabel:`Decimal`
|
||||
- Allows adding any number.
|
||||
* - :guilabel:`Date`
|
||||
- Allows selecting a date.
|
||||
* - :guilabel:`Date & Time`
|
||||
- Allows selecting a date and time.
|
||||
|
||||
Some **field types** need to be configured:
|
||||
|
||||
.. image:: properties/manyone.png
|
||||
:align: center
|
||||
:alt: property configuration form
|
||||
|
||||
.. list-table::
|
||||
:widths: 20 80
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - Types
|
||||
- Uses
|
||||
* - :guilabel:`Selection`
|
||||
- Add a drop-down selection menu with restricted values that have been set at the property
|
||||
creation.
|
||||
|
||||
To set it up, click :guilabel:`Add a Value` next to the :guilabel:`Values` field. Enter
|
||||
predetermined values and press **enter** to validate; you can enter as many values as needed.
|
||||
Click anywhere to close the property creation window.
|
||||
* - :guilabel:`Tags`
|
||||
- Allows creating and applying as many tags as needed.
|
||||
|
||||
To set it up, enter your `new_tag` in the :guilabel:`Tags` field, and press **enter** or
|
||||
click :guilabel:`Create "new_tag"`. Click anywhere to close the window. Then, add the tags
|
||||
into the property field. To do so, click the property field and choose from the created tags;
|
||||
enter the tags' name and press **enter**; enter a new tag's name and create a new one on the
|
||||
spot.
|
||||
* - :guilabel:`Many2one`
|
||||
- Choose from a list of records that result from a model's domain. You can only select one
|
||||
result.
|
||||
|
||||
To set it up, click :guilabel:`Search a Model` in the :guilabel:`Model` field, select the
|
||||
model. Match all records by clicking :guilabel:`## Record(s)`, or filter the results by
|
||||
clicking :guilabel:`+ Add Filter` and show the records by clicking :guilabel:`## Record(s)`.
|
||||
* - :guilabel:`Many2many`
|
||||
- Choose from a list of records that result from a model's domain. You can select as many
|
||||
results as needed.
|
||||
|
||||
To set it up, click :guilabel:`Search a Model` in the :guilabel:`Model` field, select the
|
||||
model. Match all records by clicking :guilabel:`## Record(s)`, or filter the results by
|
||||
clicking :guilabel:`+ Add Filter` and show the records by clicking :guilabel:`## Record(s)`.
|
||||
|
||||
Delete property fields
|
||||
======================
|
||||
|
||||
To remove a property, click the **pencil** icon next to the targeted property, then click
|
||||
:menuselection:`Delete --> Delete`.
|
||||
|
||||
.. warning::
|
||||
Once a property field is deleted, you cannot retrieve it.
|
||||
|
||||
Hide the property panel
|
||||
=======================
|
||||
|
||||
To hide the property sidebar panel, click the gear :guilabel:`(⚙)` button.
|
||||
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
|
@@ -40,7 +40,7 @@ Install the Outlook Plugin
|
|||
:align: center
|
||||
:alt: Custom add-ins in Outlook
|
||||
|
||||
#. Enter the following URL `https://download.odoo.com/plugins/outlook/manifest.xml` and press
|
||||
#. Enter the following URL `https://download.odoo.com/plugins/v15/outlook/manifest.xml` and press
|
||||
*OK*.
|
||||
|
||||
.. image:: outlook/enter-add-in-url.png
|
||||
|
|
|
|||
|
|
@@ -1,37 +1,65 @@
|
|||
=====================
|
||||
Using barcodes in PoS
|
||||
=====================
|
||||
========
|
||||
Barcodes
|
||||
========
|
||||
|
||||
Using a barcode scanner to process point of sale orders improves your
|
||||
efficiency and helps you to save time for you and your customers.
|
||||
Using a barcode scanner to process point-of-sale orders improves your efficiency in providing
|
||||
quicker customer service. Barcode scanners can be used both to scan products or to log employees
|
||||
into a POS session.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To use a barcode scanner, go to :menuselection:`Point of Sale -->
|
||||
Configuration --> Point of sale` and select your PoS interface.
|
||||
To use a barcode scanner, you must enable the feature in the Inventory app. Go to
|
||||
:menuselection:`Inventory --> Configuration --> Settings`, in the :guilabel:`Barcode` section, tick
|
||||
:guilabel:`Barcode Scanner` and save.
|
||||
|
||||
Under the IoT Box / Hardware category, you will find *Barcode Scanner*
|
||||
select it.
|
||||
.. image:: barcode/barcode-inventory.png
|
||||
:align: center
|
||||
:alt: barcode setting in the Inventory application
|
||||
|
||||
.. image:: barcode/barcode01.png
|
||||
:align: center
|
||||
.. seealso::
|
||||
- :doc:`Set up a barcode scanner<../../../inventory_and_mrp/inventory/barcode/setup/hardware>`
|
||||
- :doc:`Activate barcode scanners<../../../inventory_and_mrp/inventory/barcode/setup/software>`
|
||||
|
||||
Add barcodes to product
|
||||
=======================
|
||||
Once enabled in **Inventory**, you can use the barcode feature in **Point of Sale** with products
|
||||
that have a barcode number assigned.
|
||||
|
||||
Go to :menuselection:`Point of Sale --> Catalog --> Products` and
|
||||
select a product.
|
||||
Assign barcodes
|
||||
===============
|
||||
|
||||
Under the general information tab, you can find a barcode field where
|
||||
you can input any barcode.
|
||||
To your products
|
||||
----------------
|
||||
|
||||
.. image:: barcode/barcode02.png
|
||||
:align: center
|
||||
To use this feature in POS, your products must have barcodes assigned. To do so, go to
|
||||
:menuselection:`Point of Sale --> Products --> Products` and open a **product form**. Add a barcode
|
||||
number in the :guilabel:`Barcode` field in the :guilabel:`General Information` tab.
|
||||
|
||||
Scanning products
|
||||
=================
|
||||
To your employees
|
||||
-----------------
|
||||
|
||||
From your PoS interface, scan any barcode with your barcode scanner. The
|
||||
product will be added, you can scan the same product to add it multiple
|
||||
times or change the quantity manually on the screen.
|
||||
To add an identification number to an employee, go to the **Employees** app and open an **employee
|
||||
form**. Choose an identification number for your employee and fill in the :guilabel:`PIN Code`
|
||||
field in the :guilabel:`HR Settings` tab.
|
||||
|
||||
Use barcodes
|
||||
============
|
||||
|
||||
Scan products
|
||||
-------------
|
||||
|
||||
Scan a product's barcode using a barcode scanner. Doing so adds it directly to the cart. To change
|
||||
the quantity, scan a product as many times as needed, or click :guilabel:`Qty` and enter the number
|
||||
of products using the keypad.
|
||||
|
||||
You can also enter the barcode number manually in the search bar to look for the product. Then,
|
||||
click it to add it to the cart.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Get started <../overview/getting_started>`
|
||||
|
||||
Log employees
|
||||
-------------
|
||||
|
||||
You can also use a barcode scanner to log your employees. To do so, :ref:`restrict access
|
||||
<restrict-employee-pos>` to the POS and :ref:`use barcodes to log your employees in
|
||||
<employee-barcode>` your POS.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 7.9 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
|
@@ -12,6 +12,8 @@ cashier*, by *entering a PIN code* or by *scanning a barcode*.
|
|||
.. note::
|
||||
To manage multiple cashiers, you need several employees (at least two).
|
||||
|
||||
.. _restrict-employee-pos:
|
||||
|
||||
Set up log in with employees
|
||||
============================
|
||||
|
||||
|
|
@@ -38,6 +40,8 @@ Now, you just have to click on your name.
|
|||
.. image:: multicashiers/multicashiers03.png
|
||||
:align: center
|
||||
|
||||
.. _set-pin-code:
|
||||
|
||||
Switch cashier with pin codes
|
||||
=============================
|
||||
|
||||
|
|
@@ -52,6 +56,8 @@ Now, when switching cashier, a PIN password will be asked.
|
|||
.. image:: multicashiers/multicashiers05.png
|
||||
:align: center
|
||||
|
||||
.. _employee-barcode:
|
||||
|
||||
Switch cashier with barcodes
|
||||
============================
|
||||
|
||||
|
|
|
|||
|
|
@@ -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 |
|
|
@@ -1,54 +1,48 @@
|
|||
======================================
|
||||
Allow Customers to Close their Tickets
|
||||
Allow customers to close their tickets
|
||||
======================================
|
||||
|
||||
Allowing customers to close their tickets gives them autonomy and minimize misunderstandings about
|
||||
when an issue is considered solved, or not. It makes communication and actions more efficient.
|
||||
Allowing customers to close their own tickets gives them autonomy and minimizes misunderstandings
|
||||
around when an issue is considered solved or not. This results in operational capacity for support
|
||||
teams, and higher satisfaction for the customer.
|
||||
|
||||
Configure the feature
|
||||
Enable ticket closing
|
||||
=====================
|
||||
|
||||
To configure the feature go to :menuselection:`Helpdesk --> Settings --> Helpdesk Teams --> Edit`
|
||||
and enable *Ticket closing*.
|
||||
Start by navigating to :menuselection:`Helpdesk --> Configuration --> Helpdesk Teams` and choose
|
||||
the appropriate team. Then click :guilabel:`Edit` and enable :guilabel:`Ticket closing` by
|
||||
checking the field box.
|
||||
|
||||
.. image:: close_tickets/closetickets1.png
|
||||
:align: center
|
||||
:alt: Ticket closing in Odoo Helpdesk
|
||||
.. image:: close_tickets/close-ticket-settings.png
|
||||
:alt: Ticket closing feature in Odoo Helpdesk.
|
||||
|
||||
In order to designate to which stage the ticket migrates to once it is closed, go to
|
||||
:menuselection:`Helpdesk --> Overview --> Tickets`.
|
||||
To designate which stage the ticket migrates to once it is closed, navigate to the ticket pipeline
|
||||
by going to :menuselection:`Helpdesk --> Overview` and clicking :guilabel:`Tickets` on the team's
|
||||
card.
|
||||
|
||||
.. image:: close_tickets/closetickets2.png
|
||||
:align: center
|
||||
:alt: Ticket closing in Odoo Helpdesk
|
||||
There are two options: create a new Kanban stage or work with an existing one. For both scenarios,
|
||||
click the :guilabel:`Settings (gear)` icon next to the stage name, select :guilabel:`Edit Stage`,
|
||||
and enable :guilabel:`Closing Stage`. After checking the field box, click :guilabel:`Save` to
|
||||
finish.
|
||||
|
||||
You can either create a new Kanban stage or work with an existing one. For both scenarios, go to
|
||||
:menuselection:`Helpdesk --> Settings --> Edit Stage` and enable *Closing Stage*.
|
||||
.. note::
|
||||
If a closing stage is not specified, by default, the ticket is moved to the last stage in the
|
||||
kanban. If more than one stage is set as a closing stage, the ticket is placed in the first
|
||||
closing stage column.
|
||||
|
||||
.. image:: close_tickets/closetickets3.png
|
||||
:align: center
|
||||
:alt: Ticket closing in Odoo Helpdesk
|
||||
With the ticket closing settings now complete, customers can now view the option to
|
||||
:guilabel:`Close this ticket` when they log into their portal.
|
||||
|
||||
If a closing stage is not specified, by default, the ticket is moved to the last stage;
|
||||
contrarily, if you have more than one stage set as closing, the ticket is put in the first one.
|
||||
.. image:: close_tickets/customer-view-close-ticket.png
|
||||
:alt: Customer view of ticket closing in Odoo Helpdesk.
|
||||
|
||||
The Costumer Portal
|
||||
===================
|
||||
|
||||
Now, once the user logs into his Portal, the option *Close this ticket* is available.
|
||||
|
||||
.. image:: close_tickets/closetickets4.png
|
||||
:align: center
|
||||
:alt: Ticket closing in Odoo Helpdesk
|
||||
|
||||
Get reports on tickets closed by costumers
|
||||
Get reports on tickets closed by customers
|
||||
==========================================
|
||||
|
||||
To do an analysis of the tickets that have been closed by costumers go to
|
||||
:menuselection:`Helpdesk --> Reporting --> Tickets --> Filters --> Add Custom filter -->
|
||||
Closed by partner --> Applied`.
|
||||
To analyze the tickets that have been closed by customers, go to :menuselection:`Helpdesk -->
|
||||
Reporting --> Tickets`. Then, click on the :guilabel:`Filters` menu and choose :guilabel:`Add
|
||||
Custom filter`. Next, set the custom filter parameters to :guilabel:`Closed by partner` and
|
||||
:guilabel:`is true`. Finally, click :guilabel:`Apply`.
|
||||
|
||||
.. image:: close_tickets/closetickets5.png
|
||||
:align: center
|
||||
:height: 300
|
||||
:alt: Reports on Ticket closing in Odoo Helpdesk
|
||||
.. image:: close_tickets/closed-by-search-filter.png
|
||||
:alt: Filter for tickets closed by customers on Odoo Helpdesk's reporting page.
|
||||
|
|
|
|||
|
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |