Compare commits
4 Commits
17.0-crm-m
...
17.0-sourc
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
bdaf736eef | [IMP] on_premise: update version number in source install | ||
|
|
83d105c067 |
[ADD] CRM: Merge Leads and Opps
closes odoo/documentation#8428 Signed-off-by: Jessica Rogers (jero) <jero@odoo.com> Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com> Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com> |
||
|
|
79289bf99b |
[IMP] supported_versions: release saas-17.2
closes odoo/documentation#8497
X-original-commit:
|
||
|
|
ee2cfe2bb5 |
[ADD] Manufacturing: Shop Floor time tracking
closes odoo/documentation#8432 Signed-off-by: Samuel Lieber (sali) <sali@odoo.com> |
1
conf.py
|
|
@@ -213,6 +213,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.
|
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||||
versions_names = {
|
versions_names = {
|
||||||
'master': "Master",
|
'master': "Master",
|
||||||
|
'saas-17.2': "Odoo Online",
|
||||||
'saas-17.1': "Odoo Online",
|
'saas-17.1': "Odoo Online",
|
||||||
'17.0': "Odoo 17",
|
'17.0': "Odoo 17",
|
||||||
'saas-16.4': "Odoo Online",
|
'saas-16.4': "Odoo Online",
|
||||||
|
|
|
||||||
|
|
@@ -144,7 +144,7 @@ Odoo requires **Python 3.10** or later to run.
|
||||||
to download and install Python 3 if needed.
|
to download and install Python 3 if needed.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
If Python 3 is already installed, make sure that the version is 3.7 or above, as previous
|
If Python 3 is already installed, make sure that the version is 3.10 or above, as previous
|
||||||
versions are not compatible with Odoo.
|
versions are not compatible with Odoo.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
|
||||||
|
|
@@ -31,6 +31,12 @@ This matrix shows the support status of every version.
|
||||||
- On-Premise
|
- On-Premise
|
||||||
- Release date
|
- Release date
|
||||||
- End of support
|
- End of support
|
||||||
|
* - Odoo saas~17.2
|
||||||
|
- |green|
|
||||||
|
- N/A
|
||||||
|
- N/A
|
||||||
|
- April 2024
|
||||||
|
-
|
||||||
* - Odoo saas~17.1
|
* - Odoo saas~17.1
|
||||||
- |green|
|
- |green|
|
||||||
- N/A
|
- N/A
|
||||||
|
|
|
||||||
|
|
@@ -8,3 +8,4 @@ Shop Floor
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
|
||||||
shop_floor/shop_floor_overview
|
shop_floor/shop_floor_overview
|
||||||
|
shop_floor/shop_floor_tracking
|
||||||
|
|
|
||||||
|
|
@@ -0,0 +1,119 @@
|
||||||
|
========================
|
||||||
|
Shop Floor time tracking
|
||||||
|
========================
|
||||||
|
|
||||||
|
.. |MO| replace:: :abbr:`MO (Manufacturing Order)`
|
||||||
|
.. |MOs| replace:: :abbr:`MOs (Manufacturing Orders)`
|
||||||
|
|
||||||
|
By signing in to the Odoo *Shop Floor* module as *operators*, employees are able to track the amount
|
||||||
|
of time they spend working on each work order.
|
||||||
|
|
||||||
|
Odoo tracks the time it takes to complete each work order, as well as the time each operator spends
|
||||||
|
on each work order.
|
||||||
|
|
||||||
|
Operator sign in
|
||||||
|
================
|
||||||
|
|
||||||
|
To sign in to the *Shop Floor* module as an operator, sign in to the Odoo database, and open the
|
||||||
|
:menuselection:`Shop Floor` module. The employee profile that is signed in to the database is
|
||||||
|
automatically signed in as an operator.
|
||||||
|
|
||||||
|
All active operators are listed in the operator panel on the left side of the module. The panel can
|
||||||
|
be opened or collapsed by clicking the :guilabel:`show/hide panel (white square with black column on
|
||||||
|
left side)` button, located in the top-left corner of the module.
|
||||||
|
|
||||||
|
.. image:: shop_floor_tracking/operator-panel.png
|
||||||
|
:align: center
|
||||||
|
:alt: The operator panel in the Shop Floor module, with the show/hide panel button above it.
|
||||||
|
|
||||||
|
To sign in to *Shop Floor* as a different employee, click the :guilabel:`+ Add Operator` button at
|
||||||
|
the bottom of the panel. Doing so opens the :guilabel:`Select Employee` pop-up window, which lists
|
||||||
|
every employee that is able to sign in to the module.
|
||||||
|
|
||||||
|
Click on a specific employee to sign in using their profile. If no PIN code is required to sign in
|
||||||
|
as that employee, the profile will be signed in automatically.
|
||||||
|
|
||||||
|
If a PIN code is required, a :guilabel:`Password?` pop-up window appears, showing a number pad, from
|
||||||
|
which the code can be entered. Enter the code using the number pad, and click :guilabel:`Confirm` to
|
||||||
|
sign in to the *Shop Floor* module.
|
||||||
|
|
||||||
|
.. image:: shop_floor_tracking/pin-code.png
|
||||||
|
:align: center
|
||||||
|
:alt: The "Password?" pop-up window, which is used to enter an operator PIN code.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
A PIN code can be set for each employee, which must be entered each time they sign in to the
|
||||||
|
*Shop Floor* module, check in or out in the *Kiosk Mode* of the *Attendances* application, or
|
||||||
|
sign in as a cashier in the *Point of Sale* application.
|
||||||
|
|
||||||
|
To set an employee PIN, navigate to the :menuselection:`Employees` app, and select a specific
|
||||||
|
employee. At the bottom of the employee's form, click on the :guilabel:`HR Settings` tab, and
|
||||||
|
enter a numerical code in the :guilabel:`PIN Code` field.
|
||||||
|
|
||||||
|
Once an employee is signed in to the module, their name appears in the operator panel, along with
|
||||||
|
every other employee that has signed in. While the panel can list multiple employees, only one
|
||||||
|
employee can be active at any given time, on a single instance of the *Shop Floor* module.
|
||||||
|
|
||||||
|
Click on an employee's name to make their profile active. The active employee appears highlighted
|
||||||
|
in blue, while employees that are signed in, but not active, have their names faded out.
|
||||||
|
|
||||||
|
To sign out a specific employee from the module, click the :guilabel:`X (remove)` button next to
|
||||||
|
their name, in the operator panel.
|
||||||
|
|
||||||
|
Track work order duration
|
||||||
|
=========================
|
||||||
|
|
||||||
|
To track time spent working on a work order, begin by selecting the employee working on it from the
|
||||||
|
operator panel.
|
||||||
|
|
||||||
|
Next, navigate to the page for the work center where the work order is scheduled to be carried out.
|
||||||
|
This can be done by selecting the work center from the top navigation in the *Shop Floor* module, or
|
||||||
|
by clicking the name of the work center on the card for the manufacturing order (MO) that the work
|
||||||
|
order is a part of.
|
||||||
|
|
||||||
|
On the page for the work center, find the card for the work order. Once work begins, click the
|
||||||
|
header of the work order card to start timing the duration it takes to complete. This duration is
|
||||||
|
displayed by a timer on the header of the work order card, which tracks the collective time spent
|
||||||
|
working on the work order, by all employees.
|
||||||
|
|
||||||
|
.. image:: shop_floor_tracking/work-order-timer.png
|
||||||
|
:align: center
|
||||||
|
:alt: A work order card with an active timer.
|
||||||
|
|
||||||
|
In addition, the reference number of the work order appears in the operator panel, under the name of
|
||||||
|
the employee working on it, along with a second timer, which tracks the amount of time the employee
|
||||||
|
has spent on the work order individually. This timer only reflects work done during the current
|
||||||
|
session, even if the employee has previously worked on the work order.
|
||||||
|
|
||||||
|
Employees are able to work on multiple work orders simultaneously, and track their time for each.
|
||||||
|
The reference number for each work order being worked on appears below the employee's name, along
|
||||||
|
with a timer.
|
||||||
|
|
||||||
|
.. image:: shop_floor_tracking/employee-timer.png
|
||||||
|
:align: center
|
||||||
|
:alt: An employee card in the operator panel, showing two work order timers.
|
||||||
|
|
||||||
|
To pause the timer on the work order card, and remove the work order from below the employee's name
|
||||||
|
on the operator panel, click the header a second time.
|
||||||
|
|
||||||
|
Once the work order is completed, click the :guilabel:`Mark as Done` button at the bottom of the
|
||||||
|
work order card, which causes the card to fade away. If the timer is still active, it stops once the
|
||||||
|
card disappears completely.
|
||||||
|
|
||||||
|
View work order duration
|
||||||
|
========================
|
||||||
|
|
||||||
|
To view the duration of a work order, navigate to :menuselection:`Manufacturing app --> Operations
|
||||||
|
--> Manufacturing Orders`, and select an |MO|.
|
||||||
|
|
||||||
|
To view and select |MOs| that have been completed and marked as *Done*, remove the :guilabel:`To Do`
|
||||||
|
filter from the :guilabel:`Search...` bar, by clicking on the :guilabel:`X (close)` button on the
|
||||||
|
right side of the filter.
|
||||||
|
|
||||||
|
On the page for the |MO|, click on the :guilabel:`Work Orders` tab to see a list of all work orders
|
||||||
|
included in the |MO|. The time it took to complete each work order is displayed in the
|
||||||
|
:guilabel:`Real Duration` column of the tab.
|
||||||
|
|
||||||
|
The *Real Duration* represents the total time spent working on the work order by all workers who
|
||||||
|
worked on it. It includes time tracked in the *Shop Floor* module, as well as time tracked on the
|
||||||
|
:guilabel:`Work Orders` tab of the |MO| itself.
|
||||||
|
After Width: | Height: | Size: 3.3 KiB |
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 4.5 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
|
@@ -9,3 +9,4 @@ Organize the pipeline
|
||||||
|
|
||||||
pipeline/lost_opportunities
|
pipeline/lost_opportunities
|
||||||
pipeline/multi_sales_team
|
pipeline/multi_sales_team
|
||||||
|
pipeline/merge_similar
|
||||||
|
|
|
||||||
115
content/applications/sales/crm/pipeline/merge_similar.rst
Normal file
|
|
@@ -0,0 +1,115 @@
|
||||||
|
=====================================
|
||||||
|
Merge similar leads and opportunities
|
||||||
|
=====================================
|
||||||
|
|
||||||
|
Odoo automatically detects similar *leads* and *opportunities* within the *CRM* app. Identifying
|
||||||
|
these duplicated records allows them to be merged without losing any information in the process.
|
||||||
|
Not only does this help keep the *pipeline* organized, but it also prevents customers from being
|
||||||
|
contacted by more than one salesperson.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When merging opportunities, no information is lost. Data from the other opportunity is logged in
|
||||||
|
the chatter, and the information fields, for reference.
|
||||||
|
|
||||||
|
Identify similar leads and opportunities
|
||||||
|
========================================
|
||||||
|
|
||||||
|
Similar leads and opportunities are identified by comparing the *email address* and *phone number*
|
||||||
|
of the associated contact. If a similar lead/opportunity is found, a *Similar Leads* smart button
|
||||||
|
appears at the top of the lead (or opportunity) record.
|
||||||
|
|
||||||
|
.. image:: merge_similar/similar-smart-button.png
|
||||||
|
:align: center
|
||||||
|
:alt: An opportunity record with emphasis on the Similar Leads smart button.
|
||||||
|
|
||||||
|
Comparing similar leads and opportunities
|
||||||
|
-----------------------------------------
|
||||||
|
|
||||||
|
To compare the details of similar leads/opportunities, navigate to :menuselection:`CRM app -->
|
||||||
|
Pipeline` or :menuselection:`CRM app --> Leads`. Open a lead or opportunity, and click the
|
||||||
|
Doing so opens a Kanban view that only displays similar leads/opportunities. Click on a card to view
|
||||||
|
the details for the lead/opportunity, and confirm if they should be merged.
|
||||||
|
|
||||||
|
Merging similar leads and opportunities
|
||||||
|
=======================================
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
When merging, Odoo gives priority to whichever lead/opportunity was created in the system first,
|
||||||
|
merging the information into the first created lead/opportunity. However, if a lead and an
|
||||||
|
opportunity are being merged, the resulting record is referred to as an opportunity, regardless
|
||||||
|
of which record was created first.
|
||||||
|
|
||||||
|
After confirming that the leads/opportunities should be merged, return to the Kanban view using the
|
||||||
|
breadcrumb link, or by clicking the :guilabel:`Similar Leads` smart button. Click the :guilabel:`≣
|
||||||
|
(view list)` icon to change to list view.
|
||||||
|
|
||||||
|
Check the box on the left of the page for the leads/opportunities to be merged. Then, click the
|
||||||
|
:guilabel:`⚙️ Actions` icon at the top of the page, to reveal a drop-down menu. From that drop-down
|
||||||
|
menu, select the :guilabel:`Merge` option to merge the selected opportunities or leads.
|
||||||
|
|
||||||
|
When :guilabel:`Merge` is selected from the :guilabel:`⚙️ Actions` drop-down menu, a
|
||||||
|
:guilabel:`Merge` pop-up modal appears. In that pop-up modal, under the :guilabel:`Assign
|
||||||
|
opportunities to` heading, select a :guilabel:`Salesperson` and :guilabel:`Sales Team` from the
|
||||||
|
appropriate drop-down menus.
|
||||||
|
|
||||||
|
Below those fields, the leads/opportunities to merge are listed, along with their related
|
||||||
|
information. To merge those selected leads/opportunities, click :guilabel:`Merge`.
|
||||||
|
|
||||||
|
.. image:: merge_similar/select-merge.png
|
||||||
|
:align: center
|
||||||
|
:alt: List of similar leads and opportunities selected for merge in the CRM app.
|
||||||
|
|
||||||
|
.. danger::
|
||||||
|
Merging is an irreversible action. Do **not** merge leads/opportunities unless absolutely certain
|
||||||
|
they should be combined.
|
||||||
|
|
||||||
|
When leads/opportunities should not be merged
|
||||||
|
=============================================
|
||||||
|
|
||||||
|
There may be instances where a similar lead or opportunity is identified, but should *not* be
|
||||||
|
merged. These circumstances vary, based on the processes of the sales team and organization. Some
|
||||||
|
potential scenarios are listed below.
|
||||||
|
|
||||||
|
Lost leads
|
||||||
|
----------
|
||||||
|
|
||||||
|
If a lead/opportunity has been marked as :doc:`lost <lost_opportunities>`, it can still be merged
|
||||||
|
with an active lead or opportunity. The resulting lead/opportunity is marked active, and added to
|
||||||
|
the pipeline.
|
||||||
|
|
||||||
|
Different contact within an organization
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
Leads/opportunities from the same organization, but with different points of contact, may not have
|
||||||
|
the same needs. In this case, it is beneficial to *not* merge these records, though assigning the
|
||||||
|
same salesperson, or sales team, can prevent duplicated work and miscommunication.
|
||||||
|
|
||||||
|
Existing duplicates with more than one salesperson
|
||||||
|
--------------------------------------------------
|
||||||
|
|
||||||
|
If more than one lead/opportunity exists in the database, there may be multiple salespeople assigned
|
||||||
|
to them, who are actively working on them independently. While these leads/opportunities may need
|
||||||
|
to be managed separately, it is recommended that any affected salespeople be tagged in an internal
|
||||||
|
note for visibility.
|
||||||
|
|
||||||
|
Contact information is similar but not exact
|
||||||
|
--------------------------------------------
|
||||||
|
|
||||||
|
Similar leads and opportunities are identified by comparing the email addresses and phone numbers of
|
||||||
|
the associated contacts. However, if the email address is *similar*, but not *exact*, they may need
|
||||||
|
to remain independent.
|
||||||
|
|
||||||
|
.. example::
|
||||||
|
Three different leads were added to the pipeline and assigned to different salespeople. They
|
||||||
|
were identified as *Similar Leads* due to the email addresses of the contacts.
|
||||||
|
|
||||||
|
Two of the leads appear to come from the same individual, `Robin`, and have identical email
|
||||||
|
addresses. These leads should be merged.
|
||||||
|
|
||||||
|
The third lead has the same email domain, but the address is different, as is the contact name.
|
||||||
|
While this lead is most likely from the same organization, it is from a different contact, and
|
||||||
|
should **not** be merged.
|
||||||
|
|
||||||
|
.. image:: merge_similar/contact-info-example.png
|
||||||
|
:align: center
|
||||||
|
:alt: List of similar leads with emphasis on the contact information in the CRM app.
|
||||||
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 22 KiB |