Compare commits

...

17 Commits

Author SHA1 Message Date
KC (ksc)
2c83938803 [IMP] surveys:update get started docs
X-original-commit: 3cf6e25f06
2023-01-26 17:46:58 +01:00
Donatienne Pirlot
f2d8b2796d [IMP] : accounting : manage a financial budget documentation
closes odoo/documentation#3400

X-original-commit: 78d3cf489a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-01-26 08:19:10 +01:00
Jess Rogers (jero)
2cf6eeb953 [IMP] helpdesk: close_ticket.rst cleanup
closes odoo/documentation#3387

X-original-commit: 8396c2a4ad
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-01-24 20:09:50 +01:00
Nishant Jain (niai)
fbf63527c8 [ADD] accounting/l10n: add section about E-waybill (India)
closes odoo/documentation#3394

X-original-commit: 97e914b340
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-24 19:03:42 +01:00
Victor Feyens
c1da9bbf11 [ADD] finance: explain how to disable online invoice payment
closes odoo/documentation#3390

X-original-commit: 55a96bbe51
Related: odoo/odoo#110764
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-01-24 12:24:51 +01:00
LoredanaLrpz
1a4a9cc5d6 [ADD] knowledge: main, editing and properties pages
Task ID: 3035887

closes odoo/documentation#3389

X-original-commit: 8796ff1310
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-24 09:12:17 +01:00
LoredanaLrpz
246905ab12 [IMP] POS: improve and update the barcode page (text & screenshots)
Task ID: 3004918

closes odoo/documentation#3368

X-original-commit: 8138b95b0b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-20 14:59:42 +01:00
nle-odoo
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: f7b1f66b8c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2023-01-20 13:50:59 +01:00
pedrambiria
5a39a14721 [FW][FIX] productivity/outlook: correct link for plugin installation
Forward-port of a8c58815f3 for 16.0+

closes odoo/documentation#3373

Forward-port-of: odoo/documentation#3349
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-01-20 10:48:30 +01:00
Antoine Vandevenne (anv)
de2e27f62e [IMP] supported_versions: add end of support dates for SaaS versions
closes odoo/documentation#3369

X-original-commit: ebce333c73
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-19 17:50:01 +01:00
Jonathan Castillo (jcs)
06f105215c [ADD] accounting: configuration of silverfin integration
task-2918697

closes odoo/documentation#3358

X-original-commit: 7f6535dcc8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-18 20:04:28 +01:00
fdardenne
906ec0988d [FIX] developer: remove merge text in chapter 6
closes odoo/documentation#3351

X-original-commit: a70665ef34
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 16:40:43 +01:00
Sam Lieber (sali)
9cc91f99e9 [FW][ADD] maintain: connect office365 with azure oauth
closes odoo/documentation#3350

X-original-commit: 5b9d1cba2a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-18 16:40:40 +01:00
Wesley Kao (weka)
8fb3e7dc52 [IMP] MRP: edited semi-finished products user doc
closes odoo/documentation#3339

X-original-commit: 79e08557d3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-17 10:43:18 +01:00
Ray Carnes
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: 4d3a10e8cd
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-01-16 20:49:08 +01:00
Xavier BOL (xbo)
7e1eabfddb [IMP] backend: add groups_draggable option in kanban view
Related PR: odoo/odoo#97447

task-2941335

closes odoo/documentation#3335

X-original-commit: f51633fdd5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-16 19:32:47 +01:00
Antoine Vandevenne (anv)
50908eb7f3 [REL] freeze saas-16.1 2023-01-16 17:00:44 +01:00
109 changed files with 1422 additions and 396 deletions

View File

@@ -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)

View File

@@ -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",

View File

@@ -7,6 +7,7 @@ Maintain
.. toctree::
maintain/domain_names
maintain/azure_oauth
maintain/google_oauth
maintain/mailjet_api
maintain/update

View 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`

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -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

View File

@@ -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) |
+-----------------+-------------+----------+-------------+----------------+------------------------+

View File

@@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@@ -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
Lets 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 dont want to spend more than 700.
First, we need to define what accounts relate to our projects 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.
Lets 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -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

View File

@@ -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.

View File

@@ -9,3 +9,4 @@ Reporting
reporting/overview
reporting/declarations
reporting/silverfin

View File

@@ -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`

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -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
===========================

View File

@@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -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.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

View File

@@ -1,35 +1,56 @@
===============
Scoring Surveys
Scoring surveys
===============
To measure your respondents 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 surveys 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 questions
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`

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View File

@@ -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`

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -8,6 +8,7 @@ Productivity
.. toctree::
productivity/discuss
productivity/knowledge
productivity/iot
productivity/mail_plugins
productivity/studio

View 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

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 KiB

View 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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

View File

@@ -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

View File

@@ -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.

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -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
============================

View File

@@ -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`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

View File

@@ -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.

Some files were not shown because too many files have changed in this diff Show More