Compare commits

..

1 Commits

Author SHA1 Message Date
Jonathan bdaf736eef [IMP] on_premise: update version number in source install 2024-04-03 10:35:33 +02:00
491 changed files with 21896 additions and 66203 deletions
+61 -175
View File
@@ -1,214 +1,100 @@
=================================
Search, filter, and group records
=================================
=========================
Search and filter records
=========================
Odoo allows for the searching, filtering, and grouping of records in a view to display only the most
relevant records. The search bar is located at the top of the view, start typing to :ref:`search for
values <search/values>`, or click the :guilabel:`🔽 (down arrow)` icon to access the :ref:`Filter
<search/filters>`, :ref:`Group By <search/group>`, and :ref:`Favorites <search/favorites>` drop-down
menus.
.. _search/values:
Search for values
=================
Use the search field to quickly look for specific values, and add them as a filter. Type the value
to search for, and select the desired option from the drop-down menu to apply the search filter.
.. example::
Instead of adding a :ref:`custom filter <search/custom-filters>` to select records where
*Mitchell Admin* is the salesperson on the *Sales Analysis* report (:menuselection:`Sales app -->
Reporting --> Sales`), search for `Mitch`, and click the :guilabel:`⏵ (right arrow)` next to
:guilabel:`Search Salesperson for: Mitch`, and select :guilabel:`Mitchell Admin`.
.. image:: search/search-values.png
:align: center
:alt: Searching for a specific value on the Sales Analysis report
.. note::
Using the search field is equivalent to using the *contains* operator when adding a :ref:`custom
filter <search/custom-filters>`. If a partial value is entered, and the desired field is directly
selected (without selecting the :guilabel:`⏵ (right arrow)`), *all* records containing the typed
characters for the selected field are included.
.. _search/filters:
Filters
=======
Filters are used to select records that meet specific criteria. The default selection of records is
specific to each view, but can be modified by selecting one (or several) :ref:`preconfigured filters
<search/preconfigured-filters>`, or by adding a :ref:`custom filter <search/custom-filters>`.
Odoo uses filters to include only the most relevant records depending on the purpose of the view you
are on. However, you can edit the default filter or search for specific values.
.. _search/preconfigured-filters:
Preconfigured filters
---------------------
=====================
Modify the default selection of records by clicking the :guilabel:`🔽 (down arrow)` icon from the
search bar, and selecting one (or several) *preconfigured filters* from the :guilabel:`Filters`
drop-down menu.
You can modify the default selection of records by clicking :guilabel:`Filters` and selecting one or
several **preconfigured filters**.
.. example::
On the *Sales Analysis* report (:menuselection:`Sales app --> Reporting --> Sales`), only records
that are at the *sales order* stage, with an *order date* within the last 365 days, are selected
by default.
To also include records at the *quotation* stage, select :guilabel:`Quotations` from the
:guilabel:`Filters`.
Furthermore, to *only* include sales order and quotation records from a specific year, like
2024, for example, first remove the existing `Order Date: Last 365 Days` filter, by clicking the
:guilabel:`❌ (remove)` icon, then select :menuselection:`Order Date --> 2024`.
On the Sales Analysis report, only records at the sales order stage are selected by default.
However, you could *also* include records at the quotation stage by selecting
:guilabel:`Quotations`. Furthermore, you could *only* include records from a specific year, for
example *2022*, by selecting :menuselection:`Order Date --> 2022`.
.. image:: search/preconfigured-filters.png
:align: center
:alt: Using preconfigured filters on the Sales Analysis report
.. note::
The preconfigured :guilabel:`Filters` are grouped, and each group is separated by a horizontal
line. Selecting preconfigured filters from the same group allows records to match *any* of the
applied conditions. However, selecting filters from different groups requires records to match
*all* of the applied conditions.
If you select preconfigured filters from the same group (i.e., that are *not* separated by an
horizontal line), the records can match *any* condition to be included. However, if you select
filters from different groups, the records have to match *all* condition to be included.
.. _search/custom-filters:
Custom filters
--------------
==============
If the :ref:`preconfigured filters <search/preconfigured-filters>` are not specific enough, add a
custom filter. To do so, click the :guilabel:`🔽 (down arrow)` icon in the search bar, then select
:menuselection:`Filters --> Add Custom Filter`.
The :guilabel:`Add Custom Filter` pop-up window displays the matching option, filter rule, and a
toggle to :guilabel:`Include archived` records.
.. image:: search/custom-filter.png
:align: center
:alt: The Add Custom Filter pop-up window.
The default matching configuration is to :guilabel:`Match any of the following rules`, indicating
that each filter rule is applied independently. To change the matching configuration to
:guilabel:`Match all of the following rules`, at least two filter rules must be added to the custom
filter.
- :guilabel:`Match all 🔽 of the following rules`: **all** of the filter rules must be met.
Logically, this is an *AND* (`&`) operation.
- :guilabel:`Match any 🔽 of the following rules`: **any** of the filter rules can be met.
Logically, this is an *OR* (`|`) operation.
By default, a single filter rule is added to the custom filter. The following describes the
structure of a filter rule:
#. The first inline field is the *field name* to filter by. Some fields have refined parameters that
are nested within another field. These fields have an :guilabel:`> (arrow)` icon beside them,
which can be selected to reveal the nested fields.
#. The second inline field is the conditional *operator* used to compare the field name to the
value. The :ref:`available conditional operators <reference/orm/domains>` are specific to the
field's data type.
#. The third inline field is the variable *value* of the field name. The value input may appear as a
drop-down menu, a text input, a number input, a date/time input, a boolean selector, or it may be
blank, depending on the operator used and the field's data type.
Three inline buttons are also available to the right of the rule's filter criteria:
#. :guilabel:` (plus sign)`: adds a new rule below the existing rule.
#. :guilabel:`(Add branch)`: adds a new group of rules below the existing rule, with the
:guilabel:`any` and :guilabel:`all` matching options available to define how each rule within
this branch is applied to the filter. If the matching option is set to the same as the parent
group, the fields are moved to join the parent group.
.. example::
If the matching option is set to :guilabel:`Match all 🔽 of the following rules`, and a new
branch is added with its matching option changed from :guilabel:`any 🔽 of` to :guilabel:`all
🔽 of`, the newly-added branch disappears, and its group of rules are moved to the parent
group.
#. :guilabel:`🗑️ (garbage can)`: deletes the node. If a branch node is deleted, all children of
that node are deleted, as well.
A new filter rule can be added to the custom filter by clicking the :guilabel:`New Rule` button.
Once the filter criteria are defined, click :guilabel:`Add` to add the custom filter to the view.
You can create custom filters using most fields present on the model by clicking
:menuselection:`Filters --> Add Custom Filter`, selecting a field, an operator, a value, and
clicking :guilabel:`Apply`.
.. example::
To target all leads and opportunities from the :menuselection:`CRM` app that are in the *Won*
stage, and have an expected revenue greater than $1,000, the following should be entered:
You could *only* include records from a single salesperson on the Sales Analysis report, for
example *Mitchell Admin*, by selecting :guilabel:`Salesperson` as the field, :guilabel:`is equal
to` as the operator, and typing `Mitchell Admin` as the value.
:guilabel:`Match all 🔽 (down arrow) of the following rules:`
#. :guilabel:`Stage` :guilabel:`is in` :guilabel:`Won`
#. :guilabel:`Expected Revenue` :guilabel:`>` `1,000`
#. :guilabel:`any 🔽 (down arrow)` :guilabel:`of:`
- :guilabel:`Type` :guilabel:`=` :guilabel:`Lead`
- :guilabel:`Type` :guilabel:`=` :guilabel:`Opportunity`
.. image:: search/custom-filter-example.png
.. image:: search/custom-filter.png
:align: center
:alt: Adding a custom filter to filter specific records in CRM.
:alt: Using a custom filter on the Sales Analysis report
.. tip::
Activate :ref:`developer-mode` to reveal each field's technical name and data type, as well as
the :guilabel:`# Code editor` text area below the filter rules, to view and edit the domain
manually.
.. note::
If the records should *only* match one of several conditions, click :guilabel:`Add a condition`
before applying a custom filter. If the records should match *all* conditions, add new custom
filters instead.
.. _search/values:
Search for values
=================
You can use the search field to quickly look for specific values and add them as a filter. Either
type the full value you are searching for and select the desired field, or type a part of the
value, click the dropdown button (:guilabel:`⏵`) before the chosen field, and select the exact
value you are looking for.
.. example::
Instead of adding a custom filter to select records where *Mitchell Admin* is the salesperson on
the Sales Analysis report, you could search for `Mitch`, click the dropdown button
(:guilabel:`⏵`) next to :guilabel:`Search Salesperson for: Mitch`, and select
:guilabel:`Mitchell Admin`.
.. image:: search/search-values.png
:align: center
:alt: Searching for a specific value on the Sales Analysis report
.. note::
Using the search field is equivalent to using the *contains* operator when adding a custom
filter. If you enter a partial value and directly select the desired field, *all* records
containing the characters you typed for the selected field will be included.
.. _search/group:
Group records
=============
The display of records in a view can be clustered together, according to one of the *preconfigured
groups*. To do so, click the :guilabel:`🔽 (down arrow)` icon in the search bar, then select one of
the :guilabel:`Group By` options from the drop-down menu.
You can click :guilabel:`Group By` below the search field to cluster records together according to
one of the **preconfigured groups**.
.. example::
To group the records by salesperson on the *Sales Analysis* report (:menuselection:`Sales app -->
Reporting --> Sales`), click the :guilabel:`Salesperson` option from the :guilabel:`Group By`
drop-down menu. The view changes to group the records by salesperson, without filtering out any
records.
You could group the records by salesperson on the Sales Analysis report by clicking
:guilabel:`Group By` and selecting :guilabel:`Salesperson`. No records are filtered out.
.. image:: search/group.png
:align: center
:alt: Grouping records on the Sales Analysis report
It is possible to *customize groups* by using a field present on the model. To do so, click
:menuselection:`Add Custom Group`, and select a field from the drop-down menu.
You can **customize groups** by using a wide selection of fields present on the model. To do so,
click :menuselection:`Group By --> Add Custom Group`, select a field, and click :guilabel:`Apply`.
.. note::
Several groups can be used at the same time. The first group that is selected is the main
cluster, the next one that is added further divides the main group's categories, and so on.
Furthermore, filters and groups can be used together to refine the view even more.
.. _search/favorites:
Favorites
=========
Favorites are a way to save a specific search for future use, or as the new default filter for the
view.
To save the current view as a favorite, click the :guilabel:`🔽 (down arrow)` icon in the search
bar, then select the :guilabel:`Save current search` drop-down menu to display the following
options:
- Filter name: name of the favorited search.
- :guilabel:`Default filter`: sets the favorited search as the default filter for the view.
- :guilabel:`Shared`: makes the favorited search available to all users. By default, the favorited
search is only available to the user who created it.
Once the options are set, click :guilabel:`Save` to save the favorited search.
.. image:: search/favorites.png
:align: center
:alt: Saving a favorite search on the Sales Analysis report
Saved favorites can be accessed by clicking the :guilabel:`🔽 (down arrow)` icon in the search bar,
then selecting the saved filter in the :guilabel:`Favorites` drop-down menu. To remove a saved
favorite, click the :guilabel:`🗑️ (garbage can)` icon next to the favorited search.
.. tip::
To view *all* favorited searches, first activate :ref:`developer-mode`, and navigate to
:menuselection:`Settings app --> Technical --> User Interface: User-defined Filters`. From here,
all favorited searches can be viewed, edited, archived, or deleted.
You can use several groups at the same time. The first group you select is the main cluster, the
next one you add further divides the main group's categories, and so on.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 16 KiB

@@ -27,19 +27,11 @@ Odoo supports multiple file formats to import transactions:
- Quicken Interchange Format (.QIF);
- Belgium: Coded Statement of Account (.CODA).
To import a file, go to the **Accounting Dashboard**, and in the :guilabel:`Bank` journal,
click on :guilabel:`Import File`.
To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal,
click on :guilabel:`Import Transactions`.
.. tip::
Alternatively, you can also:
- click :guilabel:`⋮` on the :guilabel:`Bank` journal and select :guilabel:`Import file`;
- or access the transaction list by clicking :guilabel:`⋮` on the :guilabel:`Bank` journal and
selecting :guilabel:`Transactions`, then click the gear icon :guilabel:`(⚙)` and select
:guilabel:`Import records`.
.. image:: transactions/import-transactions.png
:alt: Import bank transactions from the bank journal
.. image:: transactions/import-transactions.png
:alt: Import bank transactions from the bank journal
Next, select the file and upload it.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 11 KiB

@@ -55,8 +55,7 @@ Generate deferral entries on validation
.. tip::
Make sure the :guilabel:`Start Date` and :guilabel:`End Date` fields are visible in the
:guilabel:`Invoice Lines` tab. In most cases, the :guilabel:`Start Date` should be in the same
month as the :guilabel:`Invoice Date`. Deferred revenue entries are posted from the invoice
date and are displayed in the report accordingly.
month as the :guilabel:`Invoice Date`.
For each line of the invoice that should be deferred, specify the start and end dates of the
deferral period.
@@ -36,8 +36,8 @@ your customers address is set correctly, including the country, before sendin
<developer-mode>`, go to :menuselection:`General Settings --> Technical --> Reporting
section: Paper Format`.
- A square of **15mm by 15mm** on the bottom left corner has to stay clear.
- The postage area has to stay clear (:download:`download the snailmail PDF template
<snailmail/snailmail-template.pdf>` for more details).
- The postage area has to stay clear (click :download:`here <snailmail/snailmail-template.pdf>`
to get more info about the area).
- Pingen (Odoo Snailmail service provider) scans the area to process the address, so if something
gets written outside the area, it is not counted as part of the address.
@@ -51,5 +51,7 @@ To buy stamps, go to :menuselection:`Accounting --> Configuration --> Settings -
invoices: Snailmail`, click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> In-App
Purchases: Odoo IAP`, and click on :guilabel:`View my Services`.
.. seealso::
`Odoo's IAP Privacy Policy <https://iap.odoo.com/privacy#header_4>`_
.. tip::
- If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits
to test the feature.
- Click `here <https://iap.odoo.com/privacy#header_4>`_ to know about our *Privacy Policy*.
@@ -55,8 +55,7 @@ Generate deferral entries on validation
.. tip::
Make sure the :guilabel:`Start Date` and :guilabel:`End Date` fields are visible in the
:guilabel:`Invoice Lines` tab. In most cases, the :guilabel:`Start Date` should be in the same
month as the :guilabel:`Bill Date`. Deferred expense entries are posted from the bill date and
are displayed in the report accordingly.
month as the :guilabel:`Bill Date`.
For each line of the bill that should be deferred, specify the start and end dates of the deferral
period.
@@ -61,21 +61,6 @@ localization:
<../accounting/customer_invoices/electronic_invoicing>`, based on the Technical
documentation published by the SRI. The authorized documents are: Invoices, Credit Notes,
Debit Notes, Withholdings and Purchase liquidations.
* - :guilabel:`Ecuadorian Accounting Reports`
- `l10n_ec_reports`
- Includes all the technical and functional requirements to generate forms 103 and 104.
* - :guilabel:`Ecuador - ATS Report`
- `l10n_ec_reports_ats`
- Includes all the technical and functional requirements to generate the ATS report XML file
ready to be uploaded to the *DIMM Formularios*.
* - :guilabel:`Ecuadorian Website`
- `l10n_ec_website_sale`
- Includes all the technical and functional requirements to generate automatic electronic
invoices from a Website sale.
* - :guilabel:`Ecuadorian Point of Sale`
- `l10n_ec_edi_pos`
- Includes all the technical and functional requirements to generate automatic electronic
invoices from a PoS sale.
.. note::
When you install a database from scratch selecting `Ecuador` as the country, Odoo automatically
@@ -96,13 +96,6 @@ Periodic submission to HMRC
Import your obligations HMRC, filter on the period you want to submit, and send your tax report by
clicking :guilabel:`Send to HMRC`.
.. tip::
You can use dummy credentials to demo the HMRC flow. To do so, activate the
:ref:`developer mode <developer-mode>` and go to :menuselection:`General Settings -->
Technical --> System Parameters`. From here, search for `l10n_uk_reports.hmrc_mode` and change
the value line to `demo`. You can get such credentials from the `HMRC Developer Hub
<https://developer.service.hmrc.gov.uk/api-test-user>`_.
Periodic submission to HMRC for multi-company
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+79 -196
View File
@@ -4,196 +4,89 @@
Companies
=========
A centralized management environment allows an administrator to select multiple companies
simultaneously, and set their specific warehouses, customers, equipment, and contacts. It provides
the ability to generate reports of aggregated figures without switching interfaces, which
facilitates daily tasks, and enhances the overall management process.
.. danger::
Utilizing a multi-company environment in an Odoo database warrants a subscription change from
*Standard* (or *One App Free*) to a *Custom* plan. Should the administrator not migrate the
subscription to a *Custom* plan after adding another company, the database risks being
deactivated. For more information, consult the `Odoo Pricing page
<https://www.odoo.com/pricing-plan>`_.
If the customer is on the *Standard* plan, and adds multi-company functionality to the database,
it triggers an upsell for the *Custom* plan.
If they are on a *Yearly* or *Multi-year* contract, this creates an upsell order, with a 30-day
limit (risking deactivation). If multi-company functionality is fully removed within that time
period, the next time the database pings, the upsell order and limit are removed automatically.
If the customer is on a *Monthly* contract, once the next bill is created, and multi-company
functionality is still detected while they are on a *Standard* plan, they are automatically
switched, and billed on the *Custom* plan.
Should the customer want to go back to *Standard*, the Customer Success Team **must** be
contacted.
To create a new company, navigate to :menuselection:`Settings app --> Companies section`, and click
:guilabel:`Manage Companies`. Then, click :guilabel:`New` to create a new company.
Proceed to fill out the new company form that appears.
.. tip::
To archive a company, navigate to :menuselection:`Settings app --> Companies section --> Manage
Companies`. Then, tick the checkbox to the left of the company to be archived. If the
:guilabel:`Companies` page is not in list view, click the :guilabel:`≣ (four bars)` icon, located
in the top-right corner of the page.
After selecting the appropriate company, click the :guilabel:`⚙️ Actions` icon, and select
:guilabel:`Archive` from the resulting drop-down menu.
To ensure all records related to the archived company are archived, contact Odoo's `Support Team
<https://www.odoo.com/help>`_.
Should a record not be archived, there is a risk of reactivating the archived company, and
creating the upsell again.
A centralized management environment allows you to select multiple companies simultaneously and set
their specific warehouses, customers, equipment, and contacts. It provides you the ability to
generate reports of aggregated figures without switching interfaces, which facilitates daily tasks
and the overall management process.
.. _companies/manage:
Manage companies and records
============================
Go to :menuselection:`Settings app --> Companies section --> Manage Companies`. Then, either click
:guilabel:`New`, and fill in the form with the company's information, or select a pre-existing
company to edit it.
Go to :menuselection:`Settings --> Manage Companies` and fill in the form with your companys
information. If a *Parent Company* is selected, records are shared between the two companies (as
long as both environments are active).
.. image:: companies/company-info.png
.. image:: companies/create_js_store_us.png
:align: center
:alt: Overview of a new company's form in Odoo.
:alt: Overview of a new company's form in Odoo
.. tip::
Activate the :ref:`developer mode <developer-mode>` to set social media accounts and
company-specific email system parameters. See this documentation on
:doc:`../marketing/social_marketing` and :ref:`email_servers/outbound`.
Activate the :ref:`developer mode <developer-mode>` to choose a *Favicon* for each of your
companies, and easily identify them by the browser tabs. Set your favicons files size to 16x16
or 32x32 pixels. JPG, PNG, GIF, and ICO are extensions accepted.
Companies also have a :guilabel:`Parent Company` set on the company form in :ref:`developer mode
<developer-mode>`.
Switch between companies
------------------------
Switch between (or select) multiple companies, by clicking on the company name, located in the
far-right corner of the header menu, anywhere throughout the database. Tick the checkboxes next to
the desired company name(s) to activate them. The highlighted company represents the current
environment that is in use. To switch environments, click on the desired company name.
.. example::
In the example below, the user has access to eight companies, two are activated, and the
environment the database is in belongs to: *My Company (San Francisco)*.
.. image:: companies/multi-companies-menu-dashboard.png
.. image:: companies/favicon.png
:align: center
:alt: View of the companies menu through the main dashboard in Odoo.
:height: 200
:alt: View of a web browser and the favicon for a specific company chosen in Odoo
Share records
-------------
Switch between or select multiple companies by enabling their selection boxes to activate them. The
grayed company is the one which environment is in use. To switch environments, click on the
companys name. In the example below, the user has access to three companies, two are activated, and
the environment in use is of *JS Store US*.
Data (such as, products, contacts, and equipment) can be shared, or set to be shown for a specific
.. image:: companies/multi_companies_menu_dashboard.png
:align: center
:alt: View of the companies menu through the main dashboard in Odoo
Data such as Products, Contacts, and Equipment can be shared or set to be shown for a specific
company only. To do so, on their forms, choose between:
- *A blank field*: the record is shared within all companies.
- *Adding a company*: the record is visible to users logged in to that specific company.
.. image:: companies/product-form-company.png
.. image:: companies/product_form_company.png
:align: center
:alt: View of a product's form emphasizing the company field in Odoo Sales.
:alt: View of a product's form emphasizing the company field in Odoo Sales
When an environment is selected from the top menu, along with an additional company, records are
shared between the two companies.
Employees' access
=================
Branches
========
Once companies are created, manage your employees' :doc:`Access Rights <users/access_rights>`
for *Multi Companies*.
Branches are available to add to a company. Branches can be added by navigating to
:menuselection:`Settings app --> Companies section --> Manage Companies`. Then, select the desired
company from the list. From the company detail form, open the :guilabel:`Branches` tab. To add a
branch, click :guilabel:`Add a line`, and fill out the :guilabel:`Create Branches` pop-up form that
appears.
.. image:: companies/add-branch.png
:align: center
:alt: Add a branch to a company with branches and add a line highlighted.
.. tip::
Activate the :ref:`developer mode <developer-mode>` to set social media accounts and
company-specific email system parameters. See this documentation on
:doc:`../marketing/social_marketing` and :ref:`email_servers/outbound`.
Branches also have a :guilabel:`Parent Company` set on the branch form in :ref:`developer mode
<developer-mode>`. Accounting and fiscal localizations for the branch are set on the
:guilabel:`Parent Company`. To do so, select the company from the *company selector* in the top
menu, and go to :menuselection:`Settings app --> Accounting --> Fiscal Localization`.
.. danger::
Adding a branch to a company triggers an upsell, should the database be in the *Standard* or
*One App Free* pricing plans. Adding one or more branches constitutes a multi-company database,
and needs to be moved to the *Custom* pricing plan.
For more information on pricing, see `Odoo's pricing <https://www.odoo.com/pricing-plan>`_ page.
Employee access
===============
Once companies are created, manage the employees' :doc:`Access Rights <users/access_rights>` for
*Multi Companies*.
To access the *Access Rights*, navigate to :menuselection:`Settings app --> Users section --> Manage
Users`.
From the :guilabel:`Users` page, select a user from the list to modify. Then, either change the
fields for :guilabel:`Allowed Companies` or :guilabel:`Default Company`.
Multiple companies can be set for :guilabel:`Allowed Companies`, and *only one* can be set as the
:guilabel:`Default Company`.
.. image:: companies/access-rights-multi-companies.png
.. image:: companies/access_rights_multi_companies.png
:align: center
:alt: View of an user form emphasizing the multi companies field under the access rights tabs
in Odoo.
in Odoo
If an administrator has multiple companies activated on the database, and is editing a record, the
editing occurs on the record's related company.
| If a user has multiple companies *activated* on his database, and he is **editing** a record,
the editing happens on the record's related company.
| Example: if editing a sale order issued under JS Store US while working on the JS Store Belgium
environment, the changes are applied under JS Store US (the company from which the sale order
was issued).
| When **creating** a record, the company taken into account is:
.. example::
If editing a sale order issued under `JS Store US`, while working on the `JS Store Belgium`
environment, the changes are applied under `JS Store US` (the company from which the sale order
was issued).
- The current company (the one active) or,
- No company is set (on products and contacts forms for example) or,
- The company set is the one linked to the document (the same as if a record is being edited).
When creating a record, the company taken into account is:
Documents format
=================
- The current company selected in the company selector, in the upper-right hand of the screen (the
one that is highlighted/active)
To set documents' formats according to each company, *activate* and *select* the respective one and,
under *Settings*, click on *Configure Document Layout*.
**OR**
- No company is set (because none is set on the product and contact forms, for example)
**OR**
- The company set is the company linked to the document (the same as if a record is being edited)
Document format
===============
To set document formats according to each company, *activate* and *select* the respective company,
and, under the :menuselection:`Settings app --> Companies section`, click on :guilabel:`Configure
Document Layout` and edit the information as needed.
.. image:: companies/document-layout.png
.. image:: companies/document_layout.png
:align: center
:alt: View of the settings page emphasizing the document layout field in Odoo.
:alt: View of the settings page emphasizing the document layout field in Odoo
:guilabel:`Company Details` can be edited on the document layout. By default, this field is
populated from the company information listed, when navigating here: :menuselection:`Settings app
--> Companies section --> Manage Companies`, and select a company from the list.
Inter-company transactions
Inter-Company Transactions
==========================
First, activate the :ref:`developer mode <developer-mode>`. Then, make sure each one of the
companies is properly set in relation to:
First, make sure each one of your companies is properly set in relation to:
- :doc:`Chart of Accounts <../finance/accounting/get_started/chart_of_accounts>`
- :doc:`Taxes <../finance/accounting/taxes>`
@@ -202,54 +95,44 @@ companies is properly set in relation to:
- :doc:`Fiscal Localizations <../finance/fiscal_localizations>`
- :doc:`Pricelists <../sales/sales/products_prices/prices/pricing>`
Next, navigate to :menuselection:`Settings app --> Companies section --> Manage Companies`. Then,
select the desired company from the list. On the company form, select the :guilabel:`Inter-Company
Transactions` tab, on the individual company's detail form.
Now, activate the *Inter-Company Transactions* option under *Settings*. With the respective company
*activated* and *selected*, choose if you would like operations between companies to be synchronized
at an invoice/bills level or at a sales/purchase orders level.
With the respective company activated and selected, choose one of the following :guilabel:`Rule`
options:
- :guilabel:`Do not synchronize`: do not synchronize any inter-company transactions.
- :guilabel:`Synchronized invoice/bills`: generates a bill/invoice when a company confirms a
bill/invoice for the selected company.
- :guilabel:`Synchronize Sales Order`: generates a drafted sales order using the selected company
warehouse, when a sales order is confirmed for the selected company. If, instead of a drafted
sales order, it should be validated, enable :guilabel:`Automatic Validation`.\*
- :guilabel:`Synchronize Purchase Order`: generates a drafted purchase order using the selected
company warehouse, when a purchase order is confirmed for the selected company. If, instead of a
drafted purchase order, it should be validated, enable :guilabel:`Automatic Validation`.\*
- :guilabel:`Synchronize Sales and Purchase Order`: generates a drafted purchase/sales order using
the selected company warehouse, when a sales/purchase order is confirmed for the selected company.
If, instead of a drafted purchase/sales order, it should be validated, enable :guilabel:`Automatic
Validation`.\*
\* The given option needs to be selected, so :guilabel:`Automatic Validation` appears in the
configuration.
.. image:: companies/inter-company-transactions.png
.. image:: companies/inter_company_transactions.png
:align: center
:alt: View of the settings page emphasizing the inter company transaction field in Odoo.
:alt: View of the settings page emphasizing the inter company transaction field in Odoo
- **Synchronize invoice/bills**: generates a bill/invoice when a company confirms a bill/invoice for
the selected company.
*Example:* an invoice posted on JS Store Belgium, for JS Store US, automatically creates a vendor
bill on the JS Store US, from the JS Store Belgium.
.. image:: companies/invoice_inter_company.png
:align: center
:alt: View of an invoice for JS Store US created on JS Store Belgium in Odoo
- **Synchronize sales/purchase order**: generates a drafted purchase/sales order using the selected
company warehouse when a sales/purchase order is confirmed for the selected company. If instead of
a drafted purchase/sales order you rather have it validated, enable *Automatic Validation*.
*Example:* when a sale order for JS Store US is confirmed on JS Store Belgium, a purchase order
on JS Store Belgium is automatically created (and confirmed if the *Automatic Validation* feature
was enabled).
.. image:: companies/purchase_order_inter_company.png
:align: center
:alt: View of the purchase created on JS Store US from JS Store Belgium in Odoo
.. note::
Products **must** be configured as :guilabel:`Can be sold` and shared between the companies. See
:doc:`../inventory_and_mrp/inventory/product_management/product_tracking/type`.
.. example::
:guilabel:`Synchronize invoice/bills`: an invoice posted on `JS Store Belgium`, for `JS Store
US`, automatically creates a vendor bill, and generates a drafted purchase/sales order using the
selected company warehouse, when a sales/purchase order is confirmed for the selected company.
If, instead of a drafted purchase/sales order, it should be validated, enable
:guilabel:`Automatic Validation`.
:guilabel:`Synchronize sales/purchase order`: when a sale order for `JS Store US` is confirmed on
`JS Store Belgium`, a purchase order on `JS Store Belgium` is automatically created (and
confirmed, if the :guilabel:`Automatic Validation` feature was enabled).
Products have to be configured as *Can be sold* and must be shared between the companies.
.. tip::
Remember to test all workflows as a user *other* than the administrator.
Remember to test all workflows as an user other than the administrator.
.. seealso::
- :doc:`Multi-company Guidelines <../../developer/howtos/company>`
- :doc:`Multi-company Guidelines </developer/howtos/company>`
- :doc:`../finance/accounting/get_started/multi_currency`
.. toctree::
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

@@ -1,232 +1,83 @@
=============
Digest emails
Digest Emails
=============
*Digest Emails* are periodic snapshots sent via email to users in an organization that include
high-level information about how the business is performing.
**Digest Emails** are periodic snapshots sent to your organization via email that include high-level
information about how your business is performing.
To start sending digest emails, begin by navigating to :menuselection:`Settings app --> Statistics
section`, activate the :guilabel:`Digest Emails` feature, and click :guilabel:`Save`.
Navigate to Digest Emails by going to :menuselection:`Settings --> General Settings --> Statistics`,
then activate the **Digest Emails** feature and click on save.
.. image:: digest_emails/digest-email-settings.png
:align: center
:alt: Digest Emails section inside General Settings.
A variety of settings can be configured for digest emails, such as:
You can control a variety of settings for your Digest Emails, such as:
- Deciding which :abbr:`KPIs (key performance indicators)` are shared in the digest emails
- Determining how often digest emails are sent
- Choosing who in the organization receives digest emails
- Creating custom digest email templates
- Adding additional :abbr:`KPIs (key performance indicators)` (*Studio* app required)
- which KPIs are shared in the Digest
- how often Digest Emails are sent
- who in your organization receives Digest Emails
- creating custom Digest Email templates
- adding additional KPIs (Studio required)
.. note::
By default, the :guilabel:`Digest Email` feature is enabled. :guilabel:`Your Odoo Periodic
Digest` serves as the primary template, which includes all :abbr:`KPI (key performance
indicator)` measurements across the Odoo database, and is sent daily to administrators.
.. warning::
When creating duplicates of databases that have sending capabilities (not testing-mode), the
digest emails continue to send from the duplicate database, unless deactivated.
To deactivate the digest email, navigate to :menuselection:`Settings --> Statistics section`.
Then, deactivate the :guilabel:`Digest Emails` feature, by un-ticking the checkbox, and clicking
:guilabel:`Save`. See the section on :ref:`digest-emails/deactivate`.
By default, Digest Email is *enabled*, and *Your Odoo Periodic Digest* serves as the primary
template, which includes all KPI measurements across your Odoo database and is sent daily to
administrators.
.. _digest-emails/customize-digest:
Customize default digest email
==============================
Customize *Your Odoo Periodic Digest*
=====================================
To customize the default digest email (*Your Odoo Periodic Digest*), go to :menuselection:`Settings
app --> Statistics section --> Digest Email field`. Then, select :guilabel:`Your Odoo Periodic
Digest`, and click on the :guilabel:`↗️ (External link)` icon, next to the drop-down menu selection.
To customize the default Digest Email (*Your Odoo Periodic Digest*), go to :menuselection:`Settings
--> General Settings --> Statistics --> Digest Email`, select *Your Odoo Periodic Digest* and click
on the *external link* next to the dropdown selection.
A pop-up window appears, and presents a variety of editable settings, which include:
A popup window appears and presents a variety of editable settings, which include:
- :guilabel:`Digest Name`: the name of the digest email.
- :guilabel:`Periodicity`: control how often digest emails are sent (:guilabel:`Daily`,
:guilabel:`Weekly`, :guilabel:`Monthly`, or :guilabel:`Quarterly`).
- :guilabel:`Next Send Date`: the date on which the digest email will be sent again.
- :guilabel:`KPIs` tab: check/uncheck each calculated :abbr:`KPI (key performance indicator)` that
appears in digest emails. A ticked box indicates an active :abbr:`KPI (key performance indicator)`
in the digest email. See the section on :ref:`digest-emails/kpis`.
- :guilabel:`Recipients` tab: add/remove users who receive the digest emails. See the section on
:ref:`digest-emails/recipients`.
.. note::
The :abbr:`KPIs (key performance indicators)` can be customized using Odoo *Studio*. Additional
costs to the database subscription are incurred should *Studio* need to be installed. See this
section on :ref:`digest-emails/custom-kpi`.
- **Digest Title** - what you want your Digest Email to be called
- **Periodicity** - control the regimen in how often Digest Emails are sent
- **KPIs** - check/uncheck each calculated KPI that appears in Digest Emails
- **Recipients** - add/remove users who receive your Digest Emails
- **Custom** - add your own KPIs (Studio required)
.. image:: digest_emails/periodic-digest.png
:align: center
:alt: Customize default Digest Email settings and custom KPIs.
.. _digest-emails/deactivate:
Deactivate digest email
=======================
To manually deactivate an individual digest email, first navigate to :menuselection:`Settings app
--> Statistics section`, and click :guilabel:`Configure Digest Emails`. Then, select the desired
digest email from the list that should be deactivated.
Next, click :guilabel:`DEACTIVATE FOR EVERYONE` to deactivate the digest email for everyone, or
:guilabel:`UNSUBSCRIBE ME` to remove the logged in user from the mailing list. These buttons are
located in the top menu, just above the :guilabel:`Digest Name`.
Manually send digest email
==========================
To manually send a digest email, first navigate to :menuselection:`Settings app --> Statistics
section`, and click :guilabel:`Configure Digest Emails`. Then, select the desired digest email, and
click :guilabel:`SEND NOW`. This button is located in the top menu, just above the :guilabel:`Digest
Name`.
.. _digest-emails/kpis:
KPIs
====
Pre-configured :abbr:`KPIs (key performance indicators)` can be added to the digest email from the
:guilabel:`KPIs` tab of the digest email template form.
First, navigate to :menuselection:`Settings app --> Statistics section`, and click
:guilabel:`Configure Digest Emails`.
Then, select the desired digest email, and open the :guilabel:`KPIs` tab.
To add a :abbr:`KPI (key performance indicator)` to the digest email, tick the checkbox next to the
desired :abbr:`KPI (key performance indicator)`. After all :abbr:`KPIs (key performance indicators)`
are added (or deselected), click :guilabel:`Save`.
The following :abbr:`KPIs (key performance indicators)` are available in the :guilabel:`KPIs` tab on
a digest email template form out-of-box in Odoo:
.. image:: digest_emails/oob-kpis.png
:align: right
:alt: KPIs listed in the out-of-box digest email.
:guilabel:`General`
- :guilabel:`Connected Users`
- :guilabel:`Messages`
:guilabel:`Project`
- :guilabel:`Open Tasks`
:guilabel:`Recruitment`
- :guilabel:`Employees`
:guilabel:`CRM`
- :guilabel:`New Leads/Opportunities`
- :guilabel:`Opportunities Won`
:guilabel:`Sales`
- :guilabel:`All Sales`
- :guilabel:`eCommerce Sales`
:guilabel:`Point of Sale`
- :guilabel:`POS Sales`
:guilabel:`Live Chat`
- :guilabel:`% of Happiness`
- :guilabel:`Conversations handled`
- :guilabel:`Time to answer (sec)`
:guilabel:`Helpdesk`
- :guilabel:`Tickets Closed`
:guilabel:`Invoicing`
- :guilabel:`Revenue`
- :guilabel:`Banks and Cash Moves`
.. _digest-emails/recipients:
Recipients
==========
Digest email recipients are added from the :guilabel:`Recipients` tab of the digest email template
form.
To add a recipient, navigate to :menuselection:`Settings app --> Statistics section`, and click
:guilabel:`Configure Digest Emails`. Then, select the desired digest email, and open the
:guilabel:`Recipients` tab.
To add a recipient, click :guilabel:`Add a line`, and an :guilabel:`Add Recipients` pop-up window
appears, with all available users to add as recipients.
From the pop-up window, tick the checkbox next to the :guilabel:`Name` of the user(s), and click the
:guilabel:`Select` button.
To remove a user as a recipient, click the :guilabel:`❌ (remove)` icon to the far-right of the user
listed in the :guilabel:`Recipients` tab.
Click :guilabel:`Save` to implement the changes.
.. _digest-emails/custom-emails:
Create digest emails
Custom digest emails
====================
To create a new digest email, navigate to :menuselection:`Settings app --> Statistics section`, and
click :guilabel:`Configure Digest Emails`. Then, click :guilabel:`Create` to create a new digest
email.
To do so, click on **Configure Digest Emails** and then **Create**.
A separate page, with a blank digest email template appears, and presents a variety of editable
settings, including:
From there, give your Digest Email a title, specify periodicity, and choose your desired KPIs and
recipients fields as needed.
- :guilabel:`Digest Name`: the name of the digest email.
- :guilabel:`Periodicity`: control how often digest emails are sent (:guilabel:`Daily`,
:guilabel:`Weekly`, :guilabel:`Monthly`, or :guilabel:`Quarterly`).
- :guilabel:`Next Send Date`: the date on which the digest email will be sent again.
- :guilabel:`KPIs` tab: check/uncheck each calculated :abbr:`KPI (key performance indicator)` that
appears in digest emails. A ticked box indicates an active :abbr:`KPI (key performance indicator)`
in the digest email. See the section on :ref:`digest-emails/kpis`.
- :guilabel:`Recipients` tab: add/remove users who receive the digest emails. See the section on
:ref:`digest-emails/recipients`.
From there, give the digest email a :guilabel:`Digest Name`, specify :guilabel:`Periodicity`,
choose the desired :abbr:`KPIs (key performance indicators)`, and add :guilabel:`Recipients`, as
needed.
After clicking :guilabel:`Save`, the new custom digest email is available as a selection in the
:guilabel:`Digest Email` field, located in the :menuselection:`Settings app --> Statistics section`.
After you click **Save**, your new custom Digest Email is available as a selection in the **General
Settings** dropdown menu.
.. _digest-emails/custom-kpi:
Custom KPIs with Odoo Studio
============================
Custom KPIs with Studio
-----------------------
The :abbr:`KPIs (key performance indicators)` on a digest email template form, in the
:guilabel:`KPIs` tab, can be customized using Odoo *Studio*.
For either *Your Odoo Periodic Digest* or your own custom Digest Email, you can add your own KPIs
by using Odoo Studio.
.. warning::
Additional costs to the database subscription are incurred, should Odoo *Studio* need to be
installed.
To begin, click the **Toggle Studio** icon or click the **Recipients** tab and then the ellipses
:menuselection:`… icon --> Add Custom Field` to edit the template or add additional fields.
To begin, click the :guilabel:`🛠️ (tools)` icon in the top-right of the screen. This is the link to
the Odoo *Studio* application.
In order to create additional fields, you must create two fields on the digest object:
In order to create additional fields, create two fields on the digest object:
#. Create a boolean field called `kpi_myfield`, and display it in the :guilabel:`KPIs` tab.
#. Create a computed field called `kpi_myfield_value` that computes the customized :abbr:`KPI (key
performance indicator)`.
#. Select the :abbr:`KPIs (key performance indicators)` in the :guilabel:`KPIs` tab.
.. tip::
Here is the `source code
<https://github.com/odoo/odoo/blob/15.0/addons/digest/models/digest.py>`_ for the `digest.py`
file, which guides the programmer in the coding of the computed field.
.. seealso::
Users can also click the :guilabel:`Recipients` tab, and then the vertical three-dot
:guilabel:`(kebab)` menu to edit this view. Either click :guilabel:`EDIT LIST VIEW` or
:guilabel:`EDIT FORM VIEW` to modify this tab.
#. create a boolean field called `kpi_myfield` and display it in the KPIs tab
#. create a computed field called `kpi_myfield_value` that computes your customized KPI
#. select your KPI(s) in the KPIs tab.
Computed values reference table
-------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+-----------------------+-------------------------------------------+
| LABEL | VALUE |
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

@@ -55,8 +55,6 @@ their respective email, or as the name listed in their *Contacts* record.
These notifications are sent using a default from address. For more information see
:ref:`Use a default email address <email_communication/default>`.
.. _email_servers/outbound:
Manage outbound messages
========================
@@ -50,7 +50,7 @@ Click :guilabel:`Enable` to install the library on this project.
.. important::
Using the *Google Translate* API **requires** a current billing account with `Google
<https://myaccount.google.com/>`_.
<https://https://myaccount.google.com/>`_.
Once a billing account is setup with *Google* and the library is enabled, click :guilabel:`Manage`
to finish configuration on the API.
@@ -35,12 +35,6 @@ Next, open the Outlook mailbox, and select any email. After completing this, cli
:align: center
:alt: More actions button in Outlook
.. tip::
For locally installed versions of Microsoft Outlook, access the :guilabel:`Get Add-ins` menu item
while in preview mode (**not** with a message open). First, click on the :guilabel:`...
(ellipsis)` icon in the upper right of the previewed message, then scroll down, and click on
:guilabel:`Get Add-ins`.
Following this step, select the :guilabel:`My add-ins` tab on the left-side.
.. image:: outlook/my-add-ins.png
+66 -168
View File
@@ -4,248 +4,146 @@
Users
=====
Odoo defines a *user* as someone who has access to a database. An administrator can add as many
users as the company needs and, in order to restrict the type of information each user can access,
rules can be applied to each user. Users and access rights can be added and changed at any point.
Odoo defines a **user** as someone who has access to a database to perform daily tasks. You can add
as many users as you need and, in order to restrict the type of information each user can access,
rules can be applied. Users and access rights can be added and changed at any point.
.. seealso::
- :doc:`users/language`
- :doc:`users/access_rights`
- :ref:`access-rights/superuser`
- :ref:`access-rights/groups`
.. _users/add-individual:
Add individual users
====================
To add new users, navigate to :menuselection:`Settings app --> Users section --> Manage Users`, and
click on :guilabel:`New`.
Go to :menuselection:`Settings --> Manage Users` and click on *Create*.
.. image:: users/manage-users.png
:align: center
:alt: View of the settings page emphasizing the manage users field in Odoo.
:height: 280
:alt: View of the settings page emphasizing the manage users field in Odoo
Fill in the form with all the required information. Under the :doc:`Access Rights
<users/access_rights>` tab, choose the group within each application the user can have access to.
| Fill in the form with the needed information. Under the tab
:doc:`Access Rights <users/access_rights>` choose the group within each application the user can
have access to.
| The list of applications shown is based on the applications installed on the database.
The list of applications shown is based on the applications installed on the database.
.. image:: users/new_user.png
:alt: View of a users form emphasizing the access rights tab in Odoo
.. image:: users/new-user.png
:align: center
:alt: View of a user's form emphasizing the access rights tab in Odoo.
After filling out all the necessary fields on the page, manually :guilabel:`Save`. An invitation
email is automatically sent to the user, using the email in the :guilabel:`Email Address` field. The
user must click on the link included in the email to accept the invitation, and to create a database
login.
When you are done editing the page and have *Saved* it, an invitation email is automatically sent to
the user. The user must click on it to accept the invitation and create a login.
.. image:: users/invitation-email.png
:align: center
:alt: View of a user's form with a notification that the invitation email has been sent in Odoo.
:alt: View of a users form with a notification that the invitation email has been sent in Odoo
.. warning::
If the company is on a monthly subscription plan, the database automatically updates to reflect
the added users. If the company is on a yearly or multi-year plan, an expiration banner appears
in the database. An upsell quotation can be created by clicking the banner to update the
subscription. Alternatively, `send a support ticket <https://www.odoo.com/help>`_ to resolve the
issue.
.. note::
Remember that subscription prices follow the number of users. Refer to our
`pricing page <https://www.odoo.com/pricing>`_
for more information.
User type
---------
:guilabel:`User Type` can be selected from the :guilabel:`Access Rights` tab of the user form,
accessible via :menuselection:`Settings app --> Users section --> Manage Users`.
There are three types of users: :guilabel:`Internal User`, :guilabel:`Portal`, and
:guilabel:`Public`.
With the :ref:`developer mode <developer-mode>` activated, *User Types* can be selected.
.. image:: users/user-type.png
:align: center
:alt: View of a user's form in developer mode emphasizing the user type field in Odoo.
:height: 300
:alt: View of a users form in developer mode emphasizing the user type field in Odoo
.. tip::
Users are considered internal database users. Portal users are external users, who only have
access to the database portal to view records. See the documentation on :doc:`users/portal`.
Public users are those visiting websites, via the website's frontend.
The :guilabel:`Portal` and :guilabel:`Public` user options do **not** allow the administrator to
choose access rights. These users have specific access rights pre-set (such as, record rules and
restricted menus), and usually do not belong to the usual Odoo groups.
The *Portal* and *Public* options do not allow you to choose access rights. Members have specific
ones (such as record rules and restricted menus) and usually do not belong to the usual Odoo
groups.
.. _users/deactivate:
Deactivate users
================
To deactivate (i.e. archive) a user, navigate to :menuselection:`Settings app --> Users section -->
Manage Users`. Then, tick the checkbox to the left of the user(s) to be deactivated.
After selecting the appropriate user to be archived, click the :guilabel:`⚙️ Actions` icon, and
select :guilabel:`Archive` from the resulting drop-down menu. Then, click :guilabel:`OK` from the
:guilabel:`Confirmation` pop-up window that appears.
Go to :menuselection:`Settings --> Users & Companies --> Users`, open the user you want to
deactivate, click on *Action*, and then on *Archive*.
.. danger::
**Never** deactivate the main/administrator user (admin). Making changes to admin users can have
a detrimental impact on the database. This includes *impotent admin*, which means that no user in
the database can make changes to the access rights. For this reason, Odoo recommends contacting
an Odoo Business Analyst, or our Support Team, before making changes.
Error: too many users
---------------------
If there are more users in an Odoo database than provisioned in the Odoo Enterprise subscription,
the following message is displayed.
.. image:: users/add-more-users.png
:align: center
:alt: Too many users on a database error message.
When the message appears, the database administrator has 30 days to act before the database expires.
The countdown is updated every day.
To resolve the issue, either:
- Add more users to the subscription by clicking the :guilabel:`Upgrade your subscription` link
displayed in the message to validate the upsell quotation, and pay for the extra users.
- :ref:`Deactivate users <users/deactivate>`, and reject the upsell quotation.
.. warning::
If the company is on a monthly subscription plan, the database automatically updates to reflect
the added users. If the company is on a yearly or multi-year plan, an expiration banner appears
in the database. An upsell quotation can be created by clicking the banner to update the
subscription. Alternatively, users can `send a support ticket <https://www.odoo.com/help>`_ to
resolve the issue.
Once the database has the correct number of users, the expiration message disappears automatically
after a few days, when the next verification occurs.
**Never** deactivate the main user (*admin*).
.. _users/passwords-management:
Password management
===================
Password management is an important part of granting users autonomous access to the database at all
times. Odoo offers a few different methods to reset a user's password.
.. tip::
Odoo has a setting to specify the length needed for a password. This setting can be accessed by
navigating to :menuselection:`Settings app --> Permissions` section, and entering the desired
password length in the :guilabel:`Minimum Password Length` field. By default the value is `8`.
.. image:: users/minimum-password-length.png
:align: center
:alt: Minimum Password Length highlighted in the Permissions section of General Settings.
Passwords management
====================
.. _users/reset-password:
Reset password
--------------
Sometimes, users might wish to reset their personal password for added security, so they are the
only ones with access to the password. Odoo offers two different reset options: one initiated by the
user to reset the password, and another where the administrator triggers a reset.
Reset passwords
---------------
.. _users/reset-password-login:
Enable password reset from login page
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enable password resets from login page
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
It is possible to enable/disable password resets directly from the login page. This action is
completed by the individual user, and this setting is enabled by default.
It is possible to enable password resets directly from the login page.
To change this setting, go to :menuselection:`Settings app --> Permissions` section, activate
:guilabel:`Password Reset`, and then click :guilabel:`Save`.
To do so, go to :menuselection:`Settings --> Permissions`, activate **Password Reset** and *Save*.
.. image:: users/password-reset-login.png
:align: center
:alt: Enabling Password Reset in Odoo Settings
On the login page, click :guilabel:`Reset Password` to initiate the password reset process, and have
a reset-token sent to the email on file.
.. image:: users/password-reset.png
:align: center
:alt: Login screen on Odoo.com with the password reset option highlighted.
.. _users/reset-password-email:
Send reset instructions
~~~~~~~~~~~~~~~~~~~~~~~
Send reset instructions to users
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Go to :menuselection:`Settings app --> Users & Companies --> Users`, select the user from the list,
and click on :guilabel:`Send Password Reset Instructions` on the user form. An email is
automatically sent to them with password reset instructions.
Go to :menuselection:`Settings --> Users & Companies --> Users`, select the user out of the list and
click on *Send Password Reset Instructions* on its user form. An email is automatically sent to
them.
.. note::
The :guilabel:`Send Password Reset Instructions` button **only** appears if the Odoo invitation
email has already been confirmed by the user. Otherwise, a :guilabel:`Re-send Invitation Email`
button appears.
The *Send Password Reset Instructions* button only appears if the Odoo invitation email has
already been confirmed by the user.
This email contains all the instructions needed to reset the password, along with a link redirecting
the user to an Odoo login page.
.. image:: users/password-reset-email.png
:align: center
:alt: Example of an email with a password reset link for an Odoo account.
.. image:: users/password-email.png
:alt: Example of an email with a password reset link for an Odoo account
.. _users/change-password:
Change user password
--------------------
Change users passwords
-----------------------
Go to :menuselection:`Settings app --> Users & Companies --> Users`, and select a user to access its
form. Click on the :guilabel:`⚙️ Actions` icon, and select :guilabel:`Change Password` from, the
resulting drop-down menu. Enter a new password in the :guilabel:`New Password` column of the
:guilabel:`Change Password` pop-up window that appears, and confirm the change by clicking
:guilabel:`Change Password`.
Go to :menuselection:`Settings --> Users & Companies --> Users` and select a user to access its
form. Click on the *Action* button and select *Change Password*.
.. image:: users/change-password.png
:align: center
:alt: Change a user's password on Odoo.
:alt: Change another user's password on Odoo
Enter a new password and confirm by clicking on *Change Password*.
.. note::
This operation only modifies the password of the users locally, and does **not** affect their
odoo.com account.
This operation only modifies the password of the users locally and does not affect their odoo.com
account. If you want to change the odoo.com password, you can :ref:`send the password reset
instructions <users/reset-password-email>`.
If the odoo.com password needs to be changed, use the :ref:`send the password reset instructions
<users/reset-password-email>`. Odoo.com passwords grant access to the *My Databases* page, and
other portal features.
After clicking :guilabel:`Change Password`, the page is redirected to an Odoo login page where the
database can be re-accessed using the new password.
Click on *Change Password* one more time. You are then redirected to an Odoo login page where you
can reaccess your database using your new password.
.. _users/multi-companies:
Multi Companies
===============
The :guilabel:`Multi Companies` field on a user form allows an administrator to provide access to
multiple companies for users. To configure a multi-company environment for a user, navigate to the
desired user by going to: :menuselection:`Settings app --> Users section --> Manage users`. Then,
select the user to open their user form, and configure with multi-company access.
The *Multi Companies* field allows you to set to which of the multiple companies database you hold
the user can have access.
Under :guilabel:`Multi Companies` in the :guilabel:`Access Rights` tab, set the fields labeled
:guilabel:`Allowed Companies` and :guilabel:`Default Company`.
The :guilabel:`Allowed Companies` field can contain multiple companies. These are the companies the
user can access and edit, according to the set access rights. The :guilabel:`Default Company` is the
company the user defaults to, upon logging in each time. This field can contain only **one**
company.
.. warning::
If multi-company access is not configured correctly, it could lead to inconsistent multi-company
behaviors. Because of this, only experienced Odoo users should make access rights changes to
users for databases with a multi-company configuration. For technical explanations, refer to the
developer documentation on :doc:`../../../developer/howtos/company`.
.. note::
Note that if not handled correctly, it may be the source of a lot of inconsistent multi-company
behaviors. Therefore, a good knowledge of Odoo is required. For technical explanations refer
to :doc:`this </developer/howtos/company>` documentation.
.. image:: users/multi-companies.png
:align: center
:alt: View of a user's form emphasizing the multi companies field in Odoo.
:height: 300
:alt: View of a users form emphasizing the multi companies field in Odoo
.. seealso::
:doc:`companies`
- :doc:`companies`
.. toctree::
:titlesonly:
@@ -54,8 +54,6 @@ The :guilabel:`Administration` field in the :guilabel:`Access Rights` tab has th
:align: center
:alt: The Sales apps drop-down menu to set the user's level of permissions.
.. _access-rights/groups:
Create and modify groups
========================
@@ -152,8 +150,6 @@ icon to remove a row.
domains (and domain expressions) should consult an Odoo Business Analyst, or the Odoo Support
Team, before making changes.
.. _access-rights/superuser:
Superuser mode
==============
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 37 KiB

-1
View File
@@ -15,4 +15,3 @@ Human resources
hr/time_off
hr/recruitment
hr/referrals
hr/lunch
+73 -249
View File
@@ -1,47 +1,33 @@
============
New vehicles
============
===================
Create new vehicles
===================
Odoo's *Fleet* app manages all vehicles, and the accompanying documentation that comes with vehicle
maintenance, and drivers records.
Odoo's *Fleet* app manages all vehicles and the accompanying documentation that comes with vehicle
maintenance and driver's records.
Upon opening the :menuselection:`Fleet` application, all vehicles are organized within the
:guilabel:`Vehicles` dashboard, which is the default dashboard for the *Fleet* application. Each
vehicle is displayed in its corresponding Kanban stage, based on its status. The default stages are
:guilabel:`New Request`, :guilabel:`To Order`, :guilabel:`Registered`, and :guilabel:`Downgraded`.
All vehicles are organized on the main :guilabel:`Fleet` dashboard. Each vehicle has its own
*vehicle form*, which is displayed as a card in the kanban view, according to it's status. Every
vehicle form is displayed in its current corresponding kanban stage. The default stages are
:guilabel:`New Request`, :guilabel:`To Order`, :guilabel:`Ordered`, :guilabel:`Registered`,
:guilabel:`Downgraded`, :guilabel:`Reserve`, and :guilabel:`Waiting List`.
To add a new vehicle to the fleet from the :guilabel:`Vehicles` page, click the :guilabel:`New`
button in the top-left corner, and a blank vehicle form loads. Then, proceed to enter the vehicle
information on the vehicle form.
The form auto-saves as data is entered. However, the form can be saved manually at any time by
clicking the *save manually* option, represented by a :guilabel:`(cloud upload)` icon, located in
the top-left corner of the page.
.. _fleet/new_vehicle/vehicle-form:
To add a new vehicle to the fleet, click the :guilabel:`Create` button, and a blank vehicle form
loads. Enter the vehicle information in the vehicle form, then click :guilabel:`Save`.
Vehicle form fields
===================
- :guilabel:`Model`: select the vehicle's model from the drop-down menu. Once a model is selected,
additional fields may appear on the form.
If the model is not listed, type in the model name, and click either :guilabel:`Create "model"`,
or :guilabel:`Create and edit...` to :ref:`create a new model and edit the model details
<fleet/configuration/add-model>`.
- :guilabel:`Model`: select the vehicle's model from the drop-down menu. If the model is not listed,
type in the model name and click either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`License Plate`: enter the vehicle's license plate number in this field.
- :guilabel:`Tags`: select any tags from the drop-down menu, or type in a new tag. There is no limit
on the amount of tags that can be selected.
.. image:: new_vehicle/model.png
:align: center
:alt: The new vehicle form, showing the model section.
.. note::
The :guilabel:`Model` is the only required field on the new vehicle form. When a model is
selected, other fields appear on the vehicle form, and relevant information auto-populates the
fields that apply to the model. If some of the fields do not appear, this may indicate there is
no model selected.
selected, other fields will appear on the vehicle form, and relevant information will
auto-populate fields that apply to the model. If some of the fields do not appear, this may
indicate there is no model selected.
Driver section
--------------
@@ -50,226 +36,58 @@ This section of the vehicle form relates to the person who is currently driving
any plans for a change in the driver in the future, and when.
- :guilabel:`Driver`: select the driver from the drop-down menu, or type in a new driver and click
either :guilabel:`Create "driver"` or :guilabel:`Create and edit...` to :ref:`create a new driver,
and edit the driver details <fleet/new_vehicle/add-driver>`.
.. important::
A driver does **not** have to be an employee. When creating a new driver, the driver is added
to the *Fleet* application, **not** the *Employees* application.
If the *Contacts* application is installed, the driver information is also stored in the
*Contacts* application.
either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`Mobility Card`: if the selected driver has a mobility card listed on their employee
card in the *Employees* application, the mobility card number appears in this field. If there is
no mobility card listed, and one should be added, :ref:`edit the employee record
card in the *Employees* application, the mobility card number will appear in this field. If there
is no mobility card listed and one should be added, :ref:`edit the employee card
<employees/hr-settings>` in the *Employees* application.
- :guilabel:`Future Driver`: if the next driver for the vehicle is known, select the next driver
from the drop-down menu. Or, type in the next driver and click either :guilabel:`Create "future
driver"` or :guilabel:`Create and edit...` to :ref:`create a new future driver, and edit the
driver details <fleet/new_vehicle/add-driver>`.
from the drop-down menu, or type in the next driver and click either :guilabel:`Create` or
:guilabel:`Create and Edit`.
- :guilabel:`Plan To Change Car`: if the current driver set for this vehicle plans to change their
vehicle - either because they are waiting on a new vehicle that is being ordered, or this is a
temporary vehicle assignment, and they know which vehicle they are driving next - check this box.
Do **not** check this box if the current driver does not plan to change their vehicle.
- :guilabel:`Assignment Date`: using the drop-down calendar, select when the vehicle is available
for another driver. Select the date by navigating to the correct month and year using the
:guilabel:`⬅️ (left arrow)` and :guilabel:`➡️ (right arrow)` icons. Then, click on the specific
day. If this field is left blank, that indicates the vehicle is currently available, and can be
reassigned to another driver. If it is populated, the vehicle is not available for another driver
until the selected date.
- :guilabel:`Company`: select the company from the drop-down menu. This field only appears in a
multi-company database.
vehicle, either because they are waiting on a new vehicle that is being ordered, or this is a
temporary vehicle assignment and they know which vehicle they will be driving next, check this
box. If the current driver does not plan to change their vehicle and use this current vehicle, do
not check this box.
- :guilabel:`Assignment Date`: select the date the vehicle will be available for another driver
using the drop-down calendar. Select the date by navigating to the correct month and year using
the :guilabel:`⬅️ (left arrow)` and :guilabel:`➡️ (right arrow)` icons, then click on the specific
day. If this field is blank, this indicates the vehicle is currently available and can be
reassigned to another driver. If it is populated, the vehicle will not be available to assign to
another driver until the date entered.
.. _fleet/new_vehicle/add-driver:
Create a new driver
~~~~~~~~~~~~~~~~~~~
If a driver is not already in the system, the new driver should first be configured and added to the
database. A new driver can be added either from the :guilabel:`Driver` or :guilabel:`Future Driver`
fields on the :ref:`vehicle form <fleet/new_vehicle/vehicle-form>`.
First, type in the name of the new driver in either the :guilabel:`Driver` or :guilabel:`Future
Driver` field, then click :guilabel:`Create and edit...`. A :guilabel:`Create Driver` or
:guilabel:`Create Future Driver` form appears, depending on which field initiated the form.
Both the :guilabel:`Create Driver` and :guilabel:`Create Future Driver` forms are identical.
.. _fleet/new_vehicle/general-info:
.. note::
Depending on the installed applications, different tabs or fields may be visible on the
:guilabel:`Create Driver` and :guilabel:`Create Future Driver` forms.
General information
*******************
Fill out the following information on the top-half of the form:
- :guilabel:`Individual` or :guilabel:`Company`: choose if the driver being added is an individual
driver or a company. Click the radio button to make a selection.
When a selection is made, some fields may disappear from the form. If any of the fields below are
not visible, that is because :guilabel:`Company` was selected instead of :guilabel:`Individual`.
- :guilabel:`Name`: enter the name of the driver or company in this field.
- :guilabel:`Company Name...`: using the drop-down menu, select the company the driver is associated
with.
If the :guilabel:`Company` radio button is selected at the top of the form, this field does not
appear.
- :guilabel:`Contact`: enter the contact information in this section.
If desired, the :guilabel:`Contact` field can be changed to a different type of contact. Click on
:guilabel:`Contact` to reveal a drop-down menu. The available options to select are
:guilabel:`Contact`, :guilabel:`Invoice Address`, :guilabel:`Delivery Address`,
:guilabel:`Follow-up Address`, or :guilabel:`Other Address`.
If desired, select one of these other options for the :guilabel:`Contact` field, and enter the
corresponding information.
If the :guilabel:`Company` radio button is selected at the top of the form, this field is labeled
:guilabel:`Address` and cannot be modified.
- :guilabel:`Tax ID`: enter the driver or company's tax ID in this field.
- :guilabel:`Job Position`: enter the driver's job position in this field. If the
:guilabel:`Company` radio button is selected at the top of the form, this field does not appear.
- :guilabel:`Phone`: enter the driver or company's phone number in this field.
- :guilabel:`Mobile`: enter the driver or company's mobile number in this field.
- :guilabel:`Email`: enter the driver or company's email address in this field.
- :guilabel:`Website`: enter the driver or company's website address in this field.
- :guilabel:`Title`: using the drop-down menu, select the driver's title in this field. The default
options are :guilabel:`Doctor`, :guilabel:`Madam`, :guilabel:`Miss`, :guilabel:`Mister`, and
:guilabel:`Professor`.
If the :guilabel:`Company` radio button is selected at the top of the form, this field does not
appear.
- :guilabel:`Tags`: using the drop-down menu, select any tags that apply to the driver or company.
To add a new tag, type in the tag, then click :guilabel:`Create "tag"`.
There is no limit to the number of tags that can be selected.
.. image:: new_vehicle/create-driver.png
:align: center
:alt: The top portion of the create driver form.
Contacts & Addresses tab
************************
After completing the top-half of the :guilabel:`Create Driver` or :guilabel:`Create Future Driver`
form, add any other contacts and addresses associated with the driver or company in this tab.
To add a new contact, click the :guilabel:`Add` button, and a :guilabel:`Create Contact` pop-up
window appears.
Before entering the necessary information on the form, select the type of contact being added from a
series radio button options located at the top of the form. Those options are:
- :guilabel:`Contact`: select this option to add general contact details for employees of the
associated company.
- :guilabel:`Invoice Address`: select this option to add a preferred address for all invoices. When
added to the form, this address is selected by default when sending an invoice to the associated
company.
- :guilabel:`Delivery Address`: select this option to add a preferred address for all deliveries.
When added to the form, this address is selected by default when delivering an order to the
associated company.
- :guilabel:`Follow-up Address`: select this option to add a preferred address for all follow-up
correspondence. When added to the form, this address is selected by default when sending reminders
about overdue invoices.
- :guilabel:`Other Address`: select this option to add any other necessary addresses for the company
or driver.
.. image:: new_vehicle/create-contact.png
:align: center
:alt: The create contact form with all parts filled in.
Depending on the :guilabel:`Contact Type`, some optional fields may not be visible. The available
fields are identical to the fields in the :ref:`general information
<fleet/new_vehicle/general-info>` section of the new driver form.
Add any notes to the :guilabel:`Internal notes...` section of the form.
After entering all of the information, click either :guilabel:`Save & Close` to add the one new
contact, or :guilabel:`Save & New` to add the current address record and create another address
record.
As contacts are added to this tab, each contact appears in a separate box, with an icon indicating
what type of contact is listed.
.. example::
An :guilabel:`Invoice Address` displays a :guilabel:`💲 (dollar sign)` icon inside that specific
address box, whereas a :guilabel:`Delivery Address` displays a :guilabel:`🚚 (truck)` icon
inside.
.. image:: new_vehicle/contacts-address.png
:align: center
:alt: The create contact form with all parts filled in.
Sales & Purchase tab
********************
Enter the following sales and purchasing information, in the :guilabel:`Sales & Purchase` tab of the
:guilabel:`Create Driver` or :guilabel:`Create Future Driver` pop-up form for the various sections
below.
Depending on the other installed applications, additional fields and sections may appear. The
following are all default fields for the *Fleet* application **only**.
Sales section
^^^^^^^^^^^^^
- :guilabel:`Salesperson`: using the drop-down menu, select the user who is the main point of
contact for sales with this driver's company.
This person **must** be an internal user of the company, meaning they can log into the database as
a user.
Misc
^^^^
- :guilabel:`Company ID`: if the company has an ID number, **other than** its *tax ID*, enter it in
this field.
- :guilabel:`Reference`: enter any text to give more information regarding the contact person. This
is an internal note to provide any additional information.
.. example::
A company has several people with the same name, John Smith. The :guilabel:`Reference` field
could state `John Smith at X205 - purchaser` to provide additional details.
Internal Notes tab
******************
Add any notes that pertain to the driver, or any other necessary information, in this tab.
.. important::
A driver does **not** have to be an employee, but a driver must be listed in the *Contacts*
application. When creating a new driver, the driver is added to the *Contacts* application, not
the *Employees* application.
Vehicle section
---------------
This section of the vehicle form relates to the physical details of the vehicle.
This section of the vehicle form relates to the physical vehicle, it's various properties, when it
was added, where it is located, and who is managing it.
If a preexisting vehicle in the database was selected for the :guilabel:`Model` field in the top
portion of the form, some fields may auto-populate, and additional fields may also appear.
Fill in the following fields on the form:
- :guilabel:`Category`: using the drop-down menu, select the vehicle category from the available
options. To create a new category, type in the new category name, then click :guilabel:`Create
"category"`.
- :guilabel:`Order Date`: using the drop-down calendar, select the date the vehicle was ordered.
- :guilabel:`Registration Date`: using the drop-down calendar, select the date the vehicle was
registered.
- :guilabel:`Cancellation Date`: using the drop-down calendar, select the date the vehicle lease
expires, or when the vehicle is no longer available.
- :guilabel:`Immatriculation Date`: select the date the vehicle is acquired using the drop-down
calendar.
- :guilabel:`Cancellation Date`: select the date the vehicle lease will expire, or when the vehicle
will be no longer available, using the drop-down calendar.
- :guilabel:`Chassis Number`: enter the chassis number in the field. This is known in some countries
as the :abbr:`VIN (Vehicle Identification Number)` number.
- :guilabel:`Last Odometer`: enter the last known odometer reading in the number field. Using the
drop-down menu next to the number field, select whether the odometer reading is in kilometers
:guilabel:`(km)` or miles :guilabel:`(mi)`.
- :guilabel:`Fleet Manager`: select the fleet manager from the drop-down menu, or type in a new
fleet manager, and click either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`Location`: type in the specific location where the vehicle is typically located in this
field. The entry should clearly explain where the vehicle can be found, such as `Main Garage` or
`Building 2 Parking Lot`.
fleet manager and click either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`Location`: type in the location for the vehicle in the field. The most common scenario
for when this field would be populated is if a company has several office locations. The typical
office location where the vehicle is located would be the location entered.
- :guilabel:`Company`: select the company that the vehicle will be used for and associated with from
the drop-down menu, or type in a new company and click either :guilabel:`Create` or
:guilabel:`Create and Edit`.
.. important::
Creating a new company may cause a subscription price change depending on the current plan. Refer
to `Odoo's pricing plan <https://www.odoo.com/pricing-plan>`_ for more details.
.. image:: new_vehicle/new-vehicle-type.png
:align: center
@@ -278,18 +96,24 @@ Fill in the following fields on the form:
Tax Info tab
------------
Depending on the localization setting for the database, and what additional applications are
installed, other fields may be present on the form.
The sections below are default and appear for all vehicles, regardless of other installed
applications or localization settings.
Fiscality
~~~~~~~~~
- :guilabel:`Horsepower Taxation`: enter the amount that is taxed based on the size of the vehicle's
- :guilabel:`Horsepower Taxation`: enter the amount that is taxed based on the size of the vehicles
engine. This is determined by local taxes and regulations, and varies depending on the location.
It is recommended to check with the accounting department to ensure this value is correct.
- :guilabel:`Disallowed Expense Rate`: this is the amount of non-deductible expenses for the
vehicle. This amount is not counted towards any deductions on a tax return or as an allowable
expense when calculating taxable income. It is recommended to check with the accounting department
to ensure the value(s) entered are correct.
- :guilabel:`Start Date`: enter the :guilabel:`Start Date` and :guilabel:`(%) Percentage` for when
the :guilabel:`Disallowed Expense Rate` value goes into effect. Click :guilabel:`Add a line` to
enter a date. Click on the blank line to display a calendar. Select the date by navigating to
the correct month and year using the :guilabel:`⬅️ (left arrow)` and :guilabel:`➡️ (right
arrow)` icons, then click on the specific day. Enter the percentage that is disallowed in the
:guilabel:`% (percent)` field to the right of the date. The percentage should be entered in an
XX.XX format. Repeat this for all entries needed.
Contract
~~~~~~~~
@@ -302,8 +126,8 @@ Contract
- :guilabel:`Residual Value`: enter the current value of the vehicle.
.. note::
The values listed above affect the accounting department. It is recommended to check with the
accounting department for more information and/or assistance with these values.
The values listed above will affect the accounting department. It is recommended to check with
the accounting department for more information and/or assistance with these values.
.. image:: new_vehicle/new-vehicle-tax.png
:align: center
@@ -313,13 +137,13 @@ Model tab
---------
If the model for the new vehicle is already configured in the database, the :guilabel:`Model` tab
populates the corresponding information. If the model is **not** already in the database, and the
:guilabel:`Model` tab needs to be configured, it is recommended that :ref:`the new vehicle model
<fleet/configuration/add-model>` be configured so this information auto-populates.
will be populated with the corresponding information. If the model is not already in the database
and the :guilabel:`Model` tab needs to be configured, :ref:`configure the new vehicle model
<fleet/configuration/add-model>`.
Check the information in the :guilabel:`Model` tab to ensure it is accurate. For example, the color
of the vehicle, or if a trailer hitch is installed, are examples of common information that may need
updating.
of the vehicle, or whether there is a trailer hitch installed or not, are examples of information
that may need updating.
.. image:: new_vehicle/model-tab.png
:align: center
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 21 KiB

+76 -448
View File
@@ -6,281 +6,72 @@ To properly maintain a fleet of vehicles, regular maintenance as well as periodi
needed. Scheduling repairs and managing services for an entire fleet is necessary to ensure all
vehicles are in good working order when they are needed.
.. _fleet/service-form:
Create a service record
=======================
Create service records
======================
To log a service for a vehicle, go to the main :guilabel:`Services` dashboard by navigating to
:menuselection:`Fleet app --> Fleet --> Services`. Open a new service form by clicking the
:guilabel:`New` button in the top-left corner.
Fill out the information on the form. The only two fields that are required to be populated are
To log a service, go to the main services dashboard by navigating to :menuselection:`Fleet app -->
Fleet --> Services`. Click :guilabel:`Create` and a service form appears. Fill in the information on
the form and click :guilabel:`Save`. The only two fields that are required to be populated are
:guilabel:`Service Type` and :guilabel:`Vehicle`.
The service form automatically saves as data is entered. However, the form can be saved manually at
any time by clicking the :guilabel:`Save manually` option, represented by a :guilabel:`(cloud
upload)` icon.
The fields are:
The fields on the form are:
- :guilabel:`Description`: enter a brief description of the service.
- :guilabel:`Service Type`: select the type of service performed using the drop-down menu. Or, enter
a new type of service, and click either :guilabel:`Create "service type"` or :guilabel:`Create and
edit...` to :ref:`add the service type and configure it <fleet/new-type>`.
.. important::
:guilabel:`Service Types` are **not** pre-configured in Odoo. When logging a service for the
first time, the *type* of service needs to be :ref:`created <fleet/new-type>` before it can be
selected.
- :guilabel:`Date`: using the calendar popover window, select the date the service was provided, or
is scheduled to be performed. Navigate to the desired month using the :guilabel:`< > (arrow)`
icons, then click on the date to select it.
- :guilabel:`Description`: enter in a short description of the service.
- :guilabel:`Service Type`: select the type of service performed from the drop-down menu, or type in
a new type of service and click either :guilabel:`Create` or :guilabel:`Create & Edit...`. This
list is not pre-configured in Odoo. When creating a fleet and logging a service, the types of
service need to be created.
- :guilabel:`Date`: using the calendar module, select the date the service was provided or is
scheduled to be performed. Navigate to the desired month using the left and right arrow icons,
then click on the date to select it.
- :guilabel:`Cost`: enter the cost of the service.
- :guilabel:`Vendor`: select the vendor who performed the service using the drop-down menu. If the
vendor has not already been entered in the system, type in the vendor name, and click either
:guilabel:`Create` to add them, or :guilabel:`Create and edit...` to :ref:`add and configure the
vendor <fleet/new-vendor>`.
- :guilabel:`Vendor`: select the vendor who performed the service from the drop-down menu. If the
vendor has not already been entered in the system, type in the vendor name and click either
:guilabel:`Create` to add them, or :guilabel:`Create & Edit...` to create the vendor and edit the
vendor form. The vendor form allows for other details aside form the name to be entered, such as
contact information.
- :guilabel:`Vehicle`: select the vehicle that was serviced from the drop-down menu. When the
vehicle is selected, the :guilabel:`Driver` field is populated, and the unit of measure for the
:guilabel:`Odometer Value` field appears.
:guilabel:`Mileage` field appears.
- :guilabel:`Driver`: the current driver listed for the selected vehicle is populated when the
:guilabel:`Vehicle` is selected. If the driver needs to be changed, another driver can be selected
from the drop-down menu.
- :guilabel:`Odometer Value`: enter the odometer reading when the service was done. The units of
measure are either in kilometers (:guilabel:`km`) or miles (:guilabel:`mi`), depending on how the
selected vehicle was configured.
When the :guilabel:`Vehicle` is selected, the unit of measure for this field is populated. This
comes from the vehicle form.
.. tip::
To change from kilometers to miles, or vice versa, click the :guilabel:`Internal Link` button
to the right of the vehicle selected in the :guilabel:`Vehicle` field.
Change the unit of measure, then navigate back to the service form, via the breadcrumb links.
The unit of measure is then updated in the :guilabel:`Odometer Value` field.
- :guilabel:`Notes`: enter any notes for the repair at the bottom of the service form.
measure will either be in kilometers (:guilabel:`km`) or miles (:guilabel:`mi`). When the
:guilabel:`Vehicle` is selected, the units of measure is populated. This comes from the vehicle
form. To change from kilometers to miles, or vice versa, click the :guilabel:`External Link`
button next to the vehicle selected in the :guilabel:`Vehicle` field. Change the unit of measure,
then click :guilabel:`Save`. the unit of measure will be updated in the :guilabel:`Odometer Value`
field.
- :guilabel:`Notes`: enter any notes for the repair in the notes tab at the bottom of the service
form.
.. image:: service/new-service.png
:align: center
:alt: Enter the information for a new service. The required fields are Service Type and Vehicle.
.. _fleet/new-type:
Create service type
-------------------
Service types must be created from a service form. There is no other way to access the list of
service types.
On the :ref:`service form <fleet/service-form>`, type in the name of the new :guilabel:`Service
Type` in the corresponding field. Then, click :guilabel:`Create and edit...`, and a
:guilabel:`Create Service Type` pop-up form appears.
The service type entered on the service form automatically populates the :guilabel:`Name` field,
which can be modified, if desired.
Then, select the :guilabel:`Category` for the new service type from the drop-down menu in that
field. The two default options to choose from are :guilabel:`Contract` or :guilabel:`Service`.
Additional categories **cannot** be created.
If the service applies to **only** contracts or services, select the corresponding
:guilabel:`Category`. If the service applies to **both** contracts *and* services, leave this field
blank.
When done, click :guilabel:`Save & Close`.
.. _fleet/new-vendor:
Create vendor
-------------
When a service is done for the first time, typically, the vendor is not in the database yet. It is
best practice to add the full details for a vendor in the database, so that any necessary
information can be easily retrieved.
On the :ref:`service form <fleet/service-form>`, type in the name of the new :guilabel:`Vendor` in
the corresponding field. Then, click :guilabel:`Create and edit...`, and a :guilabel:`Create
Vendor` form appears.
The vendor name entered on the service form populates the :guilabel:`Name` field, by default. This
field can be modified, if desired.
.. note::
Different tabs or fields may be visible on the :guilabel:`Create Vendor` form, depending on what
other applications are installed.
General information
~~~~~~~~~~~~~~~~~~~
Fill out the following information in the top-half of the form:
- :guilabel:`Individual` or :guilabel:`Company`: select whether the new vendor being added is an
individual or a company, by clicking the corresponding radio button.
When a selection is made, some fields may disappear from the form. If any of the fields below are
not visible, that is because :guilabel:`Company` was selected, instead of :guilabel:`Individual`.
- :guilabel:`Name`: enter a name for the individual or company in this field.
- :guilabel:`Company Name`: using the drop-down menu, select the company that the vendor is
associated with, if any.
If the :guilabel:`Company` radio button at the top of the form is selected, this field does not
appear.
- :guilabel:`Contact`: enter the contact information in this section.
If desired, the :guilabel:`Contact` field can be changed to a different type of contact. Click on
:guilabel:`Contact` to reveal a drop-down menu. The available options to select are
:guilabel:`Contact`, :guilabel:`Invoice Address`, :guilabel:`Delivery Address`,
:guilabel:`Follow-up Address`, or :guilabel:`Other Address`.
If desired, select one of these other options for the :guilabel:`Contact` field, and enter the
corresponding information.
If :guilabel:`Company` is selected for the :guilabel:`Individual` or :guilabel:`Company` field,
this field is labeled :guilabel:`Address`, and **cannot** be modified.
- :guilabel:`Tax ID`: enter the vendor's tax ID in this field.
- :guilabel:`Job Position`: enter the vendor's job position in this field. If the
:guilabel:`Company` radio button at the top of the form is selected, this field does not appear.
- :guilabel:`Phone`: enter the vendor's phone number in this field.
- :guilabel:`Mobile`: enter the vendor's mobile number in this field.
- :guilabel:`Email`: enter the vendor's email address in this field.
- :guilabel:`Website`: enter the vendor's website address in this field.
- :guilabel:`Title`: using the drop-down menu, select the vendor's title in this field. The default
options are :guilabel:`Doctor`, :guilabel:`Madam`, :guilabel:`Miss`, :guilabel:`Mister`, and
:guilabel:`Professor`.
If the :guilabel:`Company` radio button at the top of the form is selected, this field does not
appear.
- :guilabel:`Tags`: using the drop-down menu, select any tags that apply to the vendor.
To add a new tag, type in the tag, then click :guilabel:`Create "tag"`.
There is no limit to the number of tags that can be selected.
- :guilabel:`Image`: a photo of either the main contact person, or the company logo, can be added to
the form. Hover over the :guilabel:`📷 (camera)` box, in the top-right of the form, to reveal a
:guilabel:`✏️ (pencil)` icon, and click it. A file explorer window appears. Navigate to the
desired file, then click :guilabel:`Open` to select it.
.. image:: service/create-vendor.png
:align: center
:alt: The top portion of the create vendor form.
Contacts & Addresses tab
************************
After the top-half of the :guilabel:`Create Vendor` form is filled out, add any other contacts and
addresses associated with the vendor in this tab.
Click the :guilabel:`Add` button to add a new contact, and a :guilabel:`Create Contact` pop-up
window appears.
Select one of the appropriate contact type options from the radio buttons, located at the top of the
pop-up window. Those options are as follows:
- :guilabel:`Contact`: select this option to add general contact details for employees of the
associated vendor.
- :guilabel:`Invoice Address`: select this option to add a preferred address for all invoices. When
added to the form, this address is selected by default when sending an invoice to the associated
vendor.
- :guilabel:`Delivery Address`: select this option to add a preferred address for all deliveries.
When added to the form, this address is selected by default when delivering an order to the
associated vendor.
- :guilabel:`Follow-up Address`: select this option to add a preferred address for all follow-up
correspondence. When added to the form, this address is selected by default when sending reminders
about overdue invoices.
- :guilabel:`Other Address`: select this option to add any other necessary addresses for the vendor.
.. image:: service/vendor-contact.png
:align: center
:alt: The create contact form with all parts filled in.
.. note::
If an option *other than* :guilabel:`Contact` is selected for the contact type, an
:guilabel:`Address` section appears on the form. Enter the address details in the
:guilabel:`Address` section.
Add any notes to the :guilabel:`Internal notes...` section of the form.
After all of the information is added, click either :guilabel:`Save & Close` to add the one new
contact, or :guilabel:`Save & New` to add the current address record and create another address
record.
As contacts are added to this tab, each contact appears in a separate box, with an icon indicating
what type of contact is listed.
.. example::
A :guilabel:`Delivery Address` displays a :guilabel:`⛟ (truck)` icon inside that specific address
box, whereas an :guilabel:`Invoice Address` displays a :guilabel:`💵 (dollar bill)` icon inside.
.. image:: service/contact-tab.png
:align: center
:alt: The create contact form with all parts filled in.
Sales & Purchase tab
********************
Enter the following sales and purchasing information for the various sections below. Depending on
the other installed applications, additional fields and sections may appear. The following are all
default fields for the *Fleet* application only.
Sales
^^^^^
- :guilabel:`Salesperson`: using the drop-down menu, select a user as the main point of contact for
sales with this vendor.
This person **must** be an internal user of the company, meaning they can log into the database as
a user.
Misc
^^^^
- :guilabel:`Company ID`: if the company has an ID number **other than** its *tax ID*, enter it in
this field.
- :guilabel:`Reference`: enter any text to give more information regarding the contact. This is an
internal note to provide any additional information.
.. example::
A company has several people with the same name, Mary Jones. The :guilabel:`Reference` field
could state `Mary Jones at X108 - returns` to provide additional details.
Internal Notes tab
******************
Add any notes that pertain to the vendor, or any other necessary information, in this tab.
List of services
================
To view all services logged in the database, including old and new requests, navigate to
:menuselection:`Fleet app --> Fleet --> Services`. All services appear in a list view, including all
the details for each service.
The service records are grouped by :ref:`service type <fleet/new-type>`. The number of repairs for
each service type appears in parentheses after the name of the service type.
To view all services logged in the database, including old and new requests, go to
:menuselection:`Fleet application --> Fleet --> Services`. All services appear in a list view,
including all the details for each service.
Each service listed displays the following information:
- :guilabel:`Date`: the date that the service, or repair, was performed (or requested to be
performed).
- :guilabel:`Description`: a short description of the specific type of service, or repair, performed
- :guilabel:`Date`: the date service or repair was performed or is requested to be performed.
- :guilabel:`Description`: a short description of the specific type of service or repair performed
to clarify the specific service.
- :guilabel:`Service Type`: the type of service, or repair, performed. This is selected from a list
of services that :ref:`must be configured <fleet/new-type>`.
- :guilabel:`Service Type`: the service or repair performed. This is selected from a list of
services that must be configured.
- :guilabel:`Vehicle`: the specific vehicle the service was performed on.
- :guilabel:`Driver`: the current driver for the vehicle.
- :guilabel:`Vendor`: the specific vendor who performed the service, or repair.
- :guilabel:`Notes`: any information associated with the service, or repair, that is documented to
add clarification.
- :guilabel:`Cost`: the total cost of the service, or repair.
- :guilabel:`Stage`: the status of the service, or repair. Options are :guilabel:`New`,
:guilabel:`Running`, :guilabel:`Done`, or :guilabel:`Canceled`.
At the bottom of the :guilabel:`Cost` column, the total cost of all services and repairs are listed.
- :guilabel:`Driver`: who the current driver is for the vehicle.
- :guilabel:`Vendor`: the specific vendor who performed the service or repair.
- :guilabel:`Cost`: the total cost for the service or repair.
- :guilabel:`Notes`: any information associated with the service or repair that is documented to add
clarification.
- :guilabel:`Stage`: the status of the service or repair. Options are :guilabel:`New`,
:guilabel:`Running`, :guilabel:`Canceled`, or :guilabel:`Done`.
.. image:: service/services.png
:align: center
@@ -290,229 +81,66 @@ View services
-------------
It is recommended to view the list of services in one of several pre-configured ways to better view
the information presented. In the top-right corner of the list, there are several icons that when
the information presented. In the top right corner of the list, there are several icons that when
clicked, sort the data in different ways.
.. image:: service/views.png
:align: center
:alt: The icons in the top right corner than can be clicked to present the information in
:alt: The icons in the top right corner than cn be clicked to present the information in
different ways.
List view
~~~~~~~~~
The default view of the service records is a list view. This presents all the services, first
grouped alphabetically by type of service, then grouped by status.
The default view of the services is the list view. This presents all the services in chronological
order, from oldest to newest, in a list.
The information can be re-sorted by any column. At the top of each column, hover over the column
name, and an arrow appears in the far-right of that column. Click the arrow to sort the data by that
specific column.
The information can be sorted by any column. At the top of each column, hover over the column name.
An arrow appears to the right of the name. Click the arrow to sort the data by that specific column.
The default sorting is in descending alphabetical order (A to Z), represented by a :guilabel:`⌄
(down arrow)` icon. Click the :guilabel:`⌄ (down arrow)` icon to reverse the alphabetical order (Z
to A). The :guilabel:`⌄ (down arrow)` icon changes to an :guilabel:`^ (up arrow)` icon.
The two exceptions to this sorting are the default :guilabel:`Date` column and the :guilabel:`Cost`
column. The :guilabel:`Date` column sorts the information in chronological order (January to
December), instead of alphabetical order. The :guilabel:`Cost` column sorts the information by
repair price, from lowest to highest.
Add a service
*************
To add a service record from the list view, click the :guilabel:`New` button, and a service form
loads. :ref:`Enter all the information <fleet/service-form>` on the service form.
The form automatically saves as data is entered.
The default sorting is descending alphabetical order (A to Z). Click the arrow again to reverse the
order, and go in reverse alphabetical order (Z to A). The one exception to this sorting is the
default :guilabel:`Date` column, which sorts the information in chronological order (January to
December) instead of alphabetical order.
Kanban view
~~~~~~~~~~~
To view services by their stage, click the :guilabel:`Kanban` button, which is the second icon in
the top-right corner, and appears as two different length bars beneath a line.
To view services by their stage, click on the :guilabel:`Kanban icon`, which is the second icon in
the top right, and appears as four black squares in a cube.
All services are organized by service type, and appear in the corresponding Kanban column.
The number of repairs for each type of service appears in the far-right of each Kanban column
header.
The collective status of the scheduled activities for each service type appears in the color-coded
bar beneath each Kanban column title. Repairs with activities scheduled in the future appear green,
activities due today appear yellow, overdue activities appear red, and repairs with no activities
scheduled appear gray.
Each Kanban card displays a color-coded activity-related icon, such as a :guilabel:`🕘 (clock)` icon
or :guilabel:`📞 (phone)` icon, for example. These icons indicate both the type of scheduled
activity and the status. The status of the activity corresponds to the colors in the status bar.
Click on an activity icon to view the details of that specific activity.
The length of the color bar is proportionate to the number of corresponding activities with that
specific status in that particular stage. Hover over a color section to reveal the number of service
records in that specific grouping.
.. image:: service/kanban.png
:align: center
:alt: The service records presented in a Kanban view.
To view **only** the records with a specific status, click the desired color bar section. The
background color for the column changes to a pale hue of the same color (either green, yellow, red,
or gray), and the color bar appears striped instead of solid. **Only** repairs and services with the
selected status appear in the column.
.. image:: service/kanban-status.png
:align: center
:alt: The oil change service records showing only repairs with past-due activities.
.. _fleet/schedule-activity:
Schedule activities
*******************
To schedule an activity for a repair or service from the Kanban view, click the activity icon in the
lower-right corner of the service record, and click :guilabel:`+ Schedule an activity`. A
:guilabel:`Schedule Activity` pop-up window appears.
.. note::
Depending on what kind of activity, if any, is scheduled, the activity icon may appear
differently. For example, a :guilabel:`📞 (phone)` appears if a phone call is scheduled, or an
:guilabel:`✉️ (envelope)` appears if an email is scheduled.
Enter the following information on the form:
- :guilabel:`Activity Type`: using the drop-down menu, select the activity being scheduled. The
default options are :guilabel:`Email`, :guilabel:`Call`, :guilabel:`Meeting`, :guilabel:`To-Do`,
and :guilabel:`Upload Document`.
- :guilabel:`Summary`: enter a short description of the activity, such as `Schedule oil change`.
- :guilabel:`Due Date`: using the calendar popover, select the date the activity must be completed.
Using the :guilabel:`< (left)` and :guilabel:`> (right)` arrow icons, navigate to the desired
month, then click on the date to select it.
- :guilabel:`Assigned to`: using the drop-down menu, select the user responsible for the activity.
- :guilabel:`Notes`: add any notes or details in the blank area in the bottom-half of the form.
When the :guilabel:`Schedule Activity` is completed, click :guilabel:`Schedule` to schedule the
activity, or click :guilabel:`Done & Schedule Next` to schedule the current activity and schedule
another activity for the same repair.
.. seealso::
For more detailed information regarding activities, refer to the main :doc:`activities
<../../essentials/activities>` document.
Add a service
*************
A new repair can be added from this view. Click the :guilabel:` (plus icon)` in the top-right
corner of the Kanban column, and a new block appears at the top of the column, beneath the Kanban
title.
Enter a :guilabel:`Title` for the service or repair, then click :guilabel:`Add`. A
:guilabel:`Create` service form appears in a pop-up window. :ref:`Enter all the information
<fleet/service-form>` on the service form, then click :guilabel:`Save & Close` to add the record.
The new record now appears in the Kanban column.
All the services with the same status appear in the corresponding column, from :guilabel:`Running`
to :guilabel:`Cancelled`. To change the status of a service, simply click and drag the service card
to the desired stage.
Graph view
~~~~~~~~~~
Another way to view the data is in a graph. To change to the graph view, click the :guilabel:`Graph`
icon, which is the third icon in the top-right, and appears as a small graph.
Another way to view the data is in a graph. To view the graph, click the :guilabel:`Graph icon`,
which is the third icon in the top right, and appears as a small graph.
The default graph view displays the service information in a stacked bar chart, grouped by
:guilabel:`Service Type`. The X-axis represents the :guilabel:`Service Type` and the Y-axis
represents the :guilabel:`Cost`.
Each column visually represents the total cost for all repairs and services for that specific
:guilabel:`Service Type`. Hover over any bar to reveal a popover window that displays the total
:guilabel:`Cost` for the service and repairs the bar represents.
The graph can change to either a :guilabel:`Line Chart` or a :guilabel:`Pie Chart` by clicking the
corresponding button above the graph. Additionally, the graph can display the data in either
:guilabel:`Stacked`, :guilabel:`Descending`, or :guilabel:`Ascending` order, by clicking the
corresponding buttons.
.. image:: service/bar-chart.png
:align: center
:alt: A bar chart view of the services and repairs, with the various option buttons highlighted.
The graph displays the information in a graph where the X axis represents the :guilabel:`Date` and
the Y axis represents the :guilabel:`Cost`. Each column represents a single month, and then is
further organized by vehicle. Each vehicle is represented by a different color, and each month's bar
is divided by each vehicle.
Pivot view
~~~~~~~~~~
Another way to view the service data is in a spreadsheet pivot table. Click the :guilabel:`Pivot`
icon, which is the fourth icon in the top-right, and appears as a small spreadsheet.
The final way to view the service data is in a spreadsheet pivot table. Click on the
:guilabel:`Pivot icon`, which is the last icon in the top right, and appears as a small spreadsheet.
The default way the data is presented shows the total cost of each type of service. The horizontal
rows represent the various types of service, with a different service type in its own line. The
vertical columns represent the total costs for each specific type of service, further divided by the
type of service.
The data presented in the table shows the cost of each service or repair. The rows represent the
vendors, and each vehicle that was serviced by them appears beneath each vendor. The column
represent the different service types performed.
The table can be inserted in a spreadsheet or downloaded. To add the pivot table to a spreadsheet in
Odoo, click :guilabel:`Insert In Spreadsheet` and a pop-up appears. Select the spreadsheet the data
should be added to from the drop-down menu, and click :guilabel:`Confirm`. The spreadsheet then
loads on the screen. The spreadsheets are stored in Odoo's *Documents* application. To download the
table in an `xlsx` format, click the :guilabel:`Download` icon.
.. image:: service/pivot.png
:align: center
:alt: The default pivot table view of the services.
The table can either be inserted in a spreadsheet or downloaded, if desired.
To add the pivot table to a spreadsheet in Odoo, first, the appearance of the pivot table must
change. The default pivot table view does not allow it to be inserted into a spreadsheet (the
:guilabel:`Insert in Spreadsheet` button is grayed out).
First, click the :guilabel:` (minus)` icon to the left of :guilabel:`Total` at the top of the pivot
table. This collapses the service types, leaving only a single :guilabel:`Cost` column visible.
Then, click the :guilabel:`Insert in Spreadsheet` button, which is no longer grayed out, and a
:guilabel:`Select a spreadsheet to insert your pivot` pop-up window appears. Two tabs are visible in
this pop-up window, a :guilabel:`Spreadsheets` tab and a :guilabel:`Dashboards` tab.
Click the desired tab to indicate where the spreadsheet should be placed, either in a
:guilabel:`Spreadsheet` or on a :guilabel:`Dashboard`. After clicking the desired option, click
:guilabel:`Confirm`. The spreadsheet then loads on the screen.
.. note::
Spreadsheets are stored in Odoo's *Documents* application, while dashboards are stored in Odoo's
*Dashboards* application.
Click :guilabel:`Services` in the top-left corner to navigate back to the previous pivot table view.
To download the table in an *xlsx* format, click the download xlsx icon, represented by a
:guilabel:`⬇️ (down arrow above a line)` icon.
.. seealso::
For more detailed information regarding reporting, refer to the main :doc:`reporting
<../../essentials/reporting>` document.
Activity view
~~~~~~~~~~~~~
To view the scheduled activities for services or repairs, click the :guilabel:`🕗 (clock)` activity
icon in the top-right corner of the screen. This presents all activities, organized by vehicle and
activity type.
The vertical columns are organized by activity type, and the horizontal lines are organized by
vehicle.
The entries are color-coded according to the status of each activity. Green activities are scheduled
in the future, yellow activities are due today, and red activities are overdue.
The user responsible for the activity appears in a photo in the lower-left corner of each activity
entry.
The due date of each activity is written in the top-center of each activity entry.
A color-coded bar at the top of each activity column indicates the status of the activities within
that column.
The number of activities for each activity type is written on the right side of the color-coded bar
beneath the column name.
.. image:: service/activity-view.png
:align: center
:alt: The activity view, with the columns called out, and an activity box highlighted.
Schedule an activity
********************
To add a service record from the activity view, click :guilabel:`+ Schedule an activity` in the
bottom-left corner of the list, and a :guilabel:`Search: Services` pop-up window loads. Click the
service that the activity is being scheduled for, and a :guilabel:`Schedule Activity` form loads.
:ref:`Enter all the information <fleet/schedule-activity>` on the activity form.
When the form is complete, click the :guilabel:`Schedule` button. Then, both pop-up windows close,
and the activity now appears on the activity view.
:alt: Download the pivot table to an xlsx file, or insert the data in a spreadsheet in Odoo's
Documents application.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

-310
View File
@@ -1,310 +0,0 @@
=====
Lunch
=====
The *Lunch* application in Odoo allows users a convenient way to order food and pay for their meal
directly from the database.
Before employees can use the *Lunch* application, there are a number of configurations to consider:
settings, vendors, locations, products, product categories, and alerts. Once these are created,
employees can view offerings and order food.
Settings
========
Only two settings are needed to configure in the *Lunch* app: overdraft settings and notifications.
To access the settings, navigate to :menuselection:`Lunch app --> Configuration: Settings`.
Configure the following:
- :guilabel:`Lunch Overdraft`: enter the maximum overdraft amount for employees. The currency
format is determined by the localization setting of the company.
- :guilabel:`Reception notification`: set the message users receive via the *Discuss* app when their
food has been delivered. The default message `Your lunch has been delivered. Enjoy your meal!`
populates this field, but can be modified, if desired.
.. tip::
If in a database with multiple languages installed, many forms in the *Lunch* application have
the option of entering translations for various fields.
If translations are available to be configured, a language code appears next to a translatable
field on a form. To add translations for that field, click the two letter language code (for
example, :guilabel:`EN` for English) and a translation pop-up window appears.
The following is an example for the :guilabel:`Reception notification` field in the settings
menu:
Navigate to :menuselection:`Lunch app --> Configuration: Settings`. Click the :guilabel:`EN` In
the top-right of the text box beneath the :guilabel:`Reception notification` section. A
:guilabel:`Translate: company_lunch_notify_message` pop-up window loads with the option to enter
a translation for the other languages used by the database.
The first column lists the different languages in alphabetical order, with the currently selected
language in bold. The second column has the currently configured message in each column. The last
column in the far-right provides a text box to type in a translation for each language.
Enter the text that should appear for each language, then click :guilabel:`Save`.
.. image:: lunch/translation.png
:align: center
:alt: The translation text box, with the current language highlighted, and the Arabic
translation field highlighted.
Vendors
=======
Before food can be ordered, the restaurants that make the food, referred to as *vendors* in Odoo,
**must** be configured.
First navigate to :menuselection:`Lunch app --> Configuration: Vendors`, and all currently
configured vendors for the *Lunch* app appear in a default Kanban view. To change to a list view,
click the :guilabel:`≣ (four horizontal lines)` icon in the top-right corner.
To add a new vendor, click the :guilabel:`New` button in the top-left corner, and a new lunch
supplier form loads.
Fill out the following fields on the form.
Vendor information
------------------
- :guilabel:`Vendor`: enter a name for the vendor.
- :guilabel:`Vendor`: select the vendor from the drop-down menu. If the vendor has not already been
entered in the system, type in the vendor name and click either :guilabel:`Create "vendor"` to add
them, or :guilabel:`Create and edit...` to create the vendor and edit the vendor form. The vendor
form allows for more detail, aside from the name, to be entered, such as contact information.
.. note::
If a selection is made to the drop-down :guilabel:`Vendor` field, the text :guilabel:`Vendor`
field (above the drop-down :guilabel:`Vendor` field) updates with the name of the vendor chosen
from the drop-down menu.
The list of vendors that is presented in the drop-down menu is pulled from the *Contacts*
application.
- :guilabel:`Address`: enter the vendor's address in the various fields in this section.
- :guilabel:`Email`: enter the vendor's email in this field.
- :guilabel:`Phone`: enter the vendor's phone number in this field.
- :guilabel:`Company`: if this vendor is only available to a specific company, select the company
from the drop-down menu. If this field is left blank, the vendor's items are available to **all**
companies.
.. image:: lunch/vendor-info.png
:align: center
:alt: The top portion of the vendor form filled out.
Availability
------------
The :guilabel:`AVAILABILITY` section presents a table with two rows. The days of the week populate
the top row, and the bottom row has checkboxes. Check the corresponding box for each day of the week
the vendor is available.
By default, Monday through Friday have checkmarks.
.. image:: lunch/availability.png
:align: center
:alt: The default view of the availability section, with Mon-Fri enabled.
Orders
------
- :guilabel:`Delivery`: using the drop-down menu, select either :guilabel:`Delivery` if the vendor
delivers food to the office, or :guilabel:`No Delivery` if ordered food must be picked up.
- :guilabel:`Location`: select which locations are able to order from this vendor. Multiple
locations can be selected. If this field is left blank, **all** locations can order from the
vendor.
.. note::
By default, an `HQ Office` location is created by default when creating a database, and is
available to select from the list.
- :guilabel:`Send Order By`: click the radio button to select how orders are sent to the vendor. The
available options are :guilabel:`Phone` or :guilabel:`Email`.
- :guilabel:`Order Time`: this field appears if :guilabel:`Email` is selected for :guilabel:`Send
Order By`. Enter the time that an order must be emailed for the order to be accepted. Enter the
time in a `HH:MM` format, then select either :guilabel:`AM` or :guilabel:`PM` from the drop-down
next to the time field.
.. image:: lunch/orders.png
:align: center
:alt: The orders section of a vendor form, with all fields filled out.
Extras
------
When ordering an item in the *Lunch* app, it is possible to show extra items that can be added to an
order, sometimes referred to as *add-ons*. These can be configured in any manner that suits the
products being offered.
By default, Odoo allows for three types of extra items, which can be thought of as *categories*. By
default, the first type or *category* of add-ons is labeled `Extras`, the second is labeled
`Beverages`, and the third is labeled `Extra Label 3`.
.. important::
When configuring the extras, it is important to keep in mind that all the extras configured will
appear for **every item** offered by the vendor. That means that only items which apply to
**all** products from the vendor should be added.
Configure extras
~~~~~~~~~~~~~~~~
Enter the following information for each of the three available extra sections:
- :guilabel:`Extra (#) Label`: enter a name for the type of extra, such as `Toppings` or
`Beverages`. This can be thought of as a *category*.
- :guilabel:`Extra (#) Quantity`: select how the extras are allowed to be selected. The options are:
- :guilabel:`None or More`: select this if the user is not required to select anything.
- :guilabel:`One or More`: select this to **require** the user to make at least one selection.
- :guilabel:`Only One`: select this to **require** the user to make only one selection.
Add extras
~~~~~~~~~~
After the labels and quantities have been configured for an extra category, the individual extra
items must be added for each category.
Click :guilabel:`Add a line` at the bottom of the list that appears on the right-hand side of the
extra category. Enter the :guilabel:`Name` and :guilabel:`Price` for each item being added. The
price can remain at `$0.00` if there is no cost. This is common for items like disposable silverware
or condiments.
.. example::
For a pizzeria that only offers personal pies, see their extras configured as follows:
The first extra is configured for the various toppings they offer. The :guilabel:`Extra 1 Label`
is set to `Toppings`, and the :guilabel:`Extra 1 Quantity` is set to :guilabel:`None or More`.
The various toppings are then added, with their corresponding costs.
.. image:: lunch/extras.png
:align: center
:alt: The first of the extras configured for pizza toppings.
The pizzeria also offers a free beverage with any purchase. To set this up, the :guilabel:`Extra
2 Label` is set to `Beverages`, and the :guilabel:`Extra 1 Quantity` is set to :guilabel:`Only
One`. The various beverage choices are added, and the cost for each remains zero.
.. image:: lunch/beverages.png
:align: center
:alt: The second of the extras configured for a free beverage with purchase.
Locations
=========
By default, Odoo creates an `HQ Office` location when the *Lunch* application is installed. If a
company has more than one location, they must be configured.
To add a location, navigate to :menuselection:`Lunch app --> Configuration: Locations`. The
currently configured locations appear in a list view. Click the :guilabel:`New` button in the
top-left corner and a blank line appears beneath the last location in the list.
Enter the name of the location in the field. Next, click into the :guilabel:`Address` field to the
right of the name, and enter the location's address. It is possible to enter multiple lines in the
address field.
Repeat this for all locations that need to be added.
.. image:: lunch/locations.png
:align: center
:alt: A list view of the locations with the new button highlighted.
Products
========
Before any orders can be placed, the individual products that are being offered must be configured,
as no products are pre-configured in Odoo, by default.
First, navigate to the products page by going to :menuselection:`Lunch app --> Configuration:
Products`. Next click the :guilabel:`New` button in the top-left corner and a blank product form
loads.
Enter the following information on the form:
- :guilabel:`Product Name*`: enter the name for the product.
- :guilabel:`Product Category*`: using the drop-down menu, select the category this product falls
under.
- :guilabel:`Vendor*`: using the drop-down menu, select the vendor that supplies this product.
- :guilabel:`Price`: enter the price for the product. The currency is determined by the localization
of the company.
- :guilabel:`Description`: enter a description of the product in this field. This description
appears beneath the product photo when users are viewing the options for the day.
- :guilabel:`New Until`: using the calendar popover, select the date that the product will no
longer be labeled as new. Until this date, a green `New` tag appears on the product.
- :guilabel:`Company`: if the product should only be available to a specific company, select it from
the drop-down menu. If this field is left blank, this product is available for all companies in
the database.
- Image: hover over the image box in the top-right corner of the form, and click the :guilabel:`✏️
(pencil)` edit icon that appears. A file explorer pop-up window appears. Navigate to the image,
then click :guilabel:`Open`.
(*) indicates required field.
.. image:: lunch/product.png
:align: center
:alt: A product form filled out for a nine inch pizza.
Product categories
==================
Product categories are a way to organize the offerings in the *Lunch* app, and allows for users to
quickly filter the offerings when reviewing the menu for the day.
To add or modify categories, navigate to :menuselection:`Lunch app --> Configuration: Product
Categories`. The available categories appear in a list view. In the *Lunch* app, there are four
default categories : :guilabel:`Sandwich`, :guilabel:`Pizza`, :guilabel:`Burger`, and
:guilabel:`Drinks`.
To add a new category, click the :guilabel:`New` button in the top-left corner, and a blank category
form loads. Enter a name in the :guilabel:`Product Category` field. If the category is
company-specific and should only appear for a certain company, select the :guilabel:`Company` from
the drop-down menu.
If desired, add a photo for the category. Hover over the image box in the top-right, and click the
:guilabel:`✏️ (pencil)` edit icon that appears. A file explorer pop-up window appears. Navigate to
the image, then click :guilabel:`Open`.
.. image:: lunch/category.png
:align: center
:alt: The category form, with the fields filled out for a Soup category.
Alerts
======
It is possible to set up alerts that can either be displayed in the *Lunch* app, or be sent to
specific employees via the *Discuss* app.
No alerts are pre-configured by default. To set up an alert, navigate to :menuselection:`Lunch app
--> Configuration: Alerts`. Click the :guilabel:`New` button in the top-left corner and a blank
lunch alert form loads. Enter the following information on the form:
- :guilabel:`Alert Name`: enter a name for the alert. This should be short and descriptive, such as
`New Lunch Vendor` or `Order by 11`. This field is **required**.
- :guilabel:`Display`: select whether the alert is visible in the *Lunch* app (:guilabel:`Alert in
app)` or sent to employees via the *Discuss* app in a chat window (:guilabel:`Chat notification`).
- :guilabel:`Recipients`: this field only appears if :guilabel:`Chat notification` is selected for
the :guilabel:`Display` option. Select who receives the chat alert. The options are:
:guilabel:`Everyone`, :guilabel:`Employee who ordered last week`, :guilabel:`Employee who
ordered last month`, or :guilabel:`Employee who ordered last year`.
- :guilabel:`Location`: select the locations the alert should appear for from the drop-down menu.
Multiple locations can be selected. This field is **required**, therefore, if the alert applies
to all locations, select all the locations from the drop-down menu.
- :guilabel:`Show Until`: if the alert should expire on a specific date, select the date from the
calendar picker.
- :guilabel:`Active`: this option is on (appears green) by default. To turn off the alert, click the
toggle so that it no longer appears green.
- :guilabel:`Message`: Enter the alert message in this field. This field is **required**.
- :guilabel:`Notification Time`: select the days of the week the alert should be sent. By default,
all seven days are active. Click on a checkbox to change the setting from active to inactive.
If :guilabel:`Chat notification` was selected for the :guilabel:`Display` option, a
:guilabel:`Time` field also appears. Enter the time the chat message should be sent. Next, select
if the time is either :guilabel:`AM` or :guilabel:`PM` using the drop-down menu to the right of
the :guilabel:`Time` field.
.. image:: lunch/alert.png
:align: center
:alt: An alert form with al the information filled out for a chat alert sent at 10:30 AM, asking
employees to submit orders by 11:30 AM.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

+3 -9
View File
@@ -98,8 +98,6 @@ In order for an employee to be paid, they **must** have an active contract for a
employment. Creating and viewing contract templates, and creating and viewing employment types, is
possible from this section of the configuration header menu.
.. _payroll/contract-templates:
Templates
---------
@@ -298,8 +296,8 @@ Unpaid section
- :guilabel:`Unpaid in Structures Types`: if the work entry is for work that is not paid, specify
which pay structure the unpaid work entry applies to from the drop-down menu. Some situations
where work is logged on a timesheet, but no compensation given would be for unpaid internships,
unpaid training, or volunteer work.
where work would be logged on a timesheet but no compensation given would be for unpaid
internships, unpaid training, or volunteer work.
Valid for advantages section
****************************
@@ -422,8 +420,6 @@ paid by the hour, so the wage type is :guilabel:`Hourly Wage`.
:align: center
:alt: List of all currently configured structure types available to use.
.. _payroll/new-structure-type:
New structure type
~~~~~~~~~~~~~~~~~~
@@ -658,8 +654,6 @@ field.
:align: center
:alt: A new Input Type form filled in.
.. _payroll/salary-attachment-types:
Salary attachment types
-----------------------
@@ -963,6 +957,6 @@ form.
:titlesonly:
payroll/contracts
payroll/work_entries
payroll/payslips
payroll/work_entries
payroll/reporting
+161 -309
View File
@@ -2,23 +2,20 @@
Contracts
=========
Every employee in Odoo is required to have a contract to be paid. A contract outlines the terms of
an employee's job position, compensation, working hours, and any other details specific to their
role.
Every employee in Odoo is required to have a contract in order to be paid. A contract outlines the
terms of an employee's position, their compensation, their working hours, and any other details
about their position.
.. important::
Contract documents (PDFs) are uploaded and organized using the *Documents* application, and are
signed using the *Sign* application. Ensure these applications are installed to send and sign
contracts. Please refer to the :doc:`../../productivity/documents` and
:doc:`../../productivity/sign` documentation.
signed using the *Sign* application. Ensure these applications are installed in order to send and
sign contracts. Please refer to the :doc:`/applications/productivity/documents` and
:doc:`/applications/productivity/sign` documentation.
To view the employee contracts, go to :menuselection:`Payroll app --> Contracts --> Contracts` from
the top menu. All employee contracts are displayed in a default list view, grouped into four
categories: :guilabel:`New`, :guilabel:`Running`, :guilabel:`Expired`, and :guilabel:`Cancelled`.
The default view has all categories collapsed. The number of contracts in each category is displayed
next to the category name (example: `Running (20)`). To view the list of contracts under any
category, click on the category, and the list expands downward, showing all contracts beneath it.
To view the employee contracts, go to the :menuselection:`Payroll app --> Employees --> Contracts`
from the top menu. All employee contracts, and their current contract status, are displayed in a
default kanban view. The default view displays both running contracts and contracts that need
action. Expired and canceled contracts are hidden in the default view.
.. image:: contracts/contracts-overview.png
:align: center
@@ -26,348 +23,203 @@ category, click on the category, and the list expands downward, showing all cont
.. note::
The list of contracts in the *Payroll* application matches the list of contracts in the
*Employees* application.
*Employees* application. The default contracts view in the *Payroll* application displays running
contracts and contracts needing attention, while the default contracts view in the *Employees*
application displays all contracts in a kanban view, organized by their stage, regardless of
status. All contracts can be viewed by changing the filters.
.. _payroll/new-contract:
Create a new contract
=====================
Create new contracts
====================
In order for an employee to be paid, an active contract is required. If a new contract is needed,
click the :guilabel:`Create` button on the contracts dashboard. A contract form appears where the
information can be entered. Required fields are underlined in bold.
For an employee to be paid, an active contract is required. When a new contract is needed, click the
:guilabel:`New` button on the :guilabel:`Contracts` dashboard. A contract form appears where the
information can be entered.
Required fields
---------------
.. _payroll/gen-info:
General information section
---------------------------
- :guilabel:`Contact Reference`: type in the name or title for the contract, such as `John Smith
Contract`. This field is **required**.
- :guilabel:`Employee`: using the drop-down menu, select the employee that the contract applies to.
- :guilabel:`Contract Start Date`: the date the contract starts. To choose a date, click the
drop-down menu, navigate to the correct month and year with the :guilabel:`< > (arrow)` icons,
then click on the desired date. This field is **required**.
- :guilabel:`Contract End Date`: if the contract has a specific end date, click the drop-down menu,
navigate to the correct month and year with the :guilabel:`< > (arrow)` icons, then click on the
desired date.
- :guilabel:`Working Schedule`: select one of the working schedules from the drop-down menu. This
field is **required**.
.. tip::
The :guilabel:`Working Schedule` drop-down menu displays all the working schedules for the
selected company. To modify or add to this list, go to :menuselection:`Payroll app -->
Configuration --> Working Schedules`. Click :guilabel:`New`, and create a new working schedule,
or click on an existing working schedule and make edits.
- :guilabel:`Work Entry Source`: select how the :doc:`work entries <work_entries>` are generated.
This field is **required**. Click the radio button next to the desired selection. The options are:
- :guilabel:`Working Schedule`: work entries are generated based on the selected
:guilabel:`Working Schedule`.
- :guilabel:`Attendances`: work entries are generated based on the employee's check-in records in
the *Attendances* application. (This requires the *Attendances* application).
- :guilabel:`Planning`: work entries are generated based on the planned schedule for the employee
from the *Planning* application. (This requires the *Planning* application).
- :guilabel:`Salary Structure Type`: select one of the salary structure types from the drop-down
menu. The default salary structure types are :guilabel:`Employee` or :guilabel:`Worker`. A
:ref:`new salary structure type <payroll/new-structure-type>` can be created, if needed.
- :guilabel:`Department`: select the department the contract applies to from the drop-down menu.
- :guilabel:`Job Position`: select the specific job position the contract applies to from the
drop-down menu.
.. note::
If the selected :guilabel:`Job Position` has a contract template linked to it with a specific
:guilabel:`Salary Structure Type`, the :guilabel:`Salary Structure Type` changes to the one
associated with that :guilabel:`Job Position`.
- :guilabel:`Wage on Payroll`: enter the employee's monthly wage.
- :guilabel:`Contract Type`: choose either :guilabel:`Permanent`, :guilabel:`Temporary`,
:guilabel:`Seasonal`, :guilabel:`Full-Time`, or :guilabel:`Part-Time` from the drop-down menu.
.. figure:: contracts/required-fields.png
.. image:: contracts/required-fields.png
:align: center
:alt: New contract form to be filled in when creating a new contract, with required fields
outlined in red.
:alt: New contract form to be filled in when creating a new contract.
The general information section filled out, with the required fields highlighted in red.
- :guilabel:`Contact Reference`: Type in the name or title for the contract, such as `John Smith
Contract`.
- :guilabel:`Company`: Select the company the contract applies to by clicking on the drop-down menu.
A new company can be created by typing the name in the field, then clicking either
:guilabel:`Create` to create the new company, or :guilabel:`Create and Edit` to create the new
company and edit the company details.
- :guilabel:`Salary Structure Type`: Select one of the salary structure types from the drop-down
menu. The default salary structure types are :guilabel:`Employee` or :guilabel:`Worker`. A new
salary structure type can be created by typing the name in the field.
- :guilabel:`Start Date`: The date the contract starts. Choose a date by clicking on the drop-down
menu, navigating to the correct month and year by using the :guilabel:`< > (arrow)` icons, then
clicking on the :guilabel:`date`.
- :guilabel:`Working Schedule`: Select one of the working schedules from the drop-down menu.
Salary Information tab
----------------------
.. tip::
The :guilabel:`Working Schedule` drop-down menu displays all the working times for the selected
:guilabel:`Company`. To modify or add to this list, go to :menuselection:`Payroll -->
Configuration --> Working Times` and either :guilabel:`Create` a new working time or click on an
existing working time and edit it by clicking :guilabel:`Edit`.
This section is where the specific salary details are defined. This section is country-specific, so
depending on where the company is located, these fields may vary.
Optional fields
---------------
The following fields are universal and apply to all localizations:
- :guilabel:`Employee`: Name of the employee that the contract applies to.
- :guilabel:`Department`: The department the contract applies to.
- :guilabel:`Job Position`: The specific job position the contract applies to.
- :guilabel:`Contract Type`: Choose from :guilabel:`CDI`, :guilabel:`CDD`, or :guilabel:`PFI` from
the drop-down menu.
- :guilabel:`Wage Type`: select either :guilabel:`Fixed Wage` or :guilabel:`Hourly Wage` from the
drop-down menu.
- :guilabel:`Schedule Pay`: select how often the employee is paid using the drop-down menu. Options
are :guilabel:`Annually`, :guilabel:`Semi-annually`, :guilabel:`Quarterly`,
:guilabel:`Bi-monthly`, :guilabel:`Monthly`, :guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`,
:guilabel:`Weekly`, or :guilabel:`Daily`.
- :guilabel:`Wage`: enter the employee's gross wage. The metric for the :guilabel:`Wage` is based on
what is selected for the :guilabel:`Schedule Pay`.
- :guilabel:`CDI` is an open-ended contract with only a start date but no end date.
- :guilabel:`CDD` is a contract with both a start date and an end date.
- :guilabel:`PFI` is a Belgian-specific contract used when hiring employees that need training,
and covers the training period specifically.
.. example::
If :guilabel:`Annually` is selected for the :guilabel:`Schedule Pay`, then the :guilabel:`Wage`
field appears in a `$0.00/year` format. If the :guilabel:`Schedule Pay` is set to
:guilabel:`Bi-weekly`, then the :guilabel:`Wage` field appears in a `$0.00/two weeks` format.
- :guilabel:`End Date`: If the contract has a specific end date, click the drop-down menu, navigate
to the correct month and year using the arrow icons, then click on the date.
- :guilabel:`HR Responsible`: If there is a specific person in HR that is responsible for the
contract, select the person from the drop-down menu.
- :guilabel:`Analytic Account`: This field allows a link between the contract and a specific
analytic account for accounting purposes.
- :guilabel:`Yearly Cost (Real)`: this field automatically updates after the :guilabel:`Schedule
Pay` and :guilabel:`Wage` fields are entered. This amount is the total yearly cost for the
employer. This field can be modified. However, if this is modified, the :guilabel:`Wage` field
updates, accordingly. Ensure both the :guilabel:`Wage` and :guilabel:`Yearly Cost (Real)` are
correct if this field is modified.
- :guilabel:`Monthly Cost (Real)`: this field automatically updates after the :guilabel:`Schedule
Pay` and :guilabel:`Wage` fields are entered. This amount is the total monthly cost for the
employer. This field **cannot** be modified, and is calculated based on the :guilabel:`Yearly
Cost (Real)`.
.. image:: contracts/salary-info.png
:align: center
:alt: Optional tabs for a new contract.
Contract Details tab
--------------------
Contract details
----------------
The contract details section allows for the addition and editing of a contract, and the ability to
send the contract to the employee for approval and signatures.
- :guilabel:`Contract Template`: select a pre-existing contract template from the drop-down menu.
Contract templates are typically created through the configuration menu, and stored in the
*Documents* application.
Sign section
~~~~~~~~~~~~
- :guilabel:`HR Responsible`: select the person who is responsible for validating the contract from
the drop-down menu. This field is required.
- :guilabel:`New Contract Document Template`: select a contract from the drop-down menu to be
modified for this new employee contract. These documents are stored in the *Sign* application.
- :guilabel:`Contract Update Document Template`: select a contract from the drop-down menu, if the
employee has an existing contract that requires updating. These documents are stored in the *Sign*
application.
.. important::
The :guilabel:`HR Responsible`, :guilabel:`New Contract Document Template`, and
:guilabel:`Contract Update Document Template` fields are only visible if the *Sign* application
is installed, along with the `hr_contract_salary` and `hr_contract_salary_payroll` :doc:`modules
<../../general/apps_modules>`. The *Sign* application is where the contract templates are stored.
This application is required for an employee to sign any contract.
Accounting section
~~~~~~~~~~~~~~~~~~
- :guilabel:`Analytic Account`: select the account the contract affects from the drop-down menu. It
is recommended to check with the accounting department to ensure the correct account is selected.
Part Time section
~~~~~~~~~~~~~~~~~
- :guilabel:`Part Time`: tick this box if the employee is working part-time. When active, additional
fields appear:
- :guilabel:`% (Percentage)`: enter the percent of time the employee works as compared to a
full-time employee.
- :guilabel:`Standard Calendar`: select the working hours that a typical full-time worker uses
from the drop-down menu.
- :guilabel:`Part Time Work Entry Type`: select the work entry type that generates the balance of
a full-time working schedule.
.. example::
If a full-time employee works 40 hours a week, and the employee works 20, enter `50` in the
:guilabel:`% (Percentage)` field (50% of 40 hours = 20 hours). The employee generates twenty
(20) hours of work entries under the work entry type `part-time`, and another twenty (20)
hours of work entries under the work entry type `generic time off`, for a total of forty (40)
hours worth of work entries.
Notes section
~~~~~~~~~~~~~
- :guilabel:`Notes`: a text field where any notes for the employee contract are entered for future
reference.
.. image:: contracts/contract-details.png
:align: center
:alt: Contract details in optional tabs for a new contract.
Personal Documents tab
----------------------
- :guilabel:`Contract Template`: Select a pre-existing contract template from the drop-down menu.
Contract templates are typically created through the *Recruitment* application.
- :guilabel:`New Contract Document Template`: Select a contract from the drop-down menu to be
modified for this new employee contract.
- :guilabel:`Contract Update Document Template`: Select a contract from the drop-down menu if the
employee has an existing contract that requires updating.
- :guilabel:`Notes`: The notes field is a text field where any notes for the employee contract can
be entered for future reference.
Once an :guilabel:`Employee` is selected in the :ref:`General Information section
<payroll/gen-info>`, the :guilabel:`Personal Documents` tab appears.
Modifying a contract
~~~~~~~~~~~~~~~~~~~~
If any documents are needed to keep on file, add them in the :guilabel:`Personal Documents` tab.
Depending on what other applications are installed, and what kind of benefits are enabled (and
offered) to the employee, the various options to add a file varies. The :guilabel:`Image` option
always appears, and is available by default.
Click the :guilabel:`External Link` button at the end of each line to open the corresponding
contract template and make any changes.
Click the :guilabel:`Upload your file` button next to the corresponding document, navigate to the
file, then click :guilabel:`Open` to select the document and add it to the tab.
.. image:: contracts/external-link.png
:align: center
:alt: Contract details in optional tabs for a new contract.
Modifying contract templates
============================
A pop-up window appears with all the contract details. Modify the fields for the contract as needed.
Contracts templates can be modified at any point when changes are needed.
.. image:: contracts/modify-contract.png
:align: center
:alt: Edit the details for the contract.
To modify a contract template, refer to the :ref:`contract templates <payroll/contract-templates>`
section of the main payroll documentation.
- :guilabel:`Tags`: Select any tags associated with the contract.
- :guilabel:`Signed Document Workspace`: This is where the signatures are stored. Choose a
pre-configured workspace or create a new one.
- :guilabel:`Signed Document Tags`: Select or create any tags associated only with the signed
contract as opposed to the original unsigned contract.
- :guilabel:`Redirect Link`: Enter a redirect link for the employee to access the contract. A
redirect link takes the user from one URL to another, in this case, to the newly updated contract
specifically written for them.
- :guilabel:`Who can Sign`: Select either :guilabel:`All Users` or :guilabel:`On Invitation`.
Salary attachments
==================
- :guilabel:`All Users`: Any user in the organization can sign the contract.
- :guilabel:`On Invitation`: Only users selected in this field can sign the contract.
- :guilabel:`Invited Users`: Select the person(s) that can sign the document.
- :guilabel:`Document`: The attached document can be replaced by clicking the :guilabel:`✏️
(pencil)` icon. A pop-up window appears so another document can be selected for upload. The file
must be a PDF. To remove the document, click the :guilabel:`🗑️ (trash can)` icon.
Once the edits are complete, click the :guilabel:`Save` button. All the information for the selected
contract template populates the fields in the :guilabel:`Salary Information` tab. Any additional
tabs, such as :guilabel:`Personal Documents`, appears if applicable.
Salary information
------------------
.. image:: contracts/salary-info.png
:align: center
:alt: Optional tabs for a new contract.
This section is where the specific salary details are defined. This section is country-specific, so
depending on where the company is located, these fields may vary.
Enter the amount in the various fields, or check a box to apply a benefit. Some options that can be
entered here include :guilabel:`Meal Vouchers`, :guilabel:`Fuel Card`, :guilabel:`Internet`,
:guilabel:`Paid Time Off`, etc.
Some fields may be automatically filled in based off of the contracts selected in the
:guilabel:`Contract Details` tab.
Attachment of salary
--------------------
Any automatic deductions or allocations for an employee, such as child support payments and wage
garnishments, are referred to as a *salary attachment*. Navigate to :menuselection:`Payroll app -->
Contracts --> Salary Attachments` to view a list of all the currently configured salary attachments.
garnishments, are referred to as a *salary attachment*. This section is where all of these
deductions or allocations are set.
Each salary attachment appears with all its relevant details displayed. The :guilabel:`Status` for
each attachment is color-coded in the far right column.
Currently running salary attachments have a :guilabel:`Status` of :guilabel:`Running`, and appear in
green. Salary attachments that have been paid in-full, and are no longer active, have a
:guilabel:`Status` of :guilabel:`Completed`, and appear in blue. Cancelled salary attachments have a
:guilabel:`Status` of :guilabel:`Cancelled`, and appear in red.
.. image:: contracts/attachments.png
:align: center
:alt: A list view of all the salary attachments with their status displayed.
New salary attachment
---------------------
To create a new salary attachment from the :guilabel:`Salary Attachment` page, click
:guilabel:`New`, and a blank salary attachment form loads. Enter the following information on the
form:
- :guilabel:`Employees`: add any employees the salary attachment applies to using the drop-down
menu.
.. tip::
Multiple employees can be added, if the salary attachment details are identical. After all
employees are added, a :guilabel:`Create Individual Attachments` button appears at the top of
the form.
After the form is completed, click the :guilabel:`Create Individual Attachments` button to
create separate salary attachments for each of the employees listed in this field.
.. image:: contracts/individual-attachments.png
:align: center
:alt: The Create Individual Attachments button that appears after multiple employees are
added to the Employees field.
This is a time-saving tip, so that separate salary attachments do not need to be created
individually. They can be created in a batch using this method.
- :guilabel:`Description`: enter a description for the specific type of salary attachment.
- :guilabel:`Type`: select the :ref:`type of salary attachment <payroll/salary-attachment-types>`
from the drop-down menu. The options listed come from the salary attachment types configured in
the configuration menu.
- :guilabel:`Start Date`: enter the date the salary attachment begins. The first of the current
month populates this field, by default. Click on the date, and a calendar appears. Navigate to the
desired month and year, using the :guilabel:`< > (arrow)` icons, and click on the date to select
it.
- :guilabel:`Document`: if any documents are needed for the salary attachment, click the
:guilabel:`Upload your file` button, and a file explorer appears. Navigate to the file, and click
:guilabel:`Open` to select them, and attach them to the form.
- :guilabel:`Monthly Amount`: enter the amount to be taken out of the paycheck each month for this
salary attachment.
- :guilabel:`Estimated End Date`: this field only appears after the :guilabel:`Monthly Amount` field
is populated, and if the :guilabel:`Type` is **not** set to :guilabel:`Child Support`. This date
is when the salary attachment is predicted to end, and is automatically calculated once both, the
:guilabel:`Monthly Amount` and :guilabel:`Total Amount`, fields are populated. This is calculated
based on how much is required to be paid, and how much is paid towards that amount each month. If
either the :guilabel:`Monthly Amount` or :guilabel:`Total Amount` changes, this field
automatically updates. It is **not** possible to modify this field.
- :guilabel:`Total Amount`: enter the total amount to be paid in this field. If :guilabel:`Child
Support` is selected for the :guilabel:`Type`, this field does **not** appear.
To add a new deduction, click :guilabel:`Add a line`. Type in a description for the allocation under
:guilabel:`Description`.
.. image:: contracts/garnishment.png
:align: center
:alt: Enter a new line for each type of garnishment.
.. important::
When the total amount has been paid for the salary attachment, navigate to the individual salary
attachment, and click the :guilabel:`Mark as Completed` button at the top of the form. This
changes the status to :guilabel:`Completed`, and the garnishments are no longer taken out of the
employee's paychecks.
Select the :guilabel:`Garnished Type` from the drop-down menu. Choose from:
Offers
======
- :guilabel:`Attachment of Salary`: Any payments taken out towards something that is *not* child
support. Typically any garnishments such as lawsuit payments, payments toward taxes owed, etc.
- :guilabel:`Assignment of Salary`: Any deduction that is not required but voluntary, such as a
pre-tax allocation to a college savings account.
- :guilabel:`Child Support`: Any payments taken out specifically for child support.
Once a contract has been created or modified, the contract **must** be sent to the employee to be
accepted and signed.
Enter the start and end dates the entry applies to. Click on the drop-down menu under
:guilabel:`From` and :guilabel:`To`, navigate to the correct month and year by using the
:guilabel:`< > (arrow)` icons, then click on the :guilabel:`date`.
Send an offer
-------------
Last, enter the :guilabel:`Amount` that each payslip pays towards the entry.
Open an individual contract by navigating to :menuselection:`Payroll app --> Contracts ->
Contracts`, and click on a contract to open the contract form. Click on the :guilabel:`Generate
Offer` button at the top of the page, and a :guilabel:`Generate Simulation Link` pop-up form
appears.
To delete a line, click the :guilabel:`🗑️ (trash can)` icon at the end of the line.
Save and send the contract
--------------------------
Once a contract has been created and/or modified, save the contract by clicking the :guilabel:`Save`
button. Next, the contract must be sent to the employee to be signed.
Click on one of the following buttons to send the contract to the employee:
.. image:: contracts/send-contract.png
:align: center
:alt: Send the contract to the employee via one of the buttons.
The :guilabel:`Generate Simulation Link` pop-up form contains all the information pulled from the
contract, including the :guilabel:`Contract Template`, :guilabel:`Job Position`, :guilabel:`Job
Title`, :guilabel:`Department`, :guilabel:`Contract Start Date`, :guilabel:`Default Vehicle`,
:guilabel:`Contract Type`, and :guilabel:`Yearly Cost`.
- :guilabel:`Generate Simulation Link`: This option is for Belgian companies only. Clicking this
opens a pop-up window that contains the basic information from the contract as well as a link for
the contract when using the salary configurator. Click :guilabel:`Send Offer` to send an email to
the employee so they can sign the contract.
At the bottom of the pop-up form is a :guilabel:`Link Expiration Date`. This is the timeframe that
the contract offer is valid for. By default, this field is pre-populated with `30 days`, but it can
be modified.
.. image:: contracts/simulation.png
:align: center
:alt: Sends a link to the employee for the contract.
Click the :guilabel:`Send By Email` button, and a :guilabel:`Send Offer Email` template pop-up
window appears. Make any modifications to the email, and attach any additional documents needed,
then click :guilabel:`Send` to send the offer.
.. note::
In order to send a contract using the :guilabel:`Generate Simulation Link`, there must be a
signature field in the contract PDF being sent to the employee so they can sign it.
.. image:: contracts/send-offer.png
:align: center
:alt: The email template pop-up to send an offer.
- :guilabel:`Signature Request`: Click this and a pop-up window appears where an email can be typed
to the employee. Select the document, such as a contract, NDA, or Homeworking Policy, from the
drop-down menu, and fill out the email section. Click :guilabel:`Send` when the email is ready to
be sent.
.. note::
To send a contract using the :guilabel:`Generate Simulation Link`, there **must** be a signature
field in the contract PDF being sent to the employee, so they can sign it.
.. image:: contracts/sign-contract.png
:align: center
:alt: Request a signature for the contract via email.
Accept an offer
---------------
Once the offer email is received, the offer can be accepted, and the contract can be signed.
In the offer email, click the :guilabel:`Configure your package` button, and the offer loads in a
new tab. Enter the requested information on the form. Next, click the :guilabel:`Review Contract &
Sign` button to begin the signing process.
Click the :guilabel:`CLICK TO START` button at the top-left of the contract. Follow the prompts to
complete the signature request. The contract auto-populates with the information entered on the
:guilabel:`Configure your package` page. When done, click the :guilabel:`Validate & Send Completed
Document` button at the bottom of the contract.
After the document is signed by the (potential) employee, management signs the contract next. The
manager's signature is completed directly in the *Sign* application.
.. image:: contracts/sign-contract.png
:align: center
:alt: The contract offer, ready to sign with the Click to Start button highlighted.
.. note::
Depending on the localization settings, there may be the option to customize the offer in the
:guilabel:`Configure your package` tab.
View offers
-----------
To view the current offers, navigate to :menuselection:`Payroll app --> Contracts --> Offers`. This
presents all offers in a list view, grouped by status, and displays the number of offers in each
status category. The statuses are: :guilabel:`Fully Signed`, :guilabel:`Partially Signed`,
:guilabel:`In Progress`, and :guilabel:`Expired`.
To view the offers with a specific status, click on the status to expand the list. If a specific
status has no offers, the status is not visible in the list.
.. image:: contracts/offers.png
:align: center
:alt: The offers in a list view, grouped by status.
- :guilabel:`Credit Time`: This option is for Belgian companies only. When clicked, a pop-up window
appears that allows for the changing of working times, and can compute time off.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

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