Compare commits
50 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 37bd21ba00 | |||
| 9368181d04 | |||
| d87271002b | |||
| 783ab8f2c0 | |||
| da0360cdd5 | |||
| e17d6d7689 | |||
| e174fa9e3e | |||
| 3d2422b3bd | |||
| d7eb8f014b | |||
| 9a2921ba52 | |||
| c42963cda9 | |||
| 38ce2431e5 | |||
| 5c43477540 | |||
| e56cfe5e48 | |||
| 5627bea8aa | |||
| 3f048e7997 | |||
| a13bf9b24f | |||
| 615d282910 | |||
| f820f189a2 | |||
| 1d17ceda3c | |||
| 4b5b008063 | |||
| ba3ba3c93b | |||
| 5765edca11 | |||
| 78225635f4 | |||
| c2e60da73d | |||
| 5144c006ef | |||
| 4df1b8ec7a | |||
| 840a739396 | |||
| 3692e684c4 | |||
| 7e60e64125 | |||
| d35306daca | |||
| 8e23bc4ccb | |||
| ff86bf4e67 | |||
| 8c80d01693 | |||
| 0d4ae20ed8 | |||
| b46e7c8ef0 | |||
| 8c895b05e4 | |||
| 884c0b0c57 | |||
| 279527cb73 | |||
| c6208a51ef | |||
| 16c6c0f492 | |||
| ca39c79dfe | |||
| 196361f8ae | |||
| a5cfacc973 | |||
| cab5ad8532 | |||
| e7b777bebd | |||
| 707b5842cb | |||
| abdb31b852 | |||
| 769793b56c | |||
| f8a114b334 |
@@ -1,7 +1,7 @@
|
||||
[main]
|
||||
host = https://www.transifex.com
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:administration]
|
||||
[o:odoo:p:odoo-18-doc:r:administration]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/administration.po
|
||||
source_file = locale/sources/administration.pot
|
||||
type = POT
|
||||
@@ -11,7 +11,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:applications]
|
||||
[o:odoo:p:odoo-18-doc:r:applications]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/applications.po
|
||||
source_file = locale/sources/applications.pot
|
||||
type = POT
|
||||
@@ -21,7 +21,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:essentials]
|
||||
[o:odoo:p:odoo-18-doc:r:essentials]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/essentials.po
|
||||
source_file = locale/sources/essentials.pot
|
||||
type = POT
|
||||
@@ -31,7 +31,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:finance]
|
||||
[o:odoo:p:odoo-18-doc:r:finance]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/finance.po
|
||||
source_file = locale/sources/finance.pot
|
||||
type = POT
|
||||
@@ -41,7 +41,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:general]
|
||||
[o:odoo:p:odoo-18-doc:r:general]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/general.po
|
||||
source_file = locale/sources/general.pot
|
||||
type = POT
|
||||
@@ -51,7 +51,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:hr]
|
||||
[o:odoo:p:odoo-18-doc:r:hr]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/hr.po
|
||||
source_file = locale/sources/hr.pot
|
||||
type = POT
|
||||
@@ -61,7 +61,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:index]
|
||||
[o:odoo:p:odoo-18-doc:r:index]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/index.po
|
||||
source_file = locale/sources/index.pot
|
||||
type = POT
|
||||
@@ -71,7 +71,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:inventory_and_mrp]
|
||||
[o:odoo:p:odoo-18-doc:r:inventory_and_mrp]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/inventory_and_mrp.po
|
||||
source_file = locale/sources/inventory_and_mrp.pot
|
||||
type = POT
|
||||
@@ -81,7 +81,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:marketing]
|
||||
[o:odoo:p:odoo-18-doc:r:marketing]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/marketing.po
|
||||
source_file = locale/sources/marketing.pot
|
||||
type = POT
|
||||
@@ -91,7 +91,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:productivity]
|
||||
[o:odoo:p:odoo-18-doc:r:productivity]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/productivity.po
|
||||
source_file = locale/sources/productivity.pot
|
||||
type = POT
|
||||
@@ -101,7 +101,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:sales]
|
||||
[o:odoo:p:odoo-18-doc:r:sales]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/sales.po
|
||||
source_file = locale/sources/sales.pot
|
||||
type = POT
|
||||
@@ -111,7 +111,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:services]
|
||||
[o:odoo:p:odoo-18-doc:r:services]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/services.po
|
||||
source_file = locale/sources/services.pot
|
||||
type = POT
|
||||
@@ -121,7 +121,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:user_settings]
|
||||
[o:odoo:p:odoo-18-doc:r:user_settings]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/settings.po
|
||||
source_file = locale/sources/settings.pot
|
||||
type = POT
|
||||
@@ -131,7 +131,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:studio]
|
||||
[o:odoo:p:odoo-18-doc:r:studio]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/studio.po
|
||||
source_file = locale/sources/studio.pot
|
||||
type = POT
|
||||
@@ -141,7 +141,7 @@ replace_edited_strings = false
|
||||
keep_translations = false
|
||||
source_lang = en
|
||||
|
||||
[o:odoo:p:odoo-17-doc:r:websites]
|
||||
[o:odoo:p:odoo-18-doc:r:websites]
|
||||
file_filter = locale/<lang>/LC_MESSAGES/websites.po
|
||||
source_file = locale/sources/websites.pot
|
||||
type = POT
|
||||
|
||||
@@ -231,18 +231,12 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'18.0': "Odoo 18",
|
||||
'saas-17.4': "Odoo Online",
|
||||
'saas-17.2': "Odoo Online",
|
||||
'saas-17.1': "Odoo Online",
|
||||
'17.0': "Odoo 17",
|
||||
'saas-16.4': "Odoo Online",
|
||||
'saas-16.3': "Odoo Online",
|
||||
'saas-16.2': "Odoo Online",
|
||||
'saas-16.1': "Odoo Online",
|
||||
'16.0': "Odoo 16",
|
||||
'saas-15.2': "Odoo Online",
|
||||
'15.0': "Odoo 15",
|
||||
'14.0': "Odoo 14",
|
||||
}
|
||||
|
||||
# The language names that should be shown in the language switcher, if the config option `languages`
|
||||
|
||||
@@ -33,17 +33,17 @@ Manage the Github users who can access your project.
|
||||
.. image:: settings/interface-settings-collaborators.png
|
||||
:align: center
|
||||
|
||||
There are two levels of users:
|
||||
There are three levels of users:
|
||||
|
||||
* Admin: has access to all features of Odoo.sh.
|
||||
* User: does not have access to the project settings nor to the production and staging databases.
|
||||
- :guilabel:`Admin`: has access to all features of an Odoo.sh project.
|
||||
|
||||
The user group is meant for developers who can make modifications in your code but are not allowed
|
||||
to access the production data. Users of this group cannot connect to the production and staging
|
||||
databases using the *1-click connect* feature, but they can of course use their regular account on
|
||||
these databases if they have one, using their regular credentials.
|
||||
- :guilabel:`Tester`: has access to the *Staging* and *Development* databases and their tooling.
|
||||
This role is for users conducting User Acceptance Tests. Testers can work with copies of
|
||||
production data but cannot access the production database through the Odoo.sh tooling.
|
||||
|
||||
In addition, they cannot use the webshell nor have access to the server logs.
|
||||
- :guilabel:`Developer`: has access only to the *Development* databases and their tooling. This
|
||||
role is for developers who propose code modifications but are not allowed to access production
|
||||
and staging databases through the Odoo.sh tooling.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
@@ -51,83 +51,145 @@ In addition, they cannot use the webshell nor have access to the server logs.
|
||||
|
||||
* -
|
||||
-
|
||||
- User
|
||||
- Developer
|
||||
- Tester
|
||||
- Admin
|
||||
* - Development
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
- |green|
|
||||
- |green|
|
||||
* - Production & Staging
|
||||
- |green|
|
||||
* - Staging
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Monitoring
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Backups
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
- |green|\*
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
* - Production
|
||||
- History
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* -
|
||||
- 1-click connect
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Logs
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Shell/SSH
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Mails
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Monitoring
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Backups
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Upgrade
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* -
|
||||
- Settings
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
* - Status
|
||||
-
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
* - Settings
|
||||
-
|
||||
-
|
||||
-
|
||||
- |green|
|
||||
|
||||
.. note::
|
||||
\* Only in staging branches
|
||||
.. warning::
|
||||
Those roles only apply to the usage of Odoo.sh. It is important to reflect the user roles
|
||||
attribution within the repository on GitHub. Please refer to the GitHub documentation section on
|
||||
`Managing a branch protection rule <https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule>`_
|
||||
for detailed guidance.
|
||||
|
||||
.. |green| raw:: html
|
||||
|
||||
@@ -149,15 +211,32 @@ Allow public access to your development builds.
|
||||
.. image:: settings/interface-settings-public.png
|
||||
:align: center
|
||||
|
||||
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
|
||||
development builds.
|
||||
|
||||
In addition, visitors have access to the logs, shell and mails of your development builds.
|
||||
If activated, this option exposes the Builds page publicly, allowing visitors to view logs of development builds.
|
||||
|
||||
Production and staging builds are excluded, visitors can only see their status.
|
||||
|
||||
.. _odoosh-gettingstarted-settings-modules-installation:
|
||||
|
||||
GitHub commit statuses
|
||||
======================
|
||||
|
||||
This option enables Odoo.sh to push commit statuses to your GitHub repository when a build is
|
||||
created or updated. It requires a GitHub token with permissions to push commit statuses to the
|
||||
repository. Refer to `GitHub's documentation on personal access tokens <https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens>`_
|
||||
for instructions to create yours.
|
||||
|
||||
.. note::
|
||||
GitHub's **fine-grained personal tokens** have an expiration date and will be disabled if they
|
||||
fail to update the commit status. You can replace the token at any time on Odoo.sh.
|
||||
|
||||
The commit statuses pushed to GitHub can have the following contexts:
|
||||
|
||||
- :guilabel:`ci/odoo.sh (dev)`: status of a development build
|
||||
- :guilabel:`ci/odoo.sh (staging)`: status of a staging build
|
||||
- :guilabel:`ci/odoo.sh (production)`: status of a production build
|
||||
- :guilabel:`ci/odoo.sh (test_ci)`: testing the token from the Settings page will push a test
|
||||
status on the last commit of your repository
|
||||
|
||||
Custom domains
|
||||
==============
|
||||
|
||||
|
||||
@@ -61,8 +61,8 @@ To resolve the issue:
|
||||
your **network and firewall settings** allow the Odoo server to open outgoing connections
|
||||
towards:
|
||||
|
||||
- `services.odoo.com` on port `443` (or `80`)
|
||||
- for older deployments, `services.openerp.com` on port `443` (or `80`)
|
||||
- Odoo 18.0 and above: `services.odoo.com` on port `443` (or `80`)
|
||||
- Odoo 17.0 and below: `services.openerp.com` on port `443` (or `80`)
|
||||
|
||||
These ports must be kept open even after registering a database, as the update notification runs
|
||||
once a week.
|
||||
|
||||
@@ -31,24 +31,24 @@ This matrix shows the support status of every version.
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo saas~17.4
|
||||
* - **Odoo 18.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- October 2024
|
||||
- October 2027 (planned)
|
||||
* - Odoo SaaS 17.4
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- July 2024
|
||||
-
|
||||
* - Odoo saas~17.2
|
||||
* - Odoo SaaS 17.2
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- April 2024
|
||||
-
|
||||
* - Odoo saas~17.1
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- January 2024
|
||||
-
|
||||
* - **Odoo 17.0**
|
||||
- |green|
|
||||
- |green|
|
||||
@@ -60,31 +60,25 @@ This matrix shows the support status of every version.
|
||||
- |green|
|
||||
- |green|
|
||||
- October 2022
|
||||
- November 2025 (planned)
|
||||
- October 2025 (planned)
|
||||
* - **Odoo 15.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2021
|
||||
- November 2024 (planned)
|
||||
- October 2024
|
||||
* - **Odoo 14.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2020
|
||||
- November 2023
|
||||
* - **Odoo 13.0**
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- October 2019
|
||||
- October 2022
|
||||
* - Older versions
|
||||
- |red|
|
||||
- |red|
|
||||
- |red|
|
||||
- Before 2019
|
||||
- Before 2022
|
||||
- Before 2020
|
||||
- Before 2023
|
||||
|
||||
.. admonition:: Legend
|
||||
|
||||
|
||||
@@ -193,4 +193,3 @@ Payments` tab. To display the outstanding accounts column, click on the toggle b
|
||||
bank/reconciliation
|
||||
bank/reconciliation_models
|
||||
bank/foreign_currency
|
||||
bank/cash_register
|
||||
|
||||
@@ -1,56 +0,0 @@
|
||||
=============
|
||||
Cash register
|
||||
=============
|
||||
|
||||
The cash register is a journal to register receivings and payments transactions.
|
||||
It calculates the total money in and out, computing the total balance.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. image:: cash_register/journal.png
|
||||
:align: center
|
||||
|
||||
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
|
||||
Journals`.
|
||||
|
||||
2. In the tab Journal Entries, the Default Debit and Credit Account can be
|
||||
configured as well as the currency of the journal
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
How to register cash payments?
|
||||
------------------------------
|
||||
|
||||
To register a cash payment specific to another customer, you should follow
|
||||
these steps:
|
||||
|
||||
1. Go to :menuselection:`Accounting --> Dashboard --> Cash --> Register
|
||||
Transactions`
|
||||
|
||||
2. Fill in the start and ending balance
|
||||
|
||||
3. Register the transactions, specifying the customers linked to the transaction
|
||||
|
||||
Put money in
|
||||
------------
|
||||
|
||||
Put money in is used to placed your cash manually before starting your
|
||||
transactions. From the Register Transactions window, go to :menuselection:`More
|
||||
--> Put money in`
|
||||
|
||||
.. image:: cash_register/put-money-in.png
|
||||
:align: center
|
||||
|
||||
Take money out
|
||||
--------------
|
||||
|
||||
Take money out is used to collect/get yor your cash manually after
|
||||
ending all your transactions. From the Register Transaction windows, go to :menuselection:`More
|
||||
--> Take money out`
|
||||
|
||||
.. image:: cash_register/put-money-out.png
|
||||
:align: center
|
||||
|
||||
The transactions will be added to the current cash payment registration.
|
||||
|
Before Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 6.0 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
@@ -33,18 +33,16 @@ Make sure the default settings are correctly configured for your business. To do
|
||||
|
||||
Journal
|
||||
The deferral entries are posted in this journal.
|
||||
Deferred Expense Account
|
||||
Expenses are deferred on this Current Asset account until they are recognized.
|
||||
Deferred Revenue Account
|
||||
Deferred Revenue
|
||||
Revenues are deferred on this Current Liability account until they are recognized.
|
||||
Generate Entries
|
||||
By default, Odoo :ref:`automatically generates <customer_invoices/deferred/generate_on_validation>`
|
||||
the deferral entries when you post a customer invoice. However, you can also choose to
|
||||
:ref:`generate them manually <customer_invoices/deferred/generate_manually>` by selecting the
|
||||
:guilabel:`Manually & Grouped` option instead.
|
||||
Amount Computation
|
||||
Suppose an invoice of $1200 must be deferred over 12 months. The :guilabel:`Equal per month`
|
||||
computation accounts for $100 each month, while the :guilabel:`Based on days` computation
|
||||
Based on
|
||||
Suppose an invoice of $1200 must be deferred over 12 months. The :guilabel:`Months`
|
||||
computation accounts for $100 each month, while the :guilabel:`Days` computation
|
||||
accounts for different amounts depending on the number of days in each month.
|
||||
|
||||
.. _customer_invoices/deferred/generate_on_validation:
|
||||
|
||||
@@ -4,157 +4,130 @@
|
||||
Reporting
|
||||
=========
|
||||
|
||||
Main reports available
|
||||
======================
|
||||
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
|
||||
:doc:`localization package <../../finance/fiscal_localizations>` installed:
|
||||
|
||||
Besides the reports created specifically in each localisation module, a
|
||||
few very useful **generic** and **dynamic reports** are available for all
|
||||
countries :
|
||||
- :ref:`accounting/reporting/balance-sheet`
|
||||
- :ref:`accounting/reporting/profit-and-loss`
|
||||
- :ref:`accounting/reporting/executive-summary`
|
||||
- :ref:`accounting/reporting/general-ledger`
|
||||
- :ref:`accounting/reporting/aged-receivable`
|
||||
- :ref:`accounting/reporting/aged-payable`
|
||||
- :ref:`accounting/reporting/cash-flow-statement`
|
||||
- :ref:`accounting/reporting/tax-report`
|
||||
|
||||
- **Balance Sheet**
|
||||
- **Profit and Loss**
|
||||
- **Executive Summary**
|
||||
- **General Ledger**
|
||||
- **Aged Payable**
|
||||
- **Aged Receivable**
|
||||
- **Cash Flow Statement**
|
||||
- **Tax Report**
|
||||
- **Bank Reconciliation**
|
||||
To expand the lines of a report and view its details, click the :icon:`fa-caret-right`
|
||||
(:guilabel:`right arrow`) on the left. Then click the :icon:`fa-caret-down` (:guilabel:`down arrow`)
|
||||
to the right of the account, journal entry, payment, invoice, etc. to :guilabel:`Annotate` and view
|
||||
the details.
|
||||
|
||||
You can annotate every reports to print them and report to your adviser.
|
||||
Export to xls to manage extra analysis. Drill down in the reports to see
|
||||
more details (payments, invoices, journal items, etc.).
|
||||
.. image:: reporting/reporting-annotate.png
|
||||
:alt: Annotate reports.
|
||||
|
||||
You can also compare values with another period. Choose how many periods
|
||||
you want to compare the chosen time period with. You can choose up to 12
|
||||
periods back from the date of the report if you don't want to use the
|
||||
default **Previous 1 Period** option.
|
||||
To export reports in PDF or XLSX format, click :guilabel:`PDF` at the top or click the
|
||||
:icon:`fa-caret-down` (:guilabel:`down arrow`) icon next to the :guilabel:`PDF` button and
|
||||
select :guilabel:`XLSX`.
|
||||
|
||||
.. _reporting/balance-sheet:
|
||||
To compare values across periods, click the :guilabel:`Comparison` menu and select the periods you
|
||||
want to compare.
|
||||
|
||||
Balance Sheet
|
||||
-------------
|
||||
|
||||
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
|
||||
of your organisation as at a particular date.
|
||||
|
||||
.. image:: reporting/main_reports09.png
|
||||
.. image:: reporting/reporting-comparison.png
|
||||
:alt: Comparison menu to compare time periods.
|
||||
|
||||
.. _accounting/reporting/balance-sheet:
|
||||
|
||||
Balance Sheet
|
||||
=============
|
||||
|
||||
The :guilabel:`Balance Sheet` shows a snapshot of your organization's assets, liabilities, and
|
||||
equity at a particular date.
|
||||
|
||||
.. _accounting/reporting/profit-and-loss:
|
||||
|
||||
Profit and Loss
|
||||
---------------
|
||||
===============
|
||||
|
||||
The **Profit and Loss** report (or **Income Statement**) shows your
|
||||
organisation's net income, by deducting expenses from revenue for the
|
||||
report period.
|
||||
|
||||
.. image:: reporting/main_reports10.png
|
||||
The :guilabel:`Profit and Loss` report (or **Income Statement**) shows your company's net income by
|
||||
deducting expenses from revenue for the reporting period.
|
||||
|
||||
.. _accounting/reporting/executive-summary:
|
||||
|
||||
Executive Summary
|
||||
-----------------
|
||||
=================
|
||||
|
||||
The **Executive Summary** allows for a quick look at all the important
|
||||
figures you need to run your company.
|
||||
The :guilabel:`Executive Summary` provides an overview of all the important figures for overseeing
|
||||
your company's performance.
|
||||
|
||||
In very basic terms, this is what each of the items in this section is
|
||||
reporting :
|
||||
It includes the following items:
|
||||
|
||||
- **Performance:**
|
||||
- **Gross profit margin:**
|
||||
The contribution each individual sale made
|
||||
by your business less any direct costs needed to make those sales
|
||||
(things like labour, materials, etc).
|
||||
- **Net profit margin:**
|
||||
The contribution each individual sale made by
|
||||
your business less any direct costs needed to make those sales,
|
||||
as well as any fixed overheads your company has (things like
|
||||
rent, electricity, taxes you need to pay as a result of those
|
||||
sales).
|
||||
- **Return on investment (p.a.):**
|
||||
The ratio of net profit made, to the
|
||||
amount of assets the company used to make those profits.
|
||||
- **Position:**
|
||||
- **Average debtor days:**
|
||||
The average number of days it takes your
|
||||
customers to pay you (fully), across all your customer invoices.
|
||||
- **Average creditor days:**
|
||||
The average number of days it takes you to
|
||||
pay your suppliers (fully) across all your bills.
|
||||
- **Short term cash forecast:**
|
||||
How much cash is expected in or out of
|
||||
your organisation in the next month i.e. balance of your **Sales
|
||||
account** for the month less the balance of your **Purchases account**
|
||||
for the month.
|
||||
- **Current assets to liabilities:**
|
||||
Also referred to as **current ratio**, this is the ratio
|
||||
of current assets (assets that could be
|
||||
turned into cash within a year) to the current liabilities
|
||||
(liabilities which will be due in the next year). This is
|
||||
typically used as as a measure of a company's ability to service
|
||||
its debt.
|
||||
- :guilabel:`Performance`:
|
||||
- :guilabel:`Gross profit margin`:
|
||||
The contribution of all sales your business makes **minus** any direct costs needed to
|
||||
make those sales (labor, materials, etc.).
|
||||
- :guilabel:`Net profit margin`:
|
||||
The contribution of all sales made by your business **minus** any direct costs needed to
|
||||
make those sales *and* fixed overheads your company has (electricity, rent, taxes
|
||||
to be paid as a result of those sales, etc.).
|
||||
- :guilabel:`Return on investment (per annum)`:
|
||||
The ratio of the net profit to the amount of assets the company used to make those profits.
|
||||
- :guilabel:`Position`:
|
||||
- :guilabel:`Average debtors days`:
|
||||
The average number of days it takes your customers to (fully) pay you across all your
|
||||
customer invoices.
|
||||
- :guilabel:`Average creditors days`:
|
||||
The average number of days it takes you to (fully) pay your suppliers across all your bills.
|
||||
- :guilabel:`Short-term cash forecast`:
|
||||
How much cash is expected in or out of your business in the next month, i.e., the balance of
|
||||
your **Sales account** for the month **minus** the balance of your **Purchases account** for
|
||||
the month.
|
||||
- :guilabel:`Current assets to liabilities`:
|
||||
Also referred to as the **current ratio**, this is the ratio of current assets (:dfn:`assets
|
||||
that could be turned into cash within a year`) to the current liabilities (:dfn:`liabilities
|
||||
that will be due in the next year`). It is typically used to measure a company's ability to
|
||||
service its debt.
|
||||
|
||||
.. image:: reporting/main_reports01.png
|
||||
.. _accounting/reporting/general-ledger:
|
||||
|
||||
General Ledger
|
||||
--------------
|
||||
==============
|
||||
|
||||
The **General Ledger Report** shows all transactions from all accounts for a
|
||||
chosen date range. The initial summary report shows the totals for each
|
||||
account and from there you can view a detailed transaction report or any
|
||||
exceptions. This report is useful for checking every transaction that
|
||||
occurred during a certain period of time.
|
||||
The :guilabel:`General Ledger` report shows all transactions from all accounts for a selected date
|
||||
range. The initial summary report shows the totals for each account. To expand an account and view
|
||||
its details, click the :icon:`fa-caret-right` (:guilabel:`right arrow`) on the left.
|
||||
This report is useful for reviewing each transaction that occurred during a specific period.
|
||||
|
||||
.. image:: reporting/main_reports05.png
|
||||
|
||||
.. _reporting/aged-payable:
|
||||
|
||||
Aged Payable
|
||||
------------
|
||||
|
||||
Run the **Aged Payable Details** report to display information on individual
|
||||
bills, credit notes and overpayments owed by you, and how long these
|
||||
have gone unpaid.
|
||||
|
||||
.. image:: reporting/main_reports02.png
|
||||
|
||||
.. _reporting/aged-receivable:
|
||||
.. _accounting/reporting/aged-receivable:
|
||||
|
||||
Aged Receivable
|
||||
---------------
|
||||
===============
|
||||
|
||||
The **Aged Receivables** report shows the sales invoices that were awaiting
|
||||
payment during a selected month and several months prior.
|
||||
The :guilabel:`Aged Receivable` report shows the sales invoices awaiting payment during a selected
|
||||
month and several months prior.
|
||||
|
||||
.. image:: reporting/main_reports07.png
|
||||
.. _accounting/reporting/aged-payable:
|
||||
|
||||
Aged Payable
|
||||
============
|
||||
|
||||
The :guilabel:`Aged Payable` report displays information on individual bills, credit notes, and
|
||||
overpayments you owe and how long these have gone unpaid.
|
||||
|
||||
.. _accounting/reporting/cash-flow-statement:
|
||||
|
||||
Cash Flow Statement
|
||||
-------------------
|
||||
===================
|
||||
|
||||
The **Cash Flow Statement** shows how changes in balance sheet accounts and
|
||||
income affect cash and cash equivalents, and breaks the analysis down to
|
||||
operating, investing and financing activities.
|
||||
The :guilabel:`Cash Flow Statement` shows how changes in balance sheet accounts and income affect
|
||||
cash and cash equivalents and breaks the analysis down to operating, investing, and financing
|
||||
activities.
|
||||
|
||||
.. image:: reporting/main_reports03.png
|
||||
|
||||
.. _reporting/tax-report:
|
||||
.. _accounting/reporting/tax-report:
|
||||
|
||||
Tax Report
|
||||
----------
|
||||
==========
|
||||
|
||||
This report allows you to see the **net** and **tax amounts** for all the taxes
|
||||
grouped by type (sale/purchase).
|
||||
|
||||
.. image:: reporting/main_reports04.png
|
||||
|
||||
Bank Reconciliation
|
||||
-------------------
|
||||
|
||||
.. image:: reporting/main_reports06.png
|
||||
The :guilabel:`Tax Report` shows the :guilabel:`NET` and :guilabel:`TAX` amounts for all the
|
||||
taxes grouped by type (:guilabel:`Sales`/:guilabel:`Purchases`).
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
@@ -3,10 +3,10 @@ Data inalterability check report
|
||||
================================
|
||||
|
||||
Tax authorities in some countries require companies to **prove their posted accounting entries are
|
||||
inalterable**, meaning that once an entry has been posted, it can no longer be changed.
|
||||
unaltered**, meaning that once an entry has been secured, it can no longer be changed.
|
||||
|
||||
To do so, Odoo can use the **SHA-256 algorithm** to create a unique fingerprint for each posted
|
||||
entry. This fingerprint is called a hash. The hash is generated by taking an entry's essential data
|
||||
To do so, Odoo creates a unique fingerprint for each secured entry thanks to the **SHA-256 algorithm**.
|
||||
This fingerprint is called a hash. The hash is generated by taking an entry's essential data
|
||||
(the values of the `name`, `date`, `journal_id`, `company_id`, `debit`, `credit`, `account_id`, and
|
||||
`partner_id` fields), concatenating it, and inputting it to the SHA-256 hash function, which then
|
||||
outputs a fixed size (256-bit) string of characters. The hash function is deterministic (:dfn:`the
|
||||
@@ -15,7 +15,7 @@ completely change the resulting hash. Consequently, the SHA-256 algorithm is oft
|
||||
others, for data integrity verification purposes.
|
||||
|
||||
In addition, the previous entry's hash is always added to the next entry to form a **hash chain**.
|
||||
This is used to ensure a new entry is not added afterward between two posted entries, as doing so
|
||||
This is used to ensure a new entry is not added afterward between two secured entries, as doing so
|
||||
would break the hash chain.
|
||||
|
||||
.. note::
|
||||
@@ -24,27 +24,70 @@ would break the hash chain.
|
||||
bigger than the number of atoms in the known universe. This is why hashes are considered unique
|
||||
in practice.
|
||||
|
||||
.. _data-inalterability/lock:
|
||||
.. _data-inalterability/inalterability_features:
|
||||
|
||||
Lock entries with hash
|
||||
======================
|
||||
Inalterability features
|
||||
=======================
|
||||
|
||||
To start using the hashing function, go to :menuselection:`Accounting --> Configuration > Journals`.
|
||||
Open the journal for which you want to activate the feature, go to the :guilabel:`Advanced Settings`
|
||||
tab, and enable :guilabel:`Lock Sent Invoices with Hash` for sale journals, or
|
||||
:guilabel:`Lock Entries Manually` for purchase and general journals.
|
||||
Inalterability features can be enabled by activating the :ref:`secure posted entries with hash
|
||||
<data-inalterability/restricted>` option on any journal or using the :ref:`secure entries wizard
|
||||
<data-inalterability/wizard>`.
|
||||
|
||||
For sale journals, the entry is automatically locked once it is sent. You can also click on the
|
||||
button :guilabel:`Lock` on the invoice to lock it without sending it. For sale, purchase, and
|
||||
general journals, the locking is always done manually using the same button.
|
||||
- Two indicators are added to the journal entry's form view.
|
||||
They show whether the entry is secured or not.
|
||||
|
||||
- A :icon:`fa-lock` or :icon:`fa-unlock` (:guilabel:`lock icon`) next to the :guilabel:`Posted` state.
|
||||
- A :guilabel:`Secured` checkbox in the :guilabel:`Other info` tab.
|
||||
|
||||
- A :guilabel:`Not Secured` filter is available on journal entries and journal items' list views.
|
||||
It can be used to find posted journal entries that are not secured yet.
|
||||
- The option to open the :ref:`secure entries wizard <data-inalterability/wizard>` is displayed in the
|
||||
:guilabel:`Accounting` menu.
|
||||
|
||||
.. _data-inalterability/restricted:
|
||||
|
||||
Secure posted entries with hash
|
||||
===============================
|
||||
|
||||
To activate the hashing function on a specific journal, go to :menuselection:`Accounting -->
|
||||
Configuration --> Journals`. Open a sales, purchase, or miscellaneous journal, go to the
|
||||
:guilabel:`Advanced Settings` tab, and enable :guilabel:`Secure Posted Entries with Hash`.
|
||||
Journals for which the feature is activated are called "restricted".
|
||||
|
||||
To compute the hash of an entry, Odoo retrieves the predecessor entries of the chain (i.e., the
|
||||
entries with the same sequence prefix) and hashes them in a continuous way from the last hashed
|
||||
entry to the new entry to hash.
|
||||
|
||||
.. warning::
|
||||
Once you lock an entry in a locked journal, you cannot disable the feature anymore, nor edit any
|
||||
locked entry.
|
||||
Once you post an entry in a restricted journal, you cannot disable the feature anymore, nor edit
|
||||
any secured entry.
|
||||
|
||||
.. _data-inalterability/wizard:
|
||||
|
||||
Secure entries wizard
|
||||
=====================
|
||||
|
||||
You can also use the :guilabel:`Secure Entries` Wizard to secure all journal entries,
|
||||
in **all** journals, up to a specific date.
|
||||
|
||||
.. note::
|
||||
The wizard operates independently of the journal settings and journal types.
|
||||
|
||||
To open it, activate the :ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting
|
||||
--> Accounting`, and click on :guilabel:`Secure Entries`. If the :ref:`inalterability features
|
||||
<data-inalterability/inalterability_features>` are activated, it is also visible outside the debug
|
||||
mode.
|
||||
|
||||
To secure entries, select a date up to which all entries should be secured and press
|
||||
:guilabel:`Secure Entries`.
|
||||
|
||||
.. warning::
|
||||
After securing the entries, you can no longer edit them.
|
||||
|
||||
.. note::
|
||||
It can happen that entries that are past the selected date are secured.
|
||||
This is possible since the hash chain corresponds to the sequence prefix,
|
||||
ordered by sequence number.
|
||||
|
||||
.. _data-inalterability/report:
|
||||
|
||||
@@ -54,17 +97,18 @@ Report download
|
||||
To download the data inalterability check report, go to :menuselection:`Accounting --> Configuration
|
||||
--> Settings --> Reporting` and click on :guilabel:`Download the Data Inalterability Check Report`.
|
||||
|
||||
The report's first section is an overview of all your journals and their configuration. Under the
|
||||
inalterability check column, you can see whether or not a journal's entries are locked with a hash
|
||||
(V) or not (X). The coverage column tells you when a journal's entries started being locked.
|
||||
The report's first section is an overview of all journal sequence prefixes containing hashed entries.
|
||||
In the :guilabel:`Restricted` column, you can see whether or not a journal has the :ref:`secure
|
||||
posted entries with hash <data-inalterability/restricted>` option (V) activated or not (X). The
|
||||
:guilabel:`Check` column tells you whether all entries are correctly hashed.
|
||||
|
||||
.. image:: data_inalterability/journal-overview.png
|
||||
:align: center
|
||||
:alt: Configuration report for two journals
|
||||
|
||||
The second section gives you the result of the data consistency check for each hashed journal. You
|
||||
can view the first hashed entry and its corresponding hash and the last hashed entry and its
|
||||
corresponding hash.
|
||||
The second section gives a more detailed result of the data consistency check for each hashed
|
||||
journal sequence prefix. You can view the first hashed entry and its corresponding hash,
|
||||
as well as the last hashed entry and its corresponding hash.
|
||||
|
||||
.. image:: data_inalterability/data-consistency-check.png
|
||||
:align: center
|
||||
|
||||
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 20 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6.7 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 22 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 7.0 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
@@ -52,12 +52,14 @@ Closing a fiscal year
|
||||
|
||||
Then, to close the fiscal year:
|
||||
|
||||
- Run a :ref:`tax report <reporting/tax-report>`, and verify that all tax information is correct.
|
||||
- Reconcile all accounts on the :ref:`balance sheet <reporting/balance-sheet>`:
|
||||
- Run a :ref:`tax report <accounting/reporting/tax-report>`, and verify that all tax information is
|
||||
correct.
|
||||
- Reconcile all accounts on the :ref:`balance sheet <accounting/reporting/balance-sheet>`:
|
||||
|
||||
- Update the bank balances in Odoo according to the actual balances found on the bank statements.
|
||||
- Reconcile all transactions in the cash and bank accounts by running the :ref:`aged receivables
|
||||
<reporting/aged-receivable>` and :ref:`aged payables <reporting/aged-payable>` reports.
|
||||
<accounting/reporting/aged-receivable>` and :ref:`aged payables
|
||||
<accounting/reporting/aged-payable>` reports.
|
||||
- Audit all accounts, being sure to fully understand all transactions and their nature, making
|
||||
sure to include loans and fixed assets.
|
||||
- Optionally, run :ref:`payments matching <payments/matching>` to validate any open vendor bills
|
||||
|
||||
@@ -33,18 +33,16 @@ Make sure the default settings are correctly configured for your business. To do
|
||||
|
||||
Journal
|
||||
The deferral entries are posted in this journal.
|
||||
Deferred Expense Account
|
||||
Deferred Expense
|
||||
Expenses are deferred on this Current Asset account until they are recognized.
|
||||
Deferred Revenue Account
|
||||
Revenues are deferred on this Current Liability account until they are recognized.
|
||||
Generate Entries
|
||||
By default, Odoo :ref:`automatically generates <vendor_bills/deferred/generate_on_validation>`
|
||||
the deferral entries when you post a vendor bill. However, you can also choose to
|
||||
:ref:`generate them manually <vendor_bills/deferred/generate_manually>` by selecting the
|
||||
:guilabel:`Manually & Grouped` option instead.
|
||||
Amount Computation
|
||||
Suppose a bill of $1200 must be deferred over 12 months. The :guilabel:`Equal per month`
|
||||
computation recognizes $100 each month, while the :guilabel:`Based on days` computation recognizes
|
||||
Based on
|
||||
Suppose a bill of $1200 must be deferred over 12 months. The :guilabel:`Months`
|
||||
computation recognizes $100 each month, while the :guilabel:`Days` computation recognizes
|
||||
different amounts depending on the number of days in each month.
|
||||
|
||||
.. _vendor_bills/deferred/generate_on_validation:
|
||||
|
||||
@@ -59,7 +59,7 @@ available on Odoo.
|
||||
- :doc:`Belgium - Accounting <fiscal_localizations/belgium>`
|
||||
- Bolivia - Accounting
|
||||
- :doc:`Brazilian - Accounting <fiscal_localizations/brazil>`
|
||||
- Canada - Accounting
|
||||
- :doc:`Canada - Accounting <fiscal_localizations/canada>`
|
||||
- :doc:`Chile - Accounting <fiscal_localizations/chile>`
|
||||
- China - Accounting
|
||||
- :doc:`Colombia - Accounting <fiscal_localizations/colombia>`
|
||||
@@ -135,6 +135,7 @@ available on Odoo.
|
||||
fiscal_localizations/austria
|
||||
fiscal_localizations/belgium
|
||||
fiscal_localizations/brazil
|
||||
fiscal_localizations/canada
|
||||
fiscal_localizations/chile
|
||||
fiscal_localizations/colombia
|
||||
fiscal_localizations/ecuador
|
||||
|
||||
@@ -460,14 +460,14 @@ The Odoo POS system is certified for the major versions of databases hosted on *
|
||||
- Odoo Online
|
||||
- Odoo.sh
|
||||
- On-Premise
|
||||
* - Odoo 17.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Not certified
|
||||
* - Odoo 16.0
|
||||
- Certified
|
||||
- Certified
|
||||
- Not certified
|
||||
* - Odoo 15.2
|
||||
- Not certified
|
||||
- Not certified
|
||||
- Not certified
|
||||
* - Odoo 15.0
|
||||
- Certified
|
||||
- Certified
|
||||
|
||||
@@ -0,0 +1,311 @@
|
||||
======
|
||||
Canada
|
||||
======
|
||||
|
||||
.. |COA| replace:: :abbr:`CoA (Chart of Accounts)`
|
||||
.. |AR| replace:: :abbr:`AR (Accounts Receivable)`
|
||||
.. |AP| replace:: :abbr:`AP (Accounts Payable)`
|
||||
|
||||
The Odoo Canada localization package provides tailored features and configurations for Canadian
|
||||
businesses.
|
||||
|
||||
A series of videos on the subject of Accounting are available through Odoo's eLearning platform.
|
||||
These videos cover how to start from scratch, set up configurations, complete common workflows, and
|
||||
provide in-depth looks at some specific use cases.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Accounting & Invoicing
|
||||
<https://www.odoo.com/slides/accounting-and-invoicing-19>`_
|
||||
- `Odoo SmartClass: Accounting <https://www.odoo.com/slides/smartclass-accounting-121>`_
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Below are the available modules in Odoo for accounting use in Canada.
|
||||
|
||||
Modules installation
|
||||
--------------------
|
||||
|
||||
:ref:`Install <general/install>` the following modules to get all the features of the Canadian
|
||||
localization:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 25 25 50
|
||||
|
||||
* - Name
|
||||
- Technical name
|
||||
- Description
|
||||
* - :guilabel:`Canada - Accounting`
|
||||
- `l10n_ca`
|
||||
- Base accounting module for Canadian localization.
|
||||
* - :guilabel:`Canada - Accounting Reports`
|
||||
- `l10n_ca_reports`
|
||||
- Adds Canadian accounting reports.
|
||||
* - :guilabel:`Canadian Checks Layout`
|
||||
- `l10n_ca_check_printing`
|
||||
- Enables the printing of payments on pre-printed check paper. Supports the three most common
|
||||
check formats and works natively with the linked checks from `checkdepot.net
|
||||
<https://checkdepot.net/collections/computer-checks/Odoo>`_.
|
||||
|
||||
- `Check on top: Quicken / QuickBooks standard
|
||||
<https://checkdepot.net/collections/computer-checks/odoo+top-check>`_
|
||||
- `Check on middle: Peachtree standard
|
||||
<https://checkdepot.net/collections/computer-checks/odoo+middle-check>`_
|
||||
- `Check on bottom: ADP standard
|
||||
<https://checkdepot.net/collections/computer-checks/odoo+Bottom-Check>`_
|
||||
|
||||
.. _l10n_ca/coa:
|
||||
|
||||
Chart of accounts
|
||||
=================
|
||||
|
||||
The :doc:`chart of accounts (COA) <../accounting/get_started/chart_of_accounts>` for the Canadian
|
||||
localization, in Odoo, has accounts grouped into seven main categories, with corresponding numeric
|
||||
values that prefix individual journal entries:
|
||||
|
||||
- **Receivable**: the balance of money (or credit) due to the business for goods or services
|
||||
delivered or used, but not yet paid for by customers. |AR| is indicated by the journal code
|
||||
labeled (or beginning) with :guilabel:`1`.
|
||||
- **Payable**: the business's short-term obligations owed to its creditors or suppliers, which have
|
||||
not yet been paid. |AP| is indicated by the journal code labeled (or beginning) with
|
||||
:guilabel:`2`.
|
||||
- **Equity**: the amount of money that would be returned to a company's shareholders if all of the
|
||||
assets were liquidated and all of the company's debt was paid off in the case of liquidation.
|
||||
Equity is indicated by the journal code labeled (or beginning) with :guilabel:`3` or
|
||||
:guilabel:`9`.
|
||||
- **Assets**: items listed on the balance sheet that contains economic value or have the ability to
|
||||
generate cash flows in the future, such as a piece of machinery, a financial security, or a
|
||||
patent. Assets are indicated by the journal code labeled (or beginning) with :guilabel:`1`.
|
||||
- **Liability**: refers to a company's financial debts or obligations that arise during the course
|
||||
of business operations. Liabilities are indicated by the journal code labeled (or beginning) with
|
||||
:guilabel:`2`.
|
||||
- **Income**: synonymous with *net income*, this is the profit a company retains after paying off
|
||||
all relevant expenses from sales revenue earned. Income is indicated by the journal code labeled
|
||||
(or beginning) with :guilabel:`4` or :guilabel:`6`.
|
||||
- **Expenses**: the cost of operations that a company incurs to generate revenue. Expenses are
|
||||
indicated by the journal code labeled (or beginning) with a :guilabel:`6`.
|
||||
|
||||
.. tip::
|
||||
Predefined accounts are included in Odoo, as part of the |COA| that's installed with the Canadian
|
||||
localization package. The accounts listed below are preconfigured to perform certain operations
|
||||
within Odoo. It is recommended to **not** delete these accounts; however, if changes are needed,
|
||||
rename the accounts instead.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:stub-columns: 1
|
||||
|
||||
* - :guilabel:`Type`
|
||||
- :guilabel:`Account Name`
|
||||
* - :guilabel:`Current Assets`
|
||||
- | :guilabel:`Bank Suspense Account`
|
||||
| :guilabel:`Outstanding Receipts`
|
||||
| :guilabel:`Outstanding Payments`
|
||||
| :guilabel:`Liquidity Transfer`
|
||||
| :guilabel:`Stock Valuation`
|
||||
| :guilabel:`Stock Interim (Received)`
|
||||
| :guilabel:`Stock Interim (Delivered)`
|
||||
| :guilabel:`Cost of Production`
|
||||
* - :guilabel:`Income`
|
||||
- | :guilabel:`Foreign Exchange Gain`
|
||||
| :guilabel:`Cash Difference Gain`
|
||||
| :guilabel:`Cash Discount Gain`
|
||||
* - :guilabel:`Expenses`
|
||||
- | :guilabel:`Cash Discount Loss`
|
||||
| :guilabel:`Foreign Exchange Loss`
|
||||
| :guilabel:`Cash Difference Loss`
|
||||
* - :guilabel:`Current Year Earnings`
|
||||
- :guilabel:`Undistributed Profits/Losses`
|
||||
* - :guilabel:`Receivable`
|
||||
- :guilabel:`Account Receivable`
|
||||
* - :guilabel:`Payable`
|
||||
- :guilabel:`Account Payable`
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../accounting/get_started/chart_of_accounts`
|
||||
- :doc:`../accounting/get_started/cheat_sheet`
|
||||
|
||||
.. _l10n_ca/fiscal-positions:
|
||||
|
||||
Fiscal positions
|
||||
================
|
||||
|
||||
Canadian tax rates and taxable items vary by province and territory. Default fiscal positions are
|
||||
automatically created when the Odoo **Accounting** application is installed. To manage or configure
|
||||
additional fiscal positions, navigate to :menuselection:`Accounting --> Configuration --> Fiscal
|
||||
Positions`.
|
||||
|
||||
The following fiscal positions are available by default:
|
||||
|
||||
- :guilabel:`Alberta (AB)`
|
||||
- :guilabel:`British Colombia (BC)`
|
||||
- :guilabel:`Manitoba (MB)`
|
||||
- :guilabel:`New Brunswick (NB)`
|
||||
- :guilabel:`Newfoundland and Labrador (NL)`
|
||||
- :guilabel:`Nova Scotia (NS)`
|
||||
- :guilabel:`Northwest Territories (NT)`
|
||||
- :guilabel:`Nunavut (NU)`
|
||||
- :guilabel:`Ontario (ON)`
|
||||
- :guilabel:`Prince Edward Islands (PE)`
|
||||
- :guilabel:`Quebec (QC)`
|
||||
- :guilabel:`Saskatchewan (SK)`
|
||||
- :guilabel:`Yukon (YT)`
|
||||
- :guilabel:`International (INTL)`
|
||||
|
||||
.. image:: canada/l10n-ca-fiscal-positions.png
|
||||
:alt: The default fiscal positions for the Canada localization in Odoo Accounting.
|
||||
|
||||
.. note::
|
||||
When considering what taxes to be applied, it is the province where the delivery occurs that
|
||||
matters. Therefore, delivery is the responsibility of the vendor and is accounted for at the
|
||||
customer location.
|
||||
|
||||
.. example::
|
||||
- A delivery is made to a customer from another province.
|
||||
Set the fiscal position on the customer's record to the province of the customer.
|
||||
- A customer from another province comes to pick up products.
|
||||
No fiscal position should be set on the customer's record.
|
||||
- An international vendor doesn't charge any tax, but taxes are charged by the customs broker.
|
||||
Set the fiscal position on the vendor's record to *International*.
|
||||
- An international vendor charges provincial tax.
|
||||
Set the fiscal position on the vendor's record to your position.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/taxes/fiscal_positions`
|
||||
|
||||
.. _l10n_ca/taxes:
|
||||
|
||||
Taxes
|
||||
=====
|
||||
|
||||
In Canada, tax rates and what is considered taxable vary by province and territory. Default *Sales*
|
||||
and *Purchases* taxes are created automatically when the Odoo **Accounting** application is
|
||||
installed. To manage existing or configure additional taxes, navigate to :menuselection:`Accounting
|
||||
--> Configuration --> Taxes`.
|
||||
|
||||
.. _l10n_ca/taxes-avatax:
|
||||
|
||||
AvaTax
|
||||
------
|
||||
|
||||
**Avalara AvaTax** is a cloud-based tax calculation and compliance software that integrates with
|
||||
Odoo for several localizations, including Canada. Integrating AvaTax with Odoo provides real-time
|
||||
and region-specific tax calculations when items are sold, purchased, and invoiced in the database.
|
||||
|
||||
.. important::
|
||||
AvaTax is available for integration with databases/companies that have locations in Canada and/or
|
||||
the United States. Reference the :ref:`avatax/fiscal_country` documentation for more information.
|
||||
|
||||
.. seealso::
|
||||
Refer to the documentation articles below to integrate and configure an AvaTax account with an
|
||||
Odoo database:
|
||||
|
||||
- :doc:`AvaTax integration <../accounting/taxes/avatax>`
|
||||
- :doc:`Avalara management portal <../accounting/taxes/avatax/avalara_portal>`
|
||||
- :doc:`Calculate taxes with AvaTax <../accounting/taxes/avatax/avatax_use>`
|
||||
- Avalara's support documents: `About AvaTax
|
||||
<https://community.avalara.com/support/s/document-item?language=en_US&bundleId=dqa1657870670369_dqa1657870670369&topicId=About_AvaTax.html&_LANG=enus>`_
|
||||
|
||||
.. _l10n_ca/reports:
|
||||
|
||||
Reports
|
||||
=======
|
||||
|
||||
A number of :doc:`report selections <../accounting/reporting>` are readily available for the
|
||||
Canadian localization, under the :menuselection:`Accounting app --> Reporting` drop-down menu:
|
||||
|
||||
- :ref:`Balance Sheet <accounting/reporting/balance-sheet>`: a "snapshot" of a company's financial
|
||||
position at a specific point in time, which contains an overview of a company's assets,
|
||||
liabilities, and equity.
|
||||
|
||||
Be sure to select the :menuselection:`Balance sheet (CA)` option from the :icon:`fa-book`
|
||||
:guilabel:`Report` filter.
|
||||
|
||||
.. image:: canada/l10n-ca-balance-sheet.png
|
||||
:alt: Balance sheet report selection for CA localization in Odoo.
|
||||
|
||||
- :ref:`Profit & Loss <accounting/reporting/balance-sheet>`: otherwise known as a *P&L statement* or
|
||||
*income statement*, provides a summary of a company's revenues, expenses, and profits/losses over
|
||||
a given period of time.
|
||||
|
||||
Be sure to select the :menuselection:`Profit and loss (CA)` option from the :icon:`fa-book`
|
||||
:guilabel:`Report` filter.
|
||||
|
||||
.. image:: canada/l10n-ca-profit-loss.png
|
||||
:alt: Profit and loss report selection for CA localization in Odoo.
|
||||
|
||||
- :guilabel:`Cash Flow Statement`: shows how much cash and cash equivalents a company has received
|
||||
and spent in a given period.
|
||||
- :ref:`Executive Summary <accounting/reporting/executive-summary>`: an overview report that covers
|
||||
the key performance indicators of a company's financial position, such as revenue, profit, and
|
||||
debt.
|
||||
- :ref:`Tax Report <accounting/reporting/tax-report>`: an official form filed for a tax authority
|
||||
that reports income, expenses, and other pertinent tax information. Tax reports allow taxpayers to
|
||||
calculate their tax liability, schedule tax payments, or request refunds for the overpayment of
|
||||
taxes. In Odoo, the tax report can be made monthly, every two months, quarterly, every 4 months,
|
||||
semi-annually, and annually.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Accounting reporting <../accounting/reporting>`
|
||||
- :doc:`../../essentials/search`
|
||||
|
||||
.. _l10n_ca/cash-discount:
|
||||
|
||||
Cash discount
|
||||
=============
|
||||
|
||||
Cash discounts can be configured from :menuselection:`Accounting app --> Payment Terms`. Each
|
||||
payment term can be set up with a cash discount and reduced tax.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/customer_invoices/cash_discounts`
|
||||
|
||||
Writing checks
|
||||
==============
|
||||
|
||||
The Canadian localization allows users to print checks for vendor payments. Be sure the *Canadian
|
||||
Checks Layout* (`l10n_ca_check_printing`) module for the CA localization is :ref:`installed
|
||||
<general/install>`.
|
||||
|
||||
To enable check printing from Odoo, navigate to :menuselection:`Accounting --> Configuration -->
|
||||
Settings` and find the :guilabel:`Vendor Payments` section. From here, tick the :guilabel:`Checks`
|
||||
checkbox to reveal several fields for check configuration.
|
||||
|
||||
Select a :guilabel:`Check Layout` from the drop-down menu:
|
||||
|
||||
- :guilabel:`Print Check (Top) - CA`
|
||||
- :guilabel:`Print Check (Middle) - CA`
|
||||
- :guilabel:`Print Check (Bottom) - CA`
|
||||
|
||||
Next, choose whether or not to enable the :guilabel:`Multi-Pages Check Stub` checkbox.
|
||||
|
||||
Optionally set a :guilabel:`Check Top Margin`, :guilabel:`Check Left Margin`, or :guilabel:`Check
|
||||
Right Margin` if required.
|
||||
|
||||
Tick the :guilabel:`Print Date Label` checkbox if a date label is required.
|
||||
|
||||
Once all check configurations are complete, :guilabel:`Save` the settings.
|
||||
|
||||
.. tip::
|
||||
Some of the check formats may require pre-printed paper from a third party vendor.
|
||||
`Pre-printed checks from checkdepot.net <https://checkdepot.net/collections/odoo-checks>`_ are
|
||||
recommended.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/payments/pay_checks`
|
||||
|
||||
Receive pre-authorized debits
|
||||
=============================
|
||||
|
||||
Pre-authorized debits are a method for receiving payments from customers, where the customer
|
||||
authorizes the business to withdraw funds from their bank account on a recurring basis. This
|
||||
functionality is commonly used for subscriptions, recurring invoices, and other regular payments.
|
||||
|
||||
In the Odoo Canadian localization, pre-authorized debits are facilitated through an
|
||||
:doc:`integration with Stripe <../payment_providers/stripe>`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Setting up payment providers <../payment_providers>`
|
||||
- `Stripe's pre-authorized debit payments documentation
|
||||
<https://docs.stripe.com/payments/acss-debit>`_
|
||||
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -835,7 +835,7 @@ Common errors
|
||||
At the moment, Odoo does not support the automation of prefixes for products. This can be done
|
||||
manually for each product output. This can also be done for non-storable products. However, keep
|
||||
in mind that there will be no traceability.
|
||||
- `2325 - GrossWeightMeasure - El dato no cumple con el formato establecido "Hace falta el campo"
|
||||
- `2523 - GrossWeightMeasure - El dato no cumple con el formato establecido "Hace falta el campo"
|
||||
"Peso"" en el producto`
|
||||
|
||||
This error occurs when the weight on the product is set as `0.00`. To fix this, you need to cancel
|
||||
|
||||
@@ -271,9 +271,9 @@ Reports
|
||||
A number of :doc:`report selections <../accounting/reporting>` are readily available for the US
|
||||
localization, under the :menuselection:`Accounting app --> Reporting` drop-down menu:
|
||||
|
||||
- :ref:`Balance Sheet <reporting/balance-sheet>`: a "snapshot" of a company's financial position at
|
||||
a specific point in time, which contains an overview of a company's assets, liabilities, and
|
||||
equity.
|
||||
- :ref:`Balance Sheet <accounting/reporting/balance-sheet>`: a "snapshot" of a company's financial
|
||||
position at a specific point in time, which contains an overview of a company's assets,
|
||||
liabilities, and equity.
|
||||
- :ref:`Profit & Loss <accounting/reporting/balance-sheet>`: otherwise known as a *P&L statement* or
|
||||
*income statement*, provides a summary of a company's revenues, expenses, and profits/losses over
|
||||
a given period of time.
|
||||
@@ -282,10 +282,10 @@ localization, under the :menuselection:`Accounting app --> Reporting` drop-down
|
||||
- :ref:`Executive Summary <accounting/reporting/executive-summary>`: an overview report that covers
|
||||
the key performance indicators of a company's financial position, such as revenue, profit, and
|
||||
debt.
|
||||
- :ref:`Tax Report <reporting/tax-report>`: an official form filed for a tax authority that reports
|
||||
income, expenses, and other pertinent tax information. Tax reports allow taxpayers to calculate
|
||||
their tax liability, schedule tax payments, or request refunds for the overpayment of taxes. In
|
||||
Odoo, the tax report can be made monthly, every two months, quarterly, every 4 months,
|
||||
- :ref:`Tax Report <accounting/reporting/tax-report>`: an official form filed for a tax authority
|
||||
that reports income, expenses, and other pertinent tax information. Tax reports allow taxpayers to
|
||||
calculate their tax liability, schedule tax payments, or request refunds for the overpayment of
|
||||
taxes. In Odoo, the tax report can be made monthly, every two months, quarterly, every 4 months,
|
||||
semi-annually, and annually.
|
||||
- :guilabel:`Check Register`: a report that displays cash transactions (regardless of the journal)
|
||||
with their running balance after the transaction. Only visible with the *US - Accounting Reports*
|
||||
@@ -416,11 +416,14 @@ To enable check printing from Odoo, navigate to :menuselection:`Accounting --> C
|
||||
Settings` and find the :guilabel:`Vendor Payments` section. From here, tick the :guilabel:`Checks`
|
||||
checkbox to reveal several fields for check configuration.
|
||||
|
||||
Select a :guilabel:`Check Layout` from the drop-down menu:
|
||||
Select a pre-printed or blank :guilabel:`Check Layout` from the drop-down menu:
|
||||
|
||||
- :guilabel:`Print Check (Top) - US`
|
||||
- :guilabel:`Print Check (Middle) - US`
|
||||
- :guilabel:`Print Check (Bottom) - US`
|
||||
- :guilabel:`Print Blank Check (Top) - US`
|
||||
- :guilabel:`Print Blank Check (Middle) - US`
|
||||
- :guilabel:`Print Blank Check (Bottom) - US`
|
||||
|
||||
Next, choose whether or not to enable the :guilabel:`Multi-Pages Check Stub` checkbox.
|
||||
|
||||
@@ -429,8 +432,17 @@ Optionally set a :guilabel:`Check Top Margin` and :guilabel:`Check Left Margin`,
|
||||
Once all check configurations are complete, :guilabel:`Save` the settings.
|
||||
|
||||
.. tip::
|
||||
Some of the check formats may require pre-printed paper from a third party vendor,
|
||||
https://checkdepot.net/collections/odoo-checks is recommended.
|
||||
Pre-printed check formats (non-blank checks) require pre-printed paper from a third-party vendor.
|
||||
`Pre-printed checks from checkdepot.net <https://checkdepot.net/collections/odoo-checks>`_ are
|
||||
recommended.
|
||||
|
||||
.. important::
|
||||
Use one of the blank check formats to print the information of the check ad-hoc when needed. This
|
||||
requires the use of both :abbr:`MICR (Magnetic Ink Character Recognition)` ink or toner complying
|
||||
with the standards for check printing, as well as `check quality paper
|
||||
<https://checkdepot.net/collections/blank-check-paper/products/top-format-blank-check-paper-cdt164>`_.
|
||||
Other information, such as the company name, bank account, and check number, is printed when
|
||||
creating the blank check.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/payments/pay_checks`
|
||||
|
||||
@@ -9,7 +9,6 @@ Online payments
|
||||
|
||||
payment_providers/wire_transfer
|
||||
payment_providers/adyen
|
||||
payment_providers/alipay
|
||||
payment_providers/amazon_payment_services
|
||||
payment_providers/asiapay
|
||||
payment_providers/authorize
|
||||
@@ -18,11 +17,10 @@ Online payments
|
||||
payment_providers/flutterwave
|
||||
payment_providers/mercado_pago
|
||||
payment_providers/mollie
|
||||
payment_providers/ogone
|
||||
payment_providers/paypal
|
||||
payment_providers/razorpay
|
||||
payment_providers/sips
|
||||
payment_providers/stripe
|
||||
payment_providers/worldline
|
||||
payment_providers/xendit
|
||||
|
||||
Odoo embeds several **payment providers** that allow your customers to pay online, on their
|
||||
@@ -127,18 +125,18 @@ Online payment providers
|
||||
- Full only
|
||||
- Full and partial
|
||||
-
|
||||
* - :doc:`SIPS <payment_providers/sips>`
|
||||
- The provider's website
|
||||
-
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Stripe <payment_providers/stripe>`
|
||||
- Odoo
|
||||
- |V|
|
||||
- Full only
|
||||
- Full and partial
|
||||
- |V|
|
||||
* - :doc:`Worldline <payment_providers/worldline>`
|
||||
- The provider's website
|
||||
- |V|
|
||||
-
|
||||
-
|
||||
-
|
||||
* - :doc:`Xendit <payment_providers/xendit>`
|
||||
- The provider's website
|
||||
-
|
||||
@@ -177,8 +175,8 @@ Bank payments
|
||||
|
||||
.. _payment_providers/add_new:
|
||||
|
||||
Enable a payment provider
|
||||
=========================
|
||||
Enabling a payment provider
|
||||
===========================
|
||||
|
||||
To add a new payment provider and make its related payment methods available to your customers,
|
||||
proceed as follows:
|
||||
@@ -284,10 +282,19 @@ In this case, a **payment token** is created in Odoo to be used as a payment met
|
||||
payments without the customer having to enter their payment method details again. This is
|
||||
particularly useful for the eCommerce conversion rate and subscriptions that use recurring payments.
|
||||
|
||||
.. note::
|
||||
You remain fully PCI-compliant when you enable this feature because Odoo does not store the card
|
||||
details directly. Instead, it creates a payment token that only references the card details
|
||||
stored on the payment provider's server.
|
||||
.. tip::
|
||||
To add or delete their saved payment method details, customers can click :guilabel:`Manage
|
||||
payment methods` in the :ref:`customer portal <users-portal-payment-methods>`.
|
||||
|
||||
.. admonition:: PCI DSS and Attestation of Compliance
|
||||
|
||||
Odoo is not `PCI <https://www.pcisecuritystandards.org>`_ DSS-certified because it does not
|
||||
store cardholder data or process payments. Instead, it outsources tokenization and payment to
|
||||
:ref:`external payment providers <payment_providers/online_providers>`, which means that as an
|
||||
Odoo customer, you only need to complete the minimal Self-Assessment Questionnaire (SAQ) with
|
||||
the provider to obtain the Attestation of Compliance (AoC) and achieve PCI compliance. Odoo
|
||||
should not be mentioned as a payment processor or a third-party service provider in the
|
||||
:abbr:`SAQ (Self-Assessment Questionnaire)`.
|
||||
|
||||
.. _payment_providers/manual_capture:
|
||||
|
||||
@@ -443,18 +450,16 @@ other payments.
|
||||
.. seealso::
|
||||
- :doc:`payment_providers/wire_transfer`
|
||||
- :doc:`payment_providers/adyen`
|
||||
- :doc:`payment_providers/alipay`
|
||||
- :doc:`payment_providers/authorize`
|
||||
- :doc:`payment_providers/asiapay`
|
||||
- :doc:`payment_providers/buckaroo`
|
||||
- :doc:`payment_providers/demo`
|
||||
- :doc:`payment_providers/mercado_pago`
|
||||
- :doc:`payment_providers/mollie`
|
||||
- :doc:`payment_providers/ogone`
|
||||
- :doc:`payment_providers/paypal`
|
||||
- :doc:`payment_providers/razorpay`
|
||||
- :doc:`payment_providers/sips`
|
||||
- :doc:`payment_providers/stripe`
|
||||
- :doc:`payment_providers/worldline`
|
||||
- :doc:`payment_providers/xendit`
|
||||
- :doc:`../websites/ecommerce/checkout_payment_shipping/payments`
|
||||
- :doc:`accounting/bank`
|
||||
|
||||
@@ -1,39 +0,0 @@
|
||||
======
|
||||
Alipay
|
||||
======
|
||||
|
||||
`Alipay <https://www.alipay.com/>`_ is an online payments platform established in China by Alibaba
|
||||
Group.
|
||||
|
||||
.. warning::
|
||||
The provider Alipay is deprecated. It is recommended to use :doc:`asiapay` instead.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your Alipay account, which comprise:
|
||||
|
||||
- **Account**: Depending on where you are situated
|
||||
- `Express Checkout` if your are a Chinese Merchant.
|
||||
- `Cross-border` if you are not.
|
||||
- **Alipay Seller Email**: Your public Alipay partner email (for express checkout only).
|
||||
- **Merchant Partner ID**: The public partner ID solely used to identify the account with Alipay.
|
||||
- **MD5 Signature Key**: The signature key.
|
||||
|
||||
You can copy your credentials from your Alipay account, and paste them in the related fields under
|
||||
the **Credentials** tab.
|
||||
|
||||
To retrieve them, log into your Alipay account, they are on the front page.
|
||||
|
||||
.. important::
|
||||
If you are trying Alipay as a test, in the *sandbox*, change the **State** to *Test Mode*. We
|
||||
recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
@@ -1,107 +0,0 @@
|
||||
=====
|
||||
Ogone
|
||||
=====
|
||||
|
||||
`Ogone <https://www.ingenico.com/>`_, also known as **Ingenico Payment Services** is a France-based
|
||||
company that provides the technology involved in secure electronic transactions.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
- `Ogone's documentation <https://epayments-support.ingenico.com/get-started/>`_.
|
||||
|
||||
.. warning::
|
||||
The provider Ogone is deprecated. It is recommended to use :doc:`stripe` instead.
|
||||
|
||||
Settings in Ogone
|
||||
=================
|
||||
|
||||
Create an API user
|
||||
------------------
|
||||
|
||||
Log into your Ogone account and head to the :guilabel:`Configuration` tab.
|
||||
|
||||
You need to create an **API user** to be used in the creation of transactions from Odoo. While you
|
||||
can use your main account to do so, using an **API user** ensures that if the credentials used in
|
||||
Odoo are leaked, no access to your Ogone configuration is possible. Additionally, passwords for
|
||||
**API users** do not need to be updated regularly, unlike normal users.
|
||||
|
||||
To create an **API user**, go to :menuselection:`Configuration --> Users` and click on
|
||||
:guilabel:`New User`. The following fields must be configured:
|
||||
|
||||
.. _ogone/ogone:
|
||||
|
||||
- :guilabel:`UserID`: you can choose anything you want.
|
||||
- :guilabel:`User's Name, E-mail and Timezone`: you can enter the information you want.
|
||||
- :guilabel:`Profile`: should be set to :guilabel:`Admin`.
|
||||
- :guilabel:`Special user for API`: should be checked.
|
||||
|
||||
After the creation of the user, you are required to generate a password. Save the password and
|
||||
**UserID**, as they will be required later on during the setup.
|
||||
|
||||
.. tip::
|
||||
If you already have an user set up, make sure it is activated without any error. If not, simply
|
||||
click the :guilabel:`Activate(Errors)` button to reset the user.
|
||||
|
||||
Set up Ogone for Odoo
|
||||
---------------------
|
||||
|
||||
Ogone must now be configured to accept payments from Odoo. Head to :menuselection:`Configuration -->
|
||||
Technical Information --> Global Security Parameters`, select :guilabel:`SHA-512` as
|
||||
:guilabel:`Hash Algorithm` and :guilabel:`UTF-8` as :guilabel:`character encoding`. Then, go to the
|
||||
:guilabel:`Data and Origin verification` tab of the same page and leave the URL field of the
|
||||
:guilabel:`e-Commerce and Alias Gateway` section blank.
|
||||
|
||||
.. tip::
|
||||
If you need to use another algorithm, such as `sha-1` or `sha-256`, within Odoo, activate the
|
||||
:ref:`developer mode <developer-mode>` and go to the **Payment Providers** page in
|
||||
:menuselection:`Accounting --> Configuration --> Payment Providers`. Click on :guilabel:`Ogone`,
|
||||
and in the :guilabel:`Credentials` tab, select the algorithm you wish to use in the
|
||||
:guilabel:`Hash function` field.
|
||||
|
||||
You are now required to generate **SHA-IN** passphrases. **SHA-IN** and **SHA-OUT** passphrases are
|
||||
used to digitally sign the transaction requests and responses between Odoo and Ogone. By using these
|
||||
secret passphrases and the `sha-1` algorithm, both systems can ensure that the information they
|
||||
receive from the other was not altered or tampered with.
|
||||
|
||||
Enter the same **SHA-IN** passphrase in both :guilabel:`Checks for e-Commerce & Alias Gateway` and
|
||||
:guilabel:`Checks for DirectLink and Batch (Automatic)`. You can leave the IP address field blank.
|
||||
|
||||
Your **SHA-IN** and **SHA-OUT** passphrases should be different, and between 16 and 32 characters
|
||||
long. Make sure to use the same **SHA-IN** and **SHA-OUT** passphrases throughout the entire Ogone
|
||||
configuration, as Odoo only allows a single **SHA-IN** and single **SHA-OUT** passphrase.
|
||||
|
||||
In order to retrieve the **SHA-OUT** key, log into your Ogone account, go to
|
||||
:menuselection:`Configuration --> Technical Information --> Transaction feedback --> All
|
||||
transaction submission modes`, and get or generate your **API Key** and **Client Key**. Be careful
|
||||
to copy your API key as you’ll not be allowed to get it later without generating a new one.
|
||||
|
||||
When done, head to :menuselection:`Configuration --> Technical Information --> Transaction Feedback`
|
||||
and check the following options:
|
||||
|
||||
- The :guilabel:`URL` fields for :guilabel:`HTTP redirection in the browser` can be left empty, as
|
||||
Odoo will specify these URLs for every transaction request.
|
||||
- :guilabel:`I would like to receive transaction feedback parameters on the redirection URLs`:
|
||||
should be checked.
|
||||
- :guilabel:`Direct HTTP server-to-server request`: should to be set to `Online but switch to a
|
||||
deferred request when the online request fails`.
|
||||
- Both **URL** fields should contain the same following URL, with `<example>` replaced by your
|
||||
database: `https://<example>/payment/ogone/return`.
|
||||
|
||||
- :guilabel:`Dynamic eCommerce Parameters` should contain the following values: `ALIAS`, `AMOUNT`,
|
||||
`CARDNO`, `CN`, `CURRENCY`, `IP`, `NCERROR` `ORDERID`, `PAYID`, `PM`, `STATUS`, `TRXDATE`. Other
|
||||
parameters can be included (if you have another integration with Ogone that requires them), but
|
||||
are not advised.
|
||||
- In the :guilabel:`All transaction submission modes` section, fill out **SHA-OUT** passphrase and
|
||||
disable `HTTP request for status change`.
|
||||
|
||||
To allow your customers to save their credit card credentials for future use, head to
|
||||
:menuselection:`Configuration --> Alias --> My alias information`. From this tab, you can configure
|
||||
how the user can have its card details saved, for how long the information is saved, if a checkbox
|
||||
to save the card information should be displayed, etc.
|
||||
|
||||
Settings in Odoo
|
||||
================
|
||||
|
||||
To set up Ogone in Odoo, head to :menuselection:`Accounting --> Configuration --> Payment Providers`
|
||||
and open the Ogone provider. In the :guilabel:`Credentials` tab, enter the **PSPID** of your Ogone
|
||||
account, and fill out the other fields as configured in your :ref:`Ogone portal <ogone/ogone>`.
|
||||
@@ -1,32 +0,0 @@
|
||||
====
|
||||
SIPS
|
||||
====
|
||||
|
||||
`SIPS <https://sips.worldline.com/>`_ is an online payments solution from the multinational
|
||||
Worldline.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payment_providers/add_new`
|
||||
|
||||
Credentials tab
|
||||
---------------
|
||||
|
||||
Odoo needs your **API Credentials** to connect with your SIPS account, which comprise:
|
||||
|
||||
- **Merchant ID**: The ID solely used to identify the merchant account with SIPS.
|
||||
- **Secret Key**: The key to sign the merchant account with SIPS.
|
||||
- **Secret Key Version**: The version of the key, pre-filled.
|
||||
- **Interface Version**: Pre-filled, don't change it.
|
||||
|
||||
You can copy your credentials from your SIPS environment info documentation, in the section
|
||||
**PROD**, and paste them in the related fields under the **Credentials** tab.
|
||||
|
||||
.. important::
|
||||
If you are trying SIPS as a test, with the *TEST* credentials, change the **State** to *Test
|
||||
Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
@@ -0,0 +1,68 @@
|
||||
=========
|
||||
Worldline
|
||||
=========
|
||||
|
||||
`Worldline <https://worldline.com/>`_ is a France-based company and the world's fourth largest
|
||||
payment provider.
|
||||
|
||||
Settings in Worldline
|
||||
=====================
|
||||
|
||||
.. _worldline/API-user:
|
||||
|
||||
Create an API user
|
||||
------------------
|
||||
|
||||
It is recommended to set up an **API user** to create transactions from Odoo to ensure that your
|
||||
Worldline configuration remains safe even if credentials are compromised. Additionally, API users do
|
||||
not require frequent password updates like regular accounts.
|
||||
|
||||
To create an **API user**, proceed as follows:
|
||||
|
||||
#. Log into your `Worldline Merchant Portal <https://merchant-portal.preprod.worldline-solutions.com/dashboard>`_,
|
||||
click the :icon:`fa-th` (:guilabel:`menu`) icon, and select :guilabel:`Back Office`.
|
||||
#. Go to :menuselection:`Configuration --> Users` and click on :guilabel:`New User`.
|
||||
#. Configure the following fields:
|
||||
|
||||
#. Specify a :guilabel:`UserID`, :guilabel:`User's name`, :guilabel:`E-mail address`, and
|
||||
:guilabel:`Timezone` of your choice.
|
||||
#. Set the :guilabel:`Profile` field to :guilabel:`Admin`.
|
||||
#. Enable :guilabel:`Special user for API`.
|
||||
|
||||
.. tip::
|
||||
If you have already set up a user, make sure it is activated without any error.
|
||||
|
||||
.. _worldline/set-up:
|
||||
|
||||
Set up Worldline for Odoo
|
||||
-------------------------
|
||||
|
||||
Worldline must now be configured to accept payments from Odoo.
|
||||
|
||||
#. From your merchant portal, go to :menuselection:`Developer --> Payment API` and click on
|
||||
:guilabel:`Generate API key`. Copy the :guilabel:`API key ID` and the :guilabel:`Secret API key`
|
||||
and save them for :ref:`later <wordline/odoo-configuration>`.
|
||||
#. Go to :menuselection:`Developer --> Webhooks` and click on :guilabel:`Generate webhook keys`.
|
||||
Copy the :guilabel:`Webhook ID` and the associated :guilabel:`Secret webhook key` and
|
||||
save them for :ref:`later <wordline/odoo-configuration>`.
|
||||
#. | Click :guilabel:`Add webhook endpoint`, enter your Odoo database's URL followed by
|
||||
`/payment/worldline/webhook` in the :guilabel:`Endpoint url` field, and :guilabel:`Confirm`.
|
||||
| For example: `https://example.odoo.com/payment/worldline/webhook`.
|
||||
|
||||
.. _wordline/odoo-configuration:
|
||||
|
||||
Settings in Odoo
|
||||
================
|
||||
|
||||
To set up Worldline in Odoo:
|
||||
|
||||
#. :ref:`Navigate to the payment provider Worldline <payment_providers/add_new>` and change its
|
||||
state to :guilabel:`Enabled`.
|
||||
#. In the :guilabel:`Credentials` tab, enter the :guilabel:`PSPID` of your Worldline account and
|
||||
fill in the :guilabel:`API Key`, :guilabel:`API Secret`, :guilabel:`Webhook Key`, and
|
||||
:guilabel:`Webhook Secret` with the values you saved at the step :ref:`Set up Worldline for
|
||||
Odoo <worldline/set-up>`.
|
||||
#. Configure the rest of the options to your liking.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../payment_providers`
|
||||
@@ -156,6 +156,8 @@ on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentic
|
||||
|
||||
Finally, click :guilabel:`Enable two-factor authentication` to complete the setup.
|
||||
|
||||
.. _users-portal-payment-methods:
|
||||
|
||||
Change payment info
|
||||
-------------------
|
||||
|
||||
|
||||
@@ -173,11 +173,13 @@ document.
|
||||
.. seealso::
|
||||
- :doc:`appraisals/new_appraisals`
|
||||
- :doc:`appraisals/goals`
|
||||
- :doc:`appraisals/reporting`
|
||||
- :doc:`appraisals/appraisal_analysis`
|
||||
- :doc:`appraisals/skills_evolution`
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
appraisals/new_appraisals
|
||||
appraisals/goals
|
||||
appraisals/reporting
|
||||
appraisals/appraisal_analysis
|
||||
appraisals/skills_evolution
|
||||
|
||||
@@ -0,0 +1,115 @@
|
||||
==================
|
||||
Appraisal analysis
|
||||
==================
|
||||
|
||||
The **Appraisals** app has the ability to report on all the appraisals in the system, including
|
||||
past, present, and future appraisals, and their respective statuses. This report helps managers
|
||||
track scheduled appraisals, and identify any overdue or unconfirmed ones.
|
||||
|
||||
To access the *Appraisal Analysis* report, navigate to :menuselection:`Appraisals app --> Reporting
|
||||
--> Appraisal Analysis`.
|
||||
|
||||
On the :guilabel:`Appraisal Analysis` page, a report loads, displaying all the appraisals in the
|
||||
database. Each entry is highlighted in a different color to represent their status:
|
||||
|
||||
+-----------+----------------------------+------------------------------------------------+
|
||||
| Color | Status | Meaning |
|
||||
+===========+============================+================================================+
|
||||
| Yellow |:guilabel:`Done` | The appraisal was completed. |
|
||||
+-----------+----------------------------+------------------------------------------------+
|
||||
| Orange |:guilabel:`Appraisal Sent` |The appraisal was confirmed, but not completed. |
|
||||
+-----------+----------------------------+------------------------------------------------+
|
||||
| Red |:guilabel:`Cancelled` |The appraisal was cancelled. |
|
||||
+-----------+----------------------------+------------------------------------------------+
|
||||
| Gray |:guilabel:`To Start` | The appraisal was scheduled, but not confirmed.|
|
||||
+-----------+----------------------------+------------------------------------------------+
|
||||
|
||||
.. note::
|
||||
Appraisals are scheduled automatically (appear in gray), according to their respective
|
||||
:ref:`appraisals/appraisal-plan`.
|
||||
|
||||
The report displays the current year, in a default Gantt view, grouped by department, with the
|
||||
current month highlighted.
|
||||
|
||||
To change the period of time that is presented, adjust the date settings in the top-left corner of
|
||||
the report by clicking the default :guilabel:`Year` to reveal a drop-down menu of options. The
|
||||
options to display are :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, and :guilabel:`Year`.
|
||||
Use the adjacent arrows to move forward or backward in time.
|
||||
|
||||
At any point, click the :guilabel:`Today` button to have the Gantt view include today's date in the
|
||||
view.
|
||||
|
||||
To view the details of any appraisal, click on any appraisal. A pop-over window appears, displaying
|
||||
the due date for the appraisal. To view more details, click the :guilabel:`View` button, and further
|
||||
details appear in a pop-up window.
|
||||
|
||||
The report can have other :ref:`filters <search/filters>` and :ref:`groupings <search/group>` set in
|
||||
the search bar at the top.
|
||||
|
||||
.. image:: appraisal_analysis/analysis.png
|
||||
:align: center
|
||||
:alt: A report showing all the appraisals for the Appraisal Analysis report.
|
||||
|
||||
.. _appraisals/group-status:
|
||||
|
||||
Group by status
|
||||
===============
|
||||
|
||||
When a company has a large number of employees, the default :guilabel:`Appraisal Analysis` report
|
||||
may display too much information to view easily. In this scenario, viewing the data by status can be
|
||||
beneficial.
|
||||
|
||||
First, remove the default :icon:`oi-group` :guilabel:`Department` grouping from the search bar.
|
||||
Next, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon in the far-right of the search
|
||||
bar. Click :guilabel:`Status` in the :icon:`oi-group` :guilabel:`Group By` column. Click away from
|
||||
the drop-down menu to close it.
|
||||
|
||||
All the appraisals are now organized by status, in the following order: :guilabel:`Cancelled`,
|
||||
:guilabel:`Done`, :guilabel:`To Start`, and :guilabel:`Appraisal Sent`.
|
||||
|
||||
This view makes it easy to see which appraisals need to be completed, and when, as well as which
|
||||
appraisals still need to be confirmed.
|
||||
|
||||
.. image:: appraisal_analysis/by-status.png
|
||||
:align: center
|
||||
:alt: A report showing all the appraisals, grouped by status.
|
||||
|
||||
Use case: view only the user's appraisals
|
||||
=========================================
|
||||
|
||||
When viewing the :guilabel:`Appraisal Analysis` report, it can save time to only view the appraisals
|
||||
the signed-in user is responsible for, and hide the rest.
|
||||
|
||||
To only view this data, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon in the
|
||||
far-right of the search bar, revealing a drop-down menu.
|
||||
|
||||
.. note::
|
||||
It is not necessary to remove the default :icon:`oi-group` :guilabel:`Department` grouping. If it
|
||||
remains active, the results are grouped by department. If it is removed, the results appear in a
|
||||
list, alphabetically.
|
||||
|
||||
Click :guilabel:`Add Custom Filter` at the bottom of the :icon:`fa-filter` :guilabel:`Filters`
|
||||
column, and a :guilabel:`Add Custom Filter` pop-up window appears.
|
||||
|
||||
Click into the first field, and a pop-over appears with a variety of options. Click the
|
||||
:icon:`fa-chevron-right` :guilabel:`(right arrow)` icon after the word :guilabel:`Employee`, then
|
||||
scroll down and click on :guilabel:`Manager`. Next, set the middle field to :guilabel:`=`
|
||||
:guilabel:`(equal)`. Last, click the third field and select the desired user from the list. When all
|
||||
the fields are set, click :guilabel:`Add`.
|
||||
|
||||
.. image:: appraisal_analysis/custom.png
|
||||
:align: center
|
||||
:alt: A customized filter to show only the user's employees.
|
||||
|
||||
Now, the only appraisals that appear are the appraisals that the selected user is responsible for,
|
||||
instead of viewing *all* the appraisals.
|
||||
|
||||
This report can also be :ref:`grouped by status <appraisals/group-status>`.
|
||||
|
||||
.. image:: appraisal_analysis/users-appraisals.png
|
||||
:align: center
|
||||
:alt: A report showing only the appraisals the user is responsible for, by status.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Odoo essentials reporting <../../essentials/reporting>`
|
||||
- :doc:`../../essentials/search`
|
||||
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 12 KiB |
@@ -24,13 +24,12 @@ Each appraisal card displays the following information:
|
||||
|
||||
- **Name**: the employee's name.
|
||||
- **Department**: the department the employee is associated with.
|
||||
- **Company**: the company the employee works for. This only appears in a multi-company
|
||||
database.
|
||||
- **Company**: the company the employee works for. This only appears in a multi-company database.
|
||||
- **Date**: the date the appraisal was requested, or is scheduled for in the future.
|
||||
- **Activities**: any :doc:`activities <../../essentials/activities>` that are scheduled for the
|
||||
appraisal, such as *Meetings* or *Phone Calls*.
|
||||
- **Manager**: the employee's manager, indicated by the profile icon in the bottom-right
|
||||
corner of an appraisal card.
|
||||
- **Manager**: the employee's manager, indicated by the profile icon in the bottom-right corner of
|
||||
an appraisal card.
|
||||
- **Status banner**: the status of the appraisal. A banner appears if an appraisal is marked as
|
||||
either *Canceled* or *Done*. If no banner is present, that means the appraisal has not happened,
|
||||
or has not been scheduled yet.
|
||||
@@ -274,8 +273,9 @@ Once the appraisal is marked as *Done*, the :guilabel:`Mark as Done` button disa
|
||||
button.
|
||||
|
||||
Then, click the :guilabel:`Confirm` button that appears, and make any modifications needed. Once
|
||||
all modifications are complete, click the the :guilabel:`Mark as Done` button again.
|
||||
all modifications are complete, click the :guilabel:`Mark as Done` button again.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../appraisals/goals`
|
||||
- :doc:`../appraisals/reporting`
|
||||
- :doc:`../appraisals/appraisal_analysis`
|
||||
- :doc:`../appraisals/skills_evolution`
|
||||
|
||||
@@ -1,130 +0,0 @@
|
||||
=========
|
||||
Reporting
|
||||
=========
|
||||
|
||||
In Odoo's *Appraisals* app, two metrics are tracked as appraisals are completed: an :ref:`appraisal
|
||||
analysis <appraisals/analysis-report>`, and a :ref:`skills evolution <appraisals/skills-report>`.
|
||||
|
||||
.. _appraisals/analysis-report:
|
||||
|
||||
Appraisal analysis
|
||||
------------------
|
||||
|
||||
To access the *Appraisal Analysis* report, navigate to :menuselection:`Appraisals app --> Reporting
|
||||
--> Appraisal Analysis`.
|
||||
|
||||
On the :guilabel:`Appraisal Analysis` page, there is a report of all the appraisals in the database,
|
||||
highlighted in different colors to represent their status.
|
||||
|
||||
Appraisals in yellow are *Done*, appraisals in orange are in progress (the *Appraisal Sent*, but not
|
||||
completed), appraisals in red have been *Cancelled*, and appraisals in gray are scheduled *To Start*
|
||||
(according to the :ref:`appraisals/appraisal-plan`), but have not been confirmed yet.
|
||||
|
||||
The report displays the current year, in a default Gantt view, and is grouped by department.
|
||||
|
||||
To change the period of time that is presented by default, adjust the date settings in the top-left
|
||||
of the report. The options to display are :guilabel:`Day`, :guilabel:`Week`, :guilabel:`Month`, and
|
||||
:guilabel:`Year`. Use the arrows to move forward or backward in time.
|
||||
|
||||
At any point, click the :guilabel:`Today` button to have the Gantt view include today's date in the
|
||||
view.
|
||||
|
||||
The report can have other :ref:`filters <search/filters>` and :ref:`groupings <search/group>` set in
|
||||
the :guilabel:`Search...` bar at the top.
|
||||
|
||||
.. image:: reporting/analysis.png
|
||||
:align: center
|
||||
:alt: A report showing all the appraisals for the Appraisal Analysis report.
|
||||
|
||||
.. example::
|
||||
Appraisals that have been cancelled appear in red on the :guilabel:`Appraisal Analysis` report,
|
||||
but there is no preconfigured filter to show only cancelled appraisals.
|
||||
|
||||
To view only cancelled appraisals, click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon
|
||||
in the :guilabel:`Search...` bar.
|
||||
|
||||
Next, click :guilabel:`Add Custom Filter` in the :guilabel:`Filters` section, and a
|
||||
:guilabel:`Add Custom Filter` pop up window loads.
|
||||
|
||||
Using the drop-down menu, select :guilabel:`Status` for the first drop-down, then select
|
||||
:guilabel:`Cancelled` for the third drop-down field. Click the :guilabel:`Add` button, and only
|
||||
appraisals that have been cancelled appear.
|
||||
|
||||
.. image:: reporting/custom-filter.png
|
||||
:align: center
|
||||
:alt: The Custom Filter pop-up with the parameters set to only show cancelled appraisals.
|
||||
|
||||
.. _appraisals/skills-report:
|
||||
|
||||
Skills evolution
|
||||
----------------
|
||||
|
||||
To access the *Skills Evolution* report, navigate to :menuselection:`Appraisals app --> Reporting
|
||||
--> Skills Evolution`. The :guilabel:`Appraisal Skills Report` page displays a report of all skills,
|
||||
grouped by employee.
|
||||
|
||||
Skill levels are **only** updated after an appraisal is marked as done. Any skill level changes from
|
||||
any ongoing appraisals that have **not** been finalized are **not** included in this report.
|
||||
|
||||
All the lines of the report are collapsed, by default. To view the details of a line, click anywhere
|
||||
on a line to expand the data.
|
||||
|
||||
Each skill has the following information listed:
|
||||
|
||||
- :guilabel:`Employee`: name of the employee.
|
||||
- :guilabel:`Skill Type`: the category the skill falls under.
|
||||
- :guilabel:`Skill`: the specific, individual skill.
|
||||
- :guilabel:`Previous Skill Level`: the level the employee had previously achieved for the skill.
|
||||
- :guilabel:`Previous Skill Progress`: the previous percentage of competency achieved for the skill
|
||||
(based on the :guilabel:`Skill Level`).
|
||||
- :guilabel:`Current Skill Level`: the current level the employee has achieved for the skill.
|
||||
- :guilabel:`Current Skill Progress`: the current percentage of competency achieved for the skill.
|
||||
- :guilabel:`Justification`: any notes entered on the skill, explaining the progress.
|
||||
|
||||
The color of the skill text indicates any changes from the previous appraisal. Skill levels that
|
||||
have increased since the last appraisal appear in green as an *Improvement*, skill levels that have
|
||||
not changed appear in black as *No Change*, and skills that have regressed appear in red as
|
||||
*Regression*.
|
||||
|
||||
.. image:: reporting/skills-report.png
|
||||
:align: center
|
||||
:alt: A report showing all the skills grouped by employee.
|
||||
|
||||
The report can have other :ref:`filters <search/filters>` and :ref:`groupings <search/group>` set in
|
||||
the :guilabel:`Search...` bar at the top.
|
||||
|
||||
.. example::
|
||||
Since the :guilabel:`Appraisal Skills Report` organizes all skills by employee, it can be
|
||||
difficult to find employees with a specific skill at a specific level. To find these employees,
|
||||
a custom filter must be used.
|
||||
|
||||
To view only employees with an :guilabel:`Expert` level of the :guilabel:`Javascript` skill,
|
||||
first remove any active filters in the :guilabel:`Search...` bar.
|
||||
|
||||
Next, click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon in the :guilabel:`Search...`
|
||||
bar, then click :guilabel:`Add Custom Filter` in the :guilabel:`Filters` section to load an
|
||||
:guilabel:`Add Custom Filter` pop up window.
|
||||
|
||||
Using the drop-down menu, select :guilabel:`Skill` for the first drop-down, then select
|
||||
:guilabel:`Javascript` for the third drop-down field.
|
||||
|
||||
Next, click the :guilabel:`New Rule` button, and another line appears. In this second line,
|
||||
select :guilabel:`Current Skill Level` for the first drop-down, then select :guilabel:`Expert`
|
||||
for the third drop-down field.
|
||||
|
||||
After the :guilabel:`New Rule` button is clicked, the word :guilabel:`any` in the sentence
|
||||
:guilabel:`Match any of the following rules:` changes from plain text into a drop-down menu.
|
||||
Click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon after the word :guilabel:`any`, and
|
||||
select :guilabel:`all`.
|
||||
|
||||
Finally, click the :guilabel:`Add` button, and only employees that have an :guilabel:`Expert`
|
||||
level for the skill :guilabel:`Javascript` appear.
|
||||
|
||||
.. image:: reporting/javascript.png
|
||||
:align: center
|
||||
:alt: The Custom Filter pop-up with the parameters set to only show employees with expert
|
||||
level for the skill javascript.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Odoo essentials reporting <../../essentials/reporting>`
|
||||
- :doc:`../../essentials/search`
|
||||
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 24 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 7.4 KiB |
|
Before Width: | Height: | Size: 24 KiB |
@@ -0,0 +1,164 @@
|
||||
================
|
||||
Skills evolution
|
||||
================
|
||||
|
||||
In Odoo's **Appraisals** app, it is possible to view employee's skills as they progress over time in
|
||||
the :ref:`Skills Evolution <appraisals/identify-skills-evolution>` report, also known as the
|
||||
*Appraisal Skills Report*.
|
||||
|
||||
Managers can use this to see who is achieving their various skill goals set on their appraisals, who
|
||||
is meeting their skill deadlines, who has the highest performance in terms of skill development, and
|
||||
more.
|
||||
|
||||
The *Skills Evolution* report also provides the ability to :ref:`search for employees with specific
|
||||
skills <appraisals/identify-skills>` at certain levels, which can be helpful for scenarios where
|
||||
specific skills are required.
|
||||
|
||||
.. _appraisals/identify-skills-evolution:
|
||||
|
||||
Skills evolution report
|
||||
=======================
|
||||
|
||||
To access this *Skills Evolution* report, navigate to :menuselection:`Appraisals app --> Reporting
|
||||
--> Skills Evolution`.
|
||||
|
||||
Doing so reveals the :guilabel:`Appraisal Skills Report` page, which displays a report of all
|
||||
skills, grouped by employee, in alphabetical order, by default.
|
||||
|
||||
.. note::
|
||||
Skill levels are **only** updated after an appraisal is marked as done. Any skill level changes
|
||||
from ongoing appraisals that have **not** been finalized are **not** included in this report.
|
||||
|
||||
All the :guilabel:`Employee` lines are expanded, with all the various skill types nested below. Each
|
||||
individual skill type is collapsed, by default. To view the individual skills contained within a
|
||||
skill type, click anywhere on the skill type line to expand the data.
|
||||
|
||||
Each skill has the following information listed:
|
||||
|
||||
- :guilabel:`Employee`: the name of the employee.
|
||||
- :guilabel:`Skill Type`: the category the skill falls under.
|
||||
- :guilabel:`Skill`: the specific, individual skill.
|
||||
- :guilabel:`Previous Skill Level`: the level the employee had previously achieved for the skill.
|
||||
- :guilabel:`Previous Skill Progress`: the previous percentage of competency achieved for the skill
|
||||
(based on the :guilabel:`Skill Level`).
|
||||
- :guilabel:`Current Skill Level`: the current level the employee has achieved for the skill.
|
||||
- :guilabel:`Current Skill Progress`: the current percentage of competency achieved for the skill.
|
||||
- :guilabel:`Justification`: any notes entered on the skill, explaining the progress.
|
||||
|
||||
The color of the skill text indicates any changes from the previous appraisal. Skill levels that
|
||||
have increased since the last appraisal appear in green, as an *Improvement*. Skill levels that have
|
||||
**not** changed appear in black, as *No Change*. Skills that have regressed appear in red, as
|
||||
*Regression*.
|
||||
|
||||
This report can be modified to find specific information by adjusting the :ref:`filters
|
||||
<search/filters>` and :ref:`groupings <search/group>` set in the search bar at the top.
|
||||
|
||||
.. image:: skills_evolution/skills-report.png
|
||||
:align: center
|
||||
:alt: A report showing all the skills grouped by employee.
|
||||
|
||||
.. _appraisals/identify-skills:
|
||||
|
||||
Use case: Identify employees with specific skills
|
||||
=================================================
|
||||
|
||||
Since the :guilabel:`Appraisal Skills Report` organizes all skills by employee, it can be difficult
|
||||
to find employees with a specific skill at a specific level. To find these employees, a custom
|
||||
filter must be used.
|
||||
|
||||
In this example, the report is modified to show employees with an expert level of Javascript
|
||||
knowledge. To view only those employees, first remove all active filters in the search bar.
|
||||
|
||||
Next, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon in the search bar, then click
|
||||
:guilabel:`Add Custom Filter` beneath the :icon:`fa-filters` :guilabel:`Filters` column to load an
|
||||
:guilabel:`Add Custom Filter` pop-up window.
|
||||
|
||||
Using the drop-down menu in the first field, select :guilabel:`Skill`. Then, keep the second field
|
||||
as-is, and select :guilabel:`Javascript` from the third drop-down menu in the third field.
|
||||
|
||||
Next, click :guilabel:`New Rule`, and another line appears. In this second line, select
|
||||
:guilabel:`Current Skill Level` for the first drop-down field, leave the second field as-is, then
|
||||
select :guilabel:`Expert` for the third drop-down field.
|
||||
|
||||
After the :guilabel:`New Rule` button is clicked, the word :guilabel:`"any"` in the sentence
|
||||
:guilabel:`Match any of the following rules:`, changes from plain text into a drop-down menu. Click
|
||||
the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon after the word :guilabel:`any`, and select
|
||||
:guilabel:`all`.
|
||||
|
||||
Finally, click the :guilabel:`Add` button.
|
||||
|
||||
.. image:: skills_evolution/javascript.png
|
||||
:align: center
|
||||
:alt: The Custom Filter pop-up with the parameters set.
|
||||
|
||||
Now, only employees that have an :guilabel:`Expert` level for the skill :guilabel:`Javascript`
|
||||
appear. In this example, only :guilabel:`Marc Demo` meets these criteria.
|
||||
|
||||
.. image:: skills_evolution/results.png
|
||||
:align: center
|
||||
:alt: The employees with expert Javascript skills.
|
||||
|
||||
Use case: Assess highest improvement
|
||||
====================================
|
||||
|
||||
Another way to modify the :guilabel:`Appraisal Skills Report` is to identify the employee who has
|
||||
the highest amount of improved skills over a specific period of time.
|
||||
|
||||
To view this information, first remove the default filter in the search bar. Next, click the
|
||||
:icon:`fa-caret-down` :guilabel:`(down arrow)` icon in the search bar, then click
|
||||
:guilabel:`Improvement` beneath the :icon:`fa-filter` :guilabel:`Filters` column. Enabling this
|
||||
filter only presents skills that have improved.
|
||||
|
||||
It is possible to view the skills that have improved over a period of time, such as a specific
|
||||
quarter, or month. With the search bar drop-down menu still expanded, click :guilabel:`Add Custom
|
||||
Filter` at the bottom of the :icon:`fa-filter` :guilabel:`Filters` column, and an :guilabel:`Add
|
||||
Custom Filter` pop-up window appears.
|
||||
|
||||
Select :guilabel:`Create Date` for the first drop-down field, then select :guilabel:`is between` for
|
||||
the second drop-down field. Once :guilabel:`is between` is selected, a second field appears after
|
||||
the last field. Using the calendar selector, select the date range to apply the filter to. Once all
|
||||
the fields are properly formatted, click :guilabel:`Add`.
|
||||
|
||||
The custom filter presents only the skills that have improved during the specified time period,
|
||||
organized by employee.
|
||||
|
||||
.. example::
|
||||
To determine the employee with the most amount of improved skills for the third quarter, remove
|
||||
the default filter in the search bar of the :guilabel:`Appraisal Skills Report`. Next, activate
|
||||
the :guilabel:`Improvement` filter, then click :guilabel:`Add Custom Filter` at the bottom of the
|
||||
:icon:`fa-filter` :guilabel:`Filters` column.
|
||||
|
||||
In the resulting :guilabel:`Add Custom Filter` pop-up window, select :guilabel:`Create Date` for
|
||||
the first drop-down field, then select :guilabel:`is between` for the second drop-down field. Two
|
||||
date fields appear after :guilabel:`is between` is selected.
|
||||
|
||||
Using the calendar selector, set the first date to :guilabel:`07/01/2024` and the second date to
|
||||
:guilabel:`09/30/2024`, then click :guilabel:`Add`.
|
||||
|
||||
These filters present only the skills that have improved during the third quarter (between July
|
||||
1st and September 30th, 2024), organized by employee.
|
||||
|
||||
.. image:: skills_evolution/custom-filter.png
|
||||
:alt: The Custom Filter pop-up with the parameters set.
|
||||
|
||||
To view the number of employees and skills in further detail, click the :icon:`oi-view-pivot`
|
||||
:guilabel:`(Pivot)` icon in the top-right corner to view the data in a pivot table. This presents a
|
||||
pivot table with the employees populating the rows, and the only visible column represents the total
|
||||
number of improved skills.
|
||||
|
||||
To expand more rows or columns to view which skill types had the most overall improvement, click
|
||||
:icon:`fa-plus-square` :guilabel:`Total` above the :guilabel:`Count` column, then click
|
||||
:guilabel:`Skill Type` from the resulting drop-down menu. This organizes the total improved skills
|
||||
by their respective skill type.
|
||||
|
||||
.. example::
|
||||
In this example, it is determined that :guilabel:`Charles Reginald` had the largest improvement
|
||||
in the third quarter, with six improved skills. Additionally, they also had the most skill
|
||||
improvements for both :guilabel:`Languages` (three) and :guilabel:`Programming Languages` (two).
|
||||
|
||||
.. image:: skills_evolution/largest-improvement.png
|
||||
:alt: The pivot table showing the skill improvements for the third quarter.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Odoo essentials reporting <../../essentials/reporting>`
|
||||
- :doc:`../../essentials/search`
|
||||
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 33 KiB |
@@ -13,3 +13,6 @@ Odoo *Employees* organizes a company's employee records, contracts, and departme
|
||||
|
||||
employees/new_employee
|
||||
employees/departments
|
||||
employees/certifications
|
||||
employees/offboarding
|
||||
employees/retention_report
|
||||
|
||||
@@ -0,0 +1,117 @@
|
||||
==============
|
||||
Certifications
|
||||
==============
|
||||
|
||||
When jobs require specific knowledge, it is necessary to track employee certifications to ensure the
|
||||
necessary knowledge and certifications are in place.
|
||||
|
||||
Certifications include classes, tests, professional seminars, and more. There are no restrictions in
|
||||
terms of what type of certification records can be added in Odoo.
|
||||
|
||||
.. important::
|
||||
To access the *Employee Certifications* report, the **Surveys** app **must** be installed.
|
||||
|
||||
View certifications
|
||||
===================
|
||||
|
||||
To view a full list of all employee certifications, navigate to :menuselection:`Employees app -->
|
||||
Reporting --> Certifications`.
|
||||
|
||||
All certifications appear in a list view, grouped by employee. Each certification entry displays the
|
||||
following:
|
||||
|
||||
- :guilabel:`Employee`: the employee's name, along with their avatar image.
|
||||
- :guilabel:`Name`: the title of the certification.
|
||||
- :guilabel:`Validity Start`: when the employee received the certification.
|
||||
- :guilabel:`Validity End`: when the certification expires.
|
||||
- :guilabel:`Certification`: the corresponding course in the **Surveys** app that was completed by
|
||||
the employee, if applicable.
|
||||
|
||||
The entries are also color-coded. Current certifications that are still valid appear in black,
|
||||
expired certifications appear in red, and certifications that are going to expire within the next
|
||||
90 days appear in orange.
|
||||
|
||||
.. image:: certifications/certifications.png
|
||||
:align: center
|
||||
:alt: The list of employee certifications.
|
||||
|
||||
.. important::
|
||||
**Only** certification records with the *Display Type* set to *Certification* on their
|
||||
:ref:`certification form <employees/certifications-form>` appear on the :guilabel:`Employee
|
||||
Certifications` report. All other certifications appear in the resume section of the
|
||||
:doc:`employee form <new_employee>`.
|
||||
|
||||
View certifications by expiration status
|
||||
----------------------------------------
|
||||
|
||||
When managing a large number of employees with a variety of certifications, it can be difficult to
|
||||
determine which employees need to keep necessary certifications current in the default list view. In
|
||||
this scenario, it is beneficial to view the certifications by expiration status.
|
||||
|
||||
To do so, navigate to :menuselection:`Employees app --> Reporting --> Certifications`. Next, click
|
||||
the :icon:`fa-caret-down` :guilabel:`(down arrow)` in the search bar, then click :guilabel:`Add
|
||||
Custom Group`, revealing a drop-down menu. Click :guilabel:`Expiration Status`, then click away from
|
||||
the drop-down menu to close it.
|
||||
|
||||
After doing so, all the certifications are organized by status, starting with :guilabel:`Expired`
|
||||
certifications, then certifications that are :guilabel:`Expiring` soon (within the next 90 days),
|
||||
and lastly, certifications that are still :guilabel:`Valid`.
|
||||
|
||||
This view provides an easy way to see which employees have certifications that are going to expire
|
||||
soon, to determine which employees need to take action to keep their certifications current.
|
||||
|
||||
.. image:: certifications/status.png
|
||||
:align: center
|
||||
:alt: The list of employee certifications, grouped by status.
|
||||
|
||||
.. _employees/certifications-form:
|
||||
|
||||
Log a certification
|
||||
===================
|
||||
|
||||
To log a certification for an employee, navigate to :menuselection:`Employees app --> Reporting -->
|
||||
Certifications`. Click :guilabel:`New`, and a blank certification form loads. Enter the following
|
||||
information on the form:
|
||||
|
||||
- :guilabel:`Title`: Enter a short description for the certification in this field.
|
||||
- :guilabel:`Employee`: Using the drop-down menu, select the employee who received the
|
||||
certification.
|
||||
- :guilabel:`Type`: Using the drop-down menu, select the type of certification received. This field
|
||||
determines where on the employee's resume the certification appears. To create a new
|
||||
:guilabel:`Type`, enter the type in the field, then click :guilabel:`Create "type"`.
|
||||
|
||||
The default options are:
|
||||
|
||||
- :guilabel:`Experience`: Select this option to have the certification appear in the *Experience*
|
||||
section of the *Resume* tab on the :doc:`employee form <new_employee>`.
|
||||
- :guilabel:`Education`: Select this option to have the certification appear in the *Education*
|
||||
section of the *Resume* tab on the :doc:`employee form <new_employee>`.
|
||||
- :guilabel:`Internal Certification`: Select this option to have the certification appear in the
|
||||
*Internal Certification* section of the *Resume* tab on the :doc:`employee form <new_employee>`.
|
||||
- :guilabel:`Completed Internal Training`: Select this option to have the certification appear in
|
||||
*Completed Internal Training* section of the *Resume* tab on the :doc:`employee form
|
||||
<new_employee>`.
|
||||
|
||||
- :guilabel:`Display Type`: Select the visibility of the certification in this field. The default
|
||||
options are:
|
||||
|
||||
- :guilabel:`Classic`: Select this option to have the certification appear in the *Resume* section
|
||||
of the employee form, and **not** appear on the *Employee Certifications* report.
|
||||
- :guilabel:`Course`: Select this option to have the certification appear in the *Resume* section
|
||||
of the employee form, and **not** appear on the *Employee Certifications* report. Once this
|
||||
option is selected, a :guilabel:`Course` field appears beneath the :guilabel:`Display Type`
|
||||
field. Using the drop-down menu, select the course the employee took. The course is created in
|
||||
the **Surveys** app.
|
||||
- :guilabel:`Certification`: Select this option to have the certification appear in the *Resume*
|
||||
section of the employee form, **and** appear on the *Employee Certifications* report. Once this
|
||||
is selected, a :guilabel:`Certification` field appears beneath the :guilabel:`Display
|
||||
Type` field. Using the drop-down menu, select the certification the employee took.
|
||||
|
||||
- :guilabel:`Description`: Enter a description for the certification in this field.
|
||||
- :guilabel:`Duration`: Click into the first field, and a calendar pop-over window appears. Click on
|
||||
the start and end dates for the certification validity period. When the correct dates are
|
||||
selected, click :icon:`fa-check` :guilabel:`Apply`, and both fields are populated.
|
||||
|
||||
.. image:: certifications/osha.png
|
||||
:align: center
|
||||
:alt: A certification form filled out for an OSHA certificate for construction.
|
||||
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 33 KiB |
@@ -0,0 +1,104 @@
|
||||
===========
|
||||
Offboarding
|
||||
===========
|
||||
|
||||
When an employee leaves the company, it is important to ensure their employee record is updated to
|
||||
reflect their departure, log the reason why, close any open activities associated with the
|
||||
employee, and provide them with any important documents.
|
||||
|
||||
Archive an employee
|
||||
===================
|
||||
|
||||
In Odoo, when an employee leaves the company they must be *archived*. To archive an employee, first
|
||||
navigate to the :menuselection:`Employees app`. From here, locate the employee who is leaving the
|
||||
company, and click on their employee card.
|
||||
|
||||
The employee form loads, displaying all their information. Click the :icon:`fa-gear`
|
||||
:guilabel:`(gear)` icon in the top-left corner, and a drop-down menu appears. Click
|
||||
:icon:`oi-archive` :guilabel:`Archive`, and an :guilabel:`Employee Termination` pop-up window
|
||||
appears.
|
||||
|
||||
Fill out the following fields on the form:
|
||||
|
||||
- :guilabel:`Departure Reason`: Select a reason the employee is leaving from the drop-down menu. The
|
||||
default options are:
|
||||
|
||||
- :guilabel:`Fired`: Select this option when an employee is being let go, and the company has
|
||||
given notice.
|
||||
- :guilabel:`Resigned`: Select this option when the employee no longer wishes to be employed, and
|
||||
the employee has given notice.
|
||||
- :guilabel:`Retired`: Select this option when the employee is retiring.
|
||||
- :guilabel:`Became Freelance`: Select this option when the employee is no longer working for the
|
||||
company, but is becoming a freelance worker instead.
|
||||
|
||||
- :guilabel:`Contract End Date`: Using the calendar selector, select the last day the employee is
|
||||
working for the company.
|
||||
- :guilabel:`Detailed Reason`: Enter a short description for the employee's departure in this field.
|
||||
- :guilabel:`Close Activities`: Tick the checkbox next to each type of activity to close or delete
|
||||
any open activities associated with it. It is recommended to tick **all** checkboxes that are
|
||||
applicable. The available options are:
|
||||
|
||||
- :guilabel:`Appraisals`: cancels all appraisals scheduled after the contract end date.
|
||||
- :guilabel:`Contract`: applies an end date for the current contract.
|
||||
- :guilabel:`Company Car`: removes the employee as the driver for their current company car, and
|
||||
:ref:`assigns the next driver <fleet/new_vehicle/new-driver>`, if applicable.
|
||||
- :guilabel:`Time Off`: cancels any time off requests after the contract end date.
|
||||
- :guilabel:`Allocations`: removes the employee from any accrual plans they are on.
|
||||
|
||||
- :guilabel:`HR Info`: Tick the checkbox next to :guilabel:`Send Access Link` to send a download
|
||||
link to the employee's personal email address, containing all their personal HR files.
|
||||
- :guilabel:`Private Email`: This field appears if the :guilabel:`HR Info` checkbox is ticked. Enter
|
||||
the private email address for the employee.
|
||||
|
||||
When the form is complete, click :guilabel:`Apply`. The employee record is archived, an email with a
|
||||
download link to their personal documents is sent to the employee's private email address (if
|
||||
selected), and a red :guilabel:`Archived` banner appears in the top-right corner of the employee
|
||||
form. The chatter logs the :guilabel:`Departure Date` and :guilabel:`Departure Reason`, and if an
|
||||
access link was emailed.
|
||||
|
||||
.. image:: offboarding/termination.png
|
||||
:align: center
|
||||
:alt: The employee termination form with all fields filled out.
|
||||
|
||||
.. note::
|
||||
While attempting to send the HR documents access link, an :guilabel:`Invalid Operation` pop-up
|
||||
window may appear, displaying the following error message:
|
||||
|
||||
:guilabel:`Employee's related user and private email must be set to use "Send Access Link"
|
||||
function: (Employee Name)`
|
||||
|
||||
If this error appears, click :guilabel:`Close` to close the pop-up window, then tick the
|
||||
:guilabel:`Send Access Link` checkbox to deselect it on the :guilabel:`Employee Termination`
|
||||
pop-up window.
|
||||
|
||||
Click :guilabel:`Apply` to archive the employee and close the selected activities on the
|
||||
:guilabel:`Employee Termination` pop-up window, returning to the employee form.
|
||||
|
||||
Once the employee form, ensure the following fields are populated:
|
||||
|
||||
- :guilabel:`Private Information` tab: Ensure an email address is entered in the
|
||||
:guilabel:`Email` field.
|
||||
- :guilabel:`HR Settings` tab: Ensure a :guilabel:`Related User` is selected in the corresponding
|
||||
field.
|
||||
|
||||
After the necessary information is entered, :ref:`resend the HR documents access link
|
||||
<employees/send-link>`
|
||||
|
||||
.. _employees/send-link:
|
||||
|
||||
Send HR documents access link
|
||||
-----------------------------
|
||||
|
||||
If the access link was not sent when first archiving the employee on the *Employee Termination*
|
||||
form, it can be sent after the employee is archived at any point.
|
||||
|
||||
After an employee is archived, they are no longer visible on the main **Employees** app dashboard.
|
||||
To view the archived employees, navigate to the :menuselection:`Employees app` dashboard, and click
|
||||
the :icon:`fa-caret-down` :guilabel:`(down arrow)` in the search bar to reveal a drop-down menu.
|
||||
Select :guilabel:`Archived`, towards the bottom of the :icon:`fa-filter` :guilabel:`Filters` column,
|
||||
then click away from the drop-down window to close it.
|
||||
|
||||
Now, only archived employees appear on the dashboard. Click on the desired employee to open their
|
||||
employee form. On this form, click the :icon:`fa-gear` :guilabel:`(gear)` icon in the top-left
|
||||
corner, then click :guilabel:`Send HR Documents Access Link` from the resulting drop-down menu. The
|
||||
chatter logs that the link was sent.
|
||||
|
After Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,103 @@
|
||||
=========================
|
||||
Employee retention report
|
||||
=========================
|
||||
|
||||
It is possible to determine the retention rate for a company by modifying an existing report.
|
||||
|
||||
First, navigate to :menuselection:`Employees app --> Reporting --> Contracts` to open the
|
||||
:guilabel:`Employee Analysis` report. This report shows the number of all employees for the
|
||||
:guilabel:`Last 365 Days`, in a default :icon:`fa-line-chart` :guilabel:`Line Chart`.
|
||||
|
||||
.. image:: retention_report/employees-analysis.png
|
||||
:align: center
|
||||
:alt: The default Employees Analysis report.
|
||||
|
||||
Next, click the :guilabel:`Measures` :icon:`fa-caret-down` button in the upper-left corner,
|
||||
revealing a drop-down menu. Click :guilabel:`# Departure Employee` in the list, then click away from
|
||||
the drop-down menu to close it. Now, the report shows all the employees who were archived for the
|
||||
:guilabel:`Last 365 Days`.
|
||||
|
||||
To view this information in an easier format, click the :icon:`oi-view-pivot` :guilabel:`(Pivot)`
|
||||
icon in the upper-right corner, and the data is presented in a pivot table.
|
||||
|
||||
The various employees, organized by department, populate the rows. The columns display the following
|
||||
totals: the monthly :guilabel:`Wage`, the :guilabel:`Fuel Card` budget, total :guilabel:`Annual
|
||||
Employee Budget` (also referred to as the *annual salary*), the number of :guilabel:`New Employees`,
|
||||
as well as the number of :guilabel:`Departure Employees` (employees who left).
|
||||
|
||||
.. image:: retention_report/pivot-departures.png
|
||||
:align: center
|
||||
:alt: The Employees Analysis report, modified to show departed employees only.
|
||||
|
||||
Employee retention rate comparison report
|
||||
=========================================
|
||||
|
||||
It is possible to compare data only for employees who left, compared to the total current employees,
|
||||
between two separate time periods. This is commonly referred to as the *employee retention rate*.
|
||||
|
||||
To view these metrics, first open the :guilabel:`Employee Analysis` report by navigating to
|
||||
:menuselection:`Employees app --> Reporting --> Contracts`. Click the :icon:`oi-view-pivot`
|
||||
:guilabel:`(Pivot)` icon in the upper-right corner to view the information in a pivot table.
|
||||
|
||||
Next, click the :guilabel:`Measures` :icon:`fa-caret-down` button in the upper-left corner,
|
||||
revealing a drop-down menu. Click :guilabel:`# New Employees`, :guilabel:`Annual Employee Budget`,
|
||||
:guilabel:`Fuel Card`, and :guilabel:`Wage` in the list, to deselect these metrics and hide them in
|
||||
the table. Then, click :guilabel:`Count` at the bottom of the list to enable that metric.
|
||||
|
||||
Click away from the drop-down menu to close it. Now, the report shows all the employees who left the
|
||||
company (:guilabel:`# Departure Employee`), as well as the total number of employees
|
||||
(:guilabel:`Count`), for the :guilabel:`Last 365 Days`.
|
||||
|
||||
To compare the data for the current year with the previous year, click the :icon:`fa-caret-down`
|
||||
:guilabel:`(down arrow)` in the search bar, revealing multiple filter and grouping options. Click
|
||||
:guilabel:`Last 365 Days` in the :icon:`fa-filter` :guilabel:`Filters` column, to turn off that
|
||||
filter. Then, click :guilabel:`Date`, and click the current year (in this example, :guilabel:`2024`)
|
||||
from the resulting drop-down menu.
|
||||
|
||||
Once a selection is made beneath :guilabel:`Date` in the :icon:`fa-filter` :guilabel:`Filters`
|
||||
column, a :icon:`fa-adjust` :guilabel:`Comparison` column appears. Click :guilabel:`Date: Previous
|
||||
Year` in the new column, then click off of the drop-down menu to close it.
|
||||
|
||||
.. note::
|
||||
In Odoo, in order to access the :icon:`fa-adjust` :guilabel:`Comparison` column, a specific time
|
||||
*other than* :guilabel:`Last 365 Days` **must** be selected. If not, the :icon:`fa-adjust`
|
||||
:guilabel:`Comparison` column is **not** visible.
|
||||
|
||||
Now, the pivot table displays the total number of employees who left the company (:guilabel:`#
|
||||
Departure Employee`), as well as the total number of employees (:guilabel:`Count`) in the columns.
|
||||
These are further divided by the two different years, and also displays the :guilabel:`Variation`
|
||||
between the two.
|
||||
|
||||
The rows display the departments, and lists each individual employee for each department, in the
|
||||
rows.
|
||||
|
||||
For a more concise view of this report, click :icon:`fa-minus-square-o` :guilabel:`Total` above the
|
||||
top row of the departments and employees, to collapse the rows. Now, the table presents the total
|
||||
number of employees who left the company for both years, compared to the total number of employees
|
||||
for both years, including the difference, in a percentage.
|
||||
|
||||
.. example::
|
||||
In this example, :guilabel:`3` employees out of :guilabel:`83` left in 2023, and :guilabel:`8`
|
||||
employees out of :guilabel:`202` left in 2024. There was a :guilabel:`166.67%` increase in the
|
||||
employees who left in 2024 as compared to 2023. Additionally, there was a :guilabel:`143.37%`
|
||||
increase in the total number of employees in 2024 as compared to 2023.
|
||||
|
||||
.. image:: retention_report/comparison-years.png
|
||||
:align: center
|
||||
:alt: The report modified to show the difference between two years of employees who left.
|
||||
|
||||
To view more detailed rates for each department, click :icon:`fa-plus-square` :guilabel:`Total` in
|
||||
the single row, revealing a drop-down menu, and click :guilabel:`Department`. Click away from the
|
||||
drop-down to close it, and now the pivot table displays the total number of employees who left
|
||||
(:guilabel:`# Departure Employee`), the total number of employees (:guilabel:`Count`), and the
|
||||
:guilabel:`Variation` (in a percentage) for both 2023 and 2024, organized by department.
|
||||
|
||||
.. example::
|
||||
In this example, it can be determined that the :guilabel:`Management` department had the best
|
||||
retention rate in 2024 as compared to 2023, with a :guilabel:`Variation` rate of
|
||||
:guilabel:`-100%`. Additionally, it can be determined that the :guilabel:`Management / Research &
|
||||
Development` department had the most turnover, with a :guilabel:`Variation` of :guilabel:`300%`.
|
||||
|
||||
.. image:: retention_report/department-totals.png
|
||||
:align: center
|
||||
:alt: The expanded employee retention report by department.
|
||||
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 29 KiB |
@@ -43,6 +43,8 @@ Vehicle form fields
|
||||
fields that apply to the model. If some of the fields do not appear, this may indicate there is
|
||||
no model selected.
|
||||
|
||||
.. _fleet/new_vehicle/new-driver:
|
||||
|
||||
Driver section
|
||||
--------------
|
||||
|
||||
|
||||
@@ -963,6 +963,7 @@ form.
|
||||
- :doc:`payroll/payslips`
|
||||
- :doc:`payroll/work_entries`
|
||||
- :doc:`payroll/reporting`
|
||||
- :doc:`payroll/work_entry_analysis`
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
@@ -971,3 +972,4 @@ form.
|
||||
payroll/work_entries
|
||||
payroll/payslips
|
||||
payroll/reporting
|
||||
payroll/work_entry_analysis
|
||||
|
||||
@@ -178,63 +178,11 @@ spreadsheet view with the report added to it.
|
||||
.. _payroll/doc-storage:
|
||||
|
||||
.. note::
|
||||
If the *Documents* app is **not** installed, the :guilabel:`Insert in Spreadsheet` option places
|
||||
the newly-created spreadsheet in the *Dashboards* app.
|
||||
If the **Documents** app is **not** installed, the :guilabel:`Insert in Spreadsheet` option
|
||||
places the newly-created spreadsheet in the **Dashboards** app.
|
||||
|
||||
If the *Documents* application **is** installed, the spreadsheet has the option to be stored in
|
||||
either the *Dashboards* app or *Documents* app.
|
||||
|
||||
Work entry analysis
|
||||
-------------------
|
||||
|
||||
The default :guilabel:`Work entry analysis` report provides an overview of the validated work
|
||||
entries for the current month. To view this report, navigate to :menuselection:`Payroll app -->
|
||||
Reporting --> Work Entry Analysis`.
|
||||
|
||||
The work entries appear in a pivot table, with the default filters of `Current month: (Month)(Year)`
|
||||
and `Validated`. The various types of :doc:`work_entries` are listed on the left-hand side (x-axis),
|
||||
while the :guilabel:`Total` values appear along the top (the y-axis).
|
||||
|
||||
To change the displayed view, click the :guilabel:`➕ (plus)` icon next to the word
|
||||
:guilabel:`Total`, then click on one of the grouping options. The available options are
|
||||
:guilabel:`Work Entry Type`, :guilabel:`Employee`, and :guilabel:`Department`. If in a multi-company
|
||||
database, a :guilabel:`Company` option also appears.
|
||||
|
||||
To add a new group to sort the data, click :guilabel:`Add Custom Group`, then click one of the
|
||||
presented options.
|
||||
|
||||
.. tip::
|
||||
Wherever a :guilabel:`➕ (plus)` icon appears on a pivot table, the information can be further
|
||||
grouped. Click on a :guilabel:`➕ (plus)` icon to reveal the available grouping options.
|
||||
|
||||
Click on a :guilabel:`➖ (minus)` icon anywhere on the pivot table to remove that respective
|
||||
grouping.
|
||||
|
||||
It is possible to compare the current :guilabel:`Work entry analysis` report to the previous month
|
||||
or the previous year. To view these comparisons, click the :guilabel:`⬇️ (down arrow)` icon in the
|
||||
search bar to reveal the various :ref:`filter <payroll/filters>` and grouping options.
|
||||
|
||||
In the section titled :guilabel:`Comparison`, click on either :guilabel:`Current Month: Previous
|
||||
Period` or :guilabel:`Current Month: Previous Year`. The report updates and displays the previous
|
||||
time period values, as well as the :guilabel:`Variation` between the two.
|
||||
|
||||
.. image:: reporting/work-entry-comparison.png
|
||||
:align: center
|
||||
:alt: A pivot table comparing the work entries of the current month and the previous month.
|
||||
|
||||
To export the data in an XLSX format, click the :guilabel:`Download xlsx` button, represented by a
|
||||
:guilabel:`⬇️ (down arrow above a horizontal bar)` icon, located at the far-right of the available
|
||||
icons. The information is then downloaded into a spreadsheet.
|
||||
|
||||
The data can also be inserted into a spreadsheet. Click the :guilabel:`Insert in Spreadsheet` button
|
||||
and a :guilabel:`Select a spreadsheet to insert your (type of report)` pop-up window appears, asking
|
||||
which spreadsheet to place the information in. Select an existing spreadsheet or dashboard, or
|
||||
select a new :guilabel:`Blank spreadsheet`. Click the :guilabel:`Confirm` button to move to a
|
||||
spreadsheet view with the report added to it.
|
||||
|
||||
.. note::
|
||||
The work entry analysis spreadsheet is :ref:`stored in the same locations <payroll/doc-storage>`
|
||||
as a pivot table.
|
||||
If the **Documents** application *is* installed, the spreadsheet has the option to be stored in
|
||||
either the **Dashboards** app or **Documents** app.
|
||||
|
||||
Salary attachment report
|
||||
------------------------
|
||||
|
||||
|
Before Width: | Height: | Size: 28 KiB |
@@ -59,8 +59,8 @@ Enter the following information on the form:
|
||||
this field is left blank, it automatically populates once an employee is selected. The default
|
||||
entry is `Attendance: (Employee)`.
|
||||
- :guilabel:`Employee`: select the employee the work entry is for, using the drop-down menu.
|
||||
- :guilabel:`Work Entry Type`: select the :ref:`work entry type <payroll/work-entries-config>` using
|
||||
the drop-down menu.
|
||||
- :guilabel:`Work Entry Type`: select the :ref:`work entry type <payroll/work-entries>` using the
|
||||
drop-down menu.
|
||||
- :guilabel:`From` and :guilabel:`To`: enter the start (:guilabel:`From`) and end (:guilabel:`To`)
|
||||
dates and times for the work entry.
|
||||
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
===================
|
||||
Work entry analysis
|
||||
===================
|
||||
|
||||
The default *Work Entries Analysis* report provides an overview of the validated work entries for
|
||||
the current month. To view this report, navigate to :menuselection:`Payroll app --> Reporting -->
|
||||
Work Entry Analysis`.
|
||||
|
||||
The work entries appear in a pivot table, with the default filters of :guilabel:`Current month:
|
||||
(Month)(Year)` and :guilabel:`Validated`. The various types of :doc:`work_entries` populate the
|
||||
rows, while the :guilabel:`Total` values populate the only visible column.
|
||||
|
||||
To change the displayed information, click :icon:`fa-plus-square` :guilabel:`Total` above the main
|
||||
column, revealing a drop-down menu of available metrics. Click on one of the available groupings,
|
||||
and the data is further organized by that selected metric. The default options are :guilabel:`Work
|
||||
Entry Type`, :guilabel:`Employee`, and :guilabel:`Department`. If in a multi-company database, a
|
||||
:guilabel:`Company` option also appears.
|
||||
|
||||
Work entry analysis comparison
|
||||
==============================
|
||||
|
||||
It is possible to compare the work entries from one time period to a previous time period. To view
|
||||
this comparison, first navigate to :menuselection:`Payroll app --> Reporting --> Work Entry
|
||||
Analysis`.
|
||||
|
||||
Next, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon in the search bar, revealing a
|
||||
drop-down menu. Under the :icon:`fa-adjust` :guilabel:`Comparison` section, click on either
|
||||
:guilabel:`Current Month: Previous Period` or :guilabel:`Current Month: Previous Year`.
|
||||
|
||||
The report updates and displays the data for the current time period, data for the selected previous
|
||||
time period, as well as the :guilabel:`Variation` between the two, in a percentage.
|
||||
|
||||
.. image:: work_entry_analysis/work-entry-comparison.png
|
||||
:alt: A pivot table comparing the work entries of the current month and the previous month.
|
||||
|
||||
.. note::
|
||||
If no work entries for a specific :ref:`work entry type <payroll/work-entries>` are logged for
|
||||
the time period, it does **not** appear on the report. That does **not** mean the work entry type
|
||||
does not exist, or is not configured.
|
||||
|
||||
Additionally, if the default :guilabel:`Current month: (Month)(Year)` filter is removed from the
|
||||
search bar, the :guilabel:`Comparison` column does **not** appear; there must be a time-frame
|
||||
selected to view the :guilabel:`Comparison` column.
|
||||
|
||||
Use case: overtime report comparison
|
||||
====================================
|
||||
|
||||
It is possible to alter the *Work Entries Analysis* report to show a comparison of only overtime
|
||||
work entries, grouped by employee, for a specific time period. To view this data, first navigate to
|
||||
the default *Work entry analysis* report by going to :menuselection:`Payroll app --> Reporting -->
|
||||
Work Entry Analysis`.
|
||||
|
||||
Next, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon in the search bar, revealing a
|
||||
drop-down menu. Under the :icon:`fa-filter` :guilabel:`Filters` column, click :guilabel:`Add Custom
|
||||
Filter`, and a :guilabel:`Add Custom Filter` pop-up window appears.
|
||||
|
||||
Using the drop-down menu, select :guilabel:`Work Entry Type` for the first field, leave the middle
|
||||
field as-is (with :guilabel:`is in` populating the field), and select :guilabel:`Overtime Hours` for
|
||||
the last field. Click :guilabel:`Add`, and all other work entry types disappear, and
|
||||
:guilabel:`Overtime Hours` appear in the sole row.
|
||||
|
||||
To compare overtime from the current month to the previous month, to see which month had more
|
||||
overtime logged, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` icon again in the search
|
||||
bar. Under the :icon:`fa-adjust` :guilabel:`Comparison` section, click :guilabel:`Current Month:
|
||||
Previous Period`. Click away from the drop-down menu to close it.
|
||||
|
||||
Now, the report displays the :guilabel:`Overtime Hours` for the current month and the previous
|
||||
month, along with the :guilabel:`Variation`, in a percentage.
|
||||
|
||||
To view which employees received the most overtime, click :icon:`fa-plus-square` :guilabel:`Overtime
|
||||
Hours`, revealing a drop-down menu of options. Click :guilabel:`Employee`, and all employees with
|
||||
overtime work entries for either the current or previous month appears.
|
||||
|
||||
In this example, it can be determined that :guilabel:`Marc Demo` worked the most overtime in
|
||||
:guilabel:`August 2024`, whereas :guilabel:`Beth Evans` worked the most overtime hours in
|
||||
:guilabel:`September 2024`. Additionally, :guilabel:`Mitchell Admin` had the largest variation
|
||||
change, with a :guilabel:`-100%` change from :guilabel:`August 2024` to :guilabel:`September 2024`.
|
||||
|
||||
.. image:: work_entry_analysis/variation.png
|
||||
:alt: A pivot table comparing the overtime from September 2024 with August 2024.
|
||||
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 22 KiB |
@@ -320,7 +320,7 @@ The pre-configured email templates and when to use them are as follows:
|
||||
application caught the recruiter's attention, and they have been shortlisted for either a phone
|
||||
call or an interview.
|
||||
- :guilabel:`Recruitment: Schedule Interview`: this template is used to let the applicant know that
|
||||
they have passed the :guilabel:`Initial Qualification` stage and they will be contacted to set up
|
||||
they have passed the :guilabel:`Initial Qualification` stage, and they will be contacted to set up
|
||||
an interview with the recruiter. This email is automatically sent out once the applicant is in the
|
||||
:guilabel:`Initial Qualification` stage.
|
||||
- :guilabel:`Recruitment: Not interested anymore`: this template is used when an applicant
|
||||
@@ -381,6 +381,8 @@ the applicant. The email then appears in the chatter.
|
||||
- :doc:`recruitment/refuse_applicant`
|
||||
- :doc:`recruitment/source_analysis`
|
||||
- :doc:`recruitment/recruitment_analysis`
|
||||
- :doc:`recruitment/time_in_stage`
|
||||
- :doc:`recruitment/team_performance`
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
@@ -393,3 +395,5 @@ the applicant. The email then appears in the chatter.
|
||||
recruitment/refuse_applicant
|
||||
recruitment/source_analysis
|
||||
recruitment/recruitment_analysis
|
||||
recruitment/time_in_stage
|
||||
recruitment/team_performance
|
||||
|
||||
@@ -39,6 +39,8 @@ button to delete it.
|
||||
Once the job position has been created, it appears as a card in the Kanban view on the main
|
||||
*Recruitment* app dashboard.
|
||||
|
||||
.. _recruitment/new_job_position/edit:
|
||||
|
||||
Edit a new job position
|
||||
-----------------------
|
||||
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
==========================
|
||||
Team performance reporting
|
||||
==========================
|
||||
|
||||
The *Team Performance* report in the **Recruitment** app shows how many applicants each recruiter is
|
||||
managing.
|
||||
|
||||
This information is determined by the individuals populating the :ref:`Recruiter
|
||||
<recruitment/applicant-details>` field on each applicant form.
|
||||
|
||||
Open report
|
||||
===========
|
||||
|
||||
To access the *Team Performance* report, navigate to :menuselection:`Recruitment app --> Reporting
|
||||
--> Team Performance`.
|
||||
|
||||
The number of :guilabel:`In Progress`, :guilabel:`Hired`, and :guilabel:`Refused` applicants for
|
||||
each recruiter is displayed in the :icon:`fa-area-chart` :guilabel:`(Graph)` view.
|
||||
|
||||
The information shown is for the :icon:`fa-filter` :guilabel:`Last 365 Days Applicant` default
|
||||
filter, as displayed in the search bar.
|
||||
|
||||
Hover the cursor over any column to view a popover window, displaying the specific details for that
|
||||
column.
|
||||
|
||||
.. image:: team_performance/team-performance.png
|
||||
:align: center
|
||||
:alt: The default bar chart of the team performance report.
|
||||
|
||||
Pivot table view
|
||||
----------------
|
||||
|
||||
For a more detailed view of the information in the :guilabel:`Team Performance` report, click the
|
||||
:icon:`oi-view-pivot` :guilabel:`(Pivot)` icon in the top-right corner. This displays all the
|
||||
information in a pivot table.
|
||||
|
||||
In this view, the job positions are displayed in the rows, while the columns display the total
|
||||
number of applicants. The applicants are further organized by :guilabel:`# Applicant` (in process),
|
||||
:guilabel:`# Hired`, and :guilabel:`# Refused`.
|
||||
|
||||
The displayed information can be modified, if desired.
|
||||
|
||||
In this example, there are 19 total applicants. Out of those 19, eight have been hired, and three
|
||||
refused.
|
||||
|
||||
From the data presented, the :guilabel:`Experienced Developer` job position is the most successful.
|
||||
This job position has the highest number of total applicants, as well as the most hires. In
|
||||
addition, the :guilabel:`Experienced Developer` has the least amount of refused applicants.
|
||||
|
||||
This pivot table also shows that the :guilabel:`Chief Executive Officer` position is the hardest to
|
||||
fill, as it has the fewest total applicants.
|
||||
|
||||
.. image:: team_performance/team-perf-pivot.png
|
||||
:align: center
|
||||
:alt: The detailed pivot table view.
|
||||
|
||||
Use case: recruiter performance over time
|
||||
=========================================
|
||||
|
||||
One way to modify this report is to show how recruiters are performing over time. To show this
|
||||
information, begin with the :guilabel:`Team Performance` report in the :icon:`oi-view-pivot`
|
||||
:guilabel:`(Pivot)` view.
|
||||
|
||||
Next, click the :icon:`fa-caret-down` :guilabel:`(down arrow)` in the search bar, revealing a
|
||||
drop-down menu. Click :guilabel:`Add Custom Group` :icon:`oi-caret-down` at the bottom of the
|
||||
:icon:`oi-group` :guilabel:`Group By` column, then click :guilabel:`Recruiter`. Click away from the
|
||||
drop-down menu to close it. Now, each row on the table represents a recruiter.
|
||||
|
||||
.. image:: team_performance/by-recruiter.png
|
||||
:align: center
|
||||
:alt: The pivot table now displaying the recruiters in the rows.
|
||||
|
||||
To compare the team's performance over different time periods, click the :icon:`fa-caret-down`
|
||||
:guilabel:`(down arrow)` in the search bar. Click :guilabel:`Start Date` :icon:`fa-caret-down` in
|
||||
the :icon:`fa-filter` :guilabel:`Filters` column, revealing various time periods to select.
|
||||
|
||||
In this example, the desired data is the comparison between the team's performance in the third
|
||||
quarter (June - August) and the second quarter (April - July). To do so, click :guilabel:`Q3`. Once
|
||||
clicked, the current year is also ticked. In this example, it is :guilabel:`2024`.
|
||||
|
||||
After making this selection, a :icon:`fa-adjust` :guilabel:`Comparison` column appears. Click
|
||||
:guilabel:`Start Date: Previous Period` to compare the third quarter with the second quarter, for
|
||||
the various recruiters.
|
||||
|
||||
.. image:: team_performance/compare.png
|
||||
:align: center
|
||||
:alt: A comparison table of recruiter totals of Q2 and Q3.
|
||||
|
||||
From this report, several things can be extrapolated: the total number of applicants increased, the
|
||||
number of hired applicants remained the same, while the number of refused applicants decreased.
|
||||
|
||||
Additionally, :guilabel:`Jane Jobs` had the highest increase in number of applicants during the
|
||||
third quarter, but her number of hired applicants went down :guilabel:`67%`. The recruiter with the
|
||||
best overall numbers was :guilabel:`Rose Recruiter`, who had both their active applicants and hired
|
||||
applicants, increase in the third quarter, while their refused applicants went down.
|
||||
|
After Width: | Height: | Size: 9.9 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,79 @@
|
||||
======================
|
||||
Time in stage analysis
|
||||
======================
|
||||
|
||||
The *Time In Stage Analysis* report provides information on how long applicants stay in each stage
|
||||
of the recruitment process. This is important, as every job position has specific :ref:`process
|
||||
details <recruitment/new_job_position/edit>` that state the length of time applicants should expect
|
||||
to wait between specific stages.
|
||||
|
||||
Knowing how long applicants remain in each stage can help highlight possible bottlenecks. Analyzing
|
||||
this data allows the recruitment team to assess each stage, identify any issues, and pivot their
|
||||
strategies to move applicants through each stage, within the expected time interval.
|
||||
|
||||
Time in stage analysis report
|
||||
=============================
|
||||
|
||||
To access the report, navigate to :menuselection:`Recruitment app --> Reporting --> Time in Stage
|
||||
Analysis`. By default, the report displays data from all job positions, with the stages populating
|
||||
the x-axis, and the number of days populating the y-axis, in a :icon:`fa-line-chart`
|
||||
:guilabel:`(Line Chart)`.
|
||||
|
||||
The default filter is :guilabel:`Last 365 Days Applicant`, showing information for the last 365
|
||||
days.
|
||||
|
||||
Hover over a stage in the line chart to reveal a popover window listing all the job positions within
|
||||
it, and the average number of days each job position sits in each stage.
|
||||
|
||||
For a more visually digestible view of the information in the :guilabel:`Time In Stage Analysis`
|
||||
report, click the :icon:`fa-bar-chart` :guilabel:`(Bar Chart)` icon in the upper-left corner. This
|
||||
displays all the information in a bar chart.
|
||||
|
||||
In this view, it is easier to visualize the differences between the job positions, regarding how
|
||||
long applicants stay in each stage. From this view, recruiters can more easily determine which job
|
||||
positions have delays or bottlenecks at certain stages.
|
||||
|
||||
.. image:: time_in_stage/bar-chart.png
|
||||
:align: center
|
||||
:alt: The bar chart view of the Time In Stage Analysis report.
|
||||
|
||||
Use case: comparing times by month
|
||||
----------------------------------
|
||||
|
||||
With the :guilabel:`Time In Stage Analysis` report, it is possible to see if there are certain
|
||||
months where applicants take longer to be moved through the pipeline. To view this data, switch to
|
||||
the :icon:`oi-view-pivot` :guilabel:`(Pivot)` view in the upper-right corner.
|
||||
|
||||
This presents the data in a detailed pivot table, with the rows representing the different job
|
||||
positions, and the columns representing the stages. The average :guilabel:`Days in Stage` populates
|
||||
the various boxes.
|
||||
|
||||
.. note::
|
||||
If a field is empty, it indicates no applicant has been in that stage. Instead, all applicants
|
||||
moved from a previous stage without being placed in the stage with an empty field.
|
||||
|
||||
.. image:: time_in_stage/time-pivot.png
|
||||
:align: center
|
||||
:alt: The pivot table view of the Time In Stage Analysis report.
|
||||
|
||||
Click :icon:`fa-minus-square-o` :guilabel:`Total` above the job position rows to collapse the
|
||||
information. Next, click :icon:`fa-plus-square` :guilabel:`Total` again, revealing a drop-down menu.
|
||||
Click :guilabel:`Add Custom Group` :icon:`fa-caret-down` at the bottom of the list, revealing
|
||||
further grouping options. Click :guilabel:`Start Date` from the expanded list.
|
||||
|
||||
After doing so, the data presented is grouped with the various months from the previous 365 days for
|
||||
the rows, leaving the :guilabel:`Days In Stage` as the columns.
|
||||
|
||||
.. image:: time_in_stage/time-dates.png
|
||||
:align: center
|
||||
:alt: The pivot table showing the months averages for times in stage.
|
||||
|
||||
In this example, :guilabel:`July 2024` had the longest time that applicants spent in each stage, on
|
||||
average. In addition, the :guilabel:`Contract Proposal` stage had the longest wait time in July,
|
||||
with an average of :guilabel:`31.62` days in that stage.
|
||||
|
||||
While this report does not display the reasons applicants stayed in the various stages for these
|
||||
lengths of time, it can be helpful to know when delays occur.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Essentials reporting documentation <../../essentials/reporting>`
|
||||
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 41 KiB |
@@ -18,7 +18,7 @@ related to the :doc:`rewards <referrals/rewards>`; everything else is pre-config
|
||||
Users with either :guilabel:`Referral User`, :guilabel:`Officer`, or :guilabel:`Administrator`
|
||||
access rights for the *Recruitment* application have access to the *Referrals* application. Only
|
||||
users with :guilabel:`Administrator` access rights for the *Recruitment* application have access to
|
||||
the :ref:`reporting <referrals/reporting>` and configurations menus. For more information on users
|
||||
the :doc:`reporting <referrals/reporting>` and configurations menus. For more information on users
|
||||
and access rights, refer to these documents: :doc:`../general/users` and
|
||||
:doc:`../general/users/access_rights`.
|
||||
|
||||
@@ -255,46 +255,16 @@ points required.
|
||||
can be redeemed for rewards, but they are no longer able to level up. The ring around their photo
|
||||
remains solid cyan.
|
||||
|
||||
.. _referrals/reporting:
|
||||
|
||||
Reporting
|
||||
=========
|
||||
|
||||
Only users with :guilabel:`Administrator` rights for the *Recruitment* application have access to
|
||||
the Reporting feature in *Referrals*. To access the reports, click :menuselection:`Referrals
|
||||
application --> Reporting`. The main view is the Reporting Dashboard view, which contains three
|
||||
sections.
|
||||
|
||||
In the top portion of the window, the report displays a bar chart of how many referred candidates
|
||||
are hired, and how many are still in the hiring pipeline. The candidates are further divided by
|
||||
channel, showing specifically where the referral came from, such as a direct referral, Facebook,
|
||||
etc. If a channel does not appear on the report, that indicates there are no referrals from that
|
||||
particular channel.
|
||||
|
||||
The middle third provides all the specific data that has been tracked. This includes how many total
|
||||
points have been earned across all referrals, how many applicants were referred, hired, or refused,
|
||||
how many applicants the current logged-in user referred, how many total points were earned, and how
|
||||
many points were given for refused applicants.
|
||||
|
||||
The bottom third displays a pivot table. This table can be inserted into a new or existing
|
||||
spreadsheet. To do so, click the :guilabel:`Insert in Spreadsheet` button right above the chart. A
|
||||
pop-up appears, asking which spreadsheet to insert the pivot chart into. Select the desired
|
||||
spreadsheet from the drop-down menu, or select :guilabel:`New Spreadsheet`. Click
|
||||
:guilabel:`Confirm` and the selected spreadsheet loads, with the new table in it.
|
||||
|
||||
.. note::
|
||||
The spreadsheet is stored in the *Documents* application. This application needs to be installed
|
||||
to use the :guilabel:`Insert in Spreadsheet` option.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`referrals/share_jobs`
|
||||
- :doc:`referrals/points`
|
||||
- :doc:`referrals/rewards`
|
||||
- :doc:`referrals/alerts`
|
||||
- :doc:`referrals/reporting`
|
||||
|
||||
.. toctree::
|
||||
|
||||
referrals/share_jobs
|
||||
referrals/points
|
||||
referrals/rewards
|
||||
referrals/alerts
|
||||
referrals/reporting
|
||||
|
||||
@@ -0,0 +1,87 @@
|
||||
=========
|
||||
Reporting
|
||||
=========
|
||||
|
||||
The reporting function in the **Referrals** app helps recruiters and managers learn where applicants
|
||||
are applying from, when referred by a current employee. Additionally, the reporting feature shows
|
||||
the number of applicants hired, refused, and still in the recruitment pipeline, for each medium.
|
||||
|
||||
.. important::
|
||||
Only users with *Administrator* rights for the **Recruitment** app have access to the reporting
|
||||
feature in the **Referrals** app.
|
||||
|
||||
Employees referral analysis report
|
||||
==================================
|
||||
|
||||
To access the *Employees Referral Analysis* report, navigate to :menuselection:`Referrals app -->
|
||||
Reporting`. This loads the :guilabel:`Employees Referral Analysis` report, in a default
|
||||
:icon:`fa-bar-chart` :guilabel:`Bar Chart`.
|
||||
|
||||
The graph is presented in a :icon:`fa-database` :guilabel:`Stacked` view, with the number of
|
||||
referrals on the y-axis, and the source, referred to as the :guilabel:`Medium`, of the applicant
|
||||
(e.g.: *Facebook*, *LinkedIn*, *Email*, etc.) on the x-axis. If a medium does **not** appear on the
|
||||
report, that indicates there are no referrals from that particular medium.
|
||||
|
||||
Referral amounts for all stages are displayed, including :guilabel:`Not Hired` (refused),
|
||||
:guilabel:`In Progress`, and :guilabel:`Hired`. The default filter is set to the current month.
|
||||
|
||||
Hover over any bar to view a popover containing specific data for that particular bar.
|
||||
|
||||
In this view, it is easy to see which :guilabel:`Medium` is the most successful.
|
||||
|
||||
.. example::
|
||||
In this example, both :guilabel:`Email` and :guilabel:`LinkedIn` are the mediums with the most
|
||||
referrals, but :guilabel:`Email` has the most referrals that were hired.
|
||||
|
||||
.. image:: reporting/employee-report.png
|
||||
:align: center
|
||||
:alt: The default report in the Referrals app.
|
||||
|
||||
Use case: hired referrals
|
||||
-------------------------
|
||||
|
||||
One way to use the reporting feature is to assess which employees are referring the highest quality
|
||||
applicants. This is done by examining how many of their referrals go on to become employees.
|
||||
|
||||
In this example, data is examined to determined which employee has the highest number of hired
|
||||
referrals for the current year.
|
||||
|
||||
To view this information, first click the :icon:`oi-view-pivot` :guilabel:`(Pivot)` icon in the
|
||||
upper-right corner. Next, remove the current filter in the search bar.
|
||||
|
||||
Click the :icon:`fa-caret-down` :guilabel:`(down arrow)` in the search bar to reveal a drop-down
|
||||
menu. Click :guilabel:`Date` in the :icon:`fa-filter` :guilabel:`Filters` column, revealing a
|
||||
drop-down menu of available time periods, and click the current year (in this example,
|
||||
:guilabel:`2024`).
|
||||
|
||||
Next, click :guilabel:`Measures` :icon:`fa-caret-down`, then deselect :guilabel:`Earned Points` and
|
||||
:guilabel:`Employee Referral Refused` to hide those metrics. Click anywhere on the screen to close
|
||||
the drop-down menu.
|
||||
|
||||
The information displayed shows how many total applicants each employee referred, and how many of
|
||||
those applicants were hired, for the current year.
|
||||
|
||||
In this example, it can be determined that :guilabel:`Bob Wilson` is the most successful referrer,
|
||||
with three hired referrals, and nine total referred applicants. Additionally, :guilabel:`Mitchell
|
||||
Admin` has the lowest performance in terms of referrals, as he has only one applicant, and no hires.
|
||||
|
||||
This information can be helpful to the recruitment team, so they can determine the most active
|
||||
referrers in the company, and who is the most successful in terms of hires.
|
||||
|
||||
.. image:: reporting/employee-counts.png
|
||||
:align: center
|
||||
:alt: The customized report showing which employees have the most referrals and hires.
|
||||
|
||||
.. tip::
|
||||
The pivot table can be inserted into a new or existing :doc:`spreadsheet
|
||||
<../../productivity/spreadsheet/insert>`, if desired.
|
||||
|
||||
To do so, click the :guilabel:`Insert in Spreadsheet` button right above the chart. A pop-up
|
||||
window appears, asking which spreadsheet to insert the pivot chart into. Select the desired
|
||||
spreadsheet or dashboard from the presented options. Alternatively, select :guilabel:`Blank
|
||||
Spreadsheet` to create a new one.
|
||||
|
||||
Click :guilabel:`Confirm`, and the selected spreadsheet loads, with the new table in it.
|
||||
|
||||
The spreadsheet is stored in the *Documents* application. This application **must** be installed
|
||||
to use the :guilabel:`Insert in Spreadsheet` option.
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 17 KiB |
@@ -237,6 +237,23 @@ Enter the following information on the form:
|
||||
- :guilabel:`Based on worked time`: Enable this option if time off accrual is determined by the
|
||||
employee's worked hours. Days **not** considered as worked time do **not** contribute to the
|
||||
accrual plan in Odoo.
|
||||
|
||||
.. example::
|
||||
An employee is granted time off from an accrual plan configured to accrue one day of vacation
|
||||
for every five days worked. The accrual plan is based on the employee's worked time (the
|
||||
:guilabel:`Based on worked time` checkbox is ticked).
|
||||
|
||||
The employee works standard 40-hour weeks. According to the accrual plan, they should earn
|
||||
four vacation days per month.
|
||||
|
||||
The employee takes five days off. The :ref:`time off type <time_off/time-off-types>` the
|
||||
employee has taken has the :guilabel:`Kind of Time Off` configured as an :guilabel:`Absence`.
|
||||
|
||||
Since the accrual plan only grants time off based on the worked time, the employee does **not**
|
||||
accrue a vacation day for the five days of time off that is considered an absence.
|
||||
|
||||
At the end of the month, the employee accrues only three days, instead of four.
|
||||
|
||||
- :guilabel:`Milestone Transition`: This field is **only** visible after a minimum of two
|
||||
:ref:`rules <time_off/rules>` have been configured on the accrual plan. This selection determines
|
||||
when employees move up to a new milestone. If they qualify to change milestones in the middle of a
|
||||
|
||||
@@ -10,3 +10,4 @@ Inventory valuation
|
||||
inventory_valuation/inventory_valuation_config
|
||||
inventory_valuation/using_inventory_valuation
|
||||
inventory_valuation/integrating_landed_costs
|
||||
inventory_valuation/valuation_by_lots
|
||||
|
||||
@@ -108,6 +108,8 @@ available during a prior specified date can be seen and selected.
|
||||
the teal :guilabel:`➡️ (right arrow)` button to the right of the :guilabel:`Reference` column
|
||||
value.
|
||||
|
||||
.. _inventory/product_management/update-unit-price:
|
||||
|
||||
Update product unit price
|
||||
-------------------------
|
||||
|
||||
|
||||