Compare commits
122 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 55f940d2d5 | |||
| 192cbbf168 | |||
| f6586f4dbd | |||
| 1d25e55346 | |||
| 8a6dbe56c3 | |||
| f2f701dba6 | |||
| 85ebf41d2c | |||
| 85c70cb544 | |||
| 0c30ca938e | |||
| 2f3d467dc8 | |||
| 3e853095d3 | |||
| 7467c92786 | |||
| e0269e2f11 | |||
| 3323cfe8ab | |||
| 83d52c83fa | |||
| 520b6e296a | |||
| 04aacf8863 | |||
| e180e1066f | |||
| 7f09bae364 | |||
| ce069df416 | |||
| d55739b2c5 | |||
| 32c7993e1c | |||
| c1ea6d7a38 | |||
| abb2e04f10 | |||
| 479ab2028e | |||
| e8c6f3421c | |||
| 54a9fedea2 | |||
| 3806da48e7 | |||
| f836a2c5ad | |||
| f7fd7b09df | |||
| 01f78636f8 | |||
| 54064a06ef | |||
| 7d92fb64f3 | |||
| 6435abfbad | |||
| 1ed9dd99d8 | |||
| a04bb90354 | |||
| 22c18c0165 | |||
| b8e1f50ea6 | |||
| 89a11e2e96 | |||
| 5df8a40c6e | |||
| 07ac9eda1f | |||
| 27a3014633 | |||
| c94ab5301c | |||
| b593192db4 | |||
| 4f198849bb | |||
| 7a388707bc | |||
| 813dba5b92 | |||
| 96f521a160 | |||
| edffa80d3c | |||
| 7d608d8a0e | |||
| d9441dcf1c | |||
| 8ad9f28f24 | |||
| 80dbfbdd15 | |||
| a6e04372a8 | |||
| dd93828247 | |||
| baf256fc40 | |||
| fbadb8cca0 | |||
| 9f94e19837 | |||
| 11f3f830a8 | |||
| 19058c1876 | |||
| 33d781c5a5 | |||
| 467e2f2550 | |||
| 0dadc8e580 | |||
| 90bab61e66 | |||
| 862d07ba5b | |||
| 757c4ec23e | |||
| 47a9da91ac | |||
| b846ff3a57 | |||
| a0e0e994a6 | |||
| 03d435ea31 | |||
| 201c82d9c9 | |||
| a164b8ab65 | |||
| 05500b1416 | |||
| ce5a8d554d | |||
| 0d624f6c3e | |||
| 93b07b8a25 | |||
| b93a4f78dd | |||
| b774e6f99b | |||
| 6cf5d44380 | |||
| 14a5b77169 | |||
| fff0e0f2a7 | |||
| e04e586ef4 | |||
| 16d2e1582f | |||
| cbd8f2e8d9 | |||
| 410ee3fe39 | |||
| cd19ebd5ac | |||
| 047cf49add | |||
| c8f509746d | |||
| c74b788b8f | |||
| 9b93e7788e | |||
| b306f91ed4 | |||
| ce5973e335 | |||
| e68deaf9d6 | |||
| a18a378a87 | |||
| 64db022a95 | |||
| 48bc8793a3 | |||
| 1695ad998b | |||
| 0557514788 | |||
| 2e7f7b0dc5 | |||
| 2b98d9c304 | |||
| b10d17af6a | |||
| 11b77ac549 | |||
| f9f855cd2e | |||
| 4734ddb7be | |||
| 3606b35230 | |||
| 33244724b0 | |||
| 6535c1d587 | |||
| 99e8ebf5de | |||
| f83fce2125 | |||
| 93e76fe08b | |||
| 4ee7077ac8 | |||
| e9b1f18822 | |||
| f6107b4858 | |||
| dbf69f4019 | |||
| b0627464e5 | |||
| 3bfd593757 | |||
| 35931b493d | |||
| 2c38a625e1 | |||
| 9dac99024f | |||
| d11dcd33d1 | |||
| 59afd5062d | |||
| 88880b8915 |
@@ -27,7 +27,7 @@ SOURCE_DIR = content
|
||||
|
||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||
ifdef VERSIONS
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-17.4
|
||||
endif
|
||||
ifneq ($(CURRENT_LANG),en)
|
||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||
|
||||
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
||||
# also used in various other places throughout the built documents.
|
||||
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||
version = release = 'master'
|
||||
version = release = 'saas-17.4'
|
||||
|
||||
# `current_branch` is the technical name of the current branch.
|
||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||
@@ -231,6 +231,7 @@ sphinx.transforms.i18n.docname_to_domain = (
|
||||
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||
versions_names = {
|
||||
'master': "Master",
|
||||
'saas-17.4': "Odoo Online",
|
||||
'saas-17.2': "Odoo Online",
|
||||
'saas-17.1': "Odoo Online",
|
||||
'17.0': "Odoo 17",
|
||||
|
||||
@@ -21,7 +21,7 @@ turned into a testing environment.
|
||||
Deactivated features
|
||||
====================
|
||||
|
||||
Here is a non-exhaustive list of the deactivated parameters:
|
||||
Here is a non-exhaustive list of the deactivated features:
|
||||
|
||||
- all planned actions (e.g., automatic invoicing of subscriptions, mass mailing, etc.)
|
||||
- outgoing emails
|
||||
@@ -29,6 +29,7 @@ Here is a non-exhaustive list of the deactivated parameters:
|
||||
- payment providers
|
||||
- delivery methods
|
||||
- :abbr:`IAP (In-App Purchase)` tokens
|
||||
- website visibility (prevent search engines from indexing your site)
|
||||
|
||||
.. note::
|
||||
**A red banner at the top of the screen is displayed on the neutralized database so that it can
|
||||
|
||||
@@ -277,18 +277,22 @@ Dependencies
|
||||
|
||||
.. tab:: Debian/Ubuntu
|
||||
|
||||
For Debian-based systems, the packages are listed in the `debian/control
|
||||
<{GITHUB_PATH}/debian/control>`_ file of the Odoo sources.
|
||||
|
||||
On Debian/Ubuntu, the following commands should install the required packages:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ cd /CommunityPath
|
||||
$ sed -n -e '/^Depends:/,/^Pre/ s/ python3-\(.*\),/python3-\1/p' debian/control | sudo xargs apt-get install -y
|
||||
$ cd odoo #CommunityPath
|
||||
$ sudo ./setup/debinstall.sh
|
||||
|
||||
The `setup/debinstall.sh` script will parse the `debian/control
|
||||
<{GITHUB_PATH}/debian/control>`_ file and install the found packages.
|
||||
|
||||
.. tab:: Install with pip
|
||||
|
||||
.. warning::
|
||||
Using pip may lead to security issues and broken dependencies; only do this if you
|
||||
know what you are doing.
|
||||
|
||||
As some of the Python packages need a compilation step, they require system libraries to
|
||||
be installed.
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ This matrix shows the support status of every version.
|
||||
- November 2023
|
||||
- October 2026 (planned)
|
||||
* - Odoo saas~16.4
|
||||
- |green|
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- August 2023
|
||||
|
||||
@@ -272,9 +272,6 @@ Upgrading the production database
|
||||
|
||||
Once the :ref:`tests <upgrade/test_your_db>` are completed and you are confident that the upgraded
|
||||
database can be used as your main database without any issues, it is time to plan the go-live day.
|
||||
It can be planned in coordination with Odoo's upgrade support analysts by `submitting a ticket for
|
||||
an issue related to my future upgrade (I am testing an upgrade)
|
||||
<https://odoo.com/help?stage=migration>`_.
|
||||
|
||||
Your production database will be unavailable during its upgrade. Therefore, we recommend planning
|
||||
the upgrade at a time when the use of the database is minimal.
|
||||
|
||||
@@ -7,5 +7,6 @@ Odoo essentials
|
||||
essentials/activities
|
||||
essentials/reporting
|
||||
essentials/search
|
||||
essentials/contacts
|
||||
essentials/export_import_data
|
||||
essentials/in_app_purchase
|
||||
|
||||
@@ -2,20 +2,22 @@
|
||||
Activities
|
||||
==========
|
||||
|
||||
.. |clock| replace:: :icon:`fa-clock-o` :guilabel:`(clock)` icon
|
||||
|
||||
*Activities* are follow-up tasks tied to a record in an Odoo database.
|
||||
|
||||
.. _activities/important:
|
||||
|
||||
The icon used to display activities varies depending on the :ref:`activity type <activities/types>`:
|
||||
The icon used to display activities varies, depending on the :ref:`activity type
|
||||
<activities/types>`:
|
||||
|
||||
- :guilabel:`🕘 (clock)`: the default icon, which appears if nothing is scheduled.
|
||||
- :guilabel:`📞 (phone)`: this icon appears if a phone call is scheduled.
|
||||
- :guilabel:`✉️ (envelope)`: this icon appears if an email is scheduled.
|
||||
- :guilabel:`✔️ (checkmark)`: this icon appears if a to-do is scheduled.
|
||||
- :guilabel:`(group of people)`: this icon appears if a meeting is scheduled.
|
||||
- :guilabel:`(arrow pointing up above a line)`: this icon appears if a document is scheduled to be
|
||||
uploaded.
|
||||
- :guilabel:`(pencil in a box)`: this icon appears if a signature request is scheduled.
|
||||
- :icon:`fa-clock-o` :guilabel:`(clock)` icon: the default activities icon.
|
||||
- :icon:`fa-phone` :guilabel:`(phone)` icon: a phone call is scheduled.
|
||||
- :icon:`fa-envelope` :guilabel:`(envelope)` icon: an email is scheduled.
|
||||
- :icon:`fa-check` :guilabel:`(check)` icon: a "to-do" is scheduled.
|
||||
- :icon:`fa-users` :guilabel:`(people)` icon: a meeting is scheduled.
|
||||
- :icon:`fa-upload` :guilabel:`(upload)` icon: a document is scheduled to be uploaded.
|
||||
- :icon:`fa-pencil-square-o` :guilabel:`(request signature)` icon: a signature request is scheduled.
|
||||
|
||||
Schedule activities
|
||||
===================
|
||||
@@ -44,13 +46,9 @@ Schedule Activity form <activities/form>`.
|
||||
Kanban view
|
||||
-----------
|
||||
|
||||
Another way that activities are created is from the Kanban view in an application.
|
||||
Activities can also be created from the :icon:`oi-view-kanban` :guilabel:`(Kanban)` view.
|
||||
|
||||
.. image:: activities/kanban.png
|
||||
:align: center
|
||||
:alt: The Kanban icon in the top menu, highlighted.
|
||||
|
||||
To do so, click on the :guilabel:`🕘 (clock)` icon located at the bottom of an individual record.
|
||||
To do so, click on the |clock| located at the bottom of an individual record.
|
||||
|
||||
Click :guilabel:`+ Schedule An Activity`, then proceed to :ref:`fill out the Schedule Activity form
|
||||
<activities/form>`.
|
||||
@@ -60,28 +58,26 @@ Click :guilabel:`+ Schedule An Activity`, then proceed to :ref:`fill out the Sch
|
||||
:alt: Kanban view of the CRM pipeline and the option to schedule an activity.
|
||||
|
||||
.. note::
|
||||
If a record already has a scheduled activity, the :guilabel:`🕘 (clock)` icon is replaced by the
|
||||
icon that represents the existing scheduled activity. Click on the activity type's icon to
|
||||
schedule another activity.
|
||||
If a record already has a scheduled activity, the |clock| is replaced by the icon that represents
|
||||
the existing scheduled activity. Click on the activity type's icon to schedule another activity.
|
||||
|
||||
.. _activities/list:
|
||||
|
||||
List view
|
||||
---------
|
||||
|
||||
Activities can also be created from a list view.
|
||||
Activities can also be created from a :icon:`oi-view-list` :guilabel:`(list)` view.
|
||||
|
||||
If the :guilabel:`Activities` column is hidden, reveal it using the :guilabel:`(additional options
|
||||
toggle)` icon in the far-right of the top row, represented by two horizontal lines with two dots.
|
||||
If the :guilabel:`Activities` column is hidden, reveal it using the :icon:`oi-settings-adjust`
|
||||
:guilabel:`(settings adjust)` icon in the far-right of the top row.
|
||||
|
||||
Then, click on the :guilabel:`🕘 (clock)` icon for the record the activity is being added to, then
|
||||
click :guilabel:`+ Schedule an activity`. Proceed to :ref:`fill out the Schedule Activity form
|
||||
<activities/form>` that appears.
|
||||
Then, click on the |clock| for the record the activity is being added to, and click :guilabel:`+
|
||||
Schedule an activity`. Proceed to :ref:`fill out the Schedule Activity form <activities/form>` that
|
||||
appears.
|
||||
|
||||
.. note::
|
||||
If a record already has a scheduled activity, the :guilabel:`🕘 (clock)` icon is replaced by the
|
||||
icon that represents the existing scheduled activity. Click on the activity type's icon to
|
||||
schedule another activity.
|
||||
If a record already has a scheduled activity, the |clock| is replaced by the icon that represents
|
||||
the existing scheduled activity. Click on the activity type's icon to schedule another activity.
|
||||
|
||||
.. image:: activities/schedule-list-activity.png
|
||||
:align: center
|
||||
@@ -92,10 +88,10 @@ click :guilabel:`+ Schedule an activity`. Proceed to :ref:`fill out the Schedule
|
||||
Activity view
|
||||
-------------
|
||||
|
||||
Most applications in Odoo have an *Activity* view available. If available, a :guilabel:`🕘 (clock)`
|
||||
activity icon is visible in the top-right of the main menu bar.
|
||||
Most applications in Odoo have an *Activity* view available. If available, a |clock| is visible in
|
||||
the top-right corner of the main menu bar, amongst the other view option icons.
|
||||
|
||||
To open the activity view, click the :guilabel:`🕘 (clock)` activity icon.
|
||||
To open the activity view, click the |clock|.
|
||||
|
||||
.. image:: activities/activities.png
|
||||
:align: center
|
||||
@@ -114,12 +110,12 @@ If multiple activity types are scheduled for a record, a number appears in the b
|
||||
total number of scheduled activities.
|
||||
|
||||
.. note::
|
||||
Activity colors, and their relation to an activity's due date, is consistent throughout Odoo,
|
||||
Activity colors, and their relation to an activity's due date, are consistent throughout Odoo,
|
||||
regardless of the activity type, or the view.
|
||||
|
||||
To schedule an activity for a record, hover over the corresponding field, and a :guilabel:`➕ (plus
|
||||
sign)` appears. Click the :guilabel:`➕ (plus sign)`, and then :ref:`fill out the Schedule Activity
|
||||
form <activities/form>`.
|
||||
To schedule an activity for a record, hover over the corresponding field. Click the :icon:`fa-plus`
|
||||
:guilabel:`(plus)` icon that appears, and then :ref:`fill out the Schedule Activity form
|
||||
<activities/form>`.
|
||||
|
||||
.. image:: activities/activity-view.png
|
||||
:align: center
|
||||
@@ -140,12 +136,6 @@ Enter the following information on the form:
|
||||
- :guilabel:`Activity Type`: select the type of activity from the drop-down menu. The default
|
||||
options are: :guilabel:`Email`, :guilabel:`Call`, :guilabel:`Meeting`, or :guilabel:`To-Do`.
|
||||
Depending on what other applications are installed, additional options may be available.
|
||||
|
||||
.. note::
|
||||
Individual applications have a list of dedicated :ref:`activity types <activities/types>`. For
|
||||
example, installing the *Sales* application makes :guilabel:`Order Upsell` available, while
|
||||
installing the *Sign* application makes :guilabel:`Request Signature` available.
|
||||
|
||||
- :guilabel:`Summary`: enter a short title for the activity, such as `Discuss Proposal`.
|
||||
- :guilabel:`Due Date`: using the calendar popover, select the activity's deadline.
|
||||
- :guilabel:`Assigned to`: by default, the current user populates this field. To assign a different
|
||||
@@ -187,11 +177,11 @@ buttons:
|
||||
All scheduled activities
|
||||
========================
|
||||
|
||||
To view a consolidated list of activities, organized by application, click the :guilabel:`🕘
|
||||
(clock)` icon in the header menu, located in the top-right.
|
||||
To view a consolidated list of activities, organized by application, click the |clock| in the header
|
||||
menu, located in the top-right corner.
|
||||
|
||||
If any activities are scheduled, the number of activities appear in a red bubble on the
|
||||
:guilabel:`🕘 (clock)` icon.
|
||||
|clock|.
|
||||
|
||||
All activities for each application are further divided into subsections, indicating where in the
|
||||
application the activity is to be completed. Each sub-section lists the number of scheduled
|
||||
@@ -252,6 +242,11 @@ To view the currently configured types of activities in the database, navigate t
|
||||
|
||||
Doing so reveals the :guilabel:`Activity Types` page, where the existing activity types are found.
|
||||
|
||||
.. tip::
|
||||
Individual applications have a list of *Activity Types* dedicated to that application. For
|
||||
example, to view and edit the activities available for the *CRM* application, go to
|
||||
:menuselection:`CRM app --> Configuration --> Activity Types`.
|
||||
|
||||
.. image:: activities/activity-list.png
|
||||
:align: center
|
||||
:alt: The list of activity types already configured and available.
|
||||
@@ -264,7 +259,7 @@ activity type form loads.
|
||||
|
||||
Make any desired changes to the activity type form. The form automatically saves, but it can be
|
||||
saved manually at any time by clicking the :guilabel:`Save Manually` option, represented by a
|
||||
:guilabel:`(cloud upload)` icon, located in the top-left corner of the page.
|
||||
:icon:`fa-cloud-upload` :guilabel:`(cloud upload)` icon, located in the top-left corner of the page.
|
||||
|
||||
Create new activity types
|
||||
-------------------------
|
||||
@@ -347,3 +342,4 @@ It is possible to have another activity either suggested or triggered. To do so,
|
||||
.. seealso::
|
||||
- :doc:`../productivity/discuss`
|
||||
- :doc:`../productivity/discuss/team_communication`
|
||||
- :doc:`../sales/crm/optimize/utilize_activities`
|
||||
|
||||
|
Before Width: | Height: | Size: 5.5 KiB |
@@ -0,0 +1,263 @@
|
||||
:show-content:
|
||||
|
||||
========
|
||||
Contacts
|
||||
========
|
||||
|
||||
The *Contacts* application comes installed on all Odoo databases. Contacts are created for customers
|
||||
the company does business with through Odoo. A contact is a repository of vital business
|
||||
information, facilitating communication and business transactions.
|
||||
|
||||
Contact form
|
||||
============
|
||||
|
||||
To create a new contact, navigate to the :menuselection:`Contacts app`, and click
|
||||
:guilabel:`Create`. A new form appears where various contact information can be added.
|
||||
|
||||
Contact type
|
||||
------------
|
||||
|
||||
Odoo allows for both :guilabel:`Individual` and :guilabel:`Company` contacts. Select either
|
||||
:guilabel:`Individual` or :guilabel:`Company`, depending on the type of contact that is being added.
|
||||
|
||||
Name
|
||||
----
|
||||
|
||||
First, fill in the name of the :guilabel:`Individual` or :guilabel:`Company`. This is how the name
|
||||
appears throughout the database. This field is **mandatory**.
|
||||
|
||||
.. tip::
|
||||
:guilabel:`Individual` contacts can have a :guilabel:`Company` contact linked to it. After
|
||||
selecting :guilabel:`Individual`, a new :guilabel:`Company Name...` field appears below the
|
||||
first name field.
|
||||
|
||||
Address
|
||||
-------
|
||||
|
||||
Next, enter the :guilabel:`Address` of the :guilabel:`Company` or :guilabel:`Individual`.
|
||||
|
||||
.. tip::
|
||||
If the :guilabel:`Individual` option is chosen, then the *type of address* can be chosen from a
|
||||
drop-down menu. Options for this drop-down menu include: :guilabel:`Contact`, :guilabel:`Invoice
|
||||
Address`, :guilabel:`Delivery Address`, :guilabel:`Other Address`, and :guilabel:`Private
|
||||
Address`.
|
||||
|
||||
Additional fields
|
||||
-----------------
|
||||
|
||||
Additional details are included on the initial form. The following fields are available:
|
||||
|
||||
- :guilabel:`VAT`: Value Added Tax number.
|
||||
- :guilabel:`Citizen Identification`: citizen or government identification number (only available
|
||||
on :guilabel:`Individual`).
|
||||
- :guilabel:`Job Position`: list the job position of the :guilabel:`Individual` (only available on
|
||||
:guilabel:`Individual`).
|
||||
- :guilabel:`Phone`: list phone number (with country code). Make a call, send an SMS, or WhatsApp
|
||||
message by hovering over the field on the saved form, and clicking the desired option.
|
||||
- :guilabel:`Mobile`: list mobile phone number (with country code). Make a call, send an SMS, or
|
||||
WhatsApp message by hovering over the field on the saved form, and clicking on the desired option.
|
||||
- :guilabel:`Email`: enter the email address with the domain.
|
||||
- :guilabel:`Website`: enter the full website address, starting with `http` or `https`.
|
||||
- :guilabel:`Title`: select :guilabel:`Doctor`, :guilabel:`Madam`, :guilabel:`Miss`,
|
||||
:guilabel:`Mister`, :guilabel:`Professor`, or create a new one directly from this field.
|
||||
- :guilabel:`Tags`: enter preconfigured tags by typing them in the field, or clicking the drop-down
|
||||
menu, and selecting one. To create a new one, type the new tag in the field, and click
|
||||
:guilabel:`Create` from the resulting drop-down menu.
|
||||
|
||||
Contacts & Addresses tab
|
||||
------------------------
|
||||
|
||||
At the bottom of the contact form are several tabs. On the :guilabel:`Contacts & Addresses` tab,
|
||||
contacts can be added that are associated with a :guilabel:`Company` and related addresses. For
|
||||
example, a specific contact person for the company can be listed here.
|
||||
|
||||
Multiple addresses can be added on both :guilabel:`Individual` and :guilabel:`Company` contacts. To
|
||||
do so, click :guilabel:`Add` in the :guilabel:`Contacts & Addresses` tab. Doing so reveals a
|
||||
:guilabel:`Create Contact` pop-up form, in which additional addresses can be configured.
|
||||
|
||||
.. image:: contacts/contact-form-add-address.png
|
||||
:align: center
|
||||
:alt: Add a contact/address to the contact form.
|
||||
|
||||
On the :guilabel:`Create Contact` pop-up form, start by clicking the default :guilabel:`Other
|
||||
Address` field at the top to reveal a drop-down menu of address-related options.
|
||||
|
||||
Select any of the following options:
|
||||
|
||||
- :guilabel:`Contact`: adds another contact to the existing contact form.
|
||||
- :guilabel:`Invoice Address`: adds a specific invoice address to the existing contact form.
|
||||
- :guilabel:`Delivery Address`: adds a specific delivery address to the existing contact form.
|
||||
- :guilabel:`Other Address`: adds an alternate address to the existing contact form.
|
||||
- :guilabel:`Private Address`: adds a private address to the existing contact form.
|
||||
|
||||
.. image:: contacts/create-contact-window.png
|
||||
:align: center
|
||||
:alt: Create a new contact/address on a contact form.
|
||||
|
||||
Once an option is selected, enter the corresponding contact information that should be used for the
|
||||
specified address type.
|
||||
|
||||
Add the :guilabel:`Contact Name`, :guilabel:`Address`, :guilabel:`Email`, along with the
|
||||
:guilabel:`Phone` and/or :guilabel:`Mobile` numbers below.
|
||||
|
||||
Set the :guilabel:`Job Position`, which appears if the :guilabel:`Contact` address type has been
|
||||
selected. This is similar to the :guilabel:`Individual` contact.
|
||||
|
||||
To add a note, click on the text field next to :guilabel:`Notes`, and write anything that is
|
||||
applicable to the customer or contact.
|
||||
|
||||
Then, click :guilabel:`Save & Close` to save the address, and close the :guilabel:`Create Contact`
|
||||
window. Or, click :guilabel:`Save & New` to save the address, and immediately input another one.
|
||||
|
||||
Sales & Purchase tab
|
||||
--------------------
|
||||
|
||||
Next, is the :guilabel:`Sales & Purchases` tab, which only appears when the *Sales*, *Purchase*,
|
||||
**or** *Point of Sale* applications are installed.
|
||||
|
||||
The :guilabel:`Fiscal Position` can be set on the :guilabel:`Sales & Purchases` tab. Select a
|
||||
:guilabel:`Fiscal Position` from the drop-down menu.
|
||||
|
||||
Sales section
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
Under the :guilabel:`Sales` heading, a specific :guilabel:`Salesperson` can be assigned to a
|
||||
contact. To do that, click the :guilabel:`Salesperson` drop-down field, and select one. Create a new
|
||||
:guilabel:`Salesperson` by typing the user's name, and making the appropriate selection.
|
||||
|
||||
Certain :guilabel:`Payment Terms`, or a certain :guilabel:`Pricelist`, can also be set, if needed.
|
||||
Click the drop-down menu next to :guilabel:`Payment Terms`, and change it to one of the preselected
|
||||
:guilabel:`Payment Terms`, or :guilabel:`Create` a new one. Select the :guilabel:`Pricelist`
|
||||
drop-down menu to choose the appropriate :guilabel:`Pricelist`.
|
||||
|
||||
Click into the :guilabel:`Delivery Method` field to select an option from the drop-down menu.
|
||||
|
||||
Point Of Sale section
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Under the :guilabel:`Point Of Sale` heading, enter a :guilabel:`Barcode` that can be used to
|
||||
identify the contact. Use the :guilabel:`Loyalty Points` field to track points the user won as part
|
||||
of a *Loyalty Program*.
|
||||
|
||||
Purchase section
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
Specify :guilabel:`Payment Terms`, :guilabel:`1099 Box` information, and a preferred
|
||||
:guilabel:`Payment Method` here. A :guilabel:`Receipt Reminder` can be set here, as well.
|
||||
|
||||
Misc section
|
||||
~~~~~~~~~~~~
|
||||
|
||||
Under the :guilabel:`Misc.` heading, use :guilabel:`Reference` field to add any additional
|
||||
information for this contact. If this contact should only be accessible for one company in a
|
||||
multi-company database, select it from the :guilabel:`Company` field drop-down list. Use the
|
||||
:guilabel:`Website` drop-down menu to restrict the publishing of this contact to one website (if
|
||||
working on a database with multiple websites). Select one or more :guilabel:`Website Tags` to assist
|
||||
in filtering published customers on the `/customers` website page. Select an :guilabel:`Industry`
|
||||
for this contact from the drop-down menu. Use the :guilabel:`SLA Policies` field to assign a
|
||||
*Helpdesk* SLA policy to this contact.
|
||||
|
||||
Accounting tab
|
||||
--------------
|
||||
|
||||
The :guilabel:`Accounting` tab appears when the *Accounting* application is installed. Here, a user
|
||||
can add any related :guilabel:`Bank Accounts`, or set default :guilabel:`Accounting entries`.
|
||||
|
||||
Under the :guilabel:`Miscellaneous` heading, use the :guilabel:`LEI` field to enter a Legal Entity
|
||||
Identifier, if necessary.
|
||||
|
||||
Internal Notes tab
|
||||
------------------
|
||||
|
||||
Following the :guilabel:`Accounting` tab is the :guilabel:`Internal Notes` tab, where notes can be
|
||||
left on this contact form, just like on the contact form noted above.
|
||||
|
||||
Partner Assignment tab
|
||||
----------------------
|
||||
|
||||
Next is the :guilabel:`Partner Assignment` tab, which by default, includes a :guilabel:`Geolocation`
|
||||
section, and other partner options, including :guilabel:`Partner Activation` and :guilabel:`Partner
|
||||
Review` configurations. These are **only** present when the *Resellers* module is installed.
|
||||
|
||||
.. seealso::
|
||||
Follow the :doc:`Resellers documentation <../sales/crm/track_leads/resellers>` for more
|
||||
information on publishing partners on the website.
|
||||
|
||||
Membership tab
|
||||
--------------
|
||||
|
||||
Finally, there is the :guilabel:`Membership` tab on contact forms, which can help users manage any
|
||||
memberships that are being offered to this specific contact. It should be noted that this tab
|
||||
**only** appears when the *Members* application is installed.
|
||||
|
||||
Activate membership
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To activate a contact's membership, click :guilabel:`Buy Membership` in the :guilabel:`Membership`
|
||||
tab of a contact form. On the pop-up window that appears, select a :guilabel:`Membership` from the
|
||||
drop-down menu. Then, configure a :guilabel:`Member Price`. Click :guilabel:`Invoice Membership`
|
||||
when both fields are filled in.
|
||||
|
||||
Alternatively, to offer a free membership, tick the :guilabel:`Free Member` checkbox, in the
|
||||
:guilabel:`Membership` tab of a contact form.
|
||||
|
||||
.. seealso::
|
||||
Follow the :doc:`Members documentation <../sales/members>` for more information on publishing
|
||||
members on the website.
|
||||
|
||||
Smart buttons
|
||||
=============
|
||||
|
||||
At the top of the contact form, there are some additional options available, known as *smart
|
||||
buttons*.
|
||||
|
||||
Here, Odoo displays a variety of records, related to this contact, that were created on other apps.
|
||||
Odoo integrates information from every single app, so there are many smart buttons.
|
||||
|
||||
.. example::
|
||||
For example, there is an :guilabel:`Opportunities` smart button, where all the opportunities
|
||||
related to this customer from the *CRM* app are accessible.
|
||||
|
||||
.. tip::
|
||||
If the corresponding applications are installed, their related smart buttons appear
|
||||
automatically on a contact form.
|
||||
|
||||
A user can see any :guilabel:`Meetings`, :guilabel:`Sales`, :guilabel:`POS Orders`,
|
||||
:guilabel:`Subscriptions`, project :guilabel:`Tasks`, and the :guilabel:`More` smart button reveals
|
||||
additional options, via a drop-down menu. A user can even quickly access :guilabel:`Purchases`,
|
||||
:guilabel:`Helpdesk` tasks, :guilabel:`On-time Rate` for deliveries, :guilabel:`Invoiced`
|
||||
information, :guilabel:`Vendor Bills`, and the :guilabel:`Partner Ledger` connected to this contact.
|
||||
|
||||
Deliveries, documents, loyalty cards, and direct debits are *also* linked to smart buttons, like
|
||||
this, should there be any outstanding/on-file for this contact.
|
||||
|
||||
If the contact is a partner, the user can visit their partner page on the Odoo-built website by
|
||||
clicking the :guilabel:`Go to Website` smart button.
|
||||
|
||||
Archive contacts
|
||||
----------------
|
||||
|
||||
If a user decides they no longer want to have this contact active, the record can be archived. To do
|
||||
that, go to the :icon:`fa-cog` :guilabel:`Action` menu at the top of the contact form, and click
|
||||
:guilabel:`Archive`.
|
||||
|
||||
Then, click :guilabel:`OK` from the resulting :guilabel:`Confirmation` pop-up window.
|
||||
|
||||
With this contact successfully archived, as indicated by a banner at the top, they do not show up
|
||||
in the main contacts page, but they can still be searched for with the :guilabel:`Archived` filter.
|
||||
|
||||
.. tip::
|
||||
A contact can be *unarchived*, if the user decides to work with them again. To do that, just
|
||||
click the :icon:`fa-cog` :guilabel:`Action` menu again at the top of the archived contact form,
|
||||
and click :guilabel:`Unarchive`. Upon doing so, the :guilabel:`Archived` banner is removed, and
|
||||
the contact is restored.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Add different addresses in CRM <../sales/sales/send_quotations/different_addresses>`
|
||||
- `Odoo's eLearning Contacts tutorial
|
||||
<https://www.odoo.com/slides/slide/contacts-2527?fullscreen=1>`_
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
contacts/merge
|
||||
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,78 @@
|
||||
==============
|
||||
Merge contacts
|
||||
==============
|
||||
|
||||
Odoo's *Contacts* application allows user's to merge duplicate contacts, without losing any
|
||||
information in the process. This keeps the database organized, and prevents contacts from being
|
||||
contacted by more than one salesperson.
|
||||
|
||||
.. _contacts/merge-duplicate:
|
||||
|
||||
Merge duplicate contacts
|
||||
========================
|
||||
|
||||
.. danger::
|
||||
Merging is an irreversible action. Do **not** merge contacts unless absolutely certain they
|
||||
should be combined.
|
||||
|
||||
Navigate to the :menuselection:`Contacts app`, and select the :icon:`oi-view-list`
|
||||
:guilabel:`(list)` icon. Select two or more duplicate contacts from the list, and tick the checkbox
|
||||
(on the far-left) for the contacts that should be merged. Then, click the :icon:`fa-cog`
|
||||
:guilabel:`Actions` icon, and select :guilabel:`Merge` from the resulting drop-down menu.
|
||||
|
||||
.. image:: merge/merge-menu.png
|
||||
:align: center
|
||||
:alt: The merge contacts option in the Contacts application.
|
||||
|
||||
This opens the :guilabel:`Merge` pop-up window. From here, review the details of the contacts before
|
||||
confirming they should be merged. If any contacts in the list should **not** be merged, click the
|
||||
:icon:`fa-times` :guilabel:`(delete)` icon at the far right of the contact.
|
||||
|
||||
.. tip::
|
||||
Click the individual contact to open the record for that contact, and view additional
|
||||
information.
|
||||
|
||||
.. image:: merge/merge-window.png
|
||||
:align: center
|
||||
:alt: The merge pop-up window in the Contacts application.
|
||||
|
||||
Click the :guilabel:`Destination Contact` field, and select an option from the drop-down list. This
|
||||
field defaults to the contact record that was created first in the system.
|
||||
|
||||
After confirming the information on the pop-up window, click :guilabel:`Merge Contacts`.
|
||||
|
||||
Deduplicate contacts
|
||||
====================
|
||||
|
||||
After the merge is finished, a pop-up window appears confirming it is complete. This pop-up window
|
||||
also contains a :guilabel:`Deduplicate the other Contacts` button. This feature searches for
|
||||
duplicated records, based on selected criteria, and merges them automatically, or after manual
|
||||
approval.
|
||||
|
||||
Click the :guilabel:`Deduplicate the other Contacts` button to open the :guilabel:`Deduplicate
|
||||
Contacts` pop-up window.
|
||||
|
||||
Select one or more fields to be used in the search for duplicated records. Duplicated contacts can
|
||||
be searched, based on the following criteria:
|
||||
|
||||
- :guilabel:`Email`
|
||||
- :guilabel:`Name`
|
||||
- :guilabel:`Is Company`
|
||||
- :guilabel:`VAT`
|
||||
- :guilabel:`Parent Company`
|
||||
|
||||
.. note::
|
||||
If more than one field is selected, only records that have **all** fields in common are suggested
|
||||
as duplicates.
|
||||
|
||||
If necessary, select criteria to be used to exclude potential duplicates from the search. Potential
|
||||
duplicates can be excluded from the search, based on the following criteria:
|
||||
|
||||
- :guilabel:`A user associated to the contact`
|
||||
- :guilabel:`Journal Items associated to the contact`
|
||||
|
||||
After confirming the search criteria, click either :guilabel:`Merge with Manual Check`,
|
||||
:guilabel:`Merge Automatically`, or :guilabel:`Merge Automatically all process`.
|
||||
|
||||
If :guilabel:`Merge with Manual Check` is selected, complete the merge by following the :ref:`steps
|
||||
above <contacts/merge-duplicate>`.
|
||||
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 20 KiB |
@@ -76,6 +76,8 @@ expense either when the transaction occurs (accrual basis) or when the payment i
|
||||
.. seealso::
|
||||
:doc:`Cash basis <accounting/taxes/cash_basis>`
|
||||
|
||||
.. _accounting/multi-company:
|
||||
|
||||
Multi-company
|
||||
=============
|
||||
|
||||
|
||||
@@ -112,8 +112,8 @@ If not done yet, :ref:`install <general/install>` the :guilabel:`Peppol` module
|
||||
- Peppol registration is **free** and available in Odoo Community
|
||||
- You can send **Customer Invoices** and **Credit Notes** and receive **Vendor Bills** and
|
||||
**Refunds** via Peppol.
|
||||
- You can send in one of the following supported document formats: **BIS Billing 3.0, XRechnung
|
||||
CIUS, NLCIUS**.
|
||||
- You can send and receive in one of the following supported document formats:
|
||||
**BIS Billing 3.0, XRechnung CIUS, NLCIUS**.
|
||||
- | The following **countries** are eligible for **Peppol registration in Odoo**:
|
||||
| Andorra, Albania, Austria, Bosnia and Herzegovina, Belgium, Bulgaria, Switzerland, Cyprus,
|
||||
Czech Republic, Germany, Denmark, Estonia, Spain, Finland, France, United Kingdom, Greece,
|
||||
@@ -126,79 +126,102 @@ Registration
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> Settings`. If you do not have the
|
||||
Peppol module installed, first tick the :guilabel:`Enable PEPPOL` checkbox and then **manually
|
||||
save**.
|
||||
save**. Click :guilabel:`Start sending via Peppol` to open the registration form.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-install.png
|
||||
:alt: Peppol module installation
|
||||
.. note::
|
||||
This registration form also pops up if you choose to :guilabel:`Send & Print` an
|
||||
invoice via Peppol without completing the registration process.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-registration-settings.png
|
||||
:alt: Peppol registration button
|
||||
|
||||
You can register either as a sender or a receiver. A sender can only send invoices and credit notes
|
||||
on Odoo via Peppol, without ever registering as a Peppol participant on Odoo SMP. If you have an
|
||||
existing Peppol registration elsewhere that you want to keep, but want to send invoices from your
|
||||
Odoo database and receive other documents in another software, register as a **sender**.
|
||||
|
||||
.. tip::
|
||||
- You can always register as a sender first and register to receive documents later.
|
||||
- When registering, you can specify if you would also like to receive documents.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-registration-wizard.png
|
||||
:alt: Peppol registration form
|
||||
|
||||
Fill in the following information:
|
||||
|
||||
- :guilabel:`Peppol EAS`. This is the Peppol Electronic Address Scheme and usually depends on your
|
||||
- Check the receiver box if you want to register on Odoo SMP. If you are migrating from another
|
||||
service provider, insert the :guilabel:`Migration key` from the previous provider (the field
|
||||
becomes visible after you tick the checkbox).
|
||||
- :guilabel:`E-Address Scheme`: the Peppol Electronic Address Scheme usually depends on your
|
||||
company's country. Odoo often prefills this with the most commonly used EAS code in your country.
|
||||
For example, the preferred EAS code for most companies in Belgium is 0208.
|
||||
- :guilabel:`Peppol Endpoint`. This is usually a Company Registry number or a VAT number.
|
||||
- :guilabel:`Phone Number`, including the country code (e.g., `+32` in Belgium)
|
||||
- :guilabel:`Primary contact email`
|
||||
For example, the preferred EAS code for most companies in Belgium is `0208`.
|
||||
- :guilabel:`Endpoint`: this is usually a Company Registry number or a VAT number.
|
||||
- :guilabel:`Phone`: phone number including the country code (e.g., `+32` in Belgium).
|
||||
- :guilabel:`Email`: this is the email Odoo can use to contact you regarding your Peppol
|
||||
registration.
|
||||
|
||||
If you want to explore or demo Peppol, you can choose to register in :guilabel:`Demo` mode.
|
||||
Otherwise, select :guilabel:`Live`.
|
||||
|
||||
.. tip::
|
||||
- Selecting :guilabel:`Demo` simulates everything in Odoo. There is no sending, receiving, or
|
||||
partner verification.
|
||||
- For **advanced users only**, it is possible to run tests on Peppol's test network. The server
|
||||
allows to register on Peppol and send/receive test invoices to/from other participants.
|
||||
To do so, enable the :ref:`developer-mode`, open the **Settings** app, go to
|
||||
:menuselection:`Technical --> System Parameters`, and search for `account_peppol.edi.mode`.
|
||||
Click the parameter and change the :guilabel:`Value` to `test`. Go back to the Peppol setup
|
||||
menu in the **Settings** app. The option :guilabel:`Test` is now available.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-system-parameter.png
|
||||
:alt: Peppol test mode parameter
|
||||
|
||||
.. seealso::
|
||||
- `Peppol EAS - European Commision <https://ec.europa.eu/digital-building-blocks/wikis/display/DIGITAL/Code+lists/>`_
|
||||
- `Peppol Endpoint - OpenPeppol eDEC Code Lists <https://docs.peppol.eu/edelivery/codelists/>`_
|
||||
(open the "Participant Identifier Schemes" as HTML page)
|
||||
|
||||
If you are migrating from another access point, insert the :guilabel:`Migration key` from the
|
||||
previous provider.
|
||||
When set up, request a verification code to be sent to you by clicking :guilabel:`Send a
|
||||
registration code by SMS`. A text message containing a code is sent to the phone number provided to
|
||||
finalize the verification process.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-settings.png
|
||||
:alt: Configuration for peppol
|
||||
|
||||
Finally, click :guilabel:`Validate registration`. If you want to explore or demo Peppol, you can
|
||||
choose to register in :guilabel:`Demo` mode. Otherwise, select :guilabel:`Live`.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-demo-mode.png
|
||||
:alt: Peppol demo mode selection
|
||||
|
||||
.. note::
|
||||
When testing Peppol, the system parameter `account_peppol.edi.mode` can be changed to `test`.
|
||||
Then, a radio button appears with the option to register on the test server.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-system-parameter.png
|
||||
:alt: Peppol test mode parameter
|
||||
|
||||
.. image:: electronic_invoicing/peppol-test-mode-settings.png
|
||||
:alt: Peppol test mode selection
|
||||
|
||||
Now, you can request a verification code to be sent to you by clicking :guilabel:`Verify phone
|
||||
number`.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-registration-verify.png
|
||||
:alt: phone validation request verification
|
||||
|
||||
A text message containing a code is sent to the phone number provided to finalize the verification
|
||||
process.
|
||||
|
||||
.. image:: electronic_invoicing/phone-registration.png
|
||||
.. image:: electronic_invoicing/peppol-phone-verification.png
|
||||
:alt: phone validation
|
||||
|
||||
Once you enter the code and click :guilabel:`Confirm`, you can see that your registration is pending
|
||||
activation. From this point onwards, the default journal for receiving Vendor Bills can be set.
|
||||
Once you enter the code and click :guilabel:`Register`, your Peppol participant status is updated.
|
||||
If you chose to only send documents, then the status changes to :guilabel:`Can send but
|
||||
not receive`.
|
||||
If you opted to receive documents as well, the status changes to :guilabel:`Can send, pending
|
||||
registration to receive`. In that case, it should be automatically activated within a day.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-registration-pending.png
|
||||
:alt: pending application
|
||||
|
||||
It should be automatically activated within a day.
|
||||
Then, set the default journal for receiving vendor bills in the :guilabel:`Incoming Invoices
|
||||
Journal`.
|
||||
|
||||
.. tip::
|
||||
It is also possible to manually trigger the cron that checks the registration status by going to
|
||||
:menuselection:`Settings --> Technical --> Scheduled Actions --> PEPPOL\: update participant
|
||||
status`.
|
||||
To manually trigger the cron that checks the registration status, enable the
|
||||
:ref:`developer-mode`, then go to :menuselection:`Settings --> Technical --> Scheduled Actions`,
|
||||
and search for the :guilabel:`PEPPOL: update participant status` action.
|
||||
|
||||
Your application status should be updated soon after you are registered on the Peppol network.
|
||||
Your receiver application status should be updated soon after you are registered on the Peppol
|
||||
network.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-registration-active.png
|
||||
:alt: active application
|
||||
.. image:: electronic_invoicing/peppol-receiver.png
|
||||
:alt: receiver application
|
||||
|
||||
All invoices and vendor bills can now be sent directly using the Peppol network.
|
||||
|
||||
.. important::
|
||||
To update the email that Odoo can use to contact you, modify the email and click
|
||||
:guilabel:`Update contact details`.
|
||||
|
||||
Configure Peppol services
|
||||
-------------------------
|
||||
|
||||
Once you are registered on Odoo SMP, the :guilabel:`Configure Peppol Services` button
|
||||
becomes visible to allow you to enable or disable document formats that other participants
|
||||
can send you via Peppol. By default, all document formats supported by Odoo are enabled (depending
|
||||
on the installed modules).
|
||||
|
||||
Contact verification
|
||||
--------------------
|
||||
|
||||
@@ -222,6 +245,13 @@ It is possible to verify the Peppol participant status of several customers at o
|
||||
To do so, go to :menuselection:`Accounting --> Customers --> Customers` and switch to the list view.
|
||||
Select the customers you want to verify and then click :menuselection:`Actions --> Verify Peppol`.
|
||||
|
||||
If the participant is registered on the Peppol network but cannot receive the format you selected
|
||||
for them, the :guilabel:`Peppol endpoint validity` label changes to :guilabel:`Cannot
|
||||
receive this format`.
|
||||
|
||||
.. image:: electronic_invoicing/peppol-participant-format.png
|
||||
:alt: verify contact ubl format
|
||||
|
||||
Send invoices
|
||||
-------------
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 5.1 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 8.7 KiB |
|
After Width: | Height: | Size: 6.8 KiB |
|
Before Width: | Height: | Size: 8.3 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 6.9 KiB |
@@ -32,7 +32,7 @@ valuation <inventory/avg_price/leaving_inventory>`.
|
||||
.. seealso::
|
||||
- :doc:`Using inventory valuation
|
||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation>`
|
||||
- :ref:`Other inventory valuation methods <inventory/inventory_valuation_config/costing_methods>`
|
||||
- :ref:`Other inventory valuation methods <inventory/warehouses_storage/costing_methods>`
|
||||
|
||||
Configuration
|
||||
=============
|
||||
@@ -263,7 +263,7 @@ value** increases based on the vendor price of the products that have entered th
|
||||
account (called **stock input**) is credited and only reconciled once the vendor bill is received.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`Anglo-Saxon vs. Continental <inventory/inventory_valuation_config/accounting>`
|
||||
- :ref:`Anglo-Saxon vs. Continental <inventory/warehouses_storage/accounting-types>`
|
||||
|
||||
The table below reflects journal entries and accounts. The *stock input* account stores the money
|
||||
intended to pay vendors when the vendor bill has not yet been received. To balance accounts when
|
||||
|
||||
@@ -15,6 +15,8 @@ When browsing your chart of accounts, you can sort the accounts by :guilabel:`Co
|
||||
.. image:: chart_of_accounts/chart-of-accounts-sort.png
|
||||
:alt: Group the accounts by type in Odoo Accounting
|
||||
|
||||
.. _chart-of-account/create:
|
||||
|
||||
Configuration of an account
|
||||
===========================
|
||||
|
||||
|
||||
@@ -20,6 +20,8 @@ for use at a later date:
|
||||
- `Odoo Tutorials: Bank Configuration
|
||||
<https://www.odoo.com/slides/slide/bank-configuration-1880>`_
|
||||
|
||||
.. _payments/register:
|
||||
|
||||
Registering payment from an invoice or bill
|
||||
===========================================
|
||||
|
||||
|
||||
@@ -40,6 +40,8 @@ of your organisation as at a particular date.
|
||||
|
||||
.. image:: reporting/main_reports09.png
|
||||
|
||||
.. _accounting/reporting/balance-sheet:
|
||||
|
||||
Profit and Loss
|
||||
---------------
|
||||
|
||||
@@ -49,6 +51,8 @@ report period.
|
||||
|
||||
.. image:: reporting/main_reports10.png
|
||||
|
||||
.. _accounting/reporting/executive-summary:
|
||||
|
||||
Executive Summary
|
||||
-----------------
|
||||
|
||||
@@ -126,6 +130,8 @@ payment during a selected month and several months prior.
|
||||
|
||||
.. image:: reporting/main_reports07.png
|
||||
|
||||
.. _accounting/reporting/cash-flow-statement:
|
||||
|
||||
Cash Flow Statement
|
||||
-------------------
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -122,7 +122,7 @@ available on Odoo.
|
||||
- :doc:`United Arab Emirates - Accounting <fiscal_localizations/united_arab_emirates>`
|
||||
- :doc:`UK - Accounting <fiscal_localizations/united_kingdom>`
|
||||
- Ukraine - Accounting
|
||||
- United States - Accounting
|
||||
- :doc:`United States - Accounting <fiscal_localizations/united_states>`
|
||||
- Uruguay - Accounting
|
||||
- Venezuela - Accounting
|
||||
- :doc:`Vietnam - Accounting <fiscal_localizations/vietnam>`
|
||||
@@ -162,4 +162,5 @@ available on Odoo.
|
||||
fiscal_localizations/vietnam
|
||||
fiscal_localizations/united_arab_emirates
|
||||
fiscal_localizations/united_kingdom
|
||||
fiscal_localizations/united_states
|
||||
fiscal_localizations/employment_hero
|
||||
|
||||
@@ -758,9 +758,9 @@ Cancel an own check
|
||||
*******************
|
||||
|
||||
To cancel an own check created in Odoo, navigate to :menuselection:`Accounting --> Vendors --> Own
|
||||
Checks` and select the check to be canceled, then click on the :guilabel:`Void Check` button. This
|
||||
Checks` and select the check to be cancelled, then click on the :guilabel:`Void Check` button. This
|
||||
will break the reconciliation with the vendor bills and the bank statements and leave the check in a
|
||||
**canceled** state.
|
||||
**cancelled** state.
|
||||
|
||||
.. image:: argentina/empty-check-button.png
|
||||
:align: center
|
||||
|
||||
@@ -549,7 +549,7 @@ A range of sequences that are assigned to sales journals can be invalidated with
|
||||
they are not currently used, **and** will not be used in the future. To do so, navigate to the
|
||||
journal, and click the :menuselection:`⚙️ (gear) icon --> Invalidate Number Range (BR)`. On the
|
||||
:guilabel:`Invalidate Number Range (BR)` wizard, add the :guilabel:`Initial Number` and
|
||||
:guilabel:`End Number` of the range that should be canceled, and enter an invalidation
|
||||
:guilabel:`End Number` of the range that should be cancelled, and enter an invalidation
|
||||
:guilabel:`Reason`.
|
||||
|
||||
.. image:: brazil/range-number-invalidation.png
|
||||
@@ -563,7 +563,7 @@ journal, and click the :menuselection:`⚙️ (gear) icon --> Invalidate Number
|
||||
(NF-e).
|
||||
|
||||
.. note::
|
||||
The log of the canceled numbers along with the XML file are recorded in the chatter of the
|
||||
The log of the cancelled numbers along with the XML file are recorded in the chatter of the
|
||||
journal.
|
||||
|
||||
Vendor bills
|
||||
|
||||
@@ -617,7 +617,7 @@ Note` and select :guilabel:`Full Refund`, in this case the :abbr:`SII (Servicio
|
||||
Internos)` reference code is automatically set to :guilabel:`Anula Documento de referencia`.
|
||||
|
||||
.. image:: chile/credit-note-cancel-ref-doc.png
|
||||
:alt: Credit note canceling the referenced document.
|
||||
:alt: Credit note cancelling the referenced document.
|
||||
:align: center
|
||||
|
||||
Correct referenced document
|
||||
@@ -742,7 +742,7 @@ vendor.
|
||||
:align: center
|
||||
|
||||
If you claim a vendor bill, the status changes from :guilabel:`Draft` to :guilabel:`Cancel`
|
||||
automatically. Considering this as best practice, all the claimed documents should be canceled as
|
||||
automatically. Considering this as best practice, all the claimed documents should be cancelled as
|
||||
they won't be valid for your accounting records.
|
||||
|
||||
Electronic purchase invoice
|
||||
@@ -1196,7 +1196,7 @@ on the client's original order.
|
||||
:alt: Selection of order for the refund process.
|
||||
|
||||
When the return payment is validated, Odoo generates the necessary credit note, referencing the
|
||||
original receipt or invoice, partially or fully canceling the document.
|
||||
original receipt or invoice, partially or fully cancelling the document.
|
||||
|
||||
.. seealso::
|
||||
`Smart tutorial - Electronic invoicing for point of sale
|
||||
|
||||
@@ -46,6 +46,9 @@ Configuration
|
||||
:alt: The Employment Hero "Business ID" number is in the URL
|
||||
|
||||
- You can choose any Odoo journal to post the payslip entries.
|
||||
#. Configure the tax by going to :menuselection:`Accounting --> Configuration --> Taxes`. Create the
|
||||
necessary taxes for the Employment Hero payslip entries. Fill in the tax code from
|
||||
**Employment Hero** in the :guilabel:`Matching Employment Hero Tax` field.
|
||||
|
||||
How does the API work?
|
||||
----------------------
|
||||
|
||||
@@ -172,7 +172,7 @@ German Tax Accounting Standards: Odoo's guide to GoBD Compliance
|
||||
|
||||
**GoBD** stands for `Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,
|
||||
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff
|
||||
<https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.pdf>`_.
|
||||
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_.
|
||||
In short, it is a **guideline for the proper management and storage of books, records, and documents
|
||||
in electronic form, as well as for data access**, that is relevant for the German tax authority, tax
|
||||
declaration, and balance sheet.
|
||||
|
||||
@@ -404,6 +404,16 @@ Send GSTR-1
|
||||
|
||||
#. The user can verify the :ref:`GSTR-1 <india/gstr-1_report>` report before uploading it to the
|
||||
**GST portal** by clicking :guilabel:`GSTR-1 Report`;
|
||||
|
||||
#. The user can also get details to be submitted in **GSTR-1** in **Spreadsheet view** by clicking
|
||||
on :guilabel:`Generate`;
|
||||
|
||||
.. image:: india/gst-gstr-1-generate.png
|
||||
:alt: GSTR-1 generate
|
||||
|
||||
.. image:: india/gst-gstr-1-spreadsheet-view.png
|
||||
:alt: GSTR-1 Spreadsheet View
|
||||
|
||||
#. If the **GSTR-1** report is correct, then click :guilabel:`Push to GSTN` to send it to the **GST
|
||||
portal**. The status of the :guilabel:`GSTR-1` report changes to :guilabel:`Sending`;
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 7.5 KiB |
|
After Width: | Height: | Size: 38 KiB |
@@ -102,18 +102,17 @@ The following codes are available when generating an e-Faktur.
|
||||
Correct an invoice that has been posted and downloaded: Replace Invoice feature
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
#. Cancel the original wrong invoice in Odoo. For instance, we will change the Kode Transakski from 01
|
||||
to 03 for the INV/2020/0001.
|
||||
#. Create a new invoice and set the canceled invoice in the *Replace Invoice* field. In this field,
|
||||
#. Cancel the original wrong invoice in Odoo. For instance, we will change the Kode Transakski from
|
||||
01 to 03 for the INV/2020/0001.
|
||||
#. Create a new invoice and set the cancelled invoice in the *Replace Invoice* field. In this field,
|
||||
we can only select invoices in *Cancel* state from the same customer.
|
||||
#. As you validate, Odoo will automatically use the same e-Faktur serial number as the canceled and
|
||||
#. As you validate, Odoo will automatically use the same e-Faktur serial number as the cancelled and
|
||||
replaced invoice replacing the third digit of the original serial number with *1* (as requested
|
||||
to upload a replacement invoice in the e-Faktur app).
|
||||
|
||||
.. image:: indonesia/indonesia-replace-invoice.png
|
||||
:align: center
|
||||
|
||||
|
||||
.. _localization_indonesia/reset_e-faktur:
|
||||
|
||||
Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur
|
||||
|
||||
@@ -379,7 +379,7 @@ TD04 - Credit notes
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
It is the standard scenario for all **credit notes** issued to **domestic** clients, when we need to
|
||||
formally acknowledge that the seller is reducing or canceling a previously issued invoice, for
|
||||
formally acknowledge that the seller is reducing or cancelling a previously issued invoice, for
|
||||
example, in case of overbilling, incorrect items, or overpayment. Just like invoices, they must be
|
||||
sent to the :abbr:`SdI (Sistema di Interscambio)`, their :guilabel:`Document Type` `TD04`
|
||||
|
||||
|
||||
@@ -7,114 +7,369 @@ Kenya
|
||||
Configuration
|
||||
=============
|
||||
|
||||
:ref:`Install <general/install>` the following modules to get all the features of the Kenyan
|
||||
localization:
|
||||
Install the 🇰🇪 **Kenyan** :ref:`fiscal localization package <fiscal_localizations/packages>` to get
|
||||
all the features of the Kenyan localization.
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
eTIMS
|
||||
=====
|
||||
|
||||
* - Name
|
||||
- Technical name
|
||||
- Description
|
||||
* - :guilabel:`Kenyan - Accounting`
|
||||
- `l10n_ke`
|
||||
- Installing this module grants you access to the list of accounts used in the local GAAP and
|
||||
the list of common taxes (VAT, etc.).
|
||||
* - :guilabel:`Kenyan - Accounting Reports`
|
||||
- `l10n_ke_reports`
|
||||
- Installing this module grants you access to improved accounting reports for Kenya, such as
|
||||
Profit and Loss and Balance Sheets.
|
||||
The `Kenya Revenue Authority (KRA) <https://www.kra.go.ke/>`_ has implemented the
|
||||
`electronic Tax Invoice Management System (eTIMS) <https://www.kra.go.ke/online-services/etims>`_
|
||||
for tax collection.
|
||||
|
||||
You also have to install the **Kenya Tremol Device EDI Integration** package to be able to report
|
||||
your taxes to the **Kenya Revenue Authority (KRA)** using the Tremol G03 Control Unit:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
|
||||
* - Name
|
||||
- Technical name
|
||||
- Description
|
||||
* - :guilabel:`Kenya Tremol Device EDI Integration`
|
||||
- `l10n_ke_edi_tremol`
|
||||
- Installing this module integrates with the Kenyan G03 Tremol control unit device to report
|
||||
taxes to KRA through TIMS.
|
||||
|
||||
.. image:: kenya/modules.png
|
||||
:align: center
|
||||
:alt: The three modules for the Kenya Fiscal Localization Package on Odoo
|
||||
|
||||
Kenyan TIMS integration
|
||||
=======================
|
||||
|
||||
The Kenya Revenue Authority (KRA) has decided to go digital for tax collection through the **Tax
|
||||
Invoice Management System (TIMS)**. As of December 1st, 2022, all VAT-registered persons should
|
||||
comply with TIMS. The goal is to reduce VAT fraud, increase tax revenue, and increase VAT compliance
|
||||
through standardization, validation, and transmission of invoices to KRA on a real-time or near
|
||||
real-time basis.
|
||||
|
||||
All VAT-registered taxpayers should use a **compliant tax register**. Odoo decided to develop the
|
||||
integration of the **Tremol G03 Control Unit (type C)**, which can be run locally through USB. This
|
||||
device validates invoices to ensure financial documents meet the new regulations and send the
|
||||
validated tax invoices directly to KRA. Installing a proxy server that provides a gateway between
|
||||
users and the internet is required.
|
||||
|
||||
Installing the proxy server on a Windows device
|
||||
-----------------------------------------------
|
||||
|
||||
Go to `odoo.com/download <https://www.odoo.com/page/download>`_, fill out the required information
|
||||
and click :guilabel:`Download`.
|
||||
|
||||
.. image:: kenya/download.png
|
||||
:align: center
|
||||
:alt: Install the Proxy Server on a Windows device
|
||||
|
||||
Once it is loaded on your computer, a wizard opens. You have to read and agree with the terms of the
|
||||
agreement. On the next page, select the :guilabel:`type of install: Odoo IoT`. Then, click
|
||||
:guilabel:`Next` and :guilabel:`Install`. Once completed, click :guilabel:`Next`. Check the
|
||||
:guilabel:`Start Odoo` box to be redirected to Odoo automatically, and then click :guilabel:`Finish`.
|
||||
|
||||
A new page opens, confirming your :doc:`IoT Box <../../general/iot/config/connect>` is up and
|
||||
running. Connect your physical device **Tremol G03 Control Unit (type C)** to your laptop via USB.
|
||||
In the :guilabel:`IoT Device` section, check that your Tremol G03 Control Unit (type C) appears,
|
||||
confirming the connection between the device and your computer.
|
||||
|
||||
.. image:: kenya/iot-box.png
|
||||
:align: center
|
||||
:alt: Your IoT box is up and running
|
||||
To submit documents through eTIMS, you must use an :abbr:`OSCU (Online Sales Control Unit)` that
|
||||
integrates with the existing **Trader Invoicing System (TIS)**, such as the one provided by Odoo.
|
||||
The OSCU is used to validate, encrypt, sign, transmit, and store tax invoices.
|
||||
|
||||
.. note::
|
||||
If the device is not detected, try to plug it in again or click on the :guilabel:`Restart` button
|
||||
in the top right corner.
|
||||
Make sure to :ref:`install <general/install>` the **Kenya eTIMS EDI** modules to use the OSCU
|
||||
device fully.
|
||||
|
||||
.. _kenya/initialization:
|
||||
|
||||
OSCU device initialization
|
||||
--------------------------
|
||||
|
||||
The OSCU must be initialized before use. To do so, navigate to :menuselection:`Settings --> General
|
||||
Settings`, click :guilabel:`Update Info` in the :guilabel:`Companies` section, and enter your
|
||||
:guilabel:`Tax ID`.
|
||||
|
||||
To initialize the OSCU:
|
||||
|
||||
#. Go to :menuselection:`Settings --> General Settings` and scroll down to the :guilabel:`Kenya
|
||||
eTIMS Integration` section.
|
||||
#. Set the :guilabel:`eTIMS Server Mode` to :guilabel:`Test` for the initialization.
|
||||
#. Enter the :guilabel:`Serial Number` of the device and tick the two check boxes.
|
||||
#. Click :guilabel:`Initialize OSCU`.
|
||||
|
||||
.. note::
|
||||
Three server modes are available:
|
||||
|
||||
- :guilabel:`Demo`: Designed for demo purposes; it uses mock data and does not require an
|
||||
initialized OSCU;
|
||||
- :guilabel:`Test`: Used to test the connection to eTIMS;
|
||||
- :guilabel:`Production`: Used for live databases that are ready to send data.
|
||||
|
||||
.. Important::
|
||||
If your device has **already been initialized** (through another ERP, for example), enable the
|
||||
:doc:`../../general/developer_mode`. Then, in the :guilabel:`Kenya eTIMS Integration` section,
|
||||
enter the ID of the unit in the :guilabel:`Unit ID` field and the key obtained through a previous
|
||||
initialization in the :guilabel:`CMC Key` field. Click :guilabel:`Save` when done.
|
||||
|
||||
Once the **OSCU module** has been :ref:`initialized <kenya/initialization>`, an OSCU serial number
|
||||
is generated for each company on that database with its **country** set to :guilabel:`Kenya`. The
|
||||
serial number is generated based on the VAT number of the company (regardless of its validity). It
|
||||
is a unique and sequential serial number starting with the prefix `ODOO` followed by the company's
|
||||
**VAT number** and a sequence of numbers.
|
||||
|
||||
Registering on eTIMS
|
||||
--------------------
|
||||
|
||||
Taxpayers *must* sign up and create an account on the `KRA portal <https://etims.kra.go.ke/basic/login/indexLogin>`_.
|
||||
If you do not have an account yet:
|
||||
|
||||
#. Sign up, enter your **PIN**, and verify that all information is correct, including your phone
|
||||
number, email address, and postal address. Correct any errors on the `iTax page
|
||||
<https://itax.kra.go.ke/KRA-Portal/>`_.
|
||||
#. An :abbr:`OTP (One-time Password)` is sent to the phone number provided. Unblock promotional
|
||||
messages if you do not receive it.
|
||||
#. Upload the **business owner ID** *or* **director's ID** (as listed on iTax), along with the
|
||||
filled-out and signed **commitment form** .
|
||||
#. On the **eTIMS dashboard**, click :guilabel:`Service request` at the top of the page. Select
|
||||
:guilabel:`OSCU` as the **eTIMS type**, enter `Odoo KE LTD` as the third-party integrator, and
|
||||
enter your company's OSCU serial number retrieved earlier.
|
||||
|
||||
.. note::
|
||||
Service request approvals are usually quick. If there's a delay, contact the eTIMS operation
|
||||
or KRA office.
|
||||
|
||||
.. admonition:: Commitment form
|
||||
|
||||
- Part 1: Fill in the taxpayer's information.
|
||||
- Part 2: Fill in the business owner's *or* director's information.
|
||||
- Part 3: Fill in your unique serial number found in Odoo.
|
||||
- Part 4: Tick **OSCU**, enter Odoo KE LTD PIN `PO52112956W`, and enter the Odoo version you're
|
||||
using (17.0 or onwards).
|
||||
- Part 5: Check the mandatory boxes, enter a date, and sign.
|
||||
|
||||
eTIMS codes
|
||||
-----------
|
||||
|
||||
Common standard codes are **automatically** fetched from the KRA eTIMS API servers every two days.
|
||||
To fetch them manually, proceed as follows:
|
||||
|
||||
#. Enable the :doc:`../../general/developer_mode`.
|
||||
#. Go to :menuselection:`Settings --> Technical --> Automation: Scheduled Actions` and search for
|
||||
:guilabel:`KE eTIMS: Fetch KRA standard codes`.
|
||||
#. Click the action in the list, then click :guilabel:`Run Manually` to fetch the codes.
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> KE OSCU Codes` to view the complete list of
|
||||
fetched OSCU codes.
|
||||
|
||||
.. image:: kenya/oscu-codes.png
|
||||
:alt: List of fetched OSCU codes.
|
||||
|
||||
.. _etims/unspsc:
|
||||
|
||||
UNSPSC codes
|
||||
------------
|
||||
|
||||
The KRA needs UNSPSC codes for a product to be **registered**. UNSPSC codes are **automatically**
|
||||
fetched from the KRA eTIMS API servers every day. To fetch them manually, proceed as follows:
|
||||
|
||||
#. Enable the :doc:`../../general/developer_mode`.
|
||||
#. Go to :menuselection:`Settings --> Technical --> Automation: Scheduled Actions` and search for
|
||||
:guilabel:`KE eTIMS: Fetch UNSPSC codes from eTIMS`.
|
||||
#. Click the action in the list, then click :guilabel:`Run Manually` to fetch the codes.
|
||||
|
||||
Go to the **product form**, and in the :guilabel:`Accounting` tab, click the :guilabel:`UNSPSC
|
||||
Category` field to view the complete list of fetched UNSPSC codes.
|
||||
|
||||
Notices
|
||||
-------
|
||||
|
||||
Notices are **automatically** fetched from the KRA eTIMS API servers every day. To fetch them
|
||||
**manually**, proceed as follows:
|
||||
|
||||
#. Enable the :doc:`../../general/developer_mode`.
|
||||
#. Go to :menuselection:`Settings --> Technical --> Automation: Scheduled Actions` and search for
|
||||
:guilabel:`KE eTIMS: Fetch KRA notices from eTIMS`.
|
||||
#. Click the action in the list, then click :guilabel:`Run Manually` to fetch the notices.
|
||||
|
||||
Go to :menuselection:`Accounting --> Configuration --> KE OSCU Notices` to view the complete list of
|
||||
fetched notices.
|
||||
|
||||
Multi-company
|
||||
-------------
|
||||
|
||||
.. _kenya/branch:
|
||||
|
||||
.. seealso::
|
||||
:doc:`Connect an IoT box to your database <../../general/iot/config/connect>`
|
||||
:doc:`../../general/companies`
|
||||
|
||||
Sending the data to KRA using the Tremol G03 Control Unit
|
||||
---------------------------------------------------------
|
||||
If you have :ref:`multiple companies <accounting/multi-company>`, you can centralize and manage them
|
||||
all on a single Odoo database. The KRA identifies and differentiates the **main** company from
|
||||
its **subsidiaries** by using IDs. Furthermore, subsidiaries are classified as **branches** of the
|
||||
main company.
|
||||
|
||||
As a pre-requisite, check out that the :ref:`Kenyan Accounting modules
|
||||
<localization/kenya/configuration>` are installed on your database. Then, go to
|
||||
:menuselection:`Accounting --> Configuration --> Settings --> Kenya TIMS Integration section`, and
|
||||
check that the :guilabel:`control Unit Proxy Address` matches the address of the IoT box.
|
||||
To configure the company's ID, open the **Settings** app, click :guilabel:`Update Info` in the
|
||||
:guilabel:`Companies` section, and search for the :guilabel:`eTIMS Branch Code` field. The **main
|
||||
company** has a branch ID equal to `00` in a multi-company environment. Companies that are *not* the
|
||||
main company have a branch ID other than `00` and are assigned an ID by the KRA.
|
||||
|
||||
To send data to KRA, create a new invoice by going to :menuselection:`Accounting Dashboard -->
|
||||
Customer Invoice card` and clicking :guilabel:`New Invoice`. Upon confirmation of a new invoice, the
|
||||
:guilabel:`Send invoice to Fiscal Device` button appears. Clicking on it sends the invoice details
|
||||
to the device and from the device to the government. The :guilabel:`CU Invoice Number` field is now
|
||||
completed in your invoice, confirming the information has been sent.
|
||||
To add a branch, go to the :guilabel:`Branches` tab in the **company settings** and click
|
||||
:guilabel:`Add a line`.
|
||||
|
||||
The :guilabel:`Tremol G03 Fiscal Device` tab contains fields that are automatically completed once
|
||||
the invoice is sent to the government:
|
||||
|
||||
- :guilabel:`CU QR Code`: Url from the KRA portal which reflects a QR code.
|
||||
- :guilabel:`CU Serial Number`: reflects the serial number of the device.
|
||||
- :guilabel:`CU Signing Date and Time`: The date and time when the invoice has been sent to KRA.
|
||||
|
||||
If you click on :guilabel:`Send and Print`, a .pdf of the invoice is generated. The
|
||||
:guilabel:`Kenyan Fiscal Device Info` is mentioned on the document.
|
||||
To fetch the **branch ID** from the KRA for your non-main companies, ensure the main company has a
|
||||
Kenyan :guilabel:`Tax ID` and the OSCU device has been :ref:`initialized <kenya/initialization>`.
|
||||
Then, go to the :guilabel:`Branches` tab and click :guilabel:`Populate from KRA`.
|
||||
|
||||
.. note::
|
||||
To verify KRA has received the invoice information, take the :guilabel:`CU Invoice Number` and
|
||||
enter it in the :guilabel:`Invoice Number Checker` section on
|
||||
`Kenya Revenue Authority website <https://itax.kra.go.ke/KRA-Portal>`_. Click
|
||||
:guilabel:`Validate` and find the invoice details.
|
||||
- The KRA considers each **place of supply** as a separate branch (ID).
|
||||
- The **OSCU** device must be :ref:`initialized independently <kenya/initialization>` for each
|
||||
branch.
|
||||
|
||||
Contact branch ID
|
||||
-----------------
|
||||
|
||||
To attribute a branch ID to a contact, access the contact form, go to the :guilabel:`Accounting`
|
||||
tab, and enter the branch code in the :guilabel:`eTIMS Branch Code` field.
|
||||
|
||||
.. note::
|
||||
By default, contacts' branch IDs are set to `OO`.
|
||||
|
||||
KRA sequences
|
||||
-------------
|
||||
|
||||
.. important::
|
||||
Odoo invoice sequences and KRA sequences are **different**.
|
||||
|
||||
In Odoo, invoice sequences depend on the **main company**. Main companies can see the invoices of
|
||||
branches, but branches **cannot** see the main company's invoices or those of other branches.
|
||||
|
||||
The KRA needs **independent** sequences per branch. Therefore, Odoo manages sequences individually
|
||||
per branch.
|
||||
|
||||
.. example::
|
||||
If you have a main company with two branches, the invoice sequence would be the following:
|
||||
|
||||
- Creating an invoice on **branch 1**: INV/2024/00001;
|
||||
- Creating an invoice on **branch 2**: INV/2024/00002;
|
||||
- Creating an invoice on the **main company**: INV/2024/00003.
|
||||
|
||||
This is how Odoo manages sequences to be compliant with the KRA regulations:
|
||||
|
||||
- Creating an invoice on **branch 1**: INV/2024/00001;
|
||||
- Creating an invoice on **branch 2**: INV/2024/00001;
|
||||
- Creating an invoice on the **main company**: INV/2024/00001.
|
||||
|
||||
Insurance
|
||||
=========
|
||||
|
||||
For **health service providers**, you can send insurance information about the main and branch
|
||||
companies and update it in eTIMS. To do so, go to :menuselection:`Accounting --> Configuration -->
|
||||
Settings`, scroll to the :guilabel:`Kenya eTIMS Integration` section, and fill in the
|
||||
:guilabel:`Code`, :guilabel:`Name`, and :guilabel:`Rate` fields. Click :guilabel:`Send Insurance
|
||||
Details` when done.
|
||||
|
||||
.. _kenya/product-registration:
|
||||
|
||||
Product registration
|
||||
====================
|
||||
|
||||
The KRA requires **products to be registered** first before conducting business operations (such as
|
||||
stock movements, :abbr:`BOM (Bill of Materials)`, customer invoices, etc.). For a product to be
|
||||
registered, the following fields must be defined on the product form:
|
||||
|
||||
- In the :guilabel:`General Information` tab: :guilabel:`Cost`.
|
||||
- In the :guilabel:`Accounting` tab:
|
||||
|
||||
- :guilabel:`Packaging Unit`;
|
||||
- :guilabel:`Packaging Quantity`;
|
||||
- :guilabel:`Origin Country`;
|
||||
- :guilabel:`eTIMS Product Type`;
|
||||
- :guilabel:`Insurance Applicable`;
|
||||
- :ref:`UNSPSC Category <etims/unspsc>`.
|
||||
|
||||
If the elements above are defined, the product is automatically registered while sending the
|
||||
operation to the KRA. If not, you will be alerted by a yellow banner at the top of the screen
|
||||
inviting you to check the missing elements.
|
||||
|
||||
.. image:: kenya/product-registration.png
|
||||
:alt: Product registration template.
|
||||
|
||||
Stock movements
|
||||
===============
|
||||
|
||||
All **stock movements** must be sent to the KRA. They do not require an invoice if they are
|
||||
internal operations or stock adjustments; therefore, Odoo automatically sends them if at least one
|
||||
of the following conditions are met:
|
||||
|
||||
#. No contact is set for the move;
|
||||
#. The contact is your main company or a branch of the main company.
|
||||
|
||||
If the stock moves are **external operations** (e.g., to contacts that are not part of the main
|
||||
company or its branches), the stock moves are automatically sent *after* the invoice is sent to
|
||||
eTIMS.
|
||||
|
||||
.. note::
|
||||
- The stock move must be confirmed before sending the invoice to eTIMS.
|
||||
- The product(s) must be :ref:`registered <kenya/product-registration>` for the stock move to be
|
||||
sent to eTIMS. If the product has not been registered yet, a yellow banner will prompt the
|
||||
products' registration.
|
||||
|
||||
Purchases
|
||||
=========
|
||||
|
||||
Odoo automatically fetches new vendor bills from eTIMS every day. You need to confirm the fetched
|
||||
vendor bills and send the confirmation to the KRA. To confirm a vendor bill, it must be linked to
|
||||
one or several confirmed purchase order line(s).
|
||||
|
||||
.. _kenya/purchases:
|
||||
|
||||
In the case of purchases (not customs imports), the steps to link purchase order lines with bills
|
||||
are the following:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Vendors --> Bills`.
|
||||
The vendor bill is fetched from the KRA servers. The JSON file is available in the chatter of the
|
||||
vendor bill if needed.
|
||||
#. Odoo looks at the :guilabel:`Tax ID` (PIN) of the vendor (partner);
|
||||
|
||||
- If it is unknown, a new contact (partner) is created.
|
||||
- If it is known and the branch ID is the same, Odoo uses the known contact.
|
||||
|
||||
#. In the fetched bill from the KRA, select the :guilabel:`Product`. Each vendor bill *must* contain
|
||||
a product to be confirmed and sent to eTIMS later on.
|
||||
#. Odoo checks existing purchase order lines matching the product(s) entered at the previous step
|
||||
and the partner (if any). Click the :guilabel:`Purchase Order Line` field, and select the correct
|
||||
related purchase order line(s) matching the product(s). The quantities on the bill *must* be the
|
||||
same as the received quantities indicated on the purchase order.
|
||||
|
||||
If no existing purchase order line matches the lines of the fetched bill, click
|
||||
:guilabel:`Create Purchase Order` and create a purchase order based on the unmatched line(s).
|
||||
:guilabel:`Validate` the resulting stock move and :guilabel:`Confirm` the bill.
|
||||
|
||||
#. Set a method in the :guilabel:`eTIMS Payment Method` field..
|
||||
#. Once all steps are completed, click :guilabel:`Send to eTIMS` to send the vendor bill. When the
|
||||
vendor bill has been confirmed on eTIMS, the **KRA invoice number** can be found in the
|
||||
:guilabel:`eTIMS Details` tab.
|
||||
|
||||
.. image:: kenya/purchase-order-lines.png
|
||||
:alt: Bill registration steps.
|
||||
|
||||
Invoicing
|
||||
=========
|
||||
|
||||
.. note::
|
||||
The KRA does *not* accept sales if the product is not in stock.
|
||||
|
||||
This is the **advised sales flow** in Odoo when selling:
|
||||
|
||||
#. Create a **sales order**.
|
||||
#. :guilabel:`Validate` the delivery.
|
||||
#. :guilabel:`Confirm` the invoice.
|
||||
#. Click :guilabel:`Send and print`, and then enable :guilabel:`Send to eTIMS`.
|
||||
#. Click :guilabel:`Send & print` to send the invoice.
|
||||
|
||||
Once the invoice has been sent and signed by the KRA, the following information can be found on
|
||||
it:
|
||||
|
||||
- **KRA invoice number**;
|
||||
- Mandatory KRA invoice fields, such as **SCU information**, **date**, **SCU ID**, **receipt
|
||||
number**, **item count**, **internal date**, and **receipt signature**;
|
||||
- The **KRA tax table**;
|
||||
- A unique **KRA QR code** for the signed invoice.
|
||||
|
||||
Imports
|
||||
=======
|
||||
|
||||
Customs import codes are **automatically** fetched from the KRA eTIMS API servers every day. To
|
||||
fetch them manually, proceed as follows:
|
||||
|
||||
#. Enable the :doc:`../../general/developer_mode`.
|
||||
#. Go to :menuselection:`Settings --> Technical --> Automation: Scheduled Actions` and search for
|
||||
:guilabel:`KE eTIMS: Receive Customs Imports from the OSCU`.
|
||||
#. Click the action in the list, then click :guilabel:`Run Manually` to fetch the codes.
|
||||
|
||||
Go to :menuselection:`Accounting --> Vendors --> Customs Imports` to view the imported codes.
|
||||
|
||||
The following steps are required to send and have **customs imports** signed by the KRA:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Vendors --> Customs Imports`; The customs import is fetched
|
||||
automatically from the KRA.
|
||||
#. Match the imported item with an existing registered product in the :guilabel:`Product` field (or
|
||||
create a product if no related product exists).
|
||||
#. Set a vendor in the :guilabel:`Partner` field.
|
||||
#. Based on the partner, match the imported item with its related purchase order (see
|
||||
:ref:`purchase steps <kenya/purchases>`). The stock must be correctly adjusted when the customs
|
||||
import is approved.
|
||||
|
||||
If no related purchase order exists, create one and :guilabel:`Confirm` it. Then, confirm the
|
||||
delivery by clicking :guilabel:`Receive Products`, then :guilabel:`Validate` on the purchase
|
||||
order.
|
||||
|
||||
#. Click :guilabel:`Match and Approve` or :guilabel:`Match and Reject`, depending on the
|
||||
situation of the goods.
|
||||
|
||||
.. note::
|
||||
The JSON file received from the KRA is attached to the chatter of the customs import.
|
||||
|
||||
BOM
|
||||
===
|
||||
|
||||
The KRA requires all BOMs to be sent to them. To send BOMs to eTIMS, the product and its components
|
||||
*must* be :ref:`registered <kenya/product-registration>`. To access a product's BOM, click on the
|
||||
product and then click the :guilabel:`Bill of Materials` smart button.
|
||||
|
||||
Make sure the :ref:`KRA's required fields <kenya/product-registration>` are filled in the
|
||||
:guilabel:`KRA eTIMS details` section of the :guilabel:`Accounting` tab in the product form, and
|
||||
click :guilabel:`Send to eTIMS`. The successful sending of the BOM is confirmed in the chatter,
|
||||
where you can also find the sent information in an attached JSON file.
|
||||
|
||||
Credit notes
|
||||
============
|
||||
|
||||
The KRA does not accept credit notes with quantities or prices higher than the initial invoice. When
|
||||
creating a credit note, a KRA reason must be indicated: In the credit note form, go to the
|
||||
:guilabel:`eTIMS Details` tab, select the :guilabel:`eTIMS Credit Note Reason`, and then select the
|
||||
invoice number in the :guilabel:`Reversal of` field.
|
||||
|
||||
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 42 KiB |
@@ -467,11 +467,11 @@ there are two requirements for this:
|
||||
There are four different cancellation reasons. In Odoo, you can cancel invoices with the reasons *01
|
||||
Invoices sent with errors with a relation*, and *02 Invoices sent with errors without a relation*.
|
||||
|
||||
The following sections break down the process of canceling invoices for each cancellation reason in
|
||||
The following sections break down the process of cancelling invoices for each cancellation reason in
|
||||
Odoo.
|
||||
|
||||
.. important::
|
||||
Odoo has certain limitations to canceling invoices in the |SAT|: The reasons 03 and 04
|
||||
Odoo has certain limitations to cancelling invoices in the |SAT|: The reasons 03 and 04
|
||||
(*Operation did not take place* and *Nominative transactions related to a global invoice*,
|
||||
respectively) are not currently supported by Odoo. For this, you need to cancel the invoice
|
||||
directly in the |SAT|, and press :guilabel:`Retry` in the :guilabel:`SAT Status field`.
|
||||
@@ -490,12 +490,12 @@ of the old invoice after the value. Finally, sign the new document.
|
||||
Next, navigate back to the old invoice, and notice the :guilabel:`Substituted By` field is now
|
||||
available. Click the :guilabel:`Request EDI Cancellation` button on the old invoice, and then click
|
||||
:guilabel:`Process Now` in the blue section that appears. The invoice status changes to
|
||||
:guilabel:`Canceled`, and a confirmation is logged in the chatter.
|
||||
:guilabel:`Cancelled`, and a confirmation is logged in the chatter.
|
||||
|
||||
Now, the invoice should be canceled in the |SAT| as well. You can confirm this was done correctly,
|
||||
Now, the invoice should be cancelled in the |SAT| as well. You can confirm this was done correctly,
|
||||
by pressing :guilabel:`Retry` in the |SAT| status field.
|
||||
|
||||
If the document was canceled more than 24 hours after its creation, you may need to ask the client
|
||||
If the document was cancelled more than 24 hours after its creation, you may need to ask the client
|
||||
to accept the cancellation in their “Buzón Tributario” directly from the `SAT website
|
||||
<https://www.sat.gob.mx/home>`_.
|
||||
|
||||
|
||||
@@ -0,0 +1,748 @@
|
||||
=============
|
||||
United States
|
||||
=============
|
||||
|
||||
.. |GAAP| replace:: :abbr:`GAAP (Generally Acceptable Accounting Practices)`
|
||||
.. |FASB| replace:: :abbr:`FASB (Financial Accounting Standards Board)`
|
||||
.. |SEC| replace:: :abbr:`SEC (Securities and Exchange Commission)`
|
||||
.. |COA| replace:: :abbr:`CoA (Chart of Accounts)`
|
||||
.. |AR| replace:: :abbr:`AR (Accounts Receivable)`
|
||||
.. |AP| replace:: :abbr:`AP (Accounts Payable)`
|
||||
.. |CFS| replace:: :abbr:`CFS (Cash Flow Statement)`
|
||||
.. |NACHA| replace:: :abbr:`NACHA (National Automated Clearing House Association)`
|
||||
.. |ACH| replace:: :abbr:`ACH (Automated Clearing House)`
|
||||
|
||||
The Odoo fiscal localization package for the United States follows the Generally Acceptable
|
||||
Accounting Principles (GAAP) accounting standards and rules used to prepare financial statements,
|
||||
as outlined by the Financial Accounting Standards Board (FASB) and adopted by the Securities and
|
||||
Exchange Commission (SEC).
|
||||
|
||||
.. seealso::
|
||||
- `Financial Accounting Standards Board (FASB) <https://asc.fasb.org/Home>`_
|
||||
- `Securities and Exchange Commission (SEC) <https://www.sec.gov/>`_
|
||||
|
||||
In addition, 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, as well.
|
||||
|
||||
.. 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 the United States.
|
||||
|
||||
.. note::
|
||||
The modules listed below are either for reference only or are optional, as the core requirements
|
||||
to operate under the US fiscal localization in Odoo are already included under the default
|
||||
package that came installed during database initialization.
|
||||
|
||||
Verify the default package is in use by navigating to :menuselection:`Accounting App -->
|
||||
Settings` and under the :guilabel:`Fiscal Localization` section at the top, look for the `Generic
|
||||
Chart Template` selection to be listed next to the :guilabel:`Package` field label. This chart
|
||||
template includes the necessary settings for the US localization for the Odoo *Accounting* app.
|
||||
|
||||
.. image:: united_states/us-l10n-generic-chart-template.png
|
||||
:align: center
|
||||
:alt: The Generic Chart Template comes pre-configured for the US localization.
|
||||
|
||||
Modules installation
|
||||
--------------------
|
||||
|
||||
:ref:`Install <general/install>` the following modules to get all the features of the United States
|
||||
localization:
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: 25 25 50
|
||||
|
||||
* - Name
|
||||
- Technical name
|
||||
- Description
|
||||
* - :guilabel:`United States - Accounting`
|
||||
- `l10n_us`
|
||||
- Base accounting module for United States localization.
|
||||
* - :ref:`US - Accounting Reports <l10n_us/reports>`
|
||||
- `l10n_us_reports`
|
||||
- Adds United States accounting reports.
|
||||
* - :guilabel:`US Checks Layout`
|
||||
- `l10n_us_check_printing`
|
||||
- Enables the printing of payments on pre-printed check paper. Supports the three most common
|
||||
check formats and will work out of the box 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>`_
|
||||
|
||||
* - :ref:`NACHA Payments <l10n_us/nacha>`
|
||||
- `l10n_us_payment_nacha`
|
||||
- Export payments as NACHA files for use in the United States.
|
||||
* - :ref:`1099 Reporting <l10n_us/1099-report>`
|
||||
- `l10n_us_1099`
|
||||
- Export 1099 data for e-filing with a 3rd party.
|
||||
* - :ref:`Avatax <l10n_us/taxes-avatax>`
|
||||
- `account_avatax`
|
||||
- Module for the :doc:`AvaTax integration <../accounting/taxes/avatax>` with Odoo.
|
||||
* - :ref:`United States - Payroll <l10n_us/payroll>`
|
||||
- `l10n_us_hr_payroll`
|
||||
- Includes the necessary rules for United States payroll, including:
|
||||
|
||||
- Employee Details
|
||||
- Employee Contracts
|
||||
- Passport-based Contracts
|
||||
- Allowances/Deductions
|
||||
- Allow Configurations for Basic/Gross/Net Salary
|
||||
- Employee Payslip
|
||||
- Integration with Leaves Management
|
||||
|
||||
* - :ref:`United States - Payroll with Accounting <l10n_us/payroll>`
|
||||
- `l10n_us_hr_payroll_account`
|
||||
- Contains the necessary accounting data for the United States payroll rules.
|
||||
* - :ref:`United States - Payroll - Export to ADP <l10n_us/adp>`
|
||||
- `l10n_us_hr_payroll_adp`
|
||||
- Export Work Entries to the ADP payroll software.
|
||||
|
||||
.. _l10n_us/coa:
|
||||
|
||||
Chart of accounts
|
||||
=================
|
||||
|
||||
The :doc:`chart of accounts (COA) <../accounting/get_started/chart_of_accounts>` for the United
|
||||
States localization, in Odoo, follows the standard |GAAP| structure, with 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 US
|
||||
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`
|
||||
|
||||
View, edit, and sort accounts
|
||||
-----------------------------
|
||||
|
||||
Access the *Chart of Accounts* dashboard in Odoo by navigating to :menuselection:`Accounting app
|
||||
--> Configuration --> Accounting: Chart of Accounts`.
|
||||
|
||||
From the :guilabel:`Chart of Accounts` dashboard, create new accounts by clicking the purple
|
||||
:guilabel:`New` button in the top-left corner of the dashboard and :ref:`filling in the
|
||||
corresponding form <chart-of-account/create>`. Search and sort through existing accounts by using
|
||||
specific :guilabel:`Filters` and :guilabel:`Group By` criteria, which are available in the mega menu
|
||||
under the :guilabel:`Search...` bar.
|
||||
|
||||
To filter accounts by category, click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon to
|
||||
access the mega menu and look under the :guilabel:`Filters` column for individual selections.
|
||||
Clicking on a specific category will only show accounts that match that particular filter.
|
||||
|
||||
To view all the available account types, remove all of the filters in the :guilabel:`Search...` bar,
|
||||
and then click the :icon:`fa-caret-down` :guilabel:`(caret down)` icon to access the mega menu. From
|
||||
there, select :guilabel:`Account Type` under the :guilabel:`Group By` column heading to list all of
|
||||
the account types in the table.
|
||||
|
||||
.. image:: united_states/us-l10n-coa-account-types.png
|
||||
:align: center
|
||||
:alt: Chart of Accounts grouped by Account Type.
|
||||
|
||||
Besides structure, there are other key differences in the chart of accounts in the United States,
|
||||
compared to other countries:
|
||||
|
||||
- **Specificity**: US |GAAP| often requires more detailed accounts compared to some other countries.
|
||||
This can include separate accounts for various types of revenue, expenses, and assets, providing
|
||||
more granular information in financial reports.
|
||||
- **Regulatory Requirements**: In the United States, there are specific regulatory requirements set
|
||||
by bodies such as the |SEC| for publicly traded companies. These requirements may influence the
|
||||
structure and content of the |COA| to ensure compliance with reporting standards.
|
||||
- **Industry Practices**: Certain industries in the United States may have unique accounting
|
||||
requirements or specialized |COA| structures. For example, financial institutions often have
|
||||
specific accounts related to loans, investments, and interest income.
|
||||
- **Tax Considerations**: The |COA| may also reflect tax considerations, such as accounts for
|
||||
deductible expenses, deferred tax assets, and liabilities, to ensure compliance with tax laws and
|
||||
facilitate tax reporting.
|
||||
|
||||
These differences, ultimately, should be reflected in the |COA| structure itself, with the addition
|
||||
of new accounts, as needed, in order to meet the demands of US accounting reporting requirements.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`Create a new account <chart-of-account/create>`
|
||||
- :doc:`../../essentials/search`
|
||||
|
||||
.. _l10n_us/taxes:
|
||||
|
||||
Taxes
|
||||
=====
|
||||
|
||||
In the United States, tax rates and what is considered taxable vary by jurisdiction. Default *Sales*
|
||||
and *Purchase* 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_us/taxes-avatax:
|
||||
|
||||
AvaTax
|
||||
------
|
||||
|
||||
**Avalara AvaTax** is a cloud-based tax calculation and compliance software that integrates with
|
||||
Odoo for the United States and Canadian accounting localizations. 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 only available for integration with databases/companies that have locations in the
|
||||
United States and Canada. This means the fiscal position/country of a database can only be set to
|
||||
the United States or Canada. Reference this documentation for more information:
|
||||
:ref:`avatax/fiscal_country`.
|
||||
|
||||
.. 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>`
|
||||
- `US Tax Compliance: AvaTax elearning video
|
||||
<https://www.odoo.com/slides/slide/us-tax-compliance-avatax-2858?fullscreen=1>`_
|
||||
- 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_us/reports:
|
||||
|
||||
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:`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.
|
||||
- :ref:`Cash Flow Statement <l10n_us/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 <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*
|
||||
(`l10n_us_reports`) module installed.
|
||||
- :ref:`1099 Report <l10n_us/1099-report>`: a CSV download of payments made to non-employees in a
|
||||
period to file electronically in a third-party service. Only visible with the *1099 Reporting*
|
||||
(`l10n_us_1099`) module installed.
|
||||
|
||||
.. _l10n_us/report-filters:
|
||||
|
||||
Depending on the type of report, certain filters are available at the top of the dashboard:
|
||||
|
||||
- a *date* filter, indicated by a :icon:`fa-calendar` :guilabel:`(calendar)` icon that precedes a
|
||||
date in *MM/DD/YYYY* format. Use this to select a specific date or date range for the report.
|
||||
- a :icon:`fa-bar-chart` :guilabel:`Comparison` filter, to compare reporting periods against each
|
||||
other
|
||||
- a *journal* filter, as indicated by a :icon:`fa-book` :guilabel:`(book)` icon and the default
|
||||
setting of :guilabel:`All Journals`. Use this filter to specify which journals should be included
|
||||
in the report.
|
||||
- an *entries type* filter, as indicated by a :icon:`fa-filter` :guilabel:`(filter)` icon, with the
|
||||
default setting of :guilabel:`Posted Entries Only, Accrual Basis`. Use this filter to determine
|
||||
which type of journal entries should be included in the report (e.g. posted or draft), along with
|
||||
the type of accounting method (e.g. accrual or cash basis).
|
||||
|
||||
- There are view options in this filter, as well, one that will :guilabel:`Hide lines at 0` for
|
||||
more relevant viewing, along with a :guilabel:`Split Horizontally` option to keep the report
|
||||
above the screen's fold, removing the need to scroll.
|
||||
|
||||
.. image:: united_states/us-l1on-accounting-method-reporting-menu.png
|
||||
:align: center
|
||||
:alt: Accounting method filter menu for reports, covering accrual vs. cash basis methods.
|
||||
|
||||
- a *decimal* filter, that by default, includes figures with cents, as indicated by the
|
||||
:guilabel:`In .$` setting. Use the other options in the drop-down menu to change figures in the
|
||||
report to whole numbers (:guilabel:`In $`), thousands (:guilabel:`In K$`), or millions
|
||||
(:guilabel:`In M$`) formats.
|
||||
- a report *customization* filter, indicated by the :icon:`fa-cogs` :guilabel:`(gears)` icon. Use
|
||||
this filter to customize the current report's sections and line items, or build new reports, as
|
||||
desired.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`Accounting reporting <../accounting/reporting>`
|
||||
- :doc:`../../essentials/search`
|
||||
|
||||
.. _l10n_us/1099-report:
|
||||
|
||||
1099 report
|
||||
-----------
|
||||
|
||||
The 1099 report, available by :ref:`installing <general/install>` the *1099 Reporting*
|
||||
(`l10n_us_1099`) module, includes payments that are made to non-employees across a given reporting
|
||||
period. Use the available CSV download from the report in Odoo to file 1099 payments electronically
|
||||
via a third-party service.
|
||||
|
||||
To generate a 1099 report, navigate to :menuselection:`Accounting app --> Reporting --> Management:
|
||||
1099 Report` to open a :guilabel:`1099 Report` wizard.
|
||||
|
||||
First, enter the date range of the transactions to report in the :guilabel:`Start Date` and
|
||||
:guilabel:`End Date` fields.
|
||||
|
||||
Then, edit the journal items that appear on the wizard. Click :guilabel:`Add a line` to add any
|
||||
items that are missing. Be sure to remove any items that should not be included in the report by
|
||||
clicking :icon:`fa-times` :guilabel:`(delete)` on the row.
|
||||
|
||||
Finally, once all necessary items are included in the 1099 report, click on the :guilabel:`Generate`
|
||||
button. Doing so, downloads a CSV file that groups transactions by the partner that received the
|
||||
payments.
|
||||
|
||||
.. _l10n_us/cash-flow-statement:
|
||||
|
||||
Cash flow statement
|
||||
-------------------
|
||||
|
||||
Navigate to the *Cash Flow Statement* (CFS) dashboard by going to :menuselection:`Accounting app -->
|
||||
Reporting --> Statement Reports: Cash Flow Statement`. From here, |CFS| reports can be generated
|
||||
using the various :ref:`filters <l10n_us/report-filters>` that are available at the top of the
|
||||
dashboard.
|
||||
|
||||
Odoo uses the *direct* cash flow method to compile cash flow statements, which measures actual cash
|
||||
inflows and outflows from the company's operations, such as when cash is received from customers or
|
||||
when cash payments are made to suppliers.
|
||||
|
||||
By default, an account labeled with any of the three default :guilabel:`Tags` on the
|
||||
:guilabel:`Chart of Accounts` dashboard will be included in the report, which includes:
|
||||
:guilabel:`Operating Activities`, :guilabel:`Financing Activities`, and :guilabel:`Investing &
|
||||
Extraordinary Activities`.
|
||||
|
||||
.. image:: united_states/us-l10n-cash-flow-statement-tags.png
|
||||
:align: center
|
||||
:alt: Examples of tagged accounts that are included in the Cash Flow Statement in Odoo.
|
||||
|
||||
Additionally, the cash flow statement in Odoo:
|
||||
|
||||
- is limited to the *Bank* and *Cash* journals to reflect money coming in or out; and
|
||||
- also contains *Expenses* accounts, to show the counterpart transactions versus *Bank* or *Cash*
|
||||
journal entries, while excluding |AR| and |AP| activity.
|
||||
|
||||
.. example::
|
||||
Create a vendor bill for $100, as an operating expense (not |AP|). Doing so will **not** reflect
|
||||
a transaction on the cash flow statement. However, register a corresponding payment for $100,
|
||||
and the transaction **will** reflect on the cash flow statement as :guilabel:`Cash paid for
|
||||
operating activities`.
|
||||
|
||||
.. image:: united_states/us-l10n-operating-expenses-example.png
|
||||
:align: center
|
||||
:alt: Example of a bill registered as an operating expense as part of a cash flow statement.
|
||||
|
||||
.. _l10n_us/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`
|
||||
|
||||
.. _l10n_us/writing-checks:
|
||||
|
||||
Writing checks
|
||||
==============
|
||||
|
||||
Using checks is still a common payment practice in the US. Be sure the *US Checks Layout*
|
||||
(`l10n_us_check_printing`) module for the US 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) - US`
|
||||
- :guilabel:`Print Check (Middle) - US`
|
||||
- :guilabel:`Print Check (Bottom) - US`
|
||||
|
||||
Next, choose whether or not to enable the :guilabel:`Multi-Pages Check Stub` checkbox.
|
||||
|
||||
Optionally set a :guilabel:`Check Top Margin` and :guilabel:`Check Left Margin`, if 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,
|
||||
https://checkdepot.net/collections/odoo-checks is recommended.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/payments/pay_checks`
|
||||
|
||||
.. _l10n_us/payroll:
|
||||
|
||||
Payroll
|
||||
=======
|
||||
|
||||
The *Payroll* application is responsible for calculating an employee's pay, taking into account all
|
||||
work, vacation, and sick time, benefits, and deductions. The *Payroll* app pulls information from
|
||||
the *Attendances*, *Timesheets*, *Time Off*, *Employees* and *Expenses* applications, to calculate
|
||||
the worked hours and compensation for each employee.
|
||||
|
||||
When using an external payroll provider, such as *ADP*, it is necessary to export the various
|
||||
payroll-related data, such as work entries, repayment of expenses, taxes, commissions, and any other
|
||||
relevant data, so the data can be uploaded into the payroll provider, who then issues the actual
|
||||
paychecks or directly deposits the funds into an employee's bank account.
|
||||
|
||||
In order to export the payroll data, the work entries must first be validated and correct. Refer to
|
||||
the :doc:`work entries <../../hr/payroll/work_entries>` documentation for more information
|
||||
regarding validating work entries.
|
||||
|
||||
Once work entries are validated, the information can be :ref:`exported to ADP <l10n_us/adp>`.
|
||||
|
||||
After payments have been issued to employees, payslips can be processed into batches, validated, and
|
||||
posted to the corresponding accounting journals to keep all financial records in Odoo current.
|
||||
|
||||
Required information
|
||||
--------------------
|
||||
|
||||
It is important to have the *Employees* application installed, and all employee information
|
||||
populated. Several fields in both the :ref:`employee records <l10n_us/payroll-employee-records>`, as
|
||||
well as in an :ref:`employee contracts <l10n_us/payroll-employee-contracts>`, are necessary to
|
||||
properly process the employee's pay. Ensure the following fields are filled out in their respective
|
||||
places.
|
||||
|
||||
.. _l10n_us/payroll-employee-records:
|
||||
|
||||
Employee records
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
In each employee record, there is various information the *Payroll* application requires to properly
|
||||
process payslips, including various banking, tax, and work information.
|
||||
|
||||
Navigate to the :menuselection:`Employees app` and select an employee record to view the sections of
|
||||
the employee form that directly affect *Payroll*:
|
||||
|
||||
- :guilabel:`Work Information` tab:
|
||||
|
||||
- :guilabel:`Work Address`: indicates where the employee is located, including the state, which
|
||||
affects the tax calculations.
|
||||
- :guilabel:`Working Hours`: determines how pay is calculated, and determines if an employee earns
|
||||
overtime.
|
||||
|
||||
- :guilabel:`Private Information` tab:
|
||||
|
||||
- :guilabel:`SSN No`: the last four digits of the employee's Social Security Number (SSN) appears
|
||||
on payslips.
|
||||
- :guilabel:`Bank Account Number`: the bank account associated with the NACHA payment file.
|
||||
|
||||
- :guilabel:`HR Settings` tab:
|
||||
|
||||
- :guilabel:`Federal Tax Filing Status`: the tax status an employee uses for Payroll tax
|
||||
calculations, which can be different from their state status.
|
||||
- :guilabel:`State Tax Filing Status`: the tax status an employee uses for their state portion of
|
||||
the Payroll tax calculation.
|
||||
- :guilabel:`W-2 Form`: a US tax form indicating the summary of wages, taxes, and benefits paid to
|
||||
an employee during a tax period (typically one year).
|
||||
- :guilabel:`W-4 Form`: an IRS form that helps outline the amount of federal taxes to withhold for
|
||||
an employee, which is paid to the IRS by the company.
|
||||
|
||||
.. _l10n_us/payroll-employee-contracts:
|
||||
|
||||
Employee contracts
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Additionally, there is information that is found in an employee contract that also affects the
|
||||
*Payroll* application.
|
||||
|
||||
Navigate to the :menuselection:`Employees app --> Employees --> Contracts` and select a contract
|
||||
record to view the sections of a contract that directly affect *Payroll*:
|
||||
|
||||
- :guilabel:`General Information`:
|
||||
|
||||
- :guilabel:`Salary Structure Type: United States: Employee`: defines when the employee is paid,
|
||||
their working schedule, and the work entry type.
|
||||
- :guilabel:`Work Entry source`: determines how work entries are calculated.
|
||||
|
||||
- :guilabel:`Salary Information` tab:
|
||||
|
||||
- :guilabel:`SSN No`: the last four digits of the employee's Social Security Number (SSN) appears
|
||||
on payslips.
|
||||
- :guilabel:`Wage type`: determines how the employee is paid, wether a Fixed wage (salary) or
|
||||
Hourly wage.
|
||||
- :guilabel:`Schedule Pay`: defines how often the employee is paid, either :guilabel:`Annually`,
|
||||
:guilabel:`Semi-annually`, :guilabel:`Quarterly`, :guilabel:`Bi-monthly`, :guilabel:`Monthly`,
|
||||
:guilabel:`Semi-monthly`, :guilabel:`Bi-weekly`, :guilabel:`Weekly`, or :guilabel:`Daily`. In
|
||||
the US, Semi-monthly (24 payments a year) or bi-weekly (26 payments a year) are the most common.
|
||||
- :guilabel:`Wage, Yearly, and Monthly cost`: used to show the total cost of an employee. It is
|
||||
recommended to populate the :guilabel:`Yearly` wage first, as it auto-populates the other
|
||||
fields.
|
||||
- :guilabel:`Pre-tax benefits`: populate this section according to the employee's selections.
|
||||
Pre-tax benefits decrease the gross wage, which lowers the base amount that is taxed. These are
|
||||
displayed at the beginning of the payslip.
|
||||
- :guilabel:`Post-tax benefits`: these benefits are deductions made *after* taxes are calculated.
|
||||
These appear towards the end of the payslip before the net amount is displayed.
|
||||
|
||||
.. seealso::
|
||||
:doc:`Employees documentation <../../hr/employees/new_employee>`
|
||||
|
||||
.. _l10n_us/adp:
|
||||
|
||||
Export work entries to ADP
|
||||
--------------------------
|
||||
|
||||
Requirements
|
||||
~~~~~~~~~~~~
|
||||
|
||||
In order to create a report that can be uploaded to ADP, there are some initial configuration steps
|
||||
that must be completed first.
|
||||
|
||||
First, ensure the *United States - Payroll - Export to ADP* (`l10n_us_hr_payroll_adp`) module is
|
||||
:ref:`installed <general/install>`.
|
||||
|
||||
Then, the company **must** have an *ADP Code* entered in the company settings. To do so, navigate
|
||||
to :menuselection:`Payroll app --> Configuration --> Settings`. Enter the :guilabel:`ADP Code` in
|
||||
the :guilabel:`US Localization` section.
|
||||
|
||||
Next, work entry types **must** have the correct ADP code listed in the *External Code* field for
|
||||
each work entry type that is being referenced.
|
||||
|
||||
Lastly, every employee **must** have an *ADP Code* entered on their employee form. To do so,
|
||||
navigate to :menuselection:`Employees app`, select an employee record, and open the :guilabel:`HR
|
||||
Settings` tab. Enter the :guilabel:`ADP Code` in the :guilabel:`ADP Information` section.
|
||||
|
||||
The :guilabel:`ADP Code` code is how ADP identifies that particular employee, and is typically a
|
||||
six-digit number.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`payroll/new-work-entry`
|
||||
- :doc:`../../hr/employees/new_employee`
|
||||
|
||||
Export data
|
||||
~~~~~~~~~~~
|
||||
|
||||
Once :doc:`work entries <../../hr/payroll/work_entries>` have been verified, the information can be
|
||||
exported to a CSV file, which can then be uploaded into ADP.
|
||||
|
||||
To export the data, navigate to :menuselection:`Payroll app --> Reporting --> United States: ADP
|
||||
Export`, then click :guilabel:`New`. Next, enter the :guilabel:`Start Date` and :guilabel:`End Date`
|
||||
for the work entries using the calendar pop-over.
|
||||
|
||||
Then, enter a :guilabel:`Batch ID` in the corresponding field. The recommendation for this field is
|
||||
to enter the date in a `YY-MM-DD` format, followed by any other characters to distinguish that
|
||||
specific batch, such as a department name, or any other defining characteristics for the batch.
|
||||
|
||||
Enter a :guilabel:`Batch Description` in the corresponding field. This should be short and
|
||||
descriptive, but distinct from the :guilabel:`Batch Name`.
|
||||
|
||||
Ensure the correct company populates the :guilabel:`Company` field. Change the selected company with
|
||||
the drop-down menu, if needed.
|
||||
|
||||
Lastly, add the employee's work entry information to the list. Click :guilabel:`Add a line` and an
|
||||
:guilabel:`Add: Employee` pop-up window loads. The list can be :doc:`filtered
|
||||
<../../essentials/search>` to more easily find the employees to add to the list.
|
||||
|
||||
.. tip::
|
||||
Process the data export in multiple groups instead of in one large group that contains all
|
||||
employees. This helps to meaningfully differentiate the batches and makes processing more
|
||||
tenable, overall. The most common ways to group employees is by department, or by wage type
|
||||
(hourly or salaried).
|
||||
|
||||
Select the employees to add to the list by ticking the box to the left of their name. Once all
|
||||
desired employees have been selected, click the :guilabel:`Select` button in the lower-left corner,
|
||||
and the employees appear in the list.
|
||||
|
||||
To create the CSV file, click the :guilabel:`Generate` button in the top-left corner.
|
||||
|
||||
.. _l10n_us/ach-electronic-transfers:
|
||||
|
||||
ACH - electronic transfers
|
||||
==========================
|
||||
|
||||
Automated Clearing House (ACH) payments are a modern way to transfer funds electronically between
|
||||
bank accounts, replacing traditional paper-based methods. |ACH| payments are commonly used for
|
||||
direct deposits, bill payments, and business transactions.
|
||||
|
||||
Receive ACH payments: payment provider integration
|
||||
--------------------------------------------------
|
||||
|
||||
|ACH| payments are supported by *Authorize.net* and *Stripe* payment integrations in Odoo.
|
||||
|
||||
.. seealso::
|
||||
- :ref:`Setting up Authorize.net for ACH payments (Odoo) <authorize/ach_payments>`
|
||||
- `Authorize.net's ACH payment processing for small businesses documentation
|
||||
<https://www.authorize.net/resources/blog/2021/ach-payments-for-small-businesses.html>`_
|
||||
- :doc:`Setting up Stripe for ACH payments (Odoo) <../payment_providers/stripe>`
|
||||
- `Stripe's ACH Direct Debit documentation <https://docs.stripe.com/payments/ach-debit>`_
|
||||
|
||||
.. _l10n_us/nacha:
|
||||
|
||||
Send payments: NACHA files
|
||||
--------------------------
|
||||
|
||||
Odoo can generate a National Automated Clearing House Association (NACHA) compatible |ACH| file to
|
||||
send to a company's bank. For each individual *Bank* journal that the company wishes to pay vendors
|
||||
with, a |NACHA| configuration section needs to be filled out on the Odoo database.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
First, navigate to the :menuselection:`Accounting app --> Configuration --> Journals`. Open the
|
||||
bank journal and click into the :guilabel:`Outgoing Payments` tab.
|
||||
|
||||
.. image:: united_states/us-l10n-nacha-settings.png
|
||||
:align: center
|
||||
:alt: NACHA (National Automated Clearing House Association) configuration settings on Odoo.
|
||||
|
||||
.. note::
|
||||
The following |NACHA| configuration information is normally provided by the company's financial
|
||||
institution once they have been approved to send payments via their account.
|
||||
|
||||
Under the section labeled, :guilabel:`NACHA configuration` are the fields required to generate a
|
||||
|NACHA| compatible |ACH| file to send to a company's bank. First, enter the routing number of the
|
||||
financial institution in the field labeled, :guilabel:`Immediate Destination`. This information is
|
||||
widely available on the Internet and generally varies by bank location. This number is usually
|
||||
provided during the initial account setup.
|
||||
|
||||
Next, enter the registered name of the financial institution in the field called,
|
||||
:guilabel:`Destination`. This information will be provided by the bank or credit union.
|
||||
|
||||
Following the :guilabel:`Destination` field is the :guilabel:`Immediate Origin` field. Enter the
|
||||
9-digit company ID or Employer Identification Number (EIN) into this field. This information is
|
||||
provided by the financial institution.
|
||||
|
||||
Next, enter the :guilabel:`Company Identification` number, which is a 10-digit number made from
|
||||
combining the 9-digit company ID or Employer Identification Number (EIN), along with an additional
|
||||
number at the start of the sequence. This number is often a `1`. Check with the financial
|
||||
institution should this first number differ to verify that it is correct, as this number is provided
|
||||
for |ACH| approved accounts.
|
||||
|
||||
Enter the :guilabel:`Originating DFI Identification` number next, which should contain an assigned
|
||||
8-digit number from the financial institution.
|
||||
|
||||
.. important::
|
||||
Enter the numerical values in this section *exactly* as the company's financial institution
|
||||
(e.g. bank or credit union) has provided them, otherwise risk failing a successful |NACHA|
|
||||
configuration in Odoo.
|
||||
|
||||
.. image:: united_states/us-l10n-nacha-dropdown.png
|
||||
:align: center
|
||||
:alt: NACHA settings with the standard entry class code drop-down menu highlighted.
|
||||
|
||||
There are two options for the next field: :guilabel:`Standard Entry Class Code`. Select the
|
||||
drop-down menu to the right of the field and pick either :guilabel:`Corporate Credit or Debit (CCD)`
|
||||
or :guilabel:`Prearranged Payment and Deposit (PPD)`. Again, this information will be provided by
|
||||
the financial institution. By default :guilabel:`Corporate Credit or Debit (CCD)` is selected.
|
||||
|
||||
Finally, the last option is for :guilabel:`Generated Balanced Files`. Tick the checkbox to the right
|
||||
of the field to enable :guilabel:`Generated Balanced Files`. Consult the company's accountant or
|
||||
financial advisor to make an informed decision for this field.
|
||||
|
||||
Manually save the configuration by clicking the :icon:`fa-cloud-upload` :guilabel:`(cloud upload)`
|
||||
icon, or navigate away from this screen to auto-save. The configuration is now complete.
|
||||
|
||||
.. _l10n_us/batch-payment:
|
||||
|
||||
Create batch payment
|
||||
~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Now, record each payment in Odoo using the |NACHA| payment method.
|
||||
|
||||
.. seealso::
|
||||
:ref:`Register Payments in Odoo <payments/register>`
|
||||
|
||||
.. important::
|
||||
Be aware of the cut-off time for same-day payments. Either the file needs to have a future date
|
||||
associated with each payment or the file needs to be sent prior to the cut-off, if the dates
|
||||
included in it match today's date. Consult the financial institution for the exact cut-off time
|
||||
for their processing of same-day payments.
|
||||
|
||||
Once all the payments to be included in the |NACHA| |ACH| file have been made, a batch payment needs
|
||||
to be made from the :icon:`fa-cog` :guilabel:`Action` menu.
|
||||
|
||||
To create the batch payments, access the payments page, by navigating to :menuselection:`Accounting
|
||||
--> Vendors --> Payments`. Select all the payments that should be included in the |NACHA| |ACH|
|
||||
file, by ticking the checkboxes to the far-left of the rows.
|
||||
|
||||
.. image:: united_states/us-l10n-create-batch-payments.png
|
||||
:align: center
|
||||
:alt: On the payments screen, the action menu is highlighted with create a batch payment
|
||||
selected.
|
||||
|
||||
.. warning::
|
||||
All payments in the batch must share the same payment method.
|
||||
|
||||
Next, navigate to the batched payment (:menuselection:`Accounting --> Vendors --> Batch Payments`).
|
||||
Click into the payment just created and then click into the :guilabel:`Exported File` tab. The
|
||||
generated file is listed with the :guilabel:`Generation Date`. Click the :icon:`fa-download`
|
||||
:guilabel:`(download)` button to download the file.
|
||||
|
||||
.. image:: united_states/us-l10n-batch-file.png
|
||||
:align: center
|
||||
:alt: The exported file tab highlighted in the batch payment with the download circled.
|
||||
|
||||
If any adjustments need to be made, click the :guilabel:`Re-generate Export File` button to recreate
|
||||
a new |NACHA| |ACH| file.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../accounting/payments/batch`
|
||||
- :doc:`Europe's direct debiting <../accounting/payments/batch_sdd>`
|
||||
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 19 KiB |
@@ -243,13 +243,13 @@ themselves. To modify them, go to :menuselection:`Accounting --> Configuration -
|
||||
Configuration --> Payment Methods`, then click on the payment method.
|
||||
|
||||
To modify a payment method's icon, hover your mouse over the image in the upper-right corner of the
|
||||
payment method's form and click the pencil icon (:guilabel:`✎`).
|
||||
payment method's form and click the :icon:`fa-pencil` (:guilabel:`pencil`) icon.
|
||||
|
||||
Select the :guilabel:`Brands` tab to view the brands that have been activated for the payment
|
||||
method. The brands and their related icons are displayed based on their sequence order; to reorder
|
||||
them, drag and drop them in the desired order. To modify a brand's icon, select the brand, then,
|
||||
in the popup window that opens, hover the mouse over the image in the upper-right corner and click
|
||||
the pencil icon (:guilabel:`✎`).
|
||||
the :icon:`fa-pencil` (:guilabel:`pencil`) icon.
|
||||
|
||||
Advanced configuration
|
||||
----------------------
|
||||
@@ -367,6 +367,14 @@ You can adapt the payment provider's availability by specifying the :guilabel:`M
|
||||
allowed and modifying the :guilabel:`Currencies` and :guilabel:`Countries` in the
|
||||
:guilabel:`Configuration` tab.
|
||||
|
||||
.. tip::
|
||||
To display an availability report for payment providers and payment methods, and to help diagnose
|
||||
potential availability issues on the payment form, enable the :ref:`developer-mode`, then click
|
||||
the :icon:`fa-bug` (:guilabel:`bug`) icon next to the :guilabel:`Choose a payment method`
|
||||
heading on the payment form. The report includes a list of enabled payment providers and payment
|
||||
methods, reasons for any payment providers or methods not being available, if applicable, and a
|
||||
list of supported providers for each payment method.
|
||||
|
||||
.. _payment_providers/currencies_countries:
|
||||
|
||||
Currencies and countries
|
||||
|
||||
@@ -50,6 +50,8 @@ customer's card, but not charged yet.
|
||||
.. seealso::
|
||||
- :doc:`../payment_providers`
|
||||
|
||||
.. _authorize/ach_payments:
|
||||
|
||||
ACH payments (USA only)
|
||||
=======================
|
||||
|
||||
|
||||
@@ -32,7 +32,7 @@ If you selected :guilabel:`Pending` as **payment outcome**, you can change the s
|
||||
transaction straight from its form view. To access a transaction's form view, activate the
|
||||
:ref:`developer mode <developer-mode>`, and go to :menuselection:`Accounting / Website -->
|
||||
Configuration --> Payment Transactions`. Then, change the status of a transaction by clicking on the
|
||||
state bar (:guilabel:`Draft, Pending, Authorized, Confirmed, Canceled, Error`).
|
||||
state bar (:guilabel:`Draft, Pending, Authorized, Confirmed, Cancelled, Error`).
|
||||
|
||||
.. image:: demo/demo-view-form.png
|
||||
:align: center
|
||||
|
||||
@@ -33,6 +33,8 @@ Configuration on the Xendit Dashboard
|
||||
#. In the :guilabel:`Webhook URL` section, enter your Odoo database's URL, followed by
|
||||
`/payment/xendit/webhook` (e.g., `https://example.odoo.com/payment/xendit/webhook`) in the field
|
||||
:guilabel:`Invoices paid` and click the :guilabel:`Test and save` button next to it.
|
||||
#. Navigate to the `Card Settings page <https://dashboard.xendit.co/settings/payment-methods/cards-configuration>`_
|
||||
and ensure that :guilabel:`Optional 3DS` is enabled while :guilabel:`Dynamic 3DS` is disabled.
|
||||
|
||||
Configuration on Odoo
|
||||
=====================
|
||||
|
||||
@@ -7,6 +7,7 @@ General settings
|
||||
general/apps_modules
|
||||
general/users
|
||||
general/companies
|
||||
general/multi_company
|
||||
general/iot
|
||||
general/email_communication
|
||||
general/integrations
|
||||
|
||||
@@ -133,6 +133,8 @@ appears.
|
||||
|
||||
For more information on pricing, see `Odoo's pricing <https://www.odoo.com/pricing-plan>`_ page.
|
||||
|
||||
.. _general/employee-access:
|
||||
|
||||
Employee access
|
||||
===============
|
||||
|
||||
@@ -189,6 +191,8 @@ Document Layout` and edit the information as needed.
|
||||
populated from the company information listed, when navigating here: :menuselection:`Settings app
|
||||
--> Companies section --> Manage Companies`, and select a company from the list.
|
||||
|
||||
.. _general/inter-company:
|
||||
|
||||
Inter-company transactions
|
||||
==========================
|
||||
|
||||
|
||||
@@ -12,8 +12,9 @@ Outgoing emails
|
||||
Email is not sent
|
||||
-----------------
|
||||
|
||||
The first indicator showing that an email has not been sent is the presence of a red :guilabel:`✉️
|
||||
(envelope)` icon, next to the date and time of the message, located in the chatter.
|
||||
The first indicator showing that an email has not been sent is the presence of a red
|
||||
:icon:`fa-envelope` :guilabel:`(envelope)` icon, next to the date and time of the message, located
|
||||
in the chatter.
|
||||
|
||||
.. image:: faq/red-envelop.png
|
||||
:align: center
|
||||
@@ -42,13 +43,18 @@ Odoo's email servers from being blacklisted.
|
||||
Here are the default limits for new databases:
|
||||
|
||||
- **200 emails per day** for Odoo Online and Odoo.sh databases with an active subscription.
|
||||
- **20 emails per day** for one-app free databases.
|
||||
- **50 emails per day** for trial databases.
|
||||
- In the case of migration, the daily limit might be reset to 50 emails per day.
|
||||
- **50 emails per day** for one-app free and trial databases.
|
||||
|
||||
.. important::
|
||||
In a one-app free database, if the *Email Marketing* app is installed, the email limit is **20
|
||||
emails per day**.
|
||||
|
||||
.. note::
|
||||
In the case of migration, the daily limit might be reset to 50 emails per day.
|
||||
|
||||
If the daily limit is reached:
|
||||
|
||||
- Contact the Odoo support team, who may increase the daily limit depending on the following
|
||||
- Contact the Odoo support team, who may increase the daily limit, depending on the following
|
||||
factors:
|
||||
|
||||
#. How many users are in the database?
|
||||
@@ -72,7 +78,7 @@ If the daily limit is reached:
|
||||
SMTP error
|
||||
**********
|
||||
|
||||
Simple Mail Transport Protocol (SMTP) error messages explain why an email wasn't transmitted
|
||||
*Simple Mail Transport Protocol (SMTP)* error messages explain why an email was not transmitted
|
||||
successfully. :abbr:`SMTP (Simple Mail Transport Protocol)` is a protocol to describe the email
|
||||
structure, and transmits data from messages over the Internet. The error messages generated by email
|
||||
services are helpful tools to diagnose and troubleshoot email problems.
|
||||
@@ -83,9 +89,9 @@ services are helpful tools to diagnose and troubleshoot email problems.
|
||||
mta4471.mail.bf1.yahoo.com --- Below this line is a copy of the message.`
|
||||
|
||||
The debug menu can be used to investigate SMTP sending issues from a database. To access the menu,
|
||||
:ref:`developer mode <developer-mode>` must be activated. Once activated, navigate to the
|
||||
:menuselection:`Debug Menu` in the top right of the menu bar (the :guilabel:`🐞 (bug)` icon),
|
||||
:menuselection:`Debug Menu --> Manage Messages`
|
||||
:ref:`developer mode <developer-mode>` **must** be activated. Once activated, navigate to the
|
||||
:menuselection:`Debug Menu` in the top-right of the menu bar (the :icon:`fa-bug` :guilabel:`(bug)`
|
||||
icon), and select :menuselection:`Debug Menu --> Manage Messages` from the resulting drop-down menu.
|
||||
|
||||
The :guilabel:`Manage Messages` menu opens a list of all the messages sent in a particular record.
|
||||
Within each message there is information on sending, including the type, and subtype, of the
|
||||
@@ -128,11 +134,10 @@ Email is sent late
|
||||
Email campaigns send at a scheduled time, using a delay pre-programed in the database. Odoo uses a
|
||||
delayed task to send emails that are considered "not urgent" (newsletter formats, such as: mass
|
||||
mailing, marketing automation, and events). The system utility **cron** can be used to schedule
|
||||
programs to run automatically at predetermined intervals. Odoo uses that policy in order to avoid
|
||||
cluttering the mail servers and, instead, prioritizes individual communication. This **cron** is
|
||||
called :guilabel:`Mail: Email Queue Manager`, and can be accessed in :ref:`developer mode
|
||||
<developer-mode>` by going to :menuselection:`Settings app --> Technical menu --> Automation -->
|
||||
Scheduled Actions`.
|
||||
programs to run automatically at predetermined intervals. Odoo uses that policy to avoid cluttering
|
||||
the mail servers and, instead, prioritizes individual communication. This **cron** is called
|
||||
:guilabel:`Mail: Email Queue Manager`, and can be accessed in :ref:`developer mode <developer-mode>`
|
||||
by going to :menuselection:`Settings app --> Technical menu --> Automation: Scheduled Actions`.
|
||||
|
||||
.. image:: faq/email-scheduled-later.png
|
||||
:align: center
|
||||
@@ -154,9 +159,9 @@ invoices, purchase orders, etc.) are sent immediately.
|
||||
Incoming emails
|
||||
===============
|
||||
|
||||
When there is an issue with incoming emails, there might not be an indication, per se, in Odoo. It
|
||||
is the sending email client, who tries to contact a database, that will get a bounce-back message
|
||||
(most of the time a :guilabel:`550: mailbox unavailable` error message).
|
||||
When there is an issue with incoming emails, there might not be an indication in Odoo. It is the
|
||||
sending email client, who tries to contact a database, that gets a bounce-back message (most of the
|
||||
time it is a :guilabel:`550: mailbox unavailable` error message).
|
||||
|
||||
Email is not received
|
||||
---------------------
|
||||
@@ -229,5 +234,5 @@ of what can be helpful when reaching out to the Odoo Support team about an issue
|
||||
.. note::
|
||||
The bounce system parameter needs to be set in the technical settings in order for the database
|
||||
to correctly receive bounce messages. To access this setting, go to :menuselection:`Settings app
|
||||
--> Technical menu --> Parameters --> System Parameters`. Then select the parameter name
|
||||
:guilabel:`mail.bounce.alias` and set the value to `bounce` if it isn't already set.
|
||||
--> Technical menu --> Parameters: System Parameters`. Then, select the parameter name
|
||||
:guilabel:`mail.bounce.alias` and set the value to `bounce` if it is not already set.
|
||||
|
||||
@@ -120,4 +120,4 @@ the right of the chatter. Then, select :guilabel:`Translate`. The content transl
|
||||
:alt: Google Translate present in an Odoo database's chatter.
|
||||
|
||||
.. seealso::
|
||||
:ref:`language/change-user-language`
|
||||
:ref:`language/install`
|
||||
|
||||
@@ -14,3 +14,4 @@ Configuration
|
||||
config/updating_iot
|
||||
config/troubleshooting
|
||||
config/windows_iot
|
||||
config/ssh_connect
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
==========================
|
||||
Connect an IoT box via SSH
|
||||
==========================
|
||||
|
||||
.. |iot| replace:: :abbr:`IoT (Internet of Things)`
|
||||
.. |SSH| replace:: :abbr:`SSH (secure shell protocol)`
|
||||
|
||||
To provide an |SSH| connection to an Internet of Things (IoT) box, a password needs to be generated.
|
||||
|
||||
.. warning::
|
||||
This feature should **only** be utilized with trusted parties, as it provides administrative
|
||||
access to the |iot| box, which can create security issues.
|
||||
|
||||
Managing an |SSH| connection is **not** covered under the standard scope of Odoo support. Visit
|
||||
the `Odoo Support <https://www.odoo.com/help>`_ page for additional information about what is
|
||||
covered.
|
||||
|
||||
First, navigate to the :menuselection:`IoT app --> IoT Boxes`. Click on the IP address of the
|
||||
appropriate |iot| box.
|
||||
|
||||
.. note::
|
||||
If the desired |iot| box does not appear, see :doc:`troubleshooting` for additional steps.
|
||||
|
||||
At the bottom of the |iot| box pop-up window, click :guilabel:`Remote Debug`. This opens the
|
||||
:guilabel:`Remote Debugging` pop-up window.
|
||||
|
||||
.. image:: ssh_connect/ssh-generate-password.png
|
||||
:align: center
|
||||
:alt: The Remote Debugging password generation window.
|
||||
|
||||
Click :guilabel:`Generate password`.
|
||||
|
||||
.. warning::
|
||||
After the password has been generated from the :guilabel:`Remote Debugging` pop-up window, the
|
||||
information **must** be recorded immediately. Once this window is closed, there is no current
|
||||
method for looking up this information.
|
||||
|
||||
Enter the :guilabel:`Authentication Token` provided by the user attempting to connect to the |iot|
|
||||
box.
|
||||
|
||||
Click :guilabel:`Enable Remote Debugging`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`connect`
|
||||
- :doc:`troubleshooting`
|
||||
- :doc:`updating_iot`
|
||||
|
After Width: | Height: | Size: 27 KiB |
@@ -2,6 +2,9 @@
|
||||
Connect a printer
|
||||
=================
|
||||
|
||||
.. |iot| replace:: :abbr:`IoT (Internet of Things)`
|
||||
.. |usb| replace:: :abbr:`USB (Universal Serial Bus)`
|
||||
|
||||
Printer installation can be done in a few easy steps. The printer can be used to print receipts,
|
||||
labels, orders, or even reports from the different Odoo apps. In addition, printer actions can be
|
||||
assigned as an *action on a trigger* during the manufacturing process, or added onto a quality
|
||||
@@ -10,17 +13,16 @@ control point or a quality check.
|
||||
Connection
|
||||
==========
|
||||
|
||||
The :abbr:`IoT (Internet of Things)` box supports printers connected through :abbr:`USB (Universal
|
||||
Serial Bus)`, network connection, or Bluetooth. `Supported printers
|
||||
<https://www.odoo.com/page/iot-hardware>`__ are detected automatically, and appear in the
|
||||
:guilabel:`Devices` list of the *IoT app*.
|
||||
The |iot| box supports printers connected through |usb|, network connection, or Bluetooth.
|
||||
`Supported printers <https://www.odoo.com/page/iot-hardware>`__ are detected automatically, and
|
||||
appear in the :guilabel:`Devices` list of the *IoT* app.
|
||||
|
||||
.. image:: printer/printer-detected.png
|
||||
:align: center
|
||||
:alt: The printer as it would appear in the IoT app devices list.
|
||||
|
||||
.. note::
|
||||
The printer can take up to two minutes to appear in the *IoT app* devices list.
|
||||
Printers can take up to two minutes to appear in the *IoT* app :guilabel:`Devices` list.
|
||||
|
||||
Link printer
|
||||
============
|
||||
@@ -63,15 +65,16 @@ specific product.
|
||||
|
||||
.. note::
|
||||
On a quality check detail form, the :guilabel:`Type` of check can also be specified to
|
||||
:guilabel:`Print Label`. To create new quality checks, navigate to :menuselection:`Quality app
|
||||
--> Quality Control --> Quality Checks --> New`.
|
||||
:guilabel:`Print Label`. To create :doc:`new quality checks
|
||||
<../../../inventory_and_mrp/quality/quality_management/quality_checks>`, navigate to
|
||||
:menuselection:`Quality app --> Quality Control --> Quality Checks --> New`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/inventory_and_mrp/quality/quality_management/quality_control_points`
|
||||
- :doc:`/applications/inventory_and_mrp/quality/quality_management/quality_alerts`
|
||||
- :doc:`../../../inventory_and_mrp/quality/quality_management/quality_control_points`
|
||||
- :doc:`../../../inventory_and_mrp/quality/quality_management/quality_alerts`
|
||||
|
||||
Link a printer to a work center in the Manufacturing app
|
||||
--------------------------------------------------------
|
||||
Link a printer to a work center
|
||||
-------------------------------
|
||||
|
||||
To link a printer to an action, it first needs to be configured on a work center. To do that,
|
||||
navigate to :menuselection:`Manufacturing app --> Configuration --> Work Centers`. From here, select
|
||||
@@ -94,29 +97,52 @@ Slip`. A key can also be added to trigger the action.
|
||||
.. seealso::
|
||||
:ref:`workcenter_iot`
|
||||
|
||||
.. _iot/link-printer:
|
||||
|
||||
Link printer to reports
|
||||
-----------------------
|
||||
|
||||
It's also possible to link a type of report to a certain printer. In the *IoT app*, go to the
|
||||
:guilabel:`Devices` menu, and select the desired printer that needs to be configured.
|
||||
It is possible to link report types to a specific printer. In the *IoT* app, go to the
|
||||
:guilabel:`Devices` menu, and select the desired printer to be configured.
|
||||
|
||||
From here, click :guilabel:`Edit`, go to the :guilabel:`Printer Reports` tab, and select
|
||||
:guilabel:`Add a line`. In the window that appears, check all the types of :guilabel:`Reports` that
|
||||
should be linked to this printer.
|
||||
From here, go to the :guilabel:`Printer Reports` tab, and click :guilabel:`Add a line`. In the
|
||||
window that appears, check all the types of :guilabel:`Reports` that should be linked to this
|
||||
printer.
|
||||
|
||||
.. image:: printer/printers-listed.png
|
||||
.. image:: printer/printer-reports.png
|
||||
:align: center
|
||||
:alt: The printer devices listed in the IoT Devices menu.
|
||||
:alt: The list of reports assigned to a printer in the IoT app.
|
||||
|
||||
Now, each time :guilabel:`Print` is selected in the control panel, instead of downloading a PDF, a
|
||||
pop-up appears which displays all the printer(s) linked to the report. Then Odoo sends the report to
|
||||
the selected printer(s), and automatically prints it.
|
||||
.. tip::
|
||||
Reports can also be configured in the *Technical* menu of the *Settings* app, while in
|
||||
:ref:`debug mode <developer-mode>`. To do that, navigate to :menuselection:`Settings App -->
|
||||
Technical --> Actions: Reports`. From here, select the desired report from the list. Then, an
|
||||
:guilabel:`IoT Device` can be set on the report.
|
||||
|
||||
The first time a linked report is selected to print, a :guilabel:`Select Printers` pop-up window
|
||||
appears. Tick the checkbox next to the correct printer for the report, and click :guilabel:`Print`.
|
||||
At that point, the report is linked to the printer.
|
||||
|
||||
Clear device printer cache
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
After a printer is linked to print a report, the setting is saved in a browser's cache. This means
|
||||
a user can have different devices saved in their cache for different reports, based on the device
|
||||
they use to access Odoo. It also means different users can have a report automatically printed from
|
||||
different printers, based on their preferences.
|
||||
|
||||
To unlink a report from a printer, navigate to :menuselection:`IoT app --> Clear Selected Devices`.
|
||||
This generates a list of reports that are linked to a printer on the current device. Click the
|
||||
:guilabel:`Unlink` button next to each report to remove the link.
|
||||
|
||||
.. important::
|
||||
This step **only** prevents the report from automatically printing to the listed printer from
|
||||
the current browser. The report is still :ref:`linked <iot/link-printer>` on the device, under
|
||||
the :guilabel:`Printer Reports` tab.
|
||||
|
||||
.. image:: printer/clear-reports.png
|
||||
:align: center
|
||||
:alt: A list of reports currently linked to a printer in the IoT app.
|
||||
|
||||
.. seealso::
|
||||
:doc:`POS Order Printing <../../../sales/point_of_sale/restaurant/kitchen_printing>`
|
||||
|
||||
.. tip::
|
||||
Reports can also be configured in the :guilabel:`Technical Menu` while in :ref:`debug mode
|
||||
<developer-mode>`. To do that, navigate to :menuselection:`Settings App --> Technical Menu -->
|
||||
Actions --> Reports`. From here, the individual report can be found in this list, where the
|
||||
:guilabel:`IoT Device` can be set on the report.
|
||||
|
||||
|
After Width: | Height: | Size: 9.9 KiB |
|
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 16 KiB |
@@ -0,0 +1,115 @@
|
||||
=============
|
||||
Multi-company
|
||||
=============
|
||||
|
||||
.. |mcd| replace:: multi-company database
|
||||
|
||||
In Odoo, multiple companies can exist within a single database. This allows for some data to be
|
||||
shared among companies, while still maintaining some level of separation between entities.
|
||||
|
||||
Before deciding to use the multi-company feature, there are several factors to consider.
|
||||
|
||||
.. important::
|
||||
Multi-company is **only** available in *One App Free* databases, or with `Custom
|
||||
<https://www.odoo.com/pricing-plan>`_ plans.
|
||||
|
||||
Accessing multiple companies
|
||||
============================
|
||||
|
||||
The list of :ref:`companies an employee has access to <general/employee-access>` in a |mcd| can be
|
||||
found at the top-right of the main Odoo menu bar, where the active company is listed. Click on the
|
||||
company name to reveal a list of all allowed companies. To switch to a different company, click on
|
||||
the company name in the drop-down menu. To enable multiple companies at once, tick the checkbox next
|
||||
to each desired company name.
|
||||
|
||||
.. figure:: multi_company/company-access.png
|
||||
:align: center
|
||||
:alt: An example of the list of companies a user has access to when logged into a database.
|
||||
|
||||
An example of a user with access to multiple companies. The current company is My Company (San
|
||||
Francisco), while My Company (Chicago) is also active.
|
||||
|
||||
.. note::
|
||||
The database may refresh after each checkbox is ticked.
|
||||
|
||||
.. _general/active-companies:
|
||||
|
||||
Multiple active companies
|
||||
-------------------------
|
||||
|
||||
If more than one company is active at a time, one company is highlighted in purple, and is listed on
|
||||
the menu bar. This is the considered the *current* company.
|
||||
|
||||
When creating a new record, the current company is added to the record in the *Company* field,
|
||||
except under the following circumstances:
|
||||
|
||||
- The *Company* field for a new product, or a new contact, is left blank.
|
||||
- If there is a related document already in the system, the *Company* field on the new record
|
||||
defaults to the same company.
|
||||
|
||||
.. example::
|
||||
Mitchell Admin has multiple companies enabled, but the current company is `My Company (Chicago)`.
|
||||
When he creates a new product record, the :guilabel:`Company` field is left blank by default.
|
||||
|
||||
When he creates a new sales team, the :guilabel:`Company` field automatically defaults to `My
|
||||
Company (Chicago)`.
|
||||
|
||||
Sharing data
|
||||
============
|
||||
|
||||
In a |mcd|, certain records are able to be utilized by all of the companies (or several, based on
|
||||
permissions).
|
||||
|
||||
Products
|
||||
--------
|
||||
|
||||
In an |mcd|, new products are created with the :ref:`Company field <general/active-companies>`
|
||||
blank, by default. If the *Company* field remains blank, the product is shared across all companies.
|
||||
|
||||
Contacts
|
||||
--------
|
||||
|
||||
Similar to products, contact records are shared across companies, by default. To limit access to a
|
||||
single company, click the :ref:`Company field <general/active-companies>` on a contact form, and
|
||||
select a company to assign the contact to.
|
||||
|
||||
Inter-company transactions
|
||||
==========================
|
||||
|
||||
The :ref:`Inter-Company Transactions <general/inter-company>` feature allows for one company in the
|
||||
database to sell or purchase goods and services from another company within the same database.
|
||||
Counterpart documents for orders and invoices can be automatically generated and synchronized,
|
||||
depending on the configuration settings.
|
||||
|
||||
.. warning::
|
||||
To ensure inter-company transactions are handled appropriately, certain configurations, such as
|
||||
fiscal positions and localizations, need to be accurately assigned. See :ref:`Inter-Company
|
||||
Transactions <general/inter-company>` for additional information.
|
||||
|
||||
Use cases
|
||||
=========
|
||||
|
||||
Multinational companies
|
||||
-----------------------
|
||||
|
||||
A multinational retail chain, which operates in the United States and Canada, needs to manage
|
||||
transactions in both USD and CAD currencies.
|
||||
|
||||
Additionally, because both countries have different tax laws and regulations, it is in the best
|
||||
interest of the customer to utilize the multi-company feature.
|
||||
|
||||
This allows for inter-company transactions they need to manage inventory moves across international
|
||||
borders, while making it simple to sell to customers in both countries in their own currency.
|
||||
|
||||
Separate processes
|
||||
------------------
|
||||
|
||||
A small furniture company is developing a new line of products that require a separate procurement,
|
||||
inventory, and manufacturing process. The new products are drastically different from the existing
|
||||
catalog. The company is considering utilizing the multi-company feature to treat this new line as a
|
||||
different entity.
|
||||
|
||||
To keep their database from becoming overly complex, the furniture company does not need to add an
|
||||
entirely new company. Instead, they can take advantage of existing features, such as :doc:`analytic
|
||||
accounting <../finance/accounting/reporting/analytic_accounting>`, and multiple warehouses, to
|
||||
manage the new product line, without having to overly complicate transactions.
|
||||
|
After Width: | Height: | Size: 23 KiB |
@@ -1,63 +1,49 @@
|
||||
===============
|
||||
Change language
|
||||
===============
|
||||
================
|
||||
Change languages
|
||||
================
|
||||
|
||||
Odoo provides you with the option to manage Odoo in different languages,
|
||||
and each user can use Odoo in his own language .
|
||||
You select the language of your database upon its creation. However, you can
|
||||
:ref:`add <language/add>` and :ref:`install <language/install>` additional languages to allow users
|
||||
to manage the database in another language or to
|
||||
:doc:`translate <../../websites/website/configuration/translate>` your website.
|
||||
|
||||
Load your desired language
|
||||
==========================
|
||||
.. _language/add:
|
||||
|
||||
The first thing to do is to load your desired language on your Odoo
|
||||
instance.
|
||||
Add languages
|
||||
=============
|
||||
|
||||
From the general dashboard click on the **Settings** app; on the top
|
||||
left of the page select :menuselection:`Translations --> Load a Translation`,
|
||||
select a language to install and click on **LOAD.**
|
||||
To download additional languages:
|
||||
|
||||
.. image:: language/choose_language01.png
|
||||
:align: center
|
||||
- either click the profile icon in the upper-right corner, select :menuselection:`My profile`, and
|
||||
click the :icon:`fa-globe` (:guilabel:`globe`) icon next to the :guilabel:`Language` field;
|
||||
- or go to the **Settings** app, and click :guilabel:`Add Languages` in the :guilabel:`Languages`
|
||||
section.
|
||||
|
||||
.. note::
|
||||
|
||||
If you check the "Websites to translate" checkbox you will have the option
|
||||
to change the navigation language on your website.
|
||||
|
||||
.. _language/change-user-language:
|
||||
|
||||
Change your language
|
||||
====================
|
||||
|
||||
You can change the language to the installed language by going to the
|
||||
drop-down menu at the top right side of the screen, choose
|
||||
**Preferences**.
|
||||
|
||||
.. image:: language/choose_language02.png
|
||||
:align: center
|
||||
|
||||
Then change the Language setting to your installed language and click
|
||||
**SAVE.**
|
||||
|
||||
.. image:: language/choose_language03.png
|
||||
:align: center
|
||||
|
||||
Open a new menu to view the changes.
|
||||
|
||||
Change another user's language
|
||||
==============================
|
||||
|
||||
Odoo also gives you the possibility for each user to choose his
|
||||
preferred language.
|
||||
|
||||
To change the language for a different user, choose :menuselection:`Users --> Users`
|
||||
from the Settings app. Here you have a list of all users and you can
|
||||
choose the user who you'd like to change the language for. Select the
|
||||
user and click on **Edit** in the top left corner. Under Preferences you
|
||||
can change the Language to any previously installed language and click
|
||||
**SAVE.**
|
||||
|
||||
.. image:: language/choose_language04.png
|
||||
:align: center
|
||||
You can then select the languages you want from the dropdown menu and click :guilabel:`Add`.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../../websites/website/configuration/translate`
|
||||
:doc:`Translations <../../websites/website/configuration/translate>`
|
||||
|
||||
.. _language/install:
|
||||
|
||||
Change languages
|
||||
================
|
||||
|
||||
To select their preferred language, users can click the profile icon in the upper-right corner, go
|
||||
to :menuselection:`My profile`, and select a :guilabel:`Language` in the dropdown list.
|
||||
|
||||
Change another user's language
|
||||
------------------------------
|
||||
|
||||
To change the database language for a user:
|
||||
|
||||
#. Go to the :guilabel:`Settings` app and click :guilabel:`Manage Users` in the :guilabel:`Users`
|
||||
section.
|
||||
|
||||
#. Click on the user whose language you want to change.
|
||||
|
||||
#. Go to the :guilabel:`Preferences` tab and select a previously
|
||||
:ref:`installed language <language/add>` from the :guilabel:`Language` dropdown menu.
|
||||
|
||||
.. note::
|
||||
Emails and documents will be sent to the user in the selected language.
|
||||
|
||||
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 13 KiB |
@@ -170,337 +170,14 @@ document.
|
||||
.. note::
|
||||
In previous versions of Odoo, this section was referred to as :guilabel:`Surveys`.
|
||||
|
||||
Appraisals
|
||||
==========
|
||||
|
||||
Navigate to the main *Appraisals* dashboard by opening the :guilabel:`Appraisals` application. The
|
||||
:guilabel:`Appraisals` dashboard is the default view.
|
||||
|
||||
To view the dashboard at any point in the application, navigate to :menuselection:`Appraisals
|
||||
application --> Appraisals`.
|
||||
|
||||
All appraisals are displayed on the dashboard in a Kanban view, by default, with a list of groupings
|
||||
on the left side of the dashboard, including :guilabel:`Company`, :guilabel:`Department`, and
|
||||
:guilabel:`Status`.
|
||||
|
||||
Click any grouping option to view appraisals for **only** the chosen selection.
|
||||
|
||||
.. note::
|
||||
Only groupings with multiple selections appear in the list. For example, if a database only has
|
||||
one company, the :guilabel:`Company` grouping does **not** appear, since there is no other
|
||||
company to select.
|
||||
|
||||
Each appraisal card displays the following information:
|
||||
|
||||
- :guilabel:`Name`: the employee's name.
|
||||
- :guilabel:`Department`: the department the employee is associated with.
|
||||
- :guilabel:`Company`: the company the employee works for. This only appears in a multi-company
|
||||
database.
|
||||
- :guilabel:`Date`: the date the appraisal was requested, or is scheduled for in the future.
|
||||
- :guilabel:`Activities`: any activities that are scheduled for the appraisal, such as
|
||||
:guilabel:`Meetings` or :guilabel:`Phone Calls.` If no activities are scheduled, an activity can
|
||||
be scheduled from the :guilabel:`🕘 (clock)` icon, located in the bottom-left corner of an
|
||||
appraisal card.
|
||||
- :guilabel:`Manager`: the employee's manager, indicated by the profile icon in the bottom-right
|
||||
corner of an appraisal card.
|
||||
- :guilabel:`Status banner`: the status of the appraisal. A banner appears if an appraisal is
|
||||
marked as either :guilabel:`Canceled` or :guilabel:`Done`. If no banner is present, that means the
|
||||
appraisal has not happened, or has not been scheduled yet.
|
||||
|
||||
To view the details of any appraisal, click on the card to open the appraisal form.
|
||||
|
||||
.. image:: appraisals/dashboard.png
|
||||
:align: center
|
||||
:alt: The Appraisals dashboard with each appraisal in its own box.
|
||||
|
||||
New appraisal
|
||||
-------------
|
||||
|
||||
To create a new appraisal, click the :guilabel:`New` button at the top of the :guilabel:`Appraisals`
|
||||
dashboard to load a blank appraisal form. Then, enter the following information on the form:
|
||||
|
||||
- :guilabel:`Name`: enter the employee's name.
|
||||
- :guilabel:`Manager`: select the employee's manager from the drop-down menu. The manager is
|
||||
responsible for completing the :guilabel:`Manager's Feedback` section of the appraisal. This field
|
||||
auto-populates after the employee is selected, if they have a manager set on their employee
|
||||
profile.
|
||||
- :guilabel:`Appraisal Date`: the current date is automatically entered in this field. This field is
|
||||
automatically updated once the appraisal is completed or canceled, with the corresponding date of
|
||||
completion or cancellation.
|
||||
- :guilabel:`Department`: select the employee's department from the drop-down menu. This field
|
||||
auto-populates after the employee is selected, if they have a department set on their employee
|
||||
profile.
|
||||
- :guilabel:`Company`: select the employee's company from the drop-down menu. This field
|
||||
auto-populates after the employee is selected, if they have a company set on their employee
|
||||
profile.
|
||||
|
||||
.. note::
|
||||
The only required fields for the appraisal form are the employee's :guilabel:`Name`, the
|
||||
:guilabel:`Manager`, and the :guilabel:`Company`.
|
||||
|
||||
Once the form is complete, click the :guilabel:`Confirm` button to confirm the appraisal request.
|
||||
|
||||
Once confirmed, the employee receives an email stating that an appraisal was requested, and is then
|
||||
prompted to schedule an appraisal date.
|
||||
|
||||
The status changes to :guilabel:`Confirmed`, and the :guilabel:`Employee's Feedback` section of the
|
||||
:guilabel:`Appraisal` tab is grayed out. The information in that section only appears after the
|
||||
self-assessment is published by the employee. The :guilabel:`Final Rating` field also appears once
|
||||
the appraisal request is confirmed.
|
||||
|
||||
If there are any existing appraisals for the employee, an :guilabel:`Appraisal` smart button appears
|
||||
at the top of the page, listing the total number of appraisals there are for the employee.
|
||||
|
||||
Ask for feedback
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
As part of the appraisal process, the manager can request feedback on an employee from anyone in the
|
||||
company. Feedback is usually requested from co-workers and other people who interact with, or work
|
||||
with, the employee. This is to get a more well-rounded view of the employee, and aid in the
|
||||
manager's overall assessment.
|
||||
|
||||
To request feedback, the appraisal **must** be confirmed. Once confirmed, an :guilabel:`Ask
|
||||
Feedback` button appears at the top of the form.
|
||||
|
||||
When the :guilabel:`Ask Feedback` button is clicked, an :guilabel:`Ask Feedback` email pop-up form
|
||||
appears, using the :guilabel:`Appraisal: Ask Feedback` email template, which sends the
|
||||
:guilabel:`360 Feedback` survey.
|
||||
|
||||
Enter the employees being asked to complete the survey in the :guilabel:`Recipients` field. Multiple
|
||||
employees may be selected.
|
||||
|
||||
The email template has dynamic placeholders to personalize the message. Add any additional text to
|
||||
the email, if desired.
|
||||
|
||||
If required, an :guilabel:`Answer Deadline` can be added, as well.
|
||||
|
||||
If any attachments are needed, click the :guilabel:`Attachments` button, and a file explorer window
|
||||
appears. Navigate to the file(s), select them, then click :guilabel:`Open`.
|
||||
|
||||
When the email is ready to send, click :guilabel:`Send.`
|
||||
|
||||
.. image:: appraisals/ask-feedback.png
|
||||
:align: center
|
||||
:alt: The email pop-up when requesting feedback from other employees.
|
||||
|
||||
Appraisal form
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
Once an appraisal is confirmed, the next steps are for the employee to fill out the self-assessment,
|
||||
after which the manager completes their assessment.
|
||||
|
||||
.. _appraisals/employee-feedback:
|
||||
|
||||
Employee's feedback
|
||||
*******************
|
||||
|
||||
To complete their portion of feedback, employees should navigate to the main
|
||||
:menuselection:`Appraisals application` dashboard, where the only entries visible are appraisals for
|
||||
the employee, themselves, and/or anyone they manage and have to provide manager feedback for.
|
||||
|
||||
Click on the appraisal to open the appraisal form. Enter responses in the :guilabel:`Employee's
|
||||
Feedback` section, under the :guilabel:`Appraisal` tab.
|
||||
|
||||
When completed, click the :guilabel:`Not Visible to Manager` toggle (the default setting once an
|
||||
appraisal is confirmed). When clicked, the toggle changes to :guilabel:`Visible to Manager`.
|
||||
|
||||
.. image:: appraisals/employee-feedback.png
|
||||
:align: center
|
||||
:alt: The feedback section for the employee with the toggle button highlighted.
|
||||
|
||||
.. _appraisals/manager-feedback:
|
||||
|
||||
Manager's feedback
|
||||
******************
|
||||
|
||||
After the employee has completed the :guilabel:`Employee's Feedback` section, under the
|
||||
:guilabel:`Appraisal` tab, it is time for the manager to fill out the :guilabel:`Manager's Feedback`
|
||||
section.
|
||||
|
||||
The manager enters their responses in the fields in the :ref:`same manner as the employee
|
||||
<appraisals/employee-feedback>`.
|
||||
|
||||
When the feedback section is completed, click the :guilabel:`Not Visible to Employee` toggle (the
|
||||
default setting once an appraisal is confirmed). When clicked, the toggle changes to
|
||||
:guilabel:`Visible to Employee`.
|
||||
|
||||
.. image:: appraisals/manager-feedback.png
|
||||
:align: center
|
||||
:alt: The feedback section for both employees and managers. The toggle buttons are highlighted.
|
||||
|
||||
Skills tab
|
||||
~~~~~~~~~~
|
||||
|
||||
Part of an appraisal is evaluating an employee's skills, and tracking their progress over time. The
|
||||
:guilabel:`Skills` tab of the appraisal form auto-populates with the skills from the :doc:`employee
|
||||
form <../hr/employees/new_employee>`, once an appraisal is confirmed.
|
||||
|
||||
Each skill is grouped with like skills, and the :guilabel:`Skill Level`, :guilabel:`Progress`, and
|
||||
:guilabel:`Justification` are displayed for each skill.
|
||||
|
||||
Update any skills, or add any new skills to the :guilabel:`Skills` tab.
|
||||
|
||||
If a skill level has increased, a reason for the improved rating can be entered into the
|
||||
:guilabel:`Justification` field, such as `took a fluency language test` or `received Javascript
|
||||
certification`.
|
||||
|
||||
Refer to the :ref:`Create a new employee <employees/skills>` document for detailed instructions on
|
||||
adding or updating a skill.
|
||||
|
||||
After an appraisal is completed, and the skills have been updated, the next time an appraisal is
|
||||
confirmed, the updated skills populate the :guilabel:`Skills` tab.
|
||||
|
||||
.. image:: appraisals/skills.png
|
||||
:align: center
|
||||
:alt: The skills tab of an appraisal form, all filled out.
|
||||
|
||||
Private note tab
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
If managers want to leave notes that are only visible to other managers, they can be entered in the
|
||||
:guilabel:`Private Note` tab. The employee being evaluated does **not** have access to this tab, and
|
||||
the tab does **not** appear on their appraisal.
|
||||
|
||||
Schedule a meeting
|
||||
------------------
|
||||
|
||||
Once both portions of an appraisal are completed (the :ref:`employee <appraisals/employee-feedback>`
|
||||
and :ref:`manager <appraisals/manager-feedback>` feedback sections), it is time for the employee and
|
||||
manager to meet and discuss the appraisal.
|
||||
|
||||
A meeting can be scheduled in one of two ways: either from the *Appraisals* application dashboard,
|
||||
or from an individual appraisal card.
|
||||
|
||||
To schedule an appraisal from the dashboard of the *Appraisals* application, first navigate to
|
||||
:menuselection:`Appraisals application --> Appraisals`.
|
||||
|
||||
Click the :guilabel:`🕘 (clock)` icon, beneath the appraisal date on the desired appraisal card, and
|
||||
a :guilabel:`Schedule Activity` pop-up window appears. Then, click :guilabel:`+ Schedule an
|
||||
activity` to create a blank activity form.
|
||||
|
||||
Select :guilabel:`Meeting` for the :guilabel:`Activity Type` from the drop-down menu. Doing so
|
||||
causes the form to change, so only the :guilabel:`Activity Type` and :guilabel:`Summary` fields
|
||||
appear.
|
||||
|
||||
If scheduling an activity other than a meeting, such as a :guilabel:`Call` or a :guilabel:`To-Do`,
|
||||
the fields that appear on the :guilabel:`Schedule Activity` pop-up form change, accordingly.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`🕘 (clock)` icon may appear as a number of different icons, depending on what, if
|
||||
any, scheduled activities are in place, and the color represents their corresponding due dates.
|
||||
|
||||
If no activities are scheduled, that is represented by a gray :guilabel:`🕘 (clock)` icon.
|
||||
|
||||
However, if a specific activity is scheduled, the icon may appear as a :guilabel:`📞 (phone)`
|
||||
icon for a phone call, a :guilabel:`👥 (group of people)` icon for a meeting, and so on.
|
||||
|
||||
The color of the icon indicates the status; a green icon means an activity is scheduled in the
|
||||
future, and a red icon means the activity is past due.
|
||||
|
||||
For more details on activities, refer to the :doc:`../essentials/activities` document.
|
||||
|
||||
.. image:: appraisals/activity-icons.png
|
||||
:align: center
|
||||
:alt: The appraisal cards with the various activity icons highlighted.
|
||||
|
||||
Enter a brief description in the :guilabel:`Summary` field of the :guilabel:`Schedule Activity`
|
||||
pop-up window, such as `Annual Appraisal for (Employee)`.
|
||||
|
||||
Next, click the :guilabel:`Open Calendar` button. From the calendar page that appears, navigate to,
|
||||
and double-click on, the desired date and time for the meeting.
|
||||
|
||||
Doing so opens a :guilabel:`New Event` pop-up form. From this pop-up form, make any desired
|
||||
modifications, such as designating a :guilabel:`Start` time, or giving a :guilabel:`Name` to the
|
||||
meeting.
|
||||
|
||||
Add the appraisee in the :guilabel:`Attendees` section, and include anyone else who should be in the
|
||||
meeting, if necessary.
|
||||
|
||||
To make the meeting a video call, instead of an in-person meeting, click :guilabel:`+ Odoo meeting`,
|
||||
and a :guilabel:`Videocall URL` link appears in the field.
|
||||
|
||||
Once all the desired changes are complete, click :guilabel:`Save & Close`.
|
||||
|
||||
The meeting now appears on the calendar, and the invited parties are informed, via email.
|
||||
|
||||
.. image:: appraisals/meeting.png
|
||||
:align: center
|
||||
:alt: The meeting form with all information entered for Ronnie Hart's annual appraisal.
|
||||
|
||||
The other way to schedule a meeting is from the individual appraisal form. To do this, navigate to
|
||||
the :menuselection:`Appraisal application` dashboard, then click on an appraisal card.
|
||||
|
||||
Next, click on the :guilabel:`Meeting` smart button, and the calendar loads. Follow the same
|
||||
directions above to create the meeting.
|
||||
|
||||
.. note::
|
||||
If no meetings are scheduled, the :guilabel:`Meeting` smart button reads :guilabel:`No Meeting`.
|
||||
|
||||
Reporting
|
||||
=========
|
||||
|
||||
The *Appraisals* application tracks two metrics across two different reports: an :ref:`appraisal
|
||||
analysis <appraisals/analysis>`, and a :ref:`skills evolution <appraisals/skills-report>`.
|
||||
|
||||
.. _appraisals/analysis:
|
||||
|
||||
Appraisal analysis
|
||||
------------------
|
||||
|
||||
To access the *Appraisal Analysis* report, navigate to :menuselection:`Appraisals application -->
|
||||
Reporting --> Appraisal Analysis`. This displays a report of all the appraisals in the database,
|
||||
highlighted in different colors to represent their status.
|
||||
|
||||
Appraisals in yellow are completed, appraisals in orange are in-progress (the appraisal is
|
||||
confirmed, but not completed), and appraisals in gray are scheduled (according to the
|
||||
:ref:`appraisals/appraisal-plan`), but have not been confirmed yet.
|
||||
|
||||
The report displays the whole current year, by default, grouped by department.
|
||||
|
||||
To change the calendar view presented, change 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 present the calendar to include today's date in
|
||||
the view.
|
||||
|
||||
The report can have other filters and groupings set in the :guilabel:`Search...` bar at the top.
|
||||
|
||||
.. image:: appraisals/analysis.png
|
||||
:align: center
|
||||
:alt: A report showing all the appraisals for the Appraisal Analysis report.
|
||||
|
||||
.. _appraisals/skills-report:
|
||||
|
||||
Skills evolution
|
||||
----------------
|
||||
|
||||
To access the *Skills Evolution* report, navigate to :menuselection:`Appraisals application -->
|
||||
Reporting --> Skills Evolution`. This displays a report of all skills, grouped by employee.
|
||||
|
||||
All the lines of the report are collapsed, by default. To view the details of a line, click 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.
|
||||
|
||||
.. image:: appraisals/skills-report.png
|
||||
:align: center
|
||||
:alt: A report showing all the skills grouped by employee.
|
||||
|
||||
.. seealso::
|
||||
:doc:`appraisals/goals`
|
||||
- :doc:`appraisals/new_appraisals`
|
||||
- :doc:`appraisals/goals`
|
||||
- :doc:`appraisals/reporting`
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
appraisals/new_appraisals
|
||||
appraisals/goals
|
||||
appraisals/reporting
|
||||
|
||||
@@ -0,0 +1,281 @@
|
||||
==============
|
||||
New appraisals
|
||||
==============
|
||||
|
||||
To create a new appraisal for an employee, first navigate to the main *Appraisals* dashboard by
|
||||
opening the :menuselection:`Appraisals` app. The :guilabel:`Appraisals` dashboard is the default
|
||||
view.
|
||||
|
||||
Appraisals dashboard
|
||||
====================
|
||||
|
||||
All appraisals are displayed on the dashboard in a default Kanban view, with a list of groupings on
|
||||
the left side of the dashboard, including :guilabel:`COMPANY`, :guilabel:`DEPARTMENT`, and
|
||||
:guilabel:`STATUS`.
|
||||
|
||||
Click any grouping option to view appraisals for **only** the chosen selection.
|
||||
|
||||
.. note::
|
||||
Only groupings with multiple selections appear in the list. For example, if a database only has
|
||||
one company, the :guilabel:`COMPANY` grouping does **not** appear, since there is no other
|
||||
company to select.
|
||||
|
||||
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.
|
||||
- **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.
|
||||
- **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.
|
||||
|
||||
To view the details of any appraisal, click on the card to open the appraisal form.
|
||||
|
||||
.. image:: new_appraisals/dashboard.png
|
||||
:align: center
|
||||
:alt: The Appraisals dashboard with each appraisal in its own box.
|
||||
|
||||
Create an appraisal
|
||||
===================
|
||||
|
||||
To create a new appraisal, click the :guilabel:`New` button in the upper-left corner of the
|
||||
:guilabel:`Appraisals` dashboard. Doing so reveals a blank appraisal form. After entering a name in
|
||||
the first blank field, proceed to enter the following information on the form:
|
||||
|
||||
- :guilabel:`Manager`: select the employee's manager from the drop-down menu. The manager is
|
||||
responsible for completing the *Manager's Feedback* section of the appraisal. This field
|
||||
auto-populates after the employee is selected, if they have a manager set on their employee
|
||||
profile.
|
||||
- :guilabel:`Appraisal Date`: the current date is automatically entered in this field. This field is
|
||||
automatically updated once the appraisal is completed or cancelled, with the corresponding date of
|
||||
completion or cancellation.
|
||||
- :guilabel:`Department`: select the employee's department from the drop-down menu. This field
|
||||
auto-populates after the employee is selected, if they have a department set on their employee
|
||||
profile.
|
||||
- :guilabel:`Company`: select the employee's company from the drop-down menu. This field
|
||||
auto-populates after the employee is selected, if they have a company set on their employee
|
||||
profile.
|
||||
|
||||
.. note::
|
||||
The only required fields for the appraisal form are the employee's name, the :guilabel:`Manager`,
|
||||
and the :guilabel:`Company`.
|
||||
|
||||
Once the form is complete, click the :guilabel:`Confirm` button to confirm the appraisal request.
|
||||
|
||||
Once confirmed, the employee receives an email stating that an appraisal was requested, and is then
|
||||
prompted to schedule an appraisal date.
|
||||
|
||||
The status changes to :guilabel:`Confirmed`, and the :guilabel:`Employee's Feedback` section of the
|
||||
:guilabel:`Appraisal` tab is grayed out. The information in that section only appears after the
|
||||
self-assessment is published by the employee. The :guilabel:`Final Rating` field also appears once
|
||||
the appraisal request is confirmed.
|
||||
|
||||
If there are any existing appraisals for the employee, an :guilabel:`Appraisal` smart button appears
|
||||
at the top of the page, listing the total number of appraisals there are for the employee.
|
||||
|
||||
Ask for feedback
|
||||
----------------
|
||||
|
||||
As part of the appraisal process, the manager can request feedback on an employee from anyone in the
|
||||
company. Feedback is usually requested from co-workers and other people who interact with, or work
|
||||
with, the employee. This is to get a more well-rounded view of the employee, and aid in the
|
||||
manager's overall assessment.
|
||||
|
||||
To request feedback, the appraisal **must** be confirmed. Once confirmed, an :guilabel:`Ask
|
||||
Feedback` button appears at the top of the form.
|
||||
|
||||
When the :guilabel:`Ask Feedback` button is clicked, an :guilabel:`Ask Feedback` email pop-up form
|
||||
appears, using the :guilabel:`Appraisal: Ask Feedback` email template, which sends the
|
||||
:guilabel:`360 Feedback` survey.
|
||||
|
||||
Enter the employees being asked to complete the survey in the :guilabel:`Recipients` field. Multiple
|
||||
employees may be selected.
|
||||
|
||||
The email template has dynamic placeholders to personalize the message. Add any additional text to
|
||||
the email, if desired.
|
||||
|
||||
If required, an :guilabel:`Answer Deadline` can be added, as well.
|
||||
|
||||
If any attachments are needed, click the :icon:`fa-paperclip` :guilabel:`Attachments` button, and a
|
||||
file explorer window appears. Navigate to the file(s), select them, then click :guilabel:`Open`.
|
||||
|
||||
When the email is ready to send, click :guilabel:`Send.`
|
||||
|
||||
.. image:: new_appraisals/ask-feedback.png
|
||||
:align: center
|
||||
:alt: The email pop-up when requesting feedback from other employees.
|
||||
|
||||
Appraisal form
|
||||
--------------
|
||||
|
||||
Once an appraisal is confirmed, the next steps require the employee to fill out the self-assessment,
|
||||
after which the manager completes their assessment.
|
||||
|
||||
.. _appraisals/employee-feedback:
|
||||
|
||||
Employee's feedback
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To complete their portion of feedback, employees should navigate to the main
|
||||
:menuselection:`Appraisals application` dashboard, where the only entries visible are appraisals for
|
||||
the employee, themselves, and/or anyone they manage and have to provide manager feedback for.
|
||||
|
||||
Click on the appraisal to open the appraisal form. Enter responses in the :guilabel:`Employee's
|
||||
Feedback` section, under the :guilabel:`Appraisal` tab.
|
||||
|
||||
When completed, click the :guilabel:`Not Visible to Manager` toggle (the default setting once an
|
||||
appraisal is confirmed). When clicked, the toggle changes to :guilabel:`Visible to Manager`.
|
||||
|
||||
.. image:: new_appraisals/employee-feedback.png
|
||||
:align: center
|
||||
:alt: The feedback section for the employee with the toggle button highlighted.
|
||||
|
||||
.. _appraisals/manager-feedback:
|
||||
|
||||
Manager's feedback
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
After the employee has completed the :guilabel:`Employee's Feedback` section, under the
|
||||
:guilabel:`Appraisal` tab, it is time for the manager to fill out the :guilabel:`Manager's Feedback`
|
||||
section.
|
||||
|
||||
The manager enters their responses in the fields in the :ref:`same manner as the employee
|
||||
<appraisals/employee-feedback>`.
|
||||
|
||||
When the feedback section is completed, click the :guilabel:`Not Visible to Employee` toggle (the
|
||||
default setting once an appraisal is confirmed). When clicked, the toggle changes to
|
||||
:guilabel:`Visible to Employee`.
|
||||
|
||||
.. image:: new_appraisals/manager-feedback.png
|
||||
:align: center
|
||||
:alt: The feedback section for both employees and managers. The toggle buttons are highlighted.
|
||||
|
||||
Skills tab
|
||||
~~~~~~~~~~
|
||||
|
||||
Part of an appraisal is evaluating an employee's skills, and tracking their progress over time. The
|
||||
:guilabel:`Skills` tab of the appraisal form auto-populates with the skills from the :ref:`employee
|
||||
form <employees/skills>`, once an appraisal is confirmed.
|
||||
|
||||
Each skill is grouped with like skills, and the :guilabel:`Skill Level`, :guilabel:`Progress`, and
|
||||
:guilabel:`Justification` are displayed for each skill.
|
||||
|
||||
Update any skills, or add any new skills to the :guilabel:`Skills` tab.
|
||||
|
||||
If a skill level has increased, a reason for the improved rating can be entered into the
|
||||
:guilabel:`Justification` field, such as `took a fluency language test` or `received Javascript
|
||||
certification`.
|
||||
|
||||
.. seealso::
|
||||
Refer to the :ref:`Create a new employee <employees/skills>` document for detailed instructions
|
||||
on adding or updating a skill.
|
||||
|
||||
After an appraisal is completed, and the skills have been updated, the next time an appraisal is
|
||||
confirmed, the updated skills populate the :guilabel:`Skills` tab.
|
||||
|
||||
.. image:: new_appraisals/skills.png
|
||||
:align: center
|
||||
:alt: The skills tab of an appraisal form, all filled out.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`Skills` tab can be modified **after** the employee and their manager have met and
|
||||
discussed the employee's appraisal.
|
||||
|
||||
This is a common situation as the manager may not have all the necessary information to properly
|
||||
assess and update the employee's skills before meeting.
|
||||
|
||||
Private Note tab
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
If managers want to leave notes that are only visible to other managers, they can be entered in the
|
||||
:guilabel:`Private Note` tab. This can be done before or after meeting with the employee to discuss
|
||||
the appraisal.
|
||||
|
||||
The employee being evaluated does **not** have access to this tab, and the tab does **not** appear
|
||||
on their appraisal.
|
||||
|
||||
Schedule a meeting
|
||||
------------------
|
||||
|
||||
Once both portions of an appraisal are completed (the :ref:`employee <appraisals/employee-feedback>`
|
||||
and :ref:`manager <appraisals/manager-feedback>` feedback sections), it is time for the employee and
|
||||
manager to meet and discuss the appraisal.
|
||||
|
||||
A meeting can be scheduled in one of two ways: either from the *Appraisals* application dashboard,
|
||||
or from an individual appraisal card.
|
||||
|
||||
To schedule an appraisal from the dashboard of the *Appraisals* application, first navigate to
|
||||
:menuselection:`Appraisals app --> Appraisals`.
|
||||
|
||||
Click the :icon:`fa-clock-o` :guilabel:`(clock)` icon, beneath the appraisal date on the desired
|
||||
appraisal card, and a pop-up window appears. Then, click :icon:`fa-plus` :guilabel:`Schedule an
|
||||
activity` to create an activity from a :guilabel:`Schedule Activity` pop-up form that appears.
|
||||
|
||||
Select :guilabel:`Meeting` for the :guilabel:`Activity Type` from the drop-down menu. Doing so
|
||||
causes the form to change, so only the :guilabel:`Activity Type` and :guilabel:`Summary` fields
|
||||
appear.
|
||||
|
||||
Enter a brief description in the :guilabel:`Summary` field of the :guilabel:`Schedule Activity`
|
||||
pop-up form, such as `Annual Appraisal for (Employee)`.
|
||||
|
||||
Next, click the :guilabel:`Open Calendar` button. From the calendar page that appears, navigate to,
|
||||
and double-click on, the desired date and time for the meeting.
|
||||
|
||||
Doing so opens a :guilabel:`New Event` pop-up form. From this pop-up form, make any desired
|
||||
modifications, such as designating a :guilabel:`Start` time, or modifying the default
|
||||
:guilabel:`Title` to the meeting.
|
||||
|
||||
Add the appraisee in the :guilabel:`Attendees` section, and include anyone else who should also be
|
||||
in the meeting, if necessary.
|
||||
|
||||
To make the meeting a video call, instead of an in-person meeting, click :icon:`fa-plus`
|
||||
:guilabel:`Odoo meeting`, and a :guilabel:`Videocall URL` link appears in the field.
|
||||
|
||||
Once all the desired changes are complete, click :guilabel:`Save & Close`.
|
||||
|
||||
The meeting now appears on the calendar, and the invited parties are informed, via email.
|
||||
|
||||
.. image:: new_appraisals/meeting.png
|
||||
:align: center
|
||||
:alt: The meeting form with all information entered for Ronnie Hart's annual appraisal.
|
||||
|
||||
The other way to schedule a meeting is from the individual appraisal form. To do this, navigate to
|
||||
the :menuselection:`Appraisal app` dashboard, then click on an appraisal card.
|
||||
|
||||
Next, click on the :icon:`fa-calendar` :guilabel:`Meeting` smart button, and the calendar loads.
|
||||
Follow the same directions above to create the meeting.
|
||||
|
||||
For more detailed information on how to schedule activities, refer to the :doc:`activities
|
||||
<../../essentials/activities>` documentation.
|
||||
|
||||
.. note::
|
||||
If no meetings are scheduled, the :guilabel:`Meeting` smart button reads :guilabel:`No Meeting`.
|
||||
|
||||
Complete an appraisal
|
||||
=====================
|
||||
|
||||
After the appraisal is complete, and both the manager and employee have met to discuss the
|
||||
appraisal, the appraisal can be marked as *Done*. When completed, click the :guilabel:`Mark as Done`
|
||||
button on the appraisal form, located in the top-left corner.
|
||||
|
||||
Once the appraisal is marked as *Done*, the :guilabel:`Mark as Done` button disappears, and a
|
||||
:guilabel:`Reopen` button appears.
|
||||
|
||||
.. tip::
|
||||
Modifications are **not** possible once the appraisal is marked as done.
|
||||
|
||||
To make any changes to an appraisal that is marked as *Done*, click the :guilabel:`Reopen`
|
||||
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.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../appraisals/goals`
|
||||
- :doc:`../appraisals/reporting`
|
||||
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 51 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 67 KiB After Width: | Height: | Size: 67 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 47 KiB After Width: | Height: | Size: 47 KiB |
|
Before Width: | Height: | Size: 37 KiB After Width: | Height: | Size: 37 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
@@ -0,0 +1,130 @@
|
||||
=========
|
||||
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 After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 8.4 KiB |
|
After Width: | Height: | Size: 24 KiB |