Compare commits
134 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c98cb6ddac | |||
| 38fe8febfb | |||
| d7cf79723e | |||
| f6594f91cf | |||
| 08d1ef2a45 | |||
| 7916a08773 | |||
| 8155a72901 | |||
| 5651bfda49 | |||
| 8cf0318a83 | |||
| 66d0209956 | |||
| 1df78f08cd | |||
| a8820ba3bb | |||
| f47d0c503a | |||
| 4e782b9e9a | |||
| 56b7b4f83a | |||
| 26b906340a | |||
| d94ac4b904 | |||
| a9005ec623 | |||
| 447d131247 | |||
| 6f74ae28ba | |||
| 50ff7a625a | |||
| e661c7f66e | |||
| 123e0fffb3 | |||
| 851f53f469 | |||
| 431c7eb685 | |||
| 7480a11576 | |||
| 019f94ed25 | |||
| 189d942f06 | |||
| 46e66e0d8b | |||
| fa6b8382e7 | |||
| 9d02b5207c | |||
| f91ab96191 | |||
| 21a13dfc1a | |||
| 6b5398eda1 | |||
| 758499d987 | |||
| f381273038 | |||
| 1b26e3f90e | |||
| e72758f68b | |||
| 7428de7be4 | |||
| d3872493b3 | |||
| 6bbd3186e9 | |||
| 1e14a5b6f8 | |||
| 125bef72b0 | |||
| e092ca7e41 | |||
| f0c877fb45 | |||
| daf41d8a5d | |||
| bc9355564d | |||
| 47a8a8b1e3 | |||
| 64f4e8d46c | |||
| a395e108ac | |||
| 0cae14e43b | |||
| 5dfa8128aa | |||
| 2626f81d23 | |||
| e1230a82d7 | |||
| 7369a1e4e9 | |||
| 788f624d49 | |||
| 54e7676d5a | |||
| 0816e187a5 | |||
| 4e0c53b4a2 | |||
| 9e7418ea8e | |||
| d758c9d995 | |||
| 2ab76700cb | |||
| 3cbc88c467 | |||
| ccfe1af307 | |||
| 99b06db261 | |||
| ed64d6fb4c | |||
| a2ac238691 | |||
| 172f0eb226 | |||
| 330b7ef64a | |||
| 1df7b0e6c5 | |||
| db73dd629e | |||
| 1bddb2f2c9 | |||
| 0e4978b783 | |||
| 56e9c3d343 | |||
| c7c9e3d6f0 | |||
| d9fc72e1dd | |||
| 632f7c65ce | |||
| a4b8a53aab | |||
| 976968cd3a | |||
| 183f981184 | |||
| aa65246560 | |||
| 8956e39eea | |||
| b693187c7c | |||
| e1df7a714b | |||
| 9f25d5e345 | |||
| f5a5b57be3 | |||
| b9cdeb304a | |||
| 18be17dada | |||
| 682a290793 | |||
| 649b6bcd5c | |||
| 9d4fc6cd55 | |||
| fb1f81f735 | |||
| 50d0d32bf6 | |||
| f84c00cb0d | |||
| 70701aa589 | |||
| 85cb4170af | |||
| a8292df22f | |||
| 8ab0935d74 | |||
| 9486fece94 | |||
| cd31079f69 | |||
| 2935c3b2df | |||
| b00ae1f3b0 | |||
| 0f87ffef1a | |||
| 23e773f31e | |||
| a1371aee87 | |||
| f2f9b32a1d | |||
| ad06489c98 | |||
| 86fa534deb | |||
| 3667e71c92 | |||
| 599e50159e | |||
| cc7857b363 | |||
| 4b3fecf2cb | |||
| 1f788bf750 | |||
| 0edc606b42 | |||
| 8377f9f068 | |||
| b81c06ecef | |||
| 36de103e3a | |||
| 3d920ded85 | |||
| 2b6fa74e40 | |||
| 7674dbdbbc | |||
| a76635c09c | |||
| d4565c6c20 | |||
| 81b1a9fd8e | |||
| d91cead9e7 | |||
| 4827f3fe20 | |||
| 4a24238376 | |||
| e6d68071fc | |||
| bce2a875c5 | |||
| b738a4e002 | |||
| 3da71625f1 | |||
| 833109636a | |||
| 044670f15e | |||
| 1bb11f0654 | |||
| 63789b0aa7 |
@@ -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",
|
||||
@@ -252,11 +253,13 @@ languages_names = {
|
||||
'es': 'ES',
|
||||
'fr': 'FR',
|
||||
'it': 'IT',
|
||||
'ko': 'KO',
|
||||
'ja': 'JA',
|
||||
'ko': 'KR',
|
||||
'nl': 'NL',
|
||||
'pt_BR': 'PT',
|
||||
'ro': 'RO',
|
||||
'sv': 'SV',
|
||||
'th': 'TH',
|
||||
'uk': 'UA',
|
||||
'zh_CN': 'ZH (CN)',
|
||||
'zh_TW': 'ZH (TW)'
|
||||
@@ -391,6 +394,9 @@ def setup(app):
|
||||
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
|
||||
app.add_config_value('source_read_replace_vals', {}, 'env')
|
||||
app.connect('source-read', source_read_replace)
|
||||
# TODO uncomment after moving to >= v7.2.5 to also substitute placeholders in included files.
|
||||
# See https://github.com/sphinx-doc/sphinx/commit/ff1831
|
||||
# app.connect('include-read', source_read_replace)
|
||||
|
||||
app.add_lexer('json', JsonLexer)
|
||||
app.add_lexer('xml', XmlLexer)
|
||||
|
||||
@@ -29,3 +29,32 @@ We advise that:
|
||||
- Your scheduled actions should be
|
||||
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
|
||||
cause side-effects if they are started more often than expected.
|
||||
|
||||
.. _ip-address-change:
|
||||
|
||||
How can I automate tasks when an IP address change occurs?
|
||||
----------------------------------------------------------
|
||||
|
||||
**Odoo.sh notifies project administrators of IP address changes.**
|
||||
Additionally, when the IP address of a production instance changes, an HTTP `GET` request is made
|
||||
to the path `/_odoo.sh/ip-change` with the new IP address included as a query string parameter
|
||||
(`new`), along with the previous IP address as an additional parameter (`old`).
|
||||
|
||||
This mechanism allows custom actions to be applied in response to the IP address change
|
||||
(e.g., sending an email, contacting a firewall API, configuring database objects, etc.)
|
||||
|
||||
For security reasons, the `/_odoo.sh/ip-change` route is accessible only internally by the platform
|
||||
itself and returns a `403` response if accessed through any other means.
|
||||
|
||||
Here is a pseudo-implementation example:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
class IPChangeController(http.Controller):
|
||||
|
||||
@http.route('/_odoo.sh/ip-change', auth='public')
|
||||
def ip_change(self, old=None, new=None):
|
||||
_logger.info("IP address changed from %s to %s", old, new)
|
||||
# Then perform whatever action required for your use case, e.g., update an
|
||||
# ir.config_parameter, send an email, contact an external firewall service's API, ...
|
||||
return 'ok'
|
||||
|
||||
@@ -402,9 +402,9 @@ we are considering the feature if there is enough demand.
|
||||
|
||||
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
||||
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
||||
settings to increase the deliverability of your outgoing emails.
|
||||
The configuration steps are explained in the documentation about :ref:`SPF
|
||||
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
|
||||
settings to increase the deliverability of your outgoing emails. The configuration steps are
|
||||
explained in the documentation about :ref:`SPF <email-domain-spf>` and :ref:`DKIM
|
||||
<email-domain-dkim>`.
|
||||
|
||||
.. Warning::
|
||||
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
||||
|
||||
@@ -33,7 +33,6 @@ In you alias config (:file:`/etc/aliases`):
|
||||
- `Postfix aliases <http://www.postfix.org/aliases.5.html>`_
|
||||
- `Postfix virtual <http://www.postfix.org/virtual.8.html>`_
|
||||
|
||||
|
||||
For Exim
|
||||
--------
|
||||
|
||||
@@ -47,5 +46,5 @@ For Exim
|
||||
- `Exim <https://www.exim.org/docs.html>`_
|
||||
|
||||
.. tip::
|
||||
If you don't have access/manage your email server, use :ref:`inbound messages
|
||||
<email_communication/inbound_messages>`.
|
||||
If you do not have access/manage your email server, use :ref:`incoming mail servers
|
||||
<email-inbound-custom-domain-incoming-server>`.
|
||||
|
||||
@@ -31,6 +31,12 @@ This matrix shows the support status of every version.
|
||||
- On-Premise
|
||||
- Release date
|
||||
- End of support
|
||||
* - Odoo saas~17.4
|
||||
- |green|
|
||||
- N/A
|
||||
- N/A
|
||||
- July 2024
|
||||
-
|
||||
* - Odoo saas~17.2
|
||||
- |green|
|
||||
- N/A
|
||||
@@ -49,48 +55,12 @@ This matrix shows the support status of every version.
|
||||
- |green|
|
||||
- November 2023
|
||||
- October 2026 (planned)
|
||||
* - Odoo saas~16.4
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- August 2023
|
||||
-
|
||||
* - Odoo saas~16.3
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- June 2023
|
||||
-
|
||||
* - Odoo saas~16.2
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2023
|
||||
-
|
||||
* - Odoo saas~16.1
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2023
|
||||
-
|
||||
* - **Odoo 16.0**
|
||||
- |green|
|
||||
- |green|
|
||||
- |green|
|
||||
- October 2022
|
||||
- November 2025 (planned)
|
||||
* - Odoo saas~15.2
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- March 2022
|
||||
- January 2023
|
||||
* - Odoo saas~15.1
|
||||
- |red|
|
||||
- N/A
|
||||
- N/A
|
||||
- February 2022
|
||||
- July 2022
|
||||
* - **Odoo 15.0**
|
||||
- |green|
|
||||
- |green|
|
||||
|
||||
@@ -2,6 +2,9 @@
|
||||
Export and import data
|
||||
======================
|
||||
|
||||
.. |list| replace:: :icon:`oi-view-list` :guilabel:`(list)` icon
|
||||
.. |actions| replace:: :icon:`fa-cog` :guilabel:`Actions`
|
||||
|
||||
In Odoo, it is sometimes necessary to export or import data for running reports, or for data
|
||||
modification. This document covers the export and import of data into and out of Odoo.
|
||||
|
||||
@@ -20,9 +23,9 @@ can aid in reporting on activities, although, Odoo provides a precise and easy r
|
||||
each available application.
|
||||
|
||||
With Odoo, the values can be exported from any field in any record. To do so, activate the list view
|
||||
(:guilabel:`≣ (four horizontal lines)` icon), on the items that need to be exported, and then
|
||||
select the records that should be exported. To select a record, tick the checkbox next to the
|
||||
corresponding record. Finally, click on :guilabel:`⚙️ Action`, and then :guilabel:`Export`.
|
||||
(|list|), on the items that need to be exported, then select the records that should be exported. To
|
||||
select a record, tick the checkbox next to the corresponding record. Finally, click on |actions|,
|
||||
then :guilabel:`Export`.
|
||||
|
||||
.. image:: export_import_data/list-view-export.png
|
||||
:align: center
|
||||
@@ -36,9 +39,10 @@ several options for the data to export:
|
||||
:alt: Overview of options to consider when exporting data in Odoo..
|
||||
|
||||
#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
|
||||
only shows the fields that can be imported. This is helpful in the case where the existing
|
||||
records need to be updated. This works like a filter. Leaving the box unticked, gives many more
|
||||
field options because it shows all the fields, not just the ones that can be imported.
|
||||
only shows the fields that can be imported. This is helpful in the case where the :ref:`existing
|
||||
records need to be updated <essentials/update-data>`. This works like a filter. Leaving the box
|
||||
unticked, gives many more field options because it shows all the fields, not just the ones that
|
||||
can be imported.
|
||||
#. When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`,
|
||||
items are separated by a comma, while `.xls` holds information about all the worksheets in a
|
||||
file, including both content and formatting.
|
||||
@@ -70,7 +74,8 @@ Import data into Odoo
|
||||
=====================
|
||||
|
||||
Importing data into Odoo is extremely helpful during implementation, or in times where data needs to
|
||||
be updated in bulk. The following documentation covers how to import data into an Odoo database.
|
||||
be :ref:`updated in bulk <essentials/update-data>`. The following documentation covers how to import
|
||||
data into an Odoo database.
|
||||
|
||||
.. warning::
|
||||
Imports are permanent and **cannot** be undone. However, it is possible to use filters (`created
|
||||
@@ -158,6 +163,9 @@ Once the template is downloaded, proceed to follow these steps:
|
||||
using the fields that should be imported. This way, if there is not a sample import template,
|
||||
the names are accurate.
|
||||
|
||||
|
||||
.. _essentials/external-id:
|
||||
|
||||
Import from another application
|
||||
-------------------------------
|
||||
|
||||
@@ -166,7 +174,8 @@ from previous software to facilitate the transition to Odoo.
|
||||
|
||||
Setting an ID is not mandatory when importing, but it helps in many cases:
|
||||
|
||||
- Update imports: import the same file several times without creating duplicates.
|
||||
- :ref:`Update imports <essentials/update-data>`: import the same file several times without
|
||||
creating duplicates.
|
||||
- :ref:`Import relation fields <export_import_data/relation-fields>`.
|
||||
|
||||
To recreate relationships between different records, the unique identifier from the original
|
||||
@@ -176,10 +185,7 @@ When another record is imported that links to the first one, use **XXX/ID** (XXX
|
||||
the original unique identifier. This record can also be found using its name.
|
||||
|
||||
.. warning::
|
||||
It should be noted that there will be a conflict if two or more records have the same name.
|
||||
|
||||
The :guilabel:`External ID` (ID) can also be used to update the original import, if modified data
|
||||
needs to be re-imported later, therefore, it is a good practice to specify it whenever possible.
|
||||
It should be noted that conflicts occur if two (or more) records have the same *External ID*.
|
||||
|
||||
Field missing to map column
|
||||
---------------------------
|
||||
@@ -476,3 +482,43 @@ The two files produced are ready to be imported in Odoo without any modification
|
||||
imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three
|
||||
companies (the first two contacts are linked to the first company). Keep in mind to first import
|
||||
the companies, and then the people.
|
||||
|
||||
.. _essentials/update-data:
|
||||
|
||||
Update data in Odoo
|
||||
===================
|
||||
|
||||
Existing data can be updated in bulk through a data import, as long as the :ref:`External ID
|
||||
<essentials/external-id>` remains consistent.
|
||||
|
||||
Prepare data export
|
||||
-------------------
|
||||
|
||||
To update data through an import, first navigate to the data to be updated, and select the |list| to
|
||||
activate list view. On the far-left side of the list, tick the checkbox for any record to be
|
||||
updated. Then, click |actions|, and select :icon:`fa-upload` :guilabel:`Export` from the drop-down
|
||||
menu.
|
||||
|
||||
On the resulting :guilabel:`Export Data` pop-up window, tick the checkbox labeled, :guilabel:`I want
|
||||
to update data (import-compatible export)`. This automatically includes the *External ID* in the
|
||||
export. Additionally, it limits the :guilabel:`Fields to export` list to **only** include fields
|
||||
that are able to be imported.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`External ID` field does **not** appear in the :guilabel:`Fields to export` list
|
||||
unless it is manually added, but it is still included in the export. However, if the :guilabel:`I
|
||||
want to update data (import-compatible export)` checkbox is ticked, it is included in the export.
|
||||
|
||||
Select the required fields to be included in the export using the :ref:`options <export-data>` on
|
||||
the pop-up window, then click :guilabel:`Export`.
|
||||
|
||||
Import updated data
|
||||
-------------------
|
||||
|
||||
After exporting, make any necessary changes to the data file. When the file is ready, it can be
|
||||
:ref:`imported <import-data>` by following the same process as a normal data import.
|
||||
|
||||
.. danger::
|
||||
When updating data, it is extremely important that the *External ID* remain consistent, as
|
||||
this is how the system identifies a record. If an ID is altered, or removed, the system may add a
|
||||
duplicate record, instead of updating the existing one.
|
||||
|
||||
@@ -89,7 +89,7 @@ settings. To use a service, simply interact with it wherever it appears in the d
|
||||
- :doc:`Lead mining <../sales/crm/acquire_leads/lead_mining>`
|
||||
- :doc:`Enrich your contacts base with Partner Autocomplete
|
||||
<../sales/crm/optimize/partner_autocomplete>`
|
||||
- :doc:`SMS essentials <../marketing/sms_marketing/essentials/sms_essentials>`
|
||||
- :doc:`SMS Marketing <../marketing/sms_marketing>`
|
||||
|
||||
.. _in_app_purchase/credits:
|
||||
|
||||
@@ -119,7 +119,7 @@ Credits are purchased in *Packs* from the `Odoo IAP Catalog
|
||||
The number of credits consumed depends on the length of the SMS and the country of destination.
|
||||
|
||||
For more information, refer to the :doc:`SMS Pricing and FAQ
|
||||
<../marketing/sms_marketing/pricing/pricing_and_faq>` documentation.
|
||||
<../marketing/sms_marketing/pricing_and_faq>` documentation.
|
||||
|
||||
.. _iap/buying_credits:
|
||||
|
||||
|
||||
@@ -181,6 +181,75 @@ It is possible to *customize groups* by using a field present on the model. To d
|
||||
cluster, the next one that is added further divides the main group's categories, and so on.
|
||||
Furthermore, filters and groups can be used together to refine the view even more.
|
||||
|
||||
.. _search/comparison:
|
||||
|
||||
Comparison
|
||||
==========
|
||||
|
||||
Certain reporting dashboards include a :guilabel:`Comparison` section in the drop-down menus of
|
||||
their :guilabel:`Search...` bars. This includes the :doc:`Overall Equipment Effectiveness
|
||||
<../inventory_and_mrp/manufacturing/reporting/oee>` report for the *Manufacturing* app, and the
|
||||
:doc:`Purchase <../inventory_and_mrp/purchase/advanced/analyze>` report for the *Purchase* app,
|
||||
among others.
|
||||
|
||||
The options in the :icon:`fa-adjust` :guilabel:`Comparison` section are used to compare data from
|
||||
two different time periods. There are two comparison options to choose from: :guilabel:`(Time
|
||||
Filter): Previous Period` and :guilabel:`(Time Filter): Previous Year`.
|
||||
|
||||
.. important::
|
||||
For some reports, the :guilabel:`Comparison` section **only** appears in the
|
||||
:guilabel:`Search...` bar drop-down menu if one (or more) time periods have been selected in the
|
||||
:guilabel:`Filters` column. This is because, if no time period is specified, there is nothing to
|
||||
compare.
|
||||
|
||||
Additionally, some reports only allow use of the :guilabel:`Comparison` feature when the
|
||||
:icon:`fa-pie-chart` :guilabel:`(pie chart)` graph type, or the :icon:`oi-view-pivot`
|
||||
:guilabel:`(pivot)` view, is selected. A :guilabel:`Comparison` option can be selected even if
|
||||
another view is enabled, but doing so does **not** change the way data is displayed on the
|
||||
report.
|
||||
|
||||
.. image:: search/comparison-section.png
|
||||
:align: center
|
||||
:alt: The Search... bar for the production analysis report.
|
||||
|
||||
To view data using one of the two comparisons, begin by selecting a time period in the
|
||||
:guilabel:`Filters` column of the :guilabel:`Search...` bar drop-down menu. Then, select either
|
||||
:guilabel:`(Time Filter): Previous Period` or :guilabel:`(Time Filter): Previous Year` in the
|
||||
:guilabel:`Comparison` section.
|
||||
|
||||
With one of the :guilabel:`Comparison` options enabled, the report compares the data for the
|
||||
selected period, with the data for the same unit of time (month, quarter, year), one period or year
|
||||
prior. The way the data is displayed depends on the selected view:
|
||||
|
||||
- The :icon:`fa-bar-chart` :guilabel:`(bar chart)` shows two bars, side-by-side, for each unit of
|
||||
time for the selected time period. The left bar represents the selected time period, while the
|
||||
right bar represents the previous time period.
|
||||
- The :icon:`fa-line-chart` :guilabel:`(line chart)` is displayed with two lines, one representing
|
||||
the selected time period, and the other representing the previous time period.
|
||||
- The :icon:`fa-pie-chart` :guilabel:`(pie chart)` appears as a large circle with a smaller circle
|
||||
inside. The larger circle represents the selected time period, while the smaller circle represents
|
||||
the previous time period.
|
||||
- The :icon:`oi-view-pivot` :guilabel:`(pivot table)` is displayed with each column split into two
|
||||
smaller columns. The right column represents the selected time period, while the left column
|
||||
represents the previous time period.
|
||||
|
||||
.. example::
|
||||
In the :guilabel:`Production Analysis` report of the :menuselection:`Manufacturing` app, data for
|
||||
the second quarter of 2024 is compared to data for the second quarter of 2023. :guilabel:`Q2` is
|
||||
selected in the :guilabel:`End Date` filter section of the :guilabel:`Search...` bar drop-down
|
||||
menu. In the :guilabel:`Comparison` section, :guilabel:`End Date: Previous Year` is selected.
|
||||
|
||||
The current year is 2024, so the larger circle shows data for the second quarter (Q2) of 2024.
|
||||
The smaller circle shows data for the second quarter (Q2) of 2023, which is the same time period,
|
||||
but one *year* prior.
|
||||
|
||||
If :guilabel:`End Date: Previous Period` is selected instead, the smaller circle shows data for
|
||||
the first quarter (Q1) of 2024, which is the same time period, but one *period* prior.
|
||||
|
||||
.. image:: search/comparison.png
|
||||
:align: center
|
||||
:alt: The comparison view of the Production Analysis report.
|
||||
|
||||
.. _search/favorites:
|
||||
|
||||
Favorites
|
||||
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 31 KiB |
@@ -36,6 +36,8 @@ follow the instructions.
|
||||
.. seealso::
|
||||
:doc:`bank/bank_synchronization`
|
||||
|
||||
.. _bank_accounts/create:
|
||||
|
||||
Create a bank account
|
||||
---------------------
|
||||
|
||||
|
||||
@@ -18,8 +18,13 @@ To specify a sales order's invoice and delivery addresses, first go to :menusele
|
||||
|
||||
On quotations and sales orders, there are now fields for :guilabel:`Invoice Address` and
|
||||
:guilabel:`Delivery Address`. If the customer has an invoice or delivery address listed on their
|
||||
contact record, the corresponding field will use that address by default, but any contact's address
|
||||
can be used instead.
|
||||
:ref:`contact record <sales/send_quotations/contact-form-config>`, the corresponding field uses that
|
||||
address, by default, but any contact's address can be used instead.
|
||||
|
||||
.. seealso::
|
||||
For more information, refer to the documentation on :ref:`Contact Form Configuration
|
||||
<sales/send_quotations/contact-form-config>`.
|
||||
|
||||
|
||||
Invoice and deliver to different addresses
|
||||
==========================================
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
Get started
|
||||
===========
|
||||
|
||||
When you first open your Odoo Accounting app, the *Accounting Overview* page welcomes you with a
|
||||
step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
|
||||
When you first open your Odoo Accounting app, the :guilabel:`Accounting Dashboard` welcomes you with
|
||||
a step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
|
||||
displayed until you choose to close it.
|
||||
|
||||
The settings visible in the onboarding banner can still be modified later by going to
|
||||
@@ -22,69 +22,22 @@ Accounting onboarding banner
|
||||
|
||||
The step-by-step Accounting onboarding banner is composed of four steps:
|
||||
|
||||
.. image:: get_started/setup_accounting_onboarding.png
|
||||
.. image:: get_started/setup-accounting-onboarding.png
|
||||
:alt: Step-by-step onboarding banner in Odoo Accounting
|
||||
|
||||
#. :ref:`accounting-setup-company`
|
||||
#. :ref:`accounting-setup-bank`
|
||||
#. :ref:`accounting-setup-periods`
|
||||
#. :ref:`accounting-setup-bank`
|
||||
#. :ref:`accounting-setup-taxes`
|
||||
#. :ref:`accounting-setup-chart`
|
||||
|
||||
.. _accounting-setup-company:
|
||||
|
||||
Company Data
|
||||
------------
|
||||
|
||||
This menu allows you to add your company’s details such as the name, address, logo, website, phone
|
||||
number, email address, and Tax ID, or VAT number. These details are then displayed on your documents,
|
||||
such as on invoices.
|
||||
|
||||
.. image:: get_started/setup_company.png
|
||||
:alt: Add your company's details in Odoo Accounting and Odoo Invoicing
|
||||
|
||||
.. note::
|
||||
You can also change these settings by going to :menuselection:`Settings --> General Settings -->
|
||||
Settings --> Companies` and clicking on **Update Info**.
|
||||
|
||||
.. _accounting-setup-bank:
|
||||
|
||||
Bank Account
|
||||
------------
|
||||
|
||||
Connect your bank account to your database and have your bank statements synced automatically. To do
|
||||
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
|
||||
|
||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
||||
your database, you may also configure your bank account manually by clicking on *Create it*, and
|
||||
filling out the form.
|
||||
|
||||
- **Name**: the bank account's name, as displayed on Odoo.
|
||||
- **Account Number**: your bank account number (IBAN in Europe).
|
||||
- **Bank**: click on *Create and Edit* to configure the bank's details. Add the bank institution's
|
||||
name and its Identifier Code (BIC or SWIFT).
|
||||
- **Code**: this code is your Journal's *Short Code*, as displayed on Odoo. By default, Odoo creates
|
||||
a new Journal with this Short Code.
|
||||
- **Journal**: This field is displayed if you have an existing Bank Journal that is not linked yet
|
||||
to a bank account. If so, then select the *Journal* you want to use to record the financial
|
||||
transactions linked to this bank account or create a new one by clicking on *Create and Edit*.
|
||||
|
||||
.. note::
|
||||
- You can add as many bank accounts as needed with this tool by going to :menuselection:`Accounting
|
||||
--> Configuration`, and clicking on *Add a Bank Account*.
|
||||
- :doc:`Click here <bank>` for more information about Bank
|
||||
Accounts.
|
||||
|
||||
.. _accounting-setup-periods:
|
||||
|
||||
Accounting Periods
|
||||
------------------
|
||||
|
||||
Define here your **Fiscal Years**’ opening and closing dates, which are used to generate reports
|
||||
automatically, and your **Tax Return Periodicity**, along with a reminder to never miss a tax return
|
||||
deadline.
|
||||
Define the **Fiscal Years**’ opening and closing dates, which are used to generate reports
|
||||
automatically, and set your **Tax Return Periodicity**, along with a reminder to never miss a tax
|
||||
return deadline.
|
||||
|
||||
By default, the opening date is set on the 1st of January and the closing date on the 31st of
|
||||
December, as this is the most common use.
|
||||
@@ -93,6 +46,49 @@ December, as this is the most common use.
|
||||
You can also change these settings by going to :menuselection:`Accounting --> Configuration -->
|
||||
Settings --> Fiscal Periods` and updating the values.
|
||||
|
||||
.. _accounting-setup-bank:
|
||||
|
||||
Bank Account
|
||||
------------
|
||||
|
||||
Connect your bank account to your database and have your bank statements synced automatically. To do
|
||||
so, find your bank in the list, click :guilabel:`Connect`, and follow the instructions on-screen.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
|
||||
|
||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
||||
your database, you can also configure your bank account manually by typing its name, clicking
|
||||
:guilabel:`Create your Bank Account`, and filling out the form.
|
||||
|
||||
- :guilabel:`Name`: the bank account's name, as displayed in Odoo.
|
||||
- :guilabel:`Account Number`: your bank account number (IBAN in Europe).
|
||||
- :guilabel:`Bank`: click :guilabel:`Create and edit` to configure the bank's details. Add the
|
||||
bank institution's :guilabel:`Name` and its :guilabel:`Identifier Code` (BIC or SWIFT).
|
||||
- :guilabel:`Code`: this code is your Journal's :guilabel:`Short Code`, as displayed in Odoo.
|
||||
By default, Odoo creates a new Journal with this short code.
|
||||
- :guilabel:`Journal`: This field is displayed if you have an existing bank journal that is not
|
||||
linked yet to a bank account. If so, then select the :guilabel:`Journal` you want to use to record
|
||||
the financial transactions linked to this bank account or create a new one by clicking
|
||||
:guilabel:`Create and Edit`.
|
||||
|
||||
.. note::
|
||||
- You can add as many bank accounts as needed with this tool by going to
|
||||
:menuselection:`Accounting --> Configuration --> Add a Bank Account`.
|
||||
- :doc:`Click here <bank>` for more information about Bank Accounts.
|
||||
|
||||
.. _accounting-setup-taxes:
|
||||
|
||||
Taxes
|
||||
-----
|
||||
|
||||
This menu allows you to create new taxes, (de)activate, or modify existing taxes. Depending on the
|
||||
:doc:`localization package <../fiscal_localizations>` installed on your database, taxes required for
|
||||
your country are already configured.
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <taxes>` for more information about taxes.
|
||||
|
||||
.. _accounting-setup-chart:
|
||||
|
||||
Chart of Accounts
|
||||
@@ -102,20 +98,20 @@ With this menu, you can add accounts to your **Chart of Accounts** and indicate
|
||||
opening balances.
|
||||
|
||||
Basic settings are displayed on this page to help you review your Chart of Accounts. To access all
|
||||
the settings of an account, click on the *double arrow button* at the end of the line.
|
||||
the settings of an account, click on the :guilabel:`Setup` button at the end of the line.
|
||||
|
||||
.. image:: get_started/setup_chart_of_accounts.png
|
||||
:alt: Setup of the Chart of Accounts and their opening balances in Odoo Accounting
|
||||
|
||||
.. note::
|
||||
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your Chart of
|
||||
Accounts.
|
||||
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your
|
||||
Chart of Accounts.
|
||||
|
||||
Invoicing onboarding banner
|
||||
===========================
|
||||
|
||||
There is another step-by-step onboarding banner that helps you take advantage of your Odoo Invoicing
|
||||
and Accounting apps. The *Invoicing onboarding banner* is the one that welcomes you if you use the
|
||||
and Accounting apps. The Invoicing onboarding banner is the one that welcomes you if you use the
|
||||
Invoicing app rather than the Accounting app.
|
||||
|
||||
If you have Odoo Accounting installed on your database, you can reach it by going to
|
||||
@@ -123,65 +119,67 @@ If you have Odoo Accounting installed on your database, you can reach it by goin
|
||||
|
||||
The Invoicing onboarding banner is composed of four main steps:
|
||||
|
||||
.. image:: get_started/setup_invoicing_onboarding.png
|
||||
.. image:: get_started/setup-invoicing-onboarding.png
|
||||
:alt: Step-by-step onboarding banner in Odoo Invoicing
|
||||
|
||||
#. :ref:`invoicing-setup-company`
|
||||
#. :ref:`invoicing-setup-bank`
|
||||
#. :ref:`invoicing-setup-layout`
|
||||
#. :ref:`invoicing-setup-payment`
|
||||
#. :ref:`invoicing-setup-sample`
|
||||
#. :ref:`invoicing-setup-invoice`
|
||||
|
||||
.. _invoicing-setup-company:
|
||||
|
||||
Company Data
|
||||
------------
|
||||
|
||||
This form is the same as :ref:`the one presented in the Accounting onboarding banner
|
||||
<accounting-setup-company>`.
|
||||
This form allows you to add your company’s details, such as the name, address, logo, website, phone
|
||||
number, email address, and Tax ID or VAT number. These details are then displayed on your
|
||||
documents, such as invoices.
|
||||
|
||||
.. image:: get_started/setup_company.png
|
||||
:alt: Add your company's details in Odoo Accounting and Odoo Invoicing
|
||||
|
||||
.. note::
|
||||
You can also change the company's details by going to :menuselection:`Settings --> General
|
||||
Settings`, scrolling down to the :guilabel:`Companies` section, and :guilabel:`Update Info`.
|
||||
|
||||
.. _invoicing-setup-bank:
|
||||
|
||||
Bank Account
|
||||
------------
|
||||
|
||||
Use this button to create and link a bank account in Odoo. To add additional bank accounts, go to
|
||||
:guilabel:`Invoicing --> Configuration --> Add a Bank Account` and :ref:`configure the fields
|
||||
<bank_accounts/create>`.
|
||||
|
||||
.. tip::
|
||||
:doc:`Synchronize <bank/bank_synchronization>` your bank account(s) with your Odoo database to
|
||||
automatically update your bank transactions.
|
||||
|
||||
.. _invoicing-setup-layout:
|
||||
|
||||
Invoice Layout
|
||||
--------------
|
||||
|
||||
With this tool, you can design the appearance of your documents by selecting which layout template,
|
||||
paper format, colors, font, and logo you want to use.
|
||||
Use this button to customize the :ref:`default invoice layout <studio/pdf-reports/default-layout>`.
|
||||
|
||||
You can also add your *Company Tagline* and the content of the documents’ *footer*. Note that Odoo
|
||||
automatically adds the company's phone number, email, website URL, and Tax ID (or VAT number) to the
|
||||
footer, according to the values you previously configured in the :ref:`Company Data
|
||||
<accounting-setup-company>`.
|
||||
.. note::
|
||||
You can also change the invoice layout by going to :menuselection:`Settings --> General
|
||||
Settings`, scrolling down to the :guilabel:`Companies` section, and clicking :guilabel:`Configure
|
||||
Document Layout`.
|
||||
|
||||
.. image:: get_started/setup_document_layout.png
|
||||
:alt: Document layout configuration in Odoo Invoicing
|
||||
.. _invoicing-setup-invoice:
|
||||
|
||||
Invoice Creation
|
||||
----------------
|
||||
|
||||
This button takes you to the invoice creation view, where you can create your first invoice.
|
||||
|
||||
.. tip::
|
||||
Add your **bank account number** and a link to your **General Terms & Condition** in the footer.
|
||||
This way, your contacts can find the full content of your GT&C online without having to print
|
||||
them on the invoices you issue.
|
||||
|
||||
.. note::
|
||||
These settings can also be modified by going to :menuselection:`Settings --> General Settings`,
|
||||
under the *Business Documents* section.
|
||||
|
||||
.. _invoicing-setup-payment:
|
||||
|
||||
Payment Method
|
||||
--------------
|
||||
|
||||
This menu helps you configure the payment methods with which your customers can pay you.
|
||||
|
||||
.. important::
|
||||
Configuring a *Payment Provider* with this tool also activates the *Invoice Online Payment*
|
||||
option automatically. With this, users can directly pay online, from their Customer Portal.
|
||||
|
||||
.. _invoicing-setup-sample:
|
||||
|
||||
Sample Invoice
|
||||
--------------
|
||||
|
||||
Send yourself a sample invoice by email to make sure everything is correctly configured.
|
||||
|
||||
.. seealso::
|
||||
* :doc:`bank`
|
||||
* :doc:`get_started/chart_of_accounts`
|
||||
@@ -197,4 +195,4 @@ Send yourself a sample invoice by email to make sure everything is correctly con
|
||||
get_started/chart_of_accounts
|
||||
get_started/multi_currency
|
||||
get_started/avg_price_valuation
|
||||
get_started/vat_units
|
||||
get_started/tax_units
|
||||
|
||||
|
After Width: | Height: | Size: 129 KiB |
|
After Width: | Height: | Size: 167 KiB |
|
Before Width: | Height: | Size: 57 KiB |
|
Before Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 71 KiB |
@@ -1,50 +1,35 @@
|
||||
=========
|
||||
VAT units
|
||||
Tax units
|
||||
=========
|
||||
|
||||
.. important::
|
||||
This is only applicable to multi-company environments.
|
||||
|
||||
A **VAT unit** is a group of VAT-taxable enterprises that are legally independent of each other but
|
||||
A **tax unit** is a group of VAT-taxable enterprises that are legally independent of each other but
|
||||
are closely linked financially, organizationally, and economically and therefore considered the same
|
||||
VAT-taxable enterprise. **VAT units** are not mandatory, but if created, constituent companies of
|
||||
VAT-taxable enterprise. **Tax units** are not mandatory, but if created, constituent companies of
|
||||
the unit must belong to the same **country**, use the same **currency**, and one company must be
|
||||
designated as the **representative** company of the **VAT unit**. **VAT units** receive a specific
|
||||
designated as the **representative** company of the **tax unit**. **Tax units** receive a specific
|
||||
**tax ID** intended only for **tax returns**. **Constituent** companies keep their **tax ID** used
|
||||
for **commercial purposes**.
|
||||
|
||||
.. example::
|
||||
Enterprise **A** owes €300.000,00 of VAT taxes and enterprise **B** can recover €280.000,00 of
|
||||
VAT taxes. They form up as a **VAT unit** so that the two amounts balance out and must conjointly
|
||||
VAT taxes. They form up as a **tax unit** so that the two amounts balance out and must conjointly
|
||||
only pay €20.000,00 of VAT taxes.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
To configure a **VAT unit**, go to :menuselection:`Settings --> General Settings`, scroll down to
|
||||
the :guilabel:`Companies` section, and click :guilabel:`Manage Companies`. Select the company to
|
||||
serve the **representative** role, and in the :guilabel:`General Information` tab, fill in the
|
||||
mandatory fields for the .XML export when exporting the **tax report**: :guilabel:`Company Name`,
|
||||
:guilabel:`Address`, :guilabel:`VAT`, :guilabel:`Currency`, :guilabel:`Phone`, and
|
||||
:guilabel:`Email`.
|
||||
|
||||
.. image:: vat_units/general.png
|
||||
:align: center
|
||||
:alt: General information tab
|
||||
|
||||
Then, click on the :guilabel:`VAT Units` tab, :guilabel:`Add a line`, and either select an existing
|
||||
**VAT unit**, or create a new one. Enter a **name** for the unit, :guilabel:`Country` of the
|
||||
constituent companies and tax report, the :guilabel:`Companies`, the :guilabel:`Main Company` that
|
||||
serves the **representative** role, and the :guilabel:`Tax ID` of the **VAT unit**.
|
||||
|
||||
.. image:: vat_units/vat-unit.png
|
||||
:align: center
|
||||
:alt: VAT units tab
|
||||
To create a **tax unit**, go to :menuselection:`Accounting --> Configuration --> Tax Units`, and
|
||||
click :guilabel:`New`. Enter a **name** for the unit, select a :guilabel:`Country`, the
|
||||
:guilabel:`Companies` to incorporate in the unit, the :guilabel:`Main Company`, and the
|
||||
:guilabel:`Tax ID` of the **constituent** company of that tax unit.
|
||||
|
||||
Fiscal position
|
||||
---------------
|
||||
|
||||
As transactions between constituents of the same **VAT unit** are not subject to VAT, it is possible
|
||||
As transactions between constituents of the same **tax unit** are not subject to VAT, it is possible
|
||||
to create a :doc:`tax mapping (fiscal position) <../taxes/fiscal_positions>` to avoid the
|
||||
application of VAT on inter-constituent transactions.
|
||||
|
||||
@@ -61,13 +46,12 @@ Do the same for the :guilabel:`Account Mapping` tab if required, and repeat this
|
||||
Depending on your :doc:`localization package </applications/finance/fiscal_localizations>`, taxes
|
||||
may vary from the screenshot displayed.
|
||||
|
||||
.. image:: vat_units/fiscal-positions.png
|
||||
:align: center
|
||||
:alt: Tax mapping of fiscal position for VAT unit
|
||||
.. image:: tax_units/fiscal-positions.png
|
||||
:alt: Tax mapping of fiscal position for tax unit
|
||||
|
||||
Then, assign the fiscal position by opening the **Contacts** app. Search for a **constituent**
|
||||
company, and open the contact's **card**. Click the :guilabel:`Sales & Purchase` tab, and in the
|
||||
:guilabel:`Fiscal Position` field, input the **fiscal position** created for the **VAT unit**.
|
||||
:guilabel:`Fiscal Position` field, input the **fiscal position** created for the **tax unit**.
|
||||
Repeat the process for each **constituent** company card form, on each company database.
|
||||
|
||||
.. seealso::
|
||||
@@ -76,11 +60,10 @@ Repeat the process for each **constituent** company card form, on each company d
|
||||
Tax report
|
||||
==========
|
||||
|
||||
The **representative** company can access the aggregated tax report of the **VAT unit** by going to
|
||||
:menuselection:`Accounting --> Reporting --> Tax Report`, and selecting the **VAT unit** in
|
||||
The **representative** company can access the aggregated tax report of the **tax unit** by going to
|
||||
:menuselection:`Accounting --> Reporting --> Tax Report`, and selecting the **tax unit** in
|
||||
:guilabel:`Tax Unit`. This report contains the aggregated transactions of all **constituents** and
|
||||
the .XML export contains the name and VAT number of the **main** company.
|
||||
|
||||
.. image:: vat_units/report.png
|
||||
:align: center
|
||||
:alt: VAT unit tax report
|
||||
.. image:: tax_units/report.png
|
||||
:alt: tax unit tax report
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 5.8 KiB |
|
Before Width: | Height: | Size: 10 KiB |
@@ -16,6 +16,8 @@ Go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Pay
|
||||
Deposit multiple payments in batch
|
||||
==================================
|
||||
|
||||
.. _batch-payments/register-payments:
|
||||
|
||||
Register payments
|
||||
-----------------
|
||||
|
||||
|
||||
@@ -91,5 +91,5 @@ select :guilabel:`Process follow-ups`.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/essentials/in_app_purchase`
|
||||
- :doc:`/applications/marketing/sms_marketing/pricing/pricing_and_faq`
|
||||
- :doc:`/applications/marketing/sms_marketing/pricing_and_faq`
|
||||
- :doc:`../customer_invoices/snailmail`
|
||||
|
||||
@@ -30,8 +30,9 @@ Non-EEA territories:
|
||||
- Jersey;
|
||||
- Isle of Man.
|
||||
|
||||
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the day's end,
|
||||
you can generate the SEPA file containing all bank wire transfers and send it to the bank.
|
||||
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the end of the day,
|
||||
you can generate the SEPA file containing all bank wire transfers and upload it to your online
|
||||
banking interface to process the payments.
|
||||
|
||||
By default, the file follows the SEPA Credit Transfer **'pain.001.001.03'** specifications. This is
|
||||
a well-defined standard among banks. However, for Swiss and German companies, other formats are used
|
||||
@@ -69,7 +70,7 @@ the BIC (bank identifier code) in the :guilabel:`Journal Entries` tab.
|
||||
Registering payments
|
||||
--------------------
|
||||
|
||||
You can register and vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
|
||||
You can register any vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
|
||||
Vendors --> Payments`. When creating your payment, select :guilabel:`SEPA Credit Transfer` as the
|
||||
:guilabel:`Payment Method`.
|
||||
|
||||
|
||||
@@ -336,7 +336,6 @@ drop the taxes in the :ref:`order they should be computed <taxes/base-subsequent
|
||||
.. seealso::
|
||||
- :doc:`taxes/fiscal_positions`
|
||||
- :doc:`taxes/B2B_B2C`
|
||||
- :doc:`taxes/taxcloud`
|
||||
- :doc:`reporting/tax_returns`
|
||||
|
||||
.. toctree::
|
||||
@@ -347,6 +346,5 @@ drop the taxes in the :ref:`order they should be computed <taxes/base-subsequent
|
||||
taxes/vat_verification
|
||||
taxes/fiscal_positions
|
||||
taxes/avatax
|
||||
taxes/taxcloud
|
||||
taxes/eu_distance_selling
|
||||
taxes/B2B_B2C
|
||||
|
||||
@@ -22,18 +22,18 @@ can maintain control of tax-calculations in-house with this simple :abbr:`API (a
|
||||
programming interface)` integration.
|
||||
|
||||
.. important::
|
||||
Some limitations exist in Odoo while using *AvaTax* for tax calculation:
|
||||
Some limitations exist in Odoo while using AvaTax for tax calculation:
|
||||
|
||||
- *AvaTax* is **not** supported in Odoo's *Point of Sale* app, because a dynamic tax calculation
|
||||
model is excessive for transactions within a single delivery address, such as stores or
|
||||
restaurants.
|
||||
- *AvaTax* and Odoo use the company address and **not** the warehouse address.
|
||||
- Exercise tax is **not** supported. This includes tobacco/vape taxes, fuel taxes, and other
|
||||
- AvaTax is **not** supported in Odoo's **Point of Sale** app, because a dynamic tax
|
||||
calculation model is excessive for transactions within a single delivery address, such as
|
||||
stores or restaurants.
|
||||
- AvaTax and Odoo use the company address, **not** the warehouse address.
|
||||
- Excise tax is **not** supported. This includes tobacco/vape taxes, fuel taxes, and other
|
||||
specific industries.
|
||||
|
||||
.. seealso::
|
||||
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>`_
|
||||
<https://community.avalara.com/support/s/document-item?language=en_US>`_
|
||||
|
||||
Set up on AvaTax
|
||||
================
|
||||
@@ -47,7 +47,7 @@ connect with Avalara to purchase a license: `Avalara: Let's Talk
|
||||
:ref:`Odoo setup <avatax/credentials>`. In Odoo, this number is the :guilabel:`API ID`.
|
||||
|
||||
Then, `create a basic company profile
|
||||
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Create_a_Basic_company_profile.html&_LANG=enus>`_.
|
||||
<https://www.odoo.com/r/2k0>`_.
|
||||
|
||||
Create basic company profile
|
||||
----------------------------
|
||||
@@ -57,15 +57,15 @@ products/services sold (and their sales locations), and customer tax exemptions,
|
||||
Follow the Avalara documentation for creating a basic company profile:
|
||||
|
||||
#. `Add company information
|
||||
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Add_your_company_information.html&_LANG=enus>`_.
|
||||
<https://www.odoo.com/r/XZDW>`_.
|
||||
#. `Tell us where the company collects and pays tax
|
||||
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Tell_us_where_you_collect_and_pay_tax.html&_LANG=enus>`_.
|
||||
<https://www.odoo.com/r/E6g>`_.
|
||||
#. `Verify jurisdictions and activate the company
|
||||
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Verify_your_jurisdictions_and_activate_your_company.html&_LANG=enus>`_.
|
||||
<https://www.odoo.com/r/NIy>`_.
|
||||
#. `Add other company locations for location-based filing
|
||||
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Add_other_company_locations_for_location-based_filing.html&_LANG=enus>`_.
|
||||
<https://www.odoo.com/r/GF4>`_.
|
||||
#. `Add a marketplace to the company profile
|
||||
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Add_marketplace_transactions_to_your_company_profile.html&_LANG=enus>`_.
|
||||
<https://www.odoo.com/r/QA5>`_.
|
||||
|
||||
.. _avatax/create_avalara_credentials:
|
||||
|
||||
@@ -86,7 +86,7 @@ company would like to integrate.
|
||||
Log in to create the :guilabel:`License Key`. Go to :menuselection:`Settings --> License and API
|
||||
Keys`. Click :guilabel:`Generate License Key`.
|
||||
|
||||
.. note::
|
||||
.. important::
|
||||
A warning appears stating: `If your business app is connected to Avalara solutions, the
|
||||
connection will be broken until you update the app with the new license key. This action cannot
|
||||
be undone.`
|
||||
@@ -100,9 +100,9 @@ with *AvaTax* and Odoo, then click :guilabel:`Generate license key`.
|
||||
If this is an additional license key, ensure the previous connection can be broken. There is
|
||||
**only** one license key associated with each of the Avalara sandbox and production accounts.
|
||||
|
||||
.. important::
|
||||
Copy this key to a safe place. It is **strongly encouraged** to backup the license key for future
|
||||
reference. This key cannot be retrieved after leaving this screen.
|
||||
.. warning::
|
||||
Copy this key to a safe place. It is strongly encouraged to back up the license key for
|
||||
future reference. This key **cannot** be retrieved after leaving this screen.
|
||||
|
||||
Odoo configuration
|
||||
==================
|
||||
@@ -210,6 +210,7 @@ and :guilabel:`Amazon/Avatax Bridge`, respectively.
|
||||
<../../fiscal_localizations>` documentation:
|
||||
|
||||
- :doc:`../../fiscal_localizations/brazil`
|
||||
- :doc:`../../fiscal_localizations/united_states`
|
||||
|
||||
.. _avatax/credentials:
|
||||
|
||||
@@ -424,7 +425,7 @@ menu, and select a category, or :guilabel:`Search More...` to find one that is n
|
||||
|
||||
.. important::
|
||||
Mapping an :guilabel:`AvaTax Category` on either the *Product* or *Product Category* should be
|
||||
completed for every *Product* or *Product Category*, depending the route that is chosen.
|
||||
completed for every *Product* or *Product Category*, depending on the route that is chosen.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`fiscal_positions`
|
||||
|
||||
@@ -1,14 +0,0 @@
|
||||
====================
|
||||
TaxCloud integration
|
||||
====================
|
||||
|
||||
.. warning::
|
||||
The out-of-the-box Odoo TaxCloud integration has begun its decommissioning. Starting in Odoo 17,
|
||||
new installations are prohibited, and in Odoo 18 the TaxCloud module(s) won't exist at all. Odoo
|
||||
recommends the use of the Avatax platform.
|
||||
|
||||
If you are hosted on-premise or on Odoo.SH and you wish to use Taxcloud, you can contact them
|
||||
directly `here <https://taxcloud.com/blog/odoo-integration/>`_.
|
||||
|
||||
.. seealso::
|
||||
:doc:`avatax`
|
||||
|
After Width: | Height: | Size: 2.9 KiB |
@@ -5,8 +5,8 @@ Expenses
|
||||
========
|
||||
|
||||
Odoo **Expenses** streamlines the management of expenses. After an employee submits their expenses
|
||||
in Odoo, the expenses are reviewed by management and accounting teams. Once approved, payments can
|
||||
then be processed and disbursed back to the employee for reimbursement(s).
|
||||
in Odoo, they are reviewed by management and accounting teams. Once approved, payments can then be
|
||||
processed, and disbursed back to the employee for reimbursement.
|
||||
|
||||
.. seealso::
|
||||
`Odoo Expenses: product page <https://www.odoo.com/app/expenses>`_
|
||||
@@ -41,7 +41,7 @@ drop-down menu (most products will be set to :guilabel:`Units`).
|
||||
units, miles, nights, etc.). Go to :menuselection:`Sales app --> Configuration --> Settings` and
|
||||
ensure `Units of Measure` is enabled in the `Product Catalog` section. Click on the
|
||||
:guilabel:`Units of Measure` internal link to :doc:`view, create, and edit the units of measure
|
||||
<../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`.
|
||||
<../inventory_and_mrp/inventory/product_management/configure/uom>`.
|
||||
|
||||
.. image:: expenses/new-expense-product.png
|
||||
:align: center
|
||||
@@ -62,16 +62,16 @@ report the actual cost when submitting an expense report.
|
||||
Here are some examples for when to set a specific :guilabel:`Cost` on a product vs. leaving the
|
||||
:guilabel:`Cost` at `0.00`:
|
||||
|
||||
- **Meals**: Set the :guilabel:`Cost` to `0.00`. When an employee logs an expense for a meal,
|
||||
- **Meals**: set the :guilabel:`Cost` to `0.00`. When an employee logs an expense for a meal,
|
||||
they enter the actual amount of the bill and will be reimbursed for that amount. An expense for
|
||||
a meal costing $95.23 would equal a reimbursement for $95.23.
|
||||
- **Mileage**: Set the :guilabel:`Cost` to `0.30`. When an employee logs an expense for
|
||||
- **Mileage**: set the :guilabel:`Cost` to `0.30`. When an employee logs an expense for
|
||||
"mileage", they enter the number of miles driven in the :guilabel:`Quantity` field, and are
|
||||
reimbursed 0.30 per mile they entered. An expense for 100 miles would equal a reimbursement for
|
||||
$30.00.
|
||||
- **Monthly Parking**: Set the :guilabel:`Cost` to `75.00`. When an employee logs an expense for
|
||||
- **Monthly Parking**: set the :guilabel:`Cost` to `75.00`. When an employee logs an expense for
|
||||
"monthly parking", the reimbursement would be for $75.00.
|
||||
- **Expenses**: Set the :guilabel:`Cost` to `0.00`. When an employee logs an expense that is not
|
||||
- **Expenses**: set the :guilabel:`Cost` to `0.00`. When an employee logs an expense that is not
|
||||
a meal, mileage, or monthly parking, they use the generic :guilabel:`Expenses` product. An
|
||||
expense for a laptop costing $350.00 would be logged as an :guilabel:`Expenses` product, and
|
||||
the reimbursement would be for $350.00.
|
||||
@@ -84,570 +84,20 @@ Set a tax on each product in the :guilabel:`Vendor Taxes` and :guilabel:`Custome
|
||||
applicable. It is considered good practice to use a tax that is configured with :ref:`Tax Included
|
||||
in Price <taxes/included-in-price>`. Taxes will be automatically configured if this is set.
|
||||
|
||||
.. _expenses/new:
|
||||
|
||||
Record expenses
|
||||
===============
|
||||
|
||||
Manually create a new expense
|
||||
-----------------------------
|
||||
|
||||
To record a new expense, begin in the main :menuselection:`Expenses` app dashboard, which presents
|
||||
the default :guilabel:`My Expenses` view. This view can also be accessed from
|
||||
:menuselection:`Expenses app --> My Expenses --> My Expenses`.
|
||||
|
||||
First, click :guilabel:`New`, and then fill out the various fields on the form.
|
||||
|
||||
- :guilabel:`Description`: Enter a short description for the expense in the :guilabel:`Description`
|
||||
field. This should be short and informative, such as `lunch with client` or `hotel for
|
||||
conference`.
|
||||
- :guilabel:`Category`: Select the expense category from the drop-down menu that most closely
|
||||
corresponds to the expense. For example, an airplane ticket would be appropriate for an expense
|
||||
:guilabel:`Category` named :guilabel:`Air Travel`.
|
||||
- :guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:
|
||||
|
||||
#. If the expense is for one single item/expense, and the category selected was for a single item,
|
||||
enter the cost in the :guilabel:`Total` field (the :guilabel:`Quantity` field is hidden).
|
||||
#. If the expense is for multiples of the same item/expense with a fixed price, the
|
||||
:guilabel:`Unit Price` is displayed. Enter the quantity in the :guilabel:`Quantity` field, and
|
||||
the total cost is automatically updated with the correct total (the :guilabel:`Unit Price` x
|
||||
the :guilabel:`Quantity` = the total). Be advised, the word "total" does not appear, the total
|
||||
cost simply appears below the :guilabel:`Quantity`.
|
||||
|
||||
.. example::
|
||||
For example, in the case of mileage driven, the :guilabel:`Unit Price` is populated as the
|
||||
cost *per mile*. Set the :guilabel:`Quantity` to the *number of miles* driven, and the total
|
||||
is calculated.
|
||||
|
||||
- :guilabel:`Included Taxes`: If taxes were configured on the expense category, the tax percentage
|
||||
and amount appear automatically after entering either the :guilabel:`Total` or the
|
||||
:guilabel:`Quantity`.
|
||||
|
||||
.. note::
|
||||
When a tax is configured on an expense category, the :guilabel:`Included Taxes` value will
|
||||
update in real time as the :guilabel:`Total` or :guilabel:`Quantity` is updated.
|
||||
|
||||
- :guilabel:`Employee`: Using the drop-down menu, select the employee this expense is for.
|
||||
- :guilabel:`Paid By`: Click the radio button to indicate who paid for the expense and should be
|
||||
reimbursed. If the employee paid for the expense (and should be reimbursed) select
|
||||
:guilabel:`Employee (to reimburse)`. If the company paid directly instead (e.g. if the company
|
||||
credit card was used to pay for the expense) select :guilabel:`Company`. Depending on the expense
|
||||
category selected, this field may not appear.
|
||||
- :guilabel:`Bill Reference`: If there is any reference text that should be included for the
|
||||
expense, enter it in this field.
|
||||
- :guilabel:`Expense Date`: Using the calendar module, enter the date the expense was incurred. Use
|
||||
the :guilabel:`< (left)` and :guilabel:`> (right)` arrows to navigate to the correct month, then
|
||||
click on the specific day to enter the selection.
|
||||
- :guilabel:`Account`: Select the expense account that this expense should be logged on from the
|
||||
drop-down menu.
|
||||
- :guilabel:`Customer to Reinvoice`: If the expense is something that should be paid for by a
|
||||
customer, select the :abbr:`SO (Sales Order)` and customer that will be invoiced for this expense
|
||||
from the drop-down menu. All sales orders in the drop-down menu list both the :abbr:`SO (Sales
|
||||
Order)` as well as the company the sales order is written for, but after the expense is saved, the
|
||||
customer name disappears and only the :abbr:`SO (Sales Order)` is visible on the expense.
|
||||
|
||||
.. example::
|
||||
A customer wishes to have an on-site meeting for a custom garden (design and installation) and
|
||||
agrees to pay for the expenses associated with it (such as travel, hotel, meals, etc.). All
|
||||
expenses tied to that meeting would indicate the sales order for the custom garden (which also
|
||||
references the customer) as the :guilabel:`Customer to Reinvoice`.
|
||||
|
||||
- :guilabel:`Analytic Distribution`: Select the account(s) the expense should be written against
|
||||
from the drop-down menu for either :guilabel:`Projects`, :guilabel:`Departments`, or both.
|
||||
Multiple accounts can be listed for each category if needed. Adjust the percentage for each
|
||||
analytic account by typing in the percentage value next to the account.
|
||||
- :guilabel:`Company`: If multiple companies are set up, select the company this expense should be
|
||||
filed for from the drop-down menu. The current company will automatically populate this field.
|
||||
- :guilabel:`Notes...`: If any notes are needed in order to clarify the expense, enter them in the
|
||||
notes field.
|
||||
|
||||
.. image:: expenses/expense-filled-in.png
|
||||
:align: center
|
||||
:alt: A filled in expense form for a client lunch.
|
||||
|
||||
Attach a receipt
|
||||
~~~~~~~~~~~~~~~~
|
||||
|
||||
After the expense is created, the next step is to attach a receipt. Click the :guilabel:`Attach
|
||||
Receipt` button, and a file explorer appears. Navigate to the receipt to be attached, and click
|
||||
:guilabel:`Open`. The new receipt is recorded in the chatter, and the number of receipts will appear
|
||||
next to the :guilabel:`📎 (paperclip)` icon beneath the expense form. More than one receipt can be
|
||||
attached to an individual expense, as needed. The number of receipts attached to the expense will be
|
||||
noted on the paperclip icon.
|
||||
|
||||
.. image:: expenses/receipt-icon.png
|
||||
:align: center
|
||||
:alt: Attach a receipt and it appears in the chatter.
|
||||
|
||||
Create new expenses from a scanned receipt
|
||||
------------------------------------------
|
||||
|
||||
Rather than manually inputting all of the information for an expense, expenses can be created by
|
||||
scanning a PDF receipt.
|
||||
|
||||
First, in the main :guilabel:`Expenses` app dashboard view (this view can also be accessed from
|
||||
:menuselection:`Expenses app --> My Expenses --> My Expenses`), click :guilabel:`Scan`, and a file
|
||||
explorer pops up. Navigate to the receipt to be uploaded, click on it to select it, and then click
|
||||
:guilabel:`Open`.
|
||||
|
||||
.. image:: expenses/scan.png
|
||||
:align: center
|
||||
:alt: Create an expense by scanning a receipt. Click Scan at the top of the Expenses dashboard
|
||||
view.
|
||||
|
||||
The receipt is scanned, and a new entry is created with today's date as the :guilabel:`Expense
|
||||
Date`, and any other fields it can populate based on the scanned data, such as the total. Click on
|
||||
the new entry to open the individual expense form, and make any changes needed. The scanned receipt
|
||||
appears in the chatter.
|
||||
|
||||
Automatically create new expenses from an email
|
||||
-----------------------------------------------
|
||||
|
||||
Instead of individually creating each expense in the *Expenses* app, expenses can be automatically
|
||||
created by sending an email to an email alias.
|
||||
|
||||
To do so, first, an email alias needs to be configured. Go to :menuselection:`Expenses app -->
|
||||
Configuration --> Settings`. Ensure :guilabel:`Incoming Emails` is enabled.
|
||||
|
||||
.. image:: expenses/email-alias.png
|
||||
:align: center
|
||||
:alt: Create the domain alias by clicking the link.
|
||||
|
||||
.. note::
|
||||
If the domain alias needs to be set up, :guilabel:`Setup your domain alias` will appear beneath
|
||||
the incoming emails check box instead of the email address field. Refer to this documentation for
|
||||
setup instructions and more information:
|
||||
:doc:`/applications/websites/website/configuration/domain_names`. Once the domain alias is
|
||||
configured, the email address field will be visible beneath the incoming emails section.
|
||||
|
||||
Next, enter the email address to be used in the email field, and then click :guilabel:`Save`. Now
|
||||
that the email address has been entered, emails can be sent to that alias to create new expenses
|
||||
without having to be in the Odoo database.
|
||||
|
||||
To submit an expense via email, create a new email and enter the product's *internal reference* code
|
||||
(if available) and the amount of the expense in the email subject. Next, attach the receipt to the
|
||||
email. Odoo creates the expense by taking the information in the email subject and combining it with
|
||||
the receipt.
|
||||
|
||||
To check an expense categories internal reference, go to :menuselection:`Expenses app -->
|
||||
Configuration --> Expense Categories`. If an internal reference is listed on the expense category,
|
||||
it is listed in the :guilabel:`Internal Reference` column.
|
||||
|
||||
.. image:: expenses/ref.png
|
||||
:align: center
|
||||
:alt: Internal reference numbers are listed in the main Expense Categories view.
|
||||
|
||||
To add an internal reference on an expense category, click on the category to open the form. Enter
|
||||
the internal reference in the field. Beneath the :guilabel:`Internal Reference` field, this sentence
|
||||
appears: :guilabel:`Use this reference as a subject prefix when submitting by email.`
|
||||
|
||||
.. image:: expenses/mileage-internal-reference.png
|
||||
:align: center
|
||||
:alt: Internal reference numbers are listed in the main Expense Products view.
|
||||
|
||||
.. note::
|
||||
For security purposes, only authenticated employee emails are accepted by Odoo when creating an
|
||||
expense from an email. To confirm an authenticated employee email address, go to the employee
|
||||
card in the :menuselection:`Employees` app, and refer to the :guilabel:`Work Email`
|
||||
|
||||
.. image:: expenses/authenticated-email-address.png
|
||||
:align: center
|
||||
:alt: Create the domain alias by clicking the link.
|
||||
|
||||
.. example::
|
||||
If submitting an expense via email for a $25.00 meal during a work trip, the email subject would
|
||||
be `FOOD $25.00`.
|
||||
|
||||
Explanation:
|
||||
|
||||
- The :guilabel:`Internal Reference` for the expense category `Meals` is `FOOD`
|
||||
- The :guilabel:`Cost` for the expense is `$25.00`
|
||||
|
||||
.. _expenses/report:
|
||||
|
||||
Create an expense report
|
||||
========================
|
||||
|
||||
When expenses are ready to submit (such as at the end of a business trip, or once a month), an
|
||||
*expense report* needs to be created. Go to the main :menuselection:`Expenses` app dashboard, which
|
||||
displays a default :guilabel:`My Expenses` view, or go to :menuselection:`Expenses app --> My
|
||||
Expenses --> My Expenses`.
|
||||
|
||||
Expenses are color coded by status. Any expense with a status of :guilabel:`To Report` (expenses
|
||||
that still need to be added to an expense report) the text appears in blue. All other statuses
|
||||
(:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black.
|
||||
|
||||
First, select each individual expense for the report by clicking the check box next to each entry,
|
||||
or quickly select all the expenses in the list by clicking the check box next to :guilabel:`Expense
|
||||
Date`.
|
||||
|
||||
Another way to quickly add all expenses that are not on an expense report is to click
|
||||
:guilabel:`Create Report` without selecting any expenses, and Odoo will select all expenses with a
|
||||
status of :guilabel:`To Submit` that are not already on a report.
|
||||
|
||||
.. image:: expenses/create-report.png
|
||||
:align: center
|
||||
:alt: Select the expenses to submit, then create the report.
|
||||
|
||||
.. note::
|
||||
Any expense can be selected from the :guilabel:`My Expenses` list, regardless of status. The
|
||||
:guilabel:`Create Report` button is visible as long as there is a minimum of 1 expense with a
|
||||
status of :guilabel:`To Report` selected. When the :guilabel:`Create Report` button is clicked,
|
||||
only expenses with a status of :guilabel:`To Submit` that are *not* currently on another expense
|
||||
report will appear in the newly created expense report.
|
||||
|
||||
Once the expenses have been selected, click the :guilabel:`Create Report` button. The new report
|
||||
appears with all the expenses listed in the :guilabel:`Expense` tab. If there is a receipt attached
|
||||
to an individual expense, a :guilabel:`📎 (paperclip)` icon appears next to the :guilabel:`Customer
|
||||
to Reinvoice` and :guilabel:`Analytic Distribution` columns.
|
||||
|
||||
When the report is created, the date range for the expenses appears in the :guilabel:`Expense Report
|
||||
Summary` field by default. It is recommended to edit this field with a short summary for each report
|
||||
to help keep expenses organized. Enter a short description for the expense report (such as `Client
|
||||
Trip NYC`, or `Repairs for Company Car`) in the :guilabel:`Expense Report Summary` field. Next,
|
||||
select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report. If
|
||||
needed, the :guilabel:`Journal` can be changed. Use the drop-down menu to select a different
|
||||
:guilabel:`Journal`.
|
||||
|
||||
.. image:: expenses/expense-report-summary.png
|
||||
:align: center
|
||||
:alt: Enter a short description and select a manager for the report.
|
||||
|
||||
If some expenses are not on the report that should be, they can still be added. Click :guilabel:`Add
|
||||
a line` at the bottom of the :guilabel:`Expense` tab. A pop up appears with all the available
|
||||
expenses that can be added to the report (with a status of :guilabel:`To Submit`). Click the check
|
||||
box next to each expense to add, then click :guilabel:`Select`. The items now appear on the report
|
||||
that was just created. If a new expense needs to be added that does *not* appear on the list, click
|
||||
:guilabel:`New` to create a new expense and add it to the report.
|
||||
|
||||
.. image:: expenses/add-an-expense-line.png
|
||||
:align: center
|
||||
:alt: Add more expenses to the report before submitting.
|
||||
|
||||
.. note::
|
||||
Expense reports can be created in one of three places:
|
||||
|
||||
#. Go to the main :menuselection:`Expenses` app dashboard (also accessed by going to
|
||||
:menuselection:`Expenses app --> My Expenses --> My Expenses`)
|
||||
#. Go to :menuselection:`Expenses app --> My Expenses --> My Reports`
|
||||
#. Go to :menuselection:`Expenses app --> Expense Reports`
|
||||
|
||||
In any of these views, click :guilabel:`New` to create a new expense report.
|
||||
|
||||
.. _expenses/submit:
|
||||
|
||||
Submit an expense report
|
||||
------------------------
|
||||
|
||||
When an expense report is completed, the next step is to submit the report to a manager for
|
||||
approval. Reports must be individually submitted, and cannot be submitted in batches. Open the
|
||||
specific report from the list of expense reports (if the report is not already open). To view all
|
||||
expense reports, go to :menuselection:`Expenses app --> My Expenses --> My Reports`.
|
||||
|
||||
If the list is large, grouping the results by status may be helpful since only reports that have a
|
||||
:guilabel:`To Submit` status need to be submitted, reports with an :guilabel:`Approved` or
|
||||
:guilabel:`Submitted` status do not.
|
||||
|
||||
The :guilabel:`To Submit` expenses are easily identifiable not just from the :guilabel:`To Submit`
|
||||
status, but the text appears in blue, while the other expenses text appears in black.
|
||||
|
||||
.. image:: expenses/expense-status.png
|
||||
:align: center
|
||||
:alt: Submit the report to the manager.
|
||||
|
||||
.. note::
|
||||
The status of each report is shown in the :guilabel:`Status` column on the right. If the
|
||||
:guilabel:`Status` column is not visible, click the :guilabel:`Additional Options (two dots)`
|
||||
icon at the end of the row, and enable :guilabel:`Status`.
|
||||
|
||||
Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report,
|
||||
the next step is to wait for the manager to approve it.
|
||||
|
||||
.. important::
|
||||
The :ref:`expenses/approve`, :ref:`expenses/post`, and :ref:`expenses/reimburse` sections are
|
||||
**only** for users with the *necessary rights*.
|
||||
|
||||
.. _expenses/approve:
|
||||
|
||||
Approve expenses
|
||||
================
|
||||
|
||||
In Odoo, not just anyone can approve expense reports— only users with the necessary rights (or
|
||||
permissions) can. This means that a user must have at least *Team Approver* rights for the
|
||||
*Expenses* app. Employees with the necessary rights can review expense reports, approve or reject
|
||||
them, and provide feedback thanks to the integrated communication tool.
|
||||
|
||||
To see who has rights to approve, go to the main :menuselection:`Settings` app and click on
|
||||
:guilabel:`Manage Users`.
|
||||
|
||||
.. note::
|
||||
If the *Settings* app is not available, then certain rights are not set on the account. Check the
|
||||
:guilabel:`Access Rights` tab of a user's card in the :menuselection:`Settings` app. the
|
||||
:guilabel:`Administration` section (bottom right of the :guilabel:`Access Rights` tab) is set to
|
||||
one of three options:
|
||||
|
||||
- :guilabel:`None (blank)`: The user cannot access the *Settings* app at all.
|
||||
- :guilabel:`Access Rights`: The user can only view the :guilabel:`User's & Companies` section of
|
||||
the *Settings* app.
|
||||
- :guilabel:`Settings`: The user has access to the entire *Settings* app with no restrictions.
|
||||
|
||||
Please refer to :doc:`this document </applications/general/users>` to learn more about managing
|
||||
users and their access rights.
|
||||
|
||||
Click on an individual to view their card, which displays the :guilabel:`Access Rights` tab in the
|
||||
default view. Scroll down to the :guilabel:`Human Resources` section. Under :guilabel:`Expenses`,
|
||||
there are four options:
|
||||
|
||||
- :guilabel:`None (blank)`: A blank field means the user has no rights to view or approve expense
|
||||
reports, and can only view their own.
|
||||
- :guilabel:`Team Approver`: The user can only view and approve expense reports for their own
|
||||
specific team.
|
||||
- :guilabel:`All Approver`: The user can view and approve any expense report.
|
||||
- :guilabel:`Administrator`: The user can view and approve any expense report, as well as access the
|
||||
reporting and configuration menus in the *Expenses* app.
|
||||
|
||||
Users who are able to approve expense reports (typically managers) can easily view all expense
|
||||
reports they have access rights to. Go to :menuselection:`Expenses app --> Expense Reports`, and a
|
||||
list appears with all expense reports that have a status of either :guilabel:`To Submit`,
|
||||
:guilabel:`Submitted`, :guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done`. Expense
|
||||
reports with a status of :guilabel:`Refused` are hidden in the default view.
|
||||
|
||||
.. image:: expenses/expense-reports-list.png
|
||||
:align: center
|
||||
:alt: Reports to validate are found on the Reports to Approve page.
|
||||
|
||||
When viewing expense reports, there is a panel of filters that can be enabled or disabled on the
|
||||
left side. The three categories that filters can be applied on are :guilabel:`Status`,
|
||||
:guilabel:`Employee`, and :guilabel:`Company`. To view only expense reports with a particular
|
||||
status, enable the specific status filter to display the expense reports with only that status.
|
||||
Disable the specific status filter to hide the reports with that status. To view expense reports for
|
||||
a particular employee and/or company, enable the specific employee name filter and/or company filter
|
||||
in the :guilabel:`Employee` and :guilabel:`Company` sections.
|
||||
|
||||
Reports can be approved in two ways (individually or several at once) and refused only one way. To
|
||||
approve multiple expense reports at once, remain in the list view. First, select the reports to
|
||||
approve by clicking the check box next to each report, or click the box next to :guilabel:`Employee`
|
||||
to select all the reports in the list.
|
||||
|
||||
.. important::
|
||||
Only reports with a status of :guilabel:`Submitted` can be approved. It is recommended to only
|
||||
display the submitted reports by adjusting the status filter on the left side by only having the
|
||||
:guilabel:`Submitted` filter enabled.
|
||||
|
||||
If a report is selected that is unable to be approved, the :guilabel:`Approve Report` button
|
||||
**will not appear**, indicating there is a problem with the selected report(s).
|
||||
|
||||
Next, click the :guilabel:`Approve Report` button.
|
||||
|
||||
.. image:: expenses/approve-report.png
|
||||
:align: center
|
||||
:alt: Approve multiple reports by clicking the checkboxes next to each report.
|
||||
|
||||
To approve an individual report, click on a report to go to a detailed view of that report. In this
|
||||
view, several options are presented: :guilabel:`Approve`, :guilabel:`Report in Next Payslip`,
|
||||
:guilabel:`Refuse`, or :guilabel:`Reset to draft`. Click :guilabel:`Approve` to approve the report.
|
||||
|
||||
If :guilabel:`Refuse` is clicked, a pop-up window appears. Enter a brief explanation for the refusal
|
||||
in the :guilabel:`Reason to Refuse Expense` field, and then click :guilabel:`Refuse`.
|
||||
|
||||
.. image:: expenses/refuse-expense.png
|
||||
:align: center
|
||||
:alt: Send messages in the chatter.
|
||||
|
||||
Team managers can easily view all the expense reports for their team members. While in the
|
||||
:guilabel:`Expense Reports` view, click the drop-down arrow in the right-side of the search box, and
|
||||
click on :guilabel:`My Team` in the :guilabel:`Filters` section. This presents all the reports for
|
||||
the manager's team.
|
||||
|
||||
.. image:: expenses/my-team-filter.png
|
||||
:align: center
|
||||
:alt: Select the My Team filter.
|
||||
|
||||
.. tip::
|
||||
If more information is needed, such as a missing receipt, communication is easy from the chatter.
|
||||
In an individual report, simply click :guilabel:`Send message` to open the message text box. Type
|
||||
in a message, tagging the proper person (if needed), and post it to the chatter by clicking
|
||||
:guilabel:`Send`. The message is posted in the chatter, and the person tagged will be notified
|
||||
via email of the message, as well as any followers.
|
||||
|
||||
The only people that can be tagged in a message are *followers*. To see who is a follower, click
|
||||
on the :guilabel:`👤 (person)` icon to display the followers of the expense.
|
||||
|
||||
.. image:: expenses/chatter.png
|
||||
:align: center
|
||||
:alt: Send messages in the chatter.
|
||||
|
||||
.. _expenses/post:
|
||||
|
||||
Post expenses in accounting
|
||||
===========================
|
||||
|
||||
Once an expense report is approved, the next step is to post the report to the accounting journal.
|
||||
To view all expense reports, go to :menuselection:`Expenses app --> Expense Reports`. To view only the
|
||||
expense reports that have been approved and need to be posted, adjust the filters on the left side
|
||||
so that only the :guilabel:`Approved` status is enabled.
|
||||
|
||||
.. image:: expenses/post-reports.png
|
||||
:align: center
|
||||
:alt: View reports to post by clicking on expense reports, then reports to post.
|
||||
|
||||
Just like approvals, expense reports can be posted in two ways (individually or several at once). To
|
||||
post multiple expense reports at once, remain in the list view. First, select the reports to post by
|
||||
clicking the check box next to each report, or click the box next to :guilabel:`Employee` to select
|
||||
all the reports in the list. Next, click :guilabel:`Post Entries`.
|
||||
|
||||
.. image:: expenses/post-entries.png
|
||||
:align: center
|
||||
:alt: Post multiple reports at a time from the Expense Reports view, with the Approved filter.
|
||||
|
||||
To post an individual report, click on a report to go to the detailed view of that report. In this
|
||||
view, several options are presented: :guilabel:`Post Journal Entries`, :guilabel:`Report In Next
|
||||
Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to Draft`. Click :guilabel:`Post Journal Entries`
|
||||
to post the report.
|
||||
|
||||
If :guilabel:`Refuse` is clicked, a pop-up window appears. Enter a brief explanation for the refusal
|
||||
in the :guilabel:`Reason to Refuse Expense` field, and then click :guilabel:`Refuse`. Refused
|
||||
reports can be viewed by going to :menuselection:`Expenses app --> Expense Reports`, then adjusting
|
||||
the filters on the left so that only :guilabel:`Refused` is selected. This will only show the
|
||||
refused expense reports.
|
||||
|
||||
.. important::
|
||||
To post expense reports to an accounting journal, the user must have following access rights:
|
||||
|
||||
- Accounting: Accountant or Adviser
|
||||
- Expenses: Manager
|
||||
|
||||
.. _expenses/reimburse:
|
||||
|
||||
Reimburse employees
|
||||
===================
|
||||
|
||||
After an expense report is posted to an accounting journal, the next step is to reimburse the
|
||||
employee. To view all the expense reports to pay, go to :menuselection:`Expenses app --> Expense
|
||||
Reports --> Reports To Pay`.
|
||||
|
||||
.. image:: expenses/reports-to-pay.png
|
||||
:align: center
|
||||
:alt: View reports to pay by clicking on expense reports, then reports to pay.
|
||||
|
||||
Just like approvals and posting, expense reports can be paid in two ways (individually or several at
|
||||
once). To pay multiple expense reports at once, remain in the list view. First, select the reports
|
||||
to pay by clicking the check box next to each report, or click the box next to :guilabel:`Employee`
|
||||
to select all the reports in the list. Next, click :guilabel:`Register Payment`.
|
||||
|
||||
.. image:: expenses/register-payment.png
|
||||
:align: center
|
||||
:alt: Post multiple reports by selecting them, clicking the gear, and then post the entries.
|
||||
|
||||
To pay an individual report, click on a report to go to a detailed view of that report. Click
|
||||
:guilabel:`Register Payment` to pay the employee.
|
||||
|
||||
A :guilabel:`Register Payment` pop-up appears, and the :guilabel:`Journal`, :guilabel:`Payment
|
||||
Method`, and :guilabel:`Payment Date` can be modified, if needed. When the selections are correct,
|
||||
click :guilabel:`Create Payment` to send the payment to the employee.
|
||||
|
||||
To pay an individual report, click on a report in the list view to go to a detailed view of that
|
||||
report. Click :guilabel:`Register Payment` to pay the employee. A :guilabel:`Register Payment`
|
||||
pop-up appears, but when paying an individual expense report instead of several at once, more
|
||||
options appear in the pop-up. In addition to the :guilabel:`Journal`, :guilabel:`Payment Method`,
|
||||
and :guilabel:`Payment Date` fields, a :guilabel:`Recipient Bank Account`, :guilabel:`Amount`, and
|
||||
:guilabel:`Memo` field appear. Select the employee's bank account from the drop-down menu to
|
||||
directly deposit the payment to their account. When all other selections are correct, click
|
||||
:guilabel:`Create Payment` to send the payment to the employee.
|
||||
|
||||
.. image:: expenses/two-payment-posting-options.png
|
||||
:align: center
|
||||
:alt: Different options appear when registering an individual expense report versus multiple
|
||||
expense reports at once.
|
||||
|
||||
Re-invoice expenses to customers
|
||||
================================
|
||||
|
||||
If expenses are tracked on customer projects, expenses can be automatically charged back to the
|
||||
customer. This is done by creating an expense, referencing the :abbr:`SO (Sales Order)` the expense
|
||||
should be added to, and then creating the expense report. Next, managers approve the expense report,
|
||||
and the accounting department posts the journal entries. Finally, once the expense report is posted
|
||||
to a journal, the expense(s) appears on the :abbr:`SO (Sales Order)` that was referenced. The sales
|
||||
order can then be invoiced, thus invoicing the customer for the expense.
|
||||
|
||||
Setup
|
||||
-----
|
||||
|
||||
First, specify the invoicing policy for each expense category. Go to :menuselection:`Expenses app
|
||||
--> Configuration --> Expense Categories`. Click on the expense category to open the expense
|
||||
category form. Under the :guilabel:`Invoicing` section, click the radio button next to the desired
|
||||
selection for :guilabel:`Re-Invoicing Expenses`. Options are :guilabel:`None`, :guilabel:`At cost`,
|
||||
and :guilabel:`Sales price`.
|
||||
|
||||
:guilabel:`Re-Invoicing Expenses`:
|
||||
|
||||
- :guilabel:`None`: Expense category will not be re-invoiced.
|
||||
- :guilabel:`At cost`: Expense category will invoice expenses at their real cost.
|
||||
- :guilabel:`At sales price`: Expense category will invoice the price set on the sale order.
|
||||
|
||||
Create an expense
|
||||
-----------------
|
||||
|
||||
First, when :ref:`creating a new expense <expenses/new>`, the correct information needs to be
|
||||
entered in order to re-invoice a customer. Select the *sales order* the expense will appear on in
|
||||
the :guilabel:`Customer to Reinvoice` section, from the drop-down menu. Next, select the
|
||||
:guilabel:`Analytic Account` the expense will be posted to. After the expense(s) are created, the
|
||||
expense report needs to be :ref:`created <expenses/report>` and :ref:`submitted <expenses/submit>`
|
||||
as usual.
|
||||
|
||||
.. image:: expenses/reinvoice-expense.png
|
||||
:align: center
|
||||
:alt: Ensure the customer to be invoiced is called out on the expense.
|
||||
|
||||
.. important::
|
||||
Selecting a :guilabel:`Customer to Reinvoice` when creating an expense is critical, since this is
|
||||
what causes the expenses to be automatically invoiced after an expense report is approved.
|
||||
|
||||
The :guilabel:`Customer to Reinvoice` field can be modified *until an expense report is*
|
||||
**approved**, then the field is no longer able to be modified.
|
||||
|
||||
Validate and post expenses
|
||||
--------------------------
|
||||
|
||||
Only employees with permissions (typically managers or supervisors) can :ref:`approve expenses
|
||||
<expenses/approve>`. Before approving an expense report, ensure the :guilabel:`Analytic
|
||||
Distribution` is set on every expense line of a report. If an :guilabel:`Analytic Distribution` is
|
||||
missing, assign the correct account(s) from the drop-down menu, and then click :guilabel:`Approve`
|
||||
or :guilabel:`Refuse`.
|
||||
|
||||
The accounting department is typically responsible for :ref:`posting journal entries
|
||||
<expenses/post>`. Once an expense report is approved, it can then be posted. The :abbr:`SO (Sales
|
||||
Order)` is **only** updated *after the journal entries are posted*. One the journal entries are
|
||||
posted, the expenses now appear on the referenced :abbr:`SO (Sales Order)`.
|
||||
|
||||
Invoice expenses
|
||||
----------------
|
||||
|
||||
Once the :abbr:`SO (Sales Order)` has been updated, it is time to invoice the customer. After the
|
||||
expense report has been approved and the journal entries have been posted, click the
|
||||
:guilabel:`Sales Orders` smart button to open the :abbr:`SO (Sales Order)`. The expenses to be
|
||||
re-invoiced are now on the :abbr:`SO (Sales Order)`.
|
||||
|
||||
.. image:: expenses/sales-order.png
|
||||
:align: center
|
||||
:alt: After the expense report is posted to the journal entry, the sales order can be called up
|
||||
by clicking on the sales order number.
|
||||
|
||||
.. note::
|
||||
More than one :abbr:`SO (Sales Order)` can be referenced on an expense report. If more than one
|
||||
:abbr:`SO (Sales Order)` is referenced, the :guilabel:`Sales Orders` smart button will list the
|
||||
number of :abbr:`SO (Sales Order)`'s. If multiple :abbr:`SO (Sales Order)`'s are listed, the
|
||||
:guilabel:`Sales Orders` smart button opens a list view of all the :abbr:`SO (Sales Order)`'s on
|
||||
the expense report. Click on a :abbr:`SO (Sales Order)` to open the individual :abbr:`SO (Sales
|
||||
Order)`.
|
||||
|
||||
The expenses are listed in the :abbr:`SO (Sales Order)` :guilabel:`Order Lines` tab.
|
||||
|
||||
.. image:: expenses/so-details.png
|
||||
:align: center
|
||||
:alt: See the expenses listed on the sales order after clicking into it.
|
||||
|
||||
Next, click :guilabel:`Create Invoice`, and select if the invoice is for a :guilabel:`Regular
|
||||
invoice`, a :guilabel:`Down payment (percentage)`, or a :guilabel:`Down payment (fixed amount)` by
|
||||
clicking the radio button next to it. Then, click :guilabel:`Create Invoice`. The customer has now
|
||||
been invoiced for the expenses.
|
||||
.. seealso::
|
||||
- :doc:`expenses/log_expenses`
|
||||
- :doc:`expenses/expense_reports`
|
||||
- :doc:`expenses/approve_expenses`
|
||||
- :doc:`expenses/post_expenses`
|
||||
- :doc:`expenses/reimburse`
|
||||
- :doc:`expenses/reinvoice_expenses`
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
expenses/log_expenses
|
||||
expenses/expense_reports
|
||||
expenses/approve_expenses
|
||||
expenses/post_expenses
|
||||
expenses/reimburse
|
||||
expenses/reinvoice_expenses
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
================
|
||||
Approve expenses
|
||||
================
|
||||
|
||||
In Odoo, not just anyone can approve expense reports, only users with the necessary rights (or
|
||||
permissions) can. This means that a user **must** have at least *Team Approver* rights for the
|
||||
*Expenses* app. Employees with the necessary rights can review expense reports, approve or reject
|
||||
them, and provide feedback thanks to the integrated communication tool.
|
||||
|
||||
Please refer to the :doc:`access rights documentation </applications/general/users>` to learn more
|
||||
about managing users and their access rights.
|
||||
|
||||
View expense reports
|
||||
====================
|
||||
|
||||
Users who are able to approve expense reports, typically managers, can easily view all expense
|
||||
reports they have access rights to. Go to :menuselection:`Expenses app --> Expense Reports`, to view
|
||||
the :guilabel:`All Reports` dashboard.
|
||||
|
||||
A list of all expense reports with a status of either :guilabel:`To Submit`, :guilabel:`Submitted`,
|
||||
:guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done` appears. Expense reports with a status
|
||||
of :guilabel:`Refused` are hidden, by default.
|
||||
|
||||
.. image:: approve_expenses/expense-reports-list.png
|
||||
:align: center
|
||||
:alt: Reports to validate are found on the Reports to Approve page.
|
||||
|
||||
Approve expense reports
|
||||
=======================
|
||||
|
||||
Expense reports can be approved in two ways: :ref:`individually <expenses/individual>` or :ref:`in
|
||||
bulk <expenses/multiple>`.
|
||||
|
||||
.. important::
|
||||
Only reports with a status of :guilabel:`Submitted` can be approved.
|
||||
|
||||
It is recommended to display only :guilabel:`Submitted` reports by ticking the checkbox beside
|
||||
the :guilabel:`Submitted` filter, in the left column, under the :guilabel:`Status` section.
|
||||
|
||||
If a report is **not** able to be approved, the :guilabel:`Approve Report` button **does not**
|
||||
appear on the :guilabel:`All Reports` page.
|
||||
|
||||
.. _expenses/individual:
|
||||
|
||||
Approve individual reports
|
||||
--------------------------
|
||||
|
||||
To approve an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and
|
||||
click on an individual report to view the report form.
|
||||
|
||||
From here, several options are presented: :guilabel:`Approve`, :guilabel:`Refuse`, and
|
||||
:guilabel:`Reset to draft`.
|
||||
|
||||
Click :guilabel:`Approve` to approve the report.
|
||||
|
||||
.. _expenses/multiple:
|
||||
|
||||
Approve multiple reports
|
||||
------------------------
|
||||
|
||||
To approve multiple expense reports at once, first navigate to :menuselection:`Expenses app -->
|
||||
Expense Reports` to view a list of expense reports. Next, select the reports to approve by ticking
|
||||
the checkbox next to each report being approved, or tick the checkbox next to the
|
||||
:guilabel:`Employee` column title to select all the reports in the list.
|
||||
|
||||
Next, click the :guilabel:`Approve Report` button.
|
||||
|
||||
.. image:: approve_expenses/approve-report.png
|
||||
:align: center
|
||||
:alt: Approve multiple reports by clicking the checkboxes next to each report.
|
||||
|
||||
.. tip::
|
||||
It is possible for team managers to view all the expense reports for just their team members.
|
||||
|
||||
To do so, while on the :guilabel:`All Reports` page, click the :icon:`fa-caret-down`
|
||||
:guilabel:`(down arrow)` to the right of the search bar, then click :guilabel:`My Team` in the
|
||||
:icon:`fa-filter` :guilabel:`Filters` section.
|
||||
|
||||
This presents all the reports for only the manager's team.
|
||||
|
||||
.. image:: approve_expenses/my-team-filter.png
|
||||
:align: center
|
||||
:alt: Select the My Team filter.
|
||||
|
||||
Refuse expense reports
|
||||
======================
|
||||
|
||||
Expense reports can **only** be refused on the individual expense report, and **not** from the
|
||||
:guilabel:`All Reports` dashboard. To open an individual expense report, navigate to
|
||||
:menuselection:`Expenses app --> Expense Reports`, then click on an individual expense report to
|
||||
view the report form.
|
||||
|
||||
If more information is needed, such as a missing receipt, communicate any necessary information
|
||||
requests in the *chatter* of the report form. On the individual expense report, click
|
||||
:guilabel:`Send message` to open a message text box.
|
||||
|
||||
Type in a message, tagging the proper people, and post it to the *chatter* by clicking
|
||||
:guilabel:`Send`. The message is posted in the chatter, and the tagged people are notified, via
|
||||
email.
|
||||
|
||||
.. note::
|
||||
The only people that can be tagged in a message are *followers* of the specific report. To see
|
||||
who is a follower, click the :icon:`fa-user-o` :guilabel:`(user)` icon to display the followers
|
||||
of the expense report.
|
||||
|
||||
.. image:: approve_expenses/chatter.png
|
||||
:align: center
|
||||
:alt: Send messages in the chatter.
|
||||
|
||||
To refuse an expense report, click :guilabel:`Refuse`, and a :guilabel:`Refuse Expense` pop-up
|
||||
window appears. Enter a brief explanation for the refusal beneath the :guilabel:`REASON TO REFUSE
|
||||
EXPENSE` field, then click :guilabel:`Refuse`.
|
||||
|
||||
.. image:: approve_expenses/refuse-expense.png
|
||||
:align: center
|
||||
:alt: Send messages in the chatter.
|
||||
|
||||
Once the expense report is refused, the status changes to :guilabel:`Refused`, and the only button
|
||||
that appears in the top-left is :guilabel:`Reset to Draft`.
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 15 KiB |
|
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 26 KiB |
@@ -0,0 +1,129 @@
|
||||
===============
|
||||
Expense reports
|
||||
===============
|
||||
|
||||
When expenses are ready to submit (such as, at the end of a business trip, or once a month), an
|
||||
*expense report* needs to be created. Open the main :menuselection:`Expenses app` dashboard, which
|
||||
displays the :guilabel:`My Expenses` dashboard, by default. Alternatively, navigate to
|
||||
:menuselection:`Expenses app --> My Expenses --> My Expenses`.
|
||||
|
||||
Expenses are color-coded by status. Any expense with a status of :guilabel:`To Report` (expenses
|
||||
that still need to be added to an expense report) is shown in blue text. All other statuses
|
||||
(:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black.
|
||||
|
||||
.. _expenses/create_report:
|
||||
|
||||
Create expense reports
|
||||
======================
|
||||
|
||||
First, select each desired expense to be added to the report on the :guilabel:`My Expenses`
|
||||
dashboard, by ticking the checkbox next to each entry, or quickly select all the expenses in the
|
||||
list by ticking the checkbox next to the :guilabel:`Expense Date` column title, if needed.
|
||||
|
||||
Another way to quickly add all expenses that are not on a expense report, is to click the
|
||||
:guilabel:`Create Report` button, *without* selecting any expenses, and Odoo automatically selects
|
||||
all expenses with a status of :guilabel:`To Submit` that are not already on a report.
|
||||
|
||||
.. image:: expense_reports/create-report.png
|
||||
:align: center
|
||||
:alt: Select the expenses to submit, then create the report.
|
||||
|
||||
.. note::
|
||||
Any expense can be selected from the :guilabel:`My Expenses` list, except for expenses with a
|
||||
status of :guilabel:`Approved`.
|
||||
|
||||
The :guilabel:`Create Report` button is visible as long as there is a minimum of one expense on
|
||||
the list with a status of either :guilabel:`To Report` or :guilabel:`To Submit`.
|
||||
|
||||
When the :guilabel:`Create Report` button is clicked, all expenses with a status of :guilabel:`To
|
||||
Submit` that are *not* currently on another expense report appears in the newly-created expense
|
||||
report.
|
||||
|
||||
If all expenses on the :guilabel:`My Expenses` report are already associated with another expense
|
||||
report, an :guilabel:`Invalid Operation` pop-up window appears, stating :guilabel:`You have no
|
||||
expenses to report.`
|
||||
|
||||
Once the expenses have been selected, click the :guilabel:`Create Report` button. The new report
|
||||
appears with all the expenses listed in the :guilabel:`Expense` tab. If there is a receipt attached
|
||||
to an individual expense, a :icon:`fa-paperclip` :guilabel:`(paperclip)` icon appears between the
|
||||
:guilabel:`Customer to Reinvoice` and :guilabel:`Analytic Distribution` columns.
|
||||
|
||||
When the report is created, the date range for the expenses appears in the :guilabel:`Expense Report
|
||||
Summary` field, by default. It is recommended to edit this field with a short summary for each
|
||||
report to help keep expenses organized. Enter a description for the expense report, such as `Client
|
||||
Trip NYC`, or `Office Supplies for Presentation`, in the :guilabel:`Expense Report Summary` field.
|
||||
|
||||
The :guilabel:`Employee`, :guilabel:`Paid By`, and :guilabel:`Company` fields autopoulate with the
|
||||
information listed on the individual expenses.
|
||||
|
||||
Next, select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report.
|
||||
If needed, update the :guilabel:`Journal` field, using the drop-down menu.
|
||||
|
||||
.. image:: expense_reports/expense-report-summary.png
|
||||
:align: center
|
||||
:alt: Enter a short description and select a manager for the report.
|
||||
|
||||
If some expenses are missing from the report, they can still be added from this report form. To do
|
||||
so, click :guilabel:`Add a line` at the bottom of the :guilabel:`Expense` tab.
|
||||
|
||||
An :guilabel:`Add: Expense Lines` pop-up window appears, displaying all the available expenses (with
|
||||
a :guilabel:`To Submit` status) that can be added to the report.
|
||||
|
||||
If a new expense needs to be added that does **not** appear on the list, click :guilabel:`New` to
|
||||
:doc:`create a new expense <../expenses/log_expenses>` and add it to the report.
|
||||
|
||||
Tick the checkbox next to each expense being added, then click :guilabel:`Select`.
|
||||
|
||||
Doing so removes the pop-up window, and the items now appear on the report.
|
||||
|
||||
.. image:: expense_reports/add-an-expense-line.png
|
||||
:align: center
|
||||
:alt: Add more expenses to the report before submitting.
|
||||
|
||||
.. note::
|
||||
Expense reports can be created in one of three places:
|
||||
|
||||
#. Navigate to the main :menuselection:`Expenses app` dashboard (also accessible, via
|
||||
:menuselection:`Expenses app --> My Expenses --> My Expenses`)
|
||||
#. Navigate to :menuselection:`Expenses app --> My Expenses --> My Reports`
|
||||
#. Navigate to :menuselection:`Expenses app --> Expense Reports`
|
||||
|
||||
In any of these views, click :guilabel:`New` to create a new expense report.
|
||||
|
||||
.. _expenses/submit:
|
||||
|
||||
Submit expense reports
|
||||
======================
|
||||
|
||||
When an expense report is completed, the next step is to submit the report to a manager for
|
||||
approval. To view all expense reports, navigate to :menuselection:`Expenses app --> My Expenses -->
|
||||
My Reports`. Open the specific report from the list of expense reports.
|
||||
|
||||
.. note::
|
||||
Reports must be individually submitted, and **cannot** be submitted in batches.
|
||||
|
||||
If the list is large, grouping the results by status may be helpful, since only reports with a
|
||||
:guilabel:`To Submit` status need to be submitted; reports with an :guilabel:`Approved` or
|
||||
:guilabel:`Submitted` status do not.
|
||||
|
||||
The :guilabel:`To Submit` expenses are identifiable by the :guilabel:`To Submit` status, and by the
|
||||
blue text, while all other expense text appears in black.
|
||||
|
||||
.. image:: expense_reports/expense-status.png
|
||||
:align: center
|
||||
:alt: Submit the report to the manager.
|
||||
|
||||
.. note::
|
||||
The status of each report is shown in the :guilabel:`Status` column. If the :guilabel:`Status`
|
||||
column is not visible, click the :icon:`oi-settings-adjust` :guilabel:`(additional options)` icon
|
||||
at the end of the row, and tick the checkbox beside :guilabel:`Status` from the resulting
|
||||
drop-down menu.
|
||||
|
||||
Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report,
|
||||
the next step is to wait for the manager to approve it.
|
||||
|
||||
.. important::
|
||||
:doc:`Approving <../expenses/approve_expenses>` expenses, :doc:`posting
|
||||
<../expenses/post_expenses>` expenses, and :doc:`reimbursing <../expenses/reimburse>` expenses
|
||||
are **only** for users with the appropriate :doc:`access rights documentation
|
||||
</applications/general/users>`.
|
||||
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 29 KiB |
@@ -0,0 +1,230 @@
|
||||
============
|
||||
Log expenses
|
||||
============
|
||||
|
||||
Before expenses can be reimbursed, each individual expense needs to be logged in the database.
|
||||
Expense records can be created in three different ways: :ref:`manually enter an expense record
|
||||
<expenses/manual_expense>`, :ref:`upload a receipt <expenses/upload_receipt>`, or :ref:`email a
|
||||
receipt <expenses/email_expense>` to a preconfigured email address.
|
||||
|
||||
.. _expenses/manual_expense:
|
||||
|
||||
Manually enter expenses
|
||||
=======================
|
||||
|
||||
To record a new expense, open the :menuselection:`Expenses app`, which displays the :guilabel:`My
|
||||
Expenses` page, by default.
|
||||
|
||||
.. tip::
|
||||
This view can also be accessed from :menuselection:`Expenses app --> My Expenses --> My
|
||||
Expenses`.
|
||||
|
||||
Then, click :guilabel:`New`, and then fill out the following fields on the form that appears:
|
||||
|
||||
- :guilabel:`Description`: Enter a short description for the expense. This should be concise and
|
||||
informative, such as `lunch with client` or `hotel for conference`.
|
||||
- :guilabel:`Category`: Select the expense category from the drop-down menu that most closely
|
||||
corresponds to the expense.
|
||||
- :guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:
|
||||
|
||||
#. If the expense is for a single item/expense, and the category selected was for a single item,
|
||||
enter the cost in the :guilabel:`Total` field (the :guilabel:`Quantity` field is hidden).
|
||||
#. If the expense is for multiples of the same item/expense with a fixed price, the
|
||||
:guilabel:`Unit Price` is displayed. Enter the quantity in the :guilabel:`Quantity` field, and
|
||||
the total cost is automatically updated with the correct total. The total cost appears below
|
||||
the :guilabel:`Quantity`.
|
||||
|
||||
.. example::
|
||||
In the case of mileage driven, the :guilabel:`Unit Price` is populated as the cost *per
|
||||
mile*. Set the :guilabel:`Quantity` to the *number of miles driven*, and the total is
|
||||
calculated.
|
||||
|
||||
- :guilabel:`Included Taxes`: If taxes were configured on the expense category, the tax percentage
|
||||
and amount appear automatically after entering either the :guilabel:`Total` or the
|
||||
:guilabel:`Quantity`.
|
||||
|
||||
.. note::
|
||||
When a tax is configured on an expense category, the :guilabel:`Included Taxes` value updates
|
||||
in real time, as the :guilabel:`Total` or :guilabel:`Quantity` is updated.
|
||||
|
||||
- :guilabel:`Employee`: Using the drop-down menu, select the employee this expense is for.
|
||||
- :guilabel:`Paid By`: Click the radio button to indicate who paid for the expense, and should be
|
||||
reimbursed. Select either :guilabel:`Employee (to reimburse)` or :guilabel:`Company`. Depending on
|
||||
the expense category selected, this field may not appear.
|
||||
- :guilabel:`Expense Date`: Using the calendar popover window that appears when this field is
|
||||
clicked, enter the date the expense was incurred.
|
||||
- :guilabel:`Account`: Using the drop-down menu, select the expense account the expense should be
|
||||
logged in.
|
||||
- :guilabel:`Customer to Reinvoice`: If the expense is something that should be paid for by a
|
||||
customer, select the :abbr:`SO (Sales Order)` and customer that should be invoiced for this
|
||||
expense from the drop-down menu. All sales orders in the drop-down menu list both the :abbr:`SO
|
||||
(Sales Order)`, as well as the company the sales order is written for. After the expense is saved,
|
||||
the customer name disappears, and only the :abbr:`SO (Sales Order)` is visible on the expense.
|
||||
|
||||
.. example::
|
||||
A customer wishes to have an on-site meeting for the design and installation of a custom
|
||||
garden, and agrees to pay for the expenses associated with it (such as travel, hotel, meals,
|
||||
etc). All expenses tied to that meeting would indicate the sales order for the custom garden
|
||||
(which also references the customer) as the :guilabel:`Customer to Reinvoice`.
|
||||
|
||||
- :guilabel:`Analytic Distribution`: Select the account the expense should be written against from
|
||||
the drop-down menu for either :guilabel:`Projects`, :guilabel:`Departments`, or both. Multiple
|
||||
accounts can be listed for each category, if needed. Adjust the percentage for each analytic
|
||||
account by typing in the percentage value next to each account.
|
||||
- :guilabel:`Company`: If multiple companies are set up, select the company the expense should be
|
||||
filed for from the drop-down menu. The current company automatically populates this field.
|
||||
- :guilabel:`Notes...`: If any notes are needed to clarify the expense, enter them in the notes
|
||||
field.
|
||||
|
||||
.. image:: log_expenses/expense-filled-in.png
|
||||
:align: center
|
||||
:alt: A filled in expense form for a client lunch.
|
||||
|
||||
Attach receipts
|
||||
---------------
|
||||
|
||||
After the expense record is created, the next step is to attach a receipt. Click the
|
||||
:guilabel:`Attach Receipt` button, and a file explorer appears. Navigate to the receipt to be
|
||||
attached, and click :guilabel:`Open`.
|
||||
|
||||
The new receipt is recorded in the *chatter*, and the number of receipts appears next to the
|
||||
:icon:`fa-paperclip` :guilabel:`(paperclip)` icon. Multiple receipts can be attached to an
|
||||
individual expense record, as needed.
|
||||
|
||||
.. image:: log_expenses/receipt-icon.png
|
||||
:align: center
|
||||
:alt: Attach a receipt and it appears in the chatter.
|
||||
|
||||
.. _expenses/upload_receipt:
|
||||
|
||||
Upload expenses
|
||||
===============
|
||||
|
||||
It is possible to have expense records created automatically, by uploading a PDF receipt. This
|
||||
feature requires the enabling of a setting, and the purchasing of :abbr:`IAP (in-app purchases)`
|
||||
credits.
|
||||
|
||||
Digitalization settings
|
||||
-----------------------
|
||||
|
||||
To enable receipt scanning, navigate to :menuselection:`Expenses app --> Configuration -->
|
||||
Settings`, and tick the checkbox beside the :guilabel:`Expense Digitization (OCR)` option. Then,
|
||||
click :guilabel:`Save`. When enabled, additional options appear. Click on the corresponding radio
|
||||
button to select one of the following options:
|
||||
|
||||
- :guilabel:`Do not digitize`: turns off receipt digitization.
|
||||
- :guilabel:`Digitize on demand only`: only digitizes receipts when requested. A
|
||||
:guilabel:`Digitize document` button appears on expense records. When clicked, the receipt is
|
||||
scanned and the expense record is updated.
|
||||
- :guilabel:`Digitize automatically`: automatically digitizes all receipts when they are uploaded.
|
||||
|
||||
Beneath these options are two additional links. Click the :icon:`fa-arrow-right` :guilabel:`Buy
|
||||
credits` link to purchase credits for receipt digitization. Click the :icon:`fa-arrow-right`
|
||||
:guilabel:`View My Services` link to view a list of all current services, and their remaining credit
|
||||
balances.
|
||||
|
||||
For more information on document digitization and :abbr:`IAPs (in-app purchases)`, refer to the
|
||||
:doc:`In-app purchase (IAP) <../../essentials/in_app_purchase>` documentation.
|
||||
|
||||
.. note::
|
||||
When the :guilabel:`Expense Digitization (OCR)` option is enabled, a necessary module is
|
||||
installed, so receipts can be scanned. Disabling this option uninstalls the module.
|
||||
|
||||
If, at some point, there is a desire to temporarily stop digitizing receipts, select the
|
||||
:guilabel:`Do not digitize` option. The reason this option is available is so the module is not
|
||||
uninstalled, allowing for digitization to be enabled in the future by selecting one of the other
|
||||
two options.
|
||||
|
||||
Upload receipts
|
||||
---------------
|
||||
|
||||
Open the :guilabel:`Expenses app`, and from the :guilabel:`My Expenses` dashboard, click
|
||||
:guilabel:`Upload`, and a file explorer appears. Navigate to the desired receipt, select it, then
|
||||
click :guilabel:`Open`.
|
||||
|
||||
.. image:: log_expenses/upload.png
|
||||
:align: center
|
||||
:alt: Create an expense by scanning a receipt. Click Scan at the top of the Expenses dashboard
|
||||
view.
|
||||
|
||||
The receipt is scanned, and a new expense record is created. The :guilabel:`Expense Date` field is
|
||||
populated with today's date, along with any other fields based on the scanned data, such as the
|
||||
:guilabel:`Total`.
|
||||
|
||||
Click on the new entry to open the individual expense form, and make any changes, if needed. The
|
||||
scanned receipt appears in the *chatter*.
|
||||
|
||||
.. _expenses/email_expense:
|
||||
|
||||
Email expenses
|
||||
==============
|
||||
|
||||
Instead of individually creating each expense in the **Expenses** app, expenses can be automatically
|
||||
created by sending an email to an email alias.
|
||||
|
||||
To do so, an email alias must first be configured. Navigate to :menuselection:`Expenses app -->
|
||||
Configuration --> Settings`. Ensure the checkbox beside :guilabel:`Incoming Emails` is ticked. The
|
||||
default email alias is *expense@(domain).com*. Change the email alias by entering the desired email
|
||||
in the field to the right of :guilabel:`Alias`. Then, click :guilabel:`Save`.
|
||||
|
||||
.. image:: log_expenses/alias-email.png
|
||||
:align: center
|
||||
:alt: Te default email that populates the expenses email alias.
|
||||
|
||||
.. note::
|
||||
If the domain alias needs to be set up, :icon:`fa-arrow-right` :guilabel:`Setup your domain
|
||||
alias` appears beneath the :guilabel:`Incoming Emails` checkbox, instead of the email address
|
||||
field.
|
||||
|
||||
.. image:: log_expenses/email-alias.png
|
||||
:align: center
|
||||
:alt: Create the domain alias by clicking the link.
|
||||
|
||||
Refer to the :doc:`/applications/websites/website/configuration/domain_names` documentation for
|
||||
setup instructions and more information.
|
||||
|
||||
Once the domain alias is configured, the email address field is visible beneath the
|
||||
:guilabel:`Incoming Emails` feature on the :guilabel:`Settings` page in the **Expenses** app.
|
||||
|
||||
Once the email address has been entered, emails can be sent to that alias to create new expenses,
|
||||
without having to be in the Odoo database.
|
||||
|
||||
To submit an expense via email, create a new email, and enter the product's *internal reference*
|
||||
code (if available) and the amount of the expense as the subject of the email. Next, attach the
|
||||
receipt to the email. Odoo creates the expense by taking the information in the email subject, and
|
||||
combining it with the receipt.
|
||||
|
||||
To check an expense category's internal reference, go to :menuselection:`Expenses app -->
|
||||
Configuration --> Expense Categories`. If an internal reference is listed on the expense category,
|
||||
it is listed in the :guilabel:`Internal Reference` column.
|
||||
|
||||
.. image:: log_expenses/ref.png
|
||||
:align: center
|
||||
:alt: Internal reference numbers are listed in the main Expense Categories view.
|
||||
|
||||
To add an internal reference on an expense category, click on the category to open the expense
|
||||
category form. Enter the :guilabel:`Internal Reference` in the corresponding field. Beneath the
|
||||
:guilabel:`Internal Reference` field, this sentence appears: :guilabel:`Use this reference as a
|
||||
subject prefix when submitting by email.`
|
||||
|
||||
.. image:: log_expenses/mileage-internal-reference.png
|
||||
:align: center
|
||||
:alt: Internal reference numbers are listed in the main Expense Products view.
|
||||
|
||||
.. example::
|
||||
If submitting an expense, via email, for a $25.00 meal during a work trip, the email subject
|
||||
would be `FOOD $25.00`.
|
||||
|
||||
Explanation:
|
||||
|
||||
- The :guilabel:`Internal Reference` for the expense category `Meals` is `FOOD`
|
||||
- The :guilabel:`Cost` for the expense is `$25.00`
|
||||
|
||||
.. note::
|
||||
For security purposes, only authenticated employee emails are accepted by Odoo when creating an
|
||||
expense from an email. To confirm an authenticated employee email address, go to the employee
|
||||
card in the :menuselection:`Employees app`, and refer to the :guilabel:`Work Email` field.
|
||||
|
||||
.. image:: log_expenses/authenticated-email-address.png
|
||||
:align: center
|
||||
:alt: Create the domain alias by clicking the link.
|
||||
|
After Width: | Height: | Size: 28 KiB |
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
|
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 8.5 KiB |
|
Before Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,75 @@
|
||||
=============
|
||||
Post expenses
|
||||
=============
|
||||
|
||||
Once an expense report is :doc:`approved <../expenses/approve_expenses>`, the next step is to post
|
||||
the expense report to the proper accounting journal.
|
||||
|
||||
.. important::
|
||||
To post expense reports to an accounting journal, the user **must** have the following
|
||||
:doc:`access rights <../../general/users/access_rights>`:
|
||||
|
||||
- Accounting: *Accountant* or *Adviser*
|
||||
- Expenses: *Manager*
|
||||
|
||||
Only expense reports with an *Approved* status can post the expenses to a journal. To view all
|
||||
expense reports, navigate to :menuselection:`Expenses app --> Expense Reports`. Next, to view
|
||||
**only** approved expense reports that need to be posted, adjust the filters on the left side, so
|
||||
only the :guilabel:`Approved` checkbox is ticked.
|
||||
|
||||
.. image:: post_expenses/post-reports.png
|
||||
:align: center
|
||||
:alt: View reports to post by clicking on expense reports, then reports to post.
|
||||
|
||||
.. note::
|
||||
The default :guilabel:`All Reports` dashboard displays all expense reports, except reports with a
|
||||
status of :guilabel:`Refused`.
|
||||
|
||||
Expense reports can be posted to accounting journals in two ways: :ref:`individually
|
||||
<expenses/post-individual>` or :ref:`in bulk <expenses/post-multiple>`.
|
||||
|
||||
.. _expenses/post-individual:
|
||||
|
||||
Post individual reports
|
||||
-----------------------
|
||||
|
||||
To post an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and
|
||||
click on an individual report with a :guilabel:`Status` of :guilabel:`Approved`, to view the report
|
||||
form. In this view, several options are presented: :guilabel:`Post Journal Entries`,
|
||||
:guilabel:`Report In Next Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to Draft`.
|
||||
|
||||
Click :guilabel:`Post Journal Entries` to post the report.
|
||||
|
||||
The accounting journal the expenses are posted to is listed in the :guilabel:`Journal` field of the
|
||||
expense report.
|
||||
|
||||
After posting the expenses to an accounting journal, a :guilabel:`Journal Entry` smart button
|
||||
appears at the top of the screen. Click the :guilabel:`Journal Entry` smart button, and the details
|
||||
for the journal entry appear, with a status of :guilabel:`Posted`.
|
||||
|
||||
.. _expenses/post-multiple:
|
||||
|
||||
Post multiple reports
|
||||
---------------------
|
||||
|
||||
To post multiple expense reports at once, navigate to :menuselection:`Expenses app --> Expense
|
||||
Reports` to view a list of expense reports. Next, select the reports to approve by ticking the
|
||||
checkbox next to each report being approved.
|
||||
|
||||
.. note::
|
||||
Only expense reports with a status of :guilabel:`Approved` are able to post the expenses to an
|
||||
accounting journal. If an expense report is selected that **cannot** be posted, such as an
|
||||
unapproved report, or the report has already been posted to a journal, the :guilabel:`Post
|
||||
Entries` button is **not** visible.
|
||||
|
||||
.. tip::
|
||||
To select **only** approved expense reports, adjust the filters on the left side, so that only
|
||||
the :guilabel:`Approved` checkbox is ticked. Next, tick the checkbox next to the
|
||||
:guilabel:`Employee` column title to select **all** the :guilabel:`Approved` reports in the list
|
||||
at once.
|
||||
|
||||
Next, click the :guilabel:`Post Entries` button.
|
||||
|
||||
.. image:: post_expenses/post-entries.png
|
||||
:align: center
|
||||
:alt: Post multiple reports at a time from the Expense Reports view, with the Approved filter.
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 13 KiB |
@@ -0,0 +1,140 @@
|
||||
===================
|
||||
Reimburse employees
|
||||
===================
|
||||
|
||||
After an expense report is :doc:`posted to an accounting journal <../expenses/post_expenses>`, the
|
||||
next step is to reimburse the employee. Just like approving and posting expenses, employees can be
|
||||
reimbursed in two ways: with cash, check, or direct deposit (:ref:`individually
|
||||
<expenses/reimburse-single>` or :ref:`in bulk <expenses/reimburse-bulk>`), or :ref:`reimbursed in a
|
||||
payslip <expenses/reimburse-payslip>`.
|
||||
|
||||
Settings
|
||||
========
|
||||
|
||||
Reimbursements can be paid via paycheck, check, cash, or bank transfer. To set up payment options,
|
||||
first configure the various settings by navigating to :menuselection:`Expenses app -->
|
||||
Configuration --> Settings`.
|
||||
|
||||
To reimburse employees for expenses :ref:`in their paychecks <expenses/reimburse-payslip>`, tick the
|
||||
checkbox beside the :guilabel:`Reimburse in Payslip` option in the :guilabel:`Expenses` section.
|
||||
|
||||
Next, set how payments are made in the :guilabel:`Accounting` section. Click the drop-down menu
|
||||
under :guilabel:`Payment Methods`, and select the desired payment option. Default options include
|
||||
paying by :guilabel:`Manual (Cash)`, :guilabel:`Checks (Bank)`, :guilabel:`NACHA (Bank)`, and
|
||||
others. Leaving this field blank allows for **all** available payment options to be used.
|
||||
|
||||
When all desired configurations are complete, click :guilabel:`Save` to activate the settings.
|
||||
|
||||
.. _expenses/reimburse-single:
|
||||
|
||||
Reimburse individually
|
||||
======================
|
||||
|
||||
To reimburse an individual expense report, first navigate to :menuselection:`Expenses app -->
|
||||
Expense Reports`. All expense reports are presented in a default list view. Click on the expense
|
||||
report being reimbursed to view the report details.
|
||||
|
||||
.. important::
|
||||
**Only** expense reports with a status of :guilabel:`Posted` can be reimbursed.
|
||||
|
||||
Click the :guilabel:`Register Payment` button in the top-left corner of the expense report, and a
|
||||
:guilabel:`Register Payment` pop-up window appears. Enter the following information in the pop-up
|
||||
window:
|
||||
|
||||
- :guilabel:`Journal`: Select the accounting journal to post the payment to using the drop-down
|
||||
menu. The default options are :guilabel:`Bank` or :guilabel:`Cash`.
|
||||
- :guilabel:`Payment Method`: Select how the payment is made using the drop-down menu. If
|
||||
:guilabel:`Cash` is selected for the :guilabel:`Journal`, the only option available is
|
||||
:guilabel:`Manual`. If :guilabel:`Bank` is selected for the :guilabel:`Journal`, the default
|
||||
options are :guilabel:`Manual` or :guilabel:`Checks`.
|
||||
- :guilabel:`Recipient Bank Account`: Select the employee's bank account the payment is being sent
|
||||
to. If the employee has a bank account on file in the :ref:`Private Information tab
|
||||
<employees/private-info>` of their employee form in the **Employees** app, that bank account
|
||||
populates this field, by default.
|
||||
- :guilabel:`Amount`: The total amount being reimbursed populates this field, by default. The
|
||||
currency, located to the right of the field, can be modified using the drop-down menu.
|
||||
- :guilabel:`Payment Date`: Enter the date the payments are issued in this field. The current date
|
||||
populates this field, by default.
|
||||
- :guilabel:`Memo`: The text entered in the :doc:`Expense Report Summary
|
||||
<../expenses/expense_reports>` field of the expense report populates this field, by default.
|
||||
|
||||
.. image:: reimburse/payment.png
|
||||
:align: center
|
||||
:alt: The Register Payment pop-up window filled out for an individual expense report
|
||||
reimbursement.
|
||||
|
||||
When the fields of the pop-up window are completed, click the :guilabel:`Create Payment` button to
|
||||
register the payment, and reimburse the employee.
|
||||
|
||||
.. _expenses/reimburse-bulk:
|
||||
|
||||
Reimburse in bulk
|
||||
=================
|
||||
|
||||
To reimburse multiple expense reports at once, navigate to :menuselection:`Expenses app --> Expense
|
||||
Reports` to view all expense reports in a list view. Next, adjust the :guilabel:`STATUS` filters on
|
||||
the left side to only present expense reports with a status of :guilabel:`Posted`.
|
||||
|
||||
.. tip::
|
||||
Adjusting the :guilabel:`STATUS` filters to only show :guilabel:`Posted` expense reports is not
|
||||
necessary, but removes the step of selecting each individual report in the list.
|
||||
|
||||
Tick the checkbox next to the :guilabel:`Employee` column title to select all the reports in the
|
||||
list. Once ticked, the number of selected expense reports appears at the top of the page
|
||||
(:guilabel:`(#) Selected`). Additionally, a :guilabel:`Register Payment` button also appears in the
|
||||
upper-left corner.
|
||||
|
||||
.. image:: reimburse/multiple-reports.png
|
||||
:align: center
|
||||
:alt: Expense reports filtered by the status Posted, making the Register Payment button visible.
|
||||
|
||||
Click the :guilabel:`Register Payment` button, and a :guilabel:`Register Payment` pop-up window
|
||||
appears. Enter the following information in the pop-up window:
|
||||
|
||||
- :guilabel:`Journal`: Select the accounting journal the payment should be posted to, using the
|
||||
drop-down menu. The default options are :guilabel:`Bank` or :guilabel:`Cash`.
|
||||
- :guilabel:`Payment Method`: Select how the payment is made using the drop-down menu. If
|
||||
:guilabel:`Cash` is selected for the :guilabel:`Journal`, the only option available is
|
||||
:guilabel:`Manual`. If :guilabel:`Bank` is selected for the :guilabel:`Journal`, the default
|
||||
options are :guilabel:`Manual` or :guilabel:`Checks`.
|
||||
- :guilabel:`Group Payments`: When multiple expense reports are selected for the same employee, this
|
||||
option appears. Tick the checkbox to have only one payment made, rather than issuing multiple
|
||||
payments to the same employee.
|
||||
- :guilabel:`Payment Date`: Enter the date the payments are issued. The current date populates this
|
||||
field, by default.
|
||||
|
||||
.. image:: reimburse/register.png
|
||||
:align: center
|
||||
:alt: The Register Payment pop-up window filled out.
|
||||
|
||||
When the fields on the pop-up window are completed, click the :guilabel:`Create Payments` button to
|
||||
register the payments, and reimburse the employees.
|
||||
|
||||
.. _expenses/reimburse-payslip:
|
||||
|
||||
Report in next payslip
|
||||
======================
|
||||
|
||||
If the *Reimburse in Payslip* option is activated on the *Settings* page, payments can be added to
|
||||
their next payslip, instead of issued manually.
|
||||
|
||||
.. important::
|
||||
Reimbursing expenses on payslips can **only** be done individually, on an expense report with a
|
||||
status of *Approved*. Once an expense report has a status of *Posted*, the option to reimburse in
|
||||
the following payslip does **not** appear.
|
||||
|
||||
Navigate to :menuselection:`Expenses app --> Expense Reports`, and click on the individual expense
|
||||
report being reimbursed on the following paycheck. Click the :guilabel:`Report in Next Payslip`
|
||||
smart button, and the expenses are added to the next payslip issued for that employee. Additionally,
|
||||
a message is logged in the chatter stating the expense is added to the following payslip.
|
||||
|
||||
.. image:: reimburse/pay-via-payslip.png
|
||||
:align: center
|
||||
:alt: The Report in Next Payslip button, visible with an expense report status of Approved.
|
||||
|
||||
The status for the expense report remains :guilabel:`Approved`. The status only changes to
|
||||
:guilabel:`Posted` (and then :guilabel:`Done`), when the paycheck is processed.
|
||||
|
||||
.. seealso::
|
||||
Refer to the :doc:`Payslips <../../hr/payroll/payslips>` documentation for more information about
|
||||
processing paychecks.
|
||||
|
After Width: | Height: | Size: 46 KiB |
|
After Width: | Height: | Size: 47 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 48 KiB |
|
Before Width: | Height: | Size: 15 KiB |
@@ -0,0 +1,151 @@
|
||||
===================
|
||||
Re-invoice expenses
|
||||
===================
|
||||
|
||||
If expenses are tracked on customer projects, they can be automatically charged back to the
|
||||
customer. This is done by :ref:`creating an expense <expenses/reinvoice-create>`, referencing the
|
||||
sales order the expense is added to, and then :ref:`creating an expense report
|
||||
<expenses/reinvoice-report>`.
|
||||
|
||||
Next, managers :ref:`approve the expense report <expenses/reinvoice-approve>`, before the accounting
|
||||
department :ref:`posts the journal entries <expenses/reinvoice-approve>`.
|
||||
|
||||
Finally, once the expense report is posted to a journal, the expenses appears on the specified
|
||||
:abbr:`SO (Sales Order)`. The :abbr:`SO (Sales Order)` is then :ref:`invoiced <expenses/reinvoice>`,
|
||||
thus charging the customer for the expenses.
|
||||
|
||||
.. important::
|
||||
Approving expenses, posting expenses to accounting, and reinvoicing expenses on :abbr:`SOs (Sales
|
||||
Orders)` is **only** possible for users with the appropriate :doc:`access rights
|
||||
<../../general/users/access_rights>`.
|
||||
|
||||
.. seealso::
|
||||
This document provides lower-level instructions for the creation, submission, approval, and
|
||||
posting of expenses. For fully-detailed instructions for any of these steps, refer to the
|
||||
following documentation:
|
||||
|
||||
- :doc:`Log expenses <../expenses/log_expenses>`
|
||||
- :doc:`Expense reports <../expenses/expense_reports>`
|
||||
- :doc:`Approving expenses <../expenses/approve_expenses>`
|
||||
- :doc:`Posting expenses in accounting <../expenses/post_expenses>`
|
||||
|
||||
Setup
|
||||
=====
|
||||
|
||||
First, specify the invoicing policy for each expense category. Navigate to :menuselection:`Expenses
|
||||
app --> Configuration --> Expense Categories`. Click on an expense category to view the expense
|
||||
category form. Under the :guilabel:`INVOICING` section, click the radio button next to the desired
|
||||
selection for :guilabel:`Re-Invoice Expenses`:
|
||||
|
||||
- :guilabel:`No`: The expense category cannot be re-invoiced.
|
||||
- :guilabel:`At cost`: The expense category invoices expenses at the cost set on the expense
|
||||
category form.
|
||||
- :guilabel:`Sales price`: The expense category invoices at the sales price set on the expense form.
|
||||
|
||||
.. _expenses/reinvoice-create:
|
||||
|
||||
Create an expense
|
||||
=================
|
||||
|
||||
First, when :doc:`creating a new expense <../expenses/log_expenses>`, the correct information needs
|
||||
to be entered to re-invoice the expense to a customer. Using the drop-down menu, select the
|
||||
:abbr:`SO (Sales Order)` to add the expense to in the :guilabel:`Customer to Reinvoice` field.
|
||||
|
||||
Next, select the :guilabel:`Analytic Distribution` the expense is posted to. Multiple accounts can
|
||||
be selected, if desired.
|
||||
|
||||
To add another :guilabel:`Analytic Distribution`, click on the line to reveal the
|
||||
:guilabel:`Analytic` pop-over window. Click :guilabel:`Add a line`, then select the desired
|
||||
:guilabel:`Analytic Distribution` from the drop-down field. If selecting more than one
|
||||
:guilabel:`Analytic Distribution`, the :guilabel:`Percentage` fields **must** be modified. By
|
||||
default, both fields are populated with `100%`. Adjust the percentages for all the fields, so the
|
||||
total of all selected accounts equals `100%`.
|
||||
|
||||
.. example::
|
||||
A painting company agrees to paint an office building that houses two different companies. During
|
||||
the estimate, a meeting is held at the office location to discuss the project.
|
||||
|
||||
Both companies agree to pay for the travel expenses for the painting company employees. When
|
||||
creating the expenses for the mileage and hotels, **both companies** are listed in the
|
||||
:guilabel:`Analytic Distribution` line, for 50% each.
|
||||
|
||||
.. _expenses/reinvoice-report:
|
||||
|
||||
Create an expense report
|
||||
========================
|
||||
|
||||
After the expenses are created, the expense report must be :ref:`created <expenses/create_report>`
|
||||
and :ref:`submitted <expenses/submit>`, in the same manner as all other expenses.
|
||||
|
||||
Once the expense report is submitted, a :icon:`fa-money` :guilabel:`Sales Orders` smart button
|
||||
appears at the top-center of both the expense report, and each individual expense record being
|
||||
reinvoiced.
|
||||
|
||||
.. image:: reinvoice_expenses/reinvoice-expense.png
|
||||
:align: center
|
||||
:alt: Ensure the customer to be invoiced is called out on the expense.
|
||||
|
||||
.. important::
|
||||
Selecting the proper :abbr:`SO (Sales Order)` in the :guilabel:`Customer to Reinvoice` field is
|
||||
**critical**, since this is how expenses are automatically invoiced after an expense report is
|
||||
approved.
|
||||
|
||||
The :guilabel:`Customer to Reinvoice` field can be modified *only* until an expense report is
|
||||
**approved**. After an expense report is approved, the :guilabel:`Customer to Reinvoice` field is
|
||||
no longer able to be modified.
|
||||
|
||||
.. _expenses/reinvoice-approve:
|
||||
|
||||
Approve and post expenses
|
||||
=========================
|
||||
|
||||
Before :doc:`approving an expense report <../expenses/approve_expenses>`, ensure the
|
||||
:guilabel:`Analytic Distribution` section is populated for every expense line.
|
||||
|
||||
If an :guilabel:`Analytic Distribution` entry is missing, assign the correct accounts from the
|
||||
drop-down menu, then click :guilabel:`Approve`.
|
||||
|
||||
.. image:: reinvoice_expenses/analytic-dist.png
|
||||
:align: center
|
||||
:alt: The expense report with all the Analytic Distribution lines populated.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`Approve` button **only** appears after an expense report has been :ref:`submitted
|
||||
<expenses/submit>`.
|
||||
|
||||
The accounting department is typically responsible for :doc:`posting journal entries
|
||||
<../expenses/post_expenses>`. To post expenses to an accounting journal, click :guilabel:`Post
|
||||
Journal Entries`. Once an expense report is approved, it can then be posted.
|
||||
|
||||
The :abbr:`SO (Sales Order)` is **only** updated *after* the journal entries are posted. Once the
|
||||
journal entries are posted, the expenses now appear on the referenced :abbr:`SO (Sales Order)`.
|
||||
|
||||
.. _expenses/reinvoice:
|
||||
|
||||
Invoice expenses
|
||||
================
|
||||
|
||||
After the expense report has been approved, and the journal entries have been posted, the :abbr:`SO
|
||||
(Sales Order)` is updated, and the customer can be invoiced.
|
||||
|
||||
Select the expense report, and click the :icon:`fa-money` :guilabel:`Sales Orders` smart button to
|
||||
open the :abbr:`SO (Sales Order)`. The expenses to be re-invoiced now appear on the :abbr:`SO (Sales
|
||||
Order)`.
|
||||
|
||||
.. note::
|
||||
More than one :abbr:`SO (Sales Order)` can be referenced on an expense report. If more than one
|
||||
:abbr:`SO (Sales Order)` is referenced, clicking the :guilabel:`Sales Orders` smart button opens
|
||||
a list displaying all the :abbr:`SOs (Sales Order)` associated with that expense report. Click on
|
||||
a :abbr:`SO (Sales Order)` to open the individual :abbr:`SO (Sales Order)` details.
|
||||
|
||||
The expenses are listed in the :abbr:`SO (Sales Order)` :guilabel:`Order Lines` tab.
|
||||
|
||||
.. image:: reinvoice_expenses/so-details.png
|
||||
:align: center
|
||||
:alt: See the expenses listed on the sales order after clicking into it.
|
||||
|
||||
Next, click :guilabel:`Create Invoice`, and a :guilabel:`Create invoices` pop-up window appears.
|
||||
Select if the invoice is a :guilabel:`Regular invoice`, a :guilabel:`Down payment (percentage)`, or
|
||||
a :guilabel:`Down payment (fixed amount)`. Then, click :guilabel:`Create Draft Invoice`. Doing so
|
||||
creates a draft invoice for the customer. Click :guilabel:`Confirm` to confirm the invoice, and the
|
||||
customer is invoiced for the expenses.
|
||||
|
After Width: | Height: | Size: 53 KiB |
|
After Width: | Height: | Size: 43 KiB |
|
After Width: | Height: | Size: 50 KiB |
|
Before Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 9.1 KiB |
|
Before Width: | Height: | Size: 4.2 KiB |
|
Before Width: | Height: | Size: 23 KiB |
|
Before Width: | Height: | Size: 7.5 KiB |
@@ -1018,69 +1018,37 @@ specific product.
|
||||
Reports
|
||||
=======
|
||||
|
||||
As part of the localization installation, financial reporting for Argentina was added to the
|
||||
:guilabel:`Accounting` dashboard. Access these reports by navigating to :menuselection:`Accounting
|
||||
--> Reporting --> Argentinean Reports`
|
||||
As part of the localization installation, financial reporting for Argentina is available in the
|
||||
:guilabel:`Accounting` dashboard. To access these reports, navigate to :menuselection:`Accounting
|
||||
--> Reporting --> Argentinean Statements`.
|
||||
|
||||
.. image:: argentina/argentinian-reports.png
|
||||
:align: center
|
||||
:alt: Argentinean reports.
|
||||
To access the VAT book report, go to :menuselection:`Accounting --> Reporting --> Tax Report`, click
|
||||
the :icon:`fa-book` (:guilabel:`book`), and select :guilabel:`Argentinean VAT book (AR)`.
|
||||
|
||||
VAT reports
|
||||
-----------
|
||||
|
||||
Sales VAT book
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
This report records all the sales, which are taken as the basis for the accounting records
|
||||
to determine the VAT (Tax Debit). The :guilabel:`Sales VAT` book report can be exported as a `.zip`
|
||||
file using the :guilabel:`VAT BOOK (ZIP)` button at the top left, containing `.txt` files to upload
|
||||
to the AFIP portal.
|
||||
|
||||
.. image:: argentina/sales-vat-book.png
|
||||
:align: center
|
||||
:alt: Sales VAT book.
|
||||
|
||||
Purchases VAT book
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The :guilabel:`Purchases VAT` book report can be exported as a `.zip` file using the
|
||||
:guilabel:`VAT BOOK (ZIP)` button at the top left, which contains `.txt` files to upload to the AFIP
|
||||
portal.
|
||||
|
||||
.. image:: argentina/purchases-vat-book.png
|
||||
:align: center
|
||||
:alt: Purchases VAT book.
|
||||
.. note::
|
||||
The VAT book report can be exported as a `.zip` file by selecting it in the dropdown menu in the
|
||||
top-left corner.
|
||||
|
||||
VAT summary
|
||||
~~~~~~~~~~~
|
||||
-----------
|
||||
|
||||
Pivot table designed to check the monthly VAT totals. This report is for internal use and is not
|
||||
sent to the AFIP.
|
||||
|
||||
.. image:: argentina/vat-summary.png
|
||||
:align: center
|
||||
:alt: VAT Summary.
|
||||
|
||||
IIBB - Reports
|
||||
--------------
|
||||
This pivot table is designed to check the monthly VAT totals. This report is for internal use and is
|
||||
not sent to the AFIP.
|
||||
|
||||
IIBB - Sales by jurisdiction
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
----------------------------
|
||||
|
||||
Pivot table where you can validate the gross income in each jurisdiction. Affidavit for the
|
||||
corresponding taxes to pay; and therefore, it is not sent to the AFIP.
|
||||
This pivot table allows you to validate the gross income in each jurisdiction. It serves as an
|
||||
affidavit for the corresponding taxes due but is not submitted to the AFIP.
|
||||
|
||||
.. image:: argentina/iibb-sales-jurisdiction.png
|
||||
:align: center
|
||||
:alt: IIBB Sales by jurisdiction.
|
||||
|
||||
IIBB - Purchases by jurisdiction
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
--------------------------------
|
||||
|
||||
Pivot table where you can validate the gross purchases in each jurisdiction. Affidavit for the
|
||||
corresponding taxes to pay; and therefore, it is not sent to the AFIP.
|
||||
This pivot table allows you to validate the gross purchases in each jurisdiction. It serves as an
|
||||
affidavit for the corresponding taxes due but is not submitted to the AFIP.
|
||||
|
||||
.. image:: argentina/iibb-purchases-jurisdiction.png
|
||||
:align: center
|
||||
:alt: IIBB Purchases by jurisdiction.
|
||||
|
||||
|
Before Width: | Height: | Size: 54 KiB |
|
Before Width: | Height: | Size: 25 KiB |
|
Before Width: | Height: | Size: 52 KiB |
|
Before Width: | Height: | Size: 56 KiB |
@@ -152,7 +152,7 @@ Electrónicos)` incoming email server.
|
||||
.. important::
|
||||
In order to receive your SII documents, it's necessary to set up your own email server. More
|
||||
information on how to do this can be found in this documentation:
|
||||
:doc:`../../general/email_communication/email_servers`
|
||||
:doc:`../../general/email_communication`
|
||||
|
||||
Begin by clicking :guilabel:`Configure DTE Incoming Email`, then click :guilabel:`New` to add a
|
||||
server and fill in the following fields:
|
||||
@@ -511,9 +511,8 @@ Once the invoice is accepted and validated by the :abbr:`SII (Servicio de Impues
|
||||
the PDF is printed, it includes the fiscal elements that indicate that the document is fiscally
|
||||
valid.
|
||||
|
||||
.. image:: chile/sii-validation-elements.png
|
||||
:alt: SII Validation fiscal elements.
|
||||
:align: center
|
||||
.. image:: chile/accepted-invoice-fiscal-information.png
|
||||
:alt: Fiscal elements and barcode printed in accepted invoices.
|
||||
|
||||
.. important::
|
||||
If you are hosted in Odoo SH or On-Premise, you should manually install the `pdf417gen
|
||||
@@ -1232,6 +1231,10 @@ taxpayers, and that replaces the *Purchase and Sales Books*. This report is inte
|
||||
Register (CR) and the Sales Register (RV). Its purpose is to support the transactions related to
|
||||
VAT, improving its control and declaration.
|
||||
|
||||
.. important::
|
||||
The *Propuesta F29 (CL)* report in Odoo covers the basic legal requirements as a first proposal
|
||||
for your final tax declaration.
|
||||
|
||||
This record is supplied by the electronic tax documents (DTE's) that have been received by the
|
||||
:abbr:`SII (Servicio de Impuestos Internos)`.
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 69 KiB |
|
Before Width: | Height: | Size: 26 KiB |
@@ -33,6 +33,8 @@ Here are some terms that are essential on the Ecuadorian localization:
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. _l10n_ec/module-installation:
|
||||
|
||||
Modules installation
|
||||
--------------------
|
||||
|
||||
@@ -75,7 +77,7 @@ localization:
|
||||
* - :guilabel:`Ecuadorian Point of Sale`
|
||||
- `l10n_ec_edi_pos`
|
||||
- Includes all the technical and functional requirements to generate automatic electronic
|
||||
invoices from a PoS sale.
|
||||
invoices from a POS sale.
|
||||
|
||||
.. note::
|
||||
When you install a database from scratch selecting `Ecuador` as the country, Odoo automatically
|
||||
@@ -631,7 +633,7 @@ time.
|
||||
eCommerce workflow
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Type and identification number
|
||||
Identification type and number
|
||||
******************************
|
||||
|
||||
The client who is making a purchase will have the option to indicate their identification type and
|
||||
@@ -639,18 +641,74 @@ number during the checkout process. This information is required to correctly ge
|
||||
electronic invoice after the checkout is completed.
|
||||
|
||||
.. image:: ecuador/website-checkout-form.png
|
||||
:align: center
|
||||
:alt: Website checkout form.
|
||||
|
||||
.. note::
|
||||
Verification is done to ensure the *Identification Number* field is completed and has the correct
|
||||
number of digits. For RUC identification, 13 digits are required. For Cédula, 9 digits are
|
||||
required.
|
||||
Verification is done to ensure the :guilabel:`Identification Number` field is completed and has
|
||||
the correct number of digits. For RUC identification, 13 digits are required. For Cédula,
|
||||
9 digits are required.
|
||||
|
||||
After finishing the checkout process, a confirmed invoice is generated, ready to be sent manually or
|
||||
asynchronously to the SRI.
|
||||
|
||||
Financial Reports
|
||||
Point of Sale electronic invoicing
|
||||
----------------------------------
|
||||
|
||||
Make sure the *Ecuadorian module for Point of Sale* (`l10n_ec_edi_pos`) is :ref:`installed
|
||||
<l10n_ec/module-installation>` to enable the following features and configurations:
|
||||
|
||||
- Choose the SRI payment method in each payment method configuration.
|
||||
- Manually input the customer's identification type and identification number when creating a
|
||||
new contact on *POS*.
|
||||
- Automatically generate a valid electronic invoice for Ecuador at the end of the checkout process.
|
||||
|
||||
Payment method configuration
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To :doc:`create a payment method for a point of sale <../../sales/point_of_sale/payment_methods>`,
|
||||
go to :menuselection:`Point of Sale --> Configuration --> Payment Methods`. Then, set the
|
||||
:guilabel:`SRI Payment Method` in the payment method form.
|
||||
|
||||
Invoicing flows
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
Identification type and number
|
||||
******************************
|
||||
|
||||
The POS cashier can :ref:`create a new contact for a customer <pos/customers>` who requests an
|
||||
invoice from an open POS session.
|
||||
|
||||
The *Ecuadorian Module for Point of Sale* adds two new fields to the contact creation form:
|
||||
:guilabel:`Identification Type` and :guilabel:`Tax ID`.
|
||||
|
||||
.. note::
|
||||
As the identification number length differs depending on the identification type, Odoo
|
||||
automatically checks the :guilabel:`Tax ID` field upon saving the contact form. To manually
|
||||
ensure the length is correct, know that the :guilabel:`RUC` and :guilabel:`Citizenship` types
|
||||
require 13 and 10 digits, respectively.
|
||||
|
||||
Electronic invoice: anonymous end consumer
|
||||
******************************************
|
||||
|
||||
When clients do not request an electronic invoice for their purchase, Odoo automatically sets the
|
||||
customer as :guilabel:`Consumidor Final` and generates an electronic invoice anyway.
|
||||
|
||||
.. note::
|
||||
If the client requests a credit note due to a return of this type of purchase, the credit note
|
||||
should be made using the client's real contact information. Credit notes cannot be created to
|
||||
*Consumidor Final* and can be managed :ref:`directly from the POS session <pos/refund>`.
|
||||
|
||||
Electronic invoice: specific customer
|
||||
*************************************
|
||||
|
||||
If a customer requests an invoice for their purchase, it is possible to select or create a contact
|
||||
with their fiscal information. This ensures the invoice is generated with accurate customer details.
|
||||
|
||||
.. note::
|
||||
If the client requests a credit note due to a return of this type of purchase, the credit note
|
||||
and return process can be managed :ref:`directly from the POS session <pos/refund>`.
|
||||
|
||||
Financial reports
|
||||
=================
|
||||
|
||||
In Ecuador, there are fiscal reports that the company presents to SRI. Odoo supports two of the main
|
||||
|
||||
@@ -175,7 +175,7 @@ Make sure your products are correctly configured so your e-invoices are valid:
|
||||
|
||||
- :guilabel:`Product Type`: storable products, consumables, or services.
|
||||
- :guilabel:`Unit of Measure`: if you also use Odoo Inventory and have enabled :doc:`Units of
|
||||
Measure <../../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`.
|
||||
Measure <../../inventory_and_mrp/inventory/product_management/configure/uom>`.
|
||||
- :guilabel:`Barcode`: **GS1** or **EGS** barcode
|
||||
- :guilabel:`ETA Item code` (under the :menuselection:`Accounting` tab): if the barcode doesn't
|
||||
match your ETA item code.
|
||||
|
||||
@@ -58,7 +58,10 @@ checkbox.
|
||||
:alt: FPS bank account configuration.
|
||||
|
||||
.. important::
|
||||
The account holder's country **must** be set to `Hong Kong` on their contact form.
|
||||
- The account holder's country must be set to `Hong Kong` on its contact form.
|
||||
- The account holder's city is mandatory.
|
||||
- You could also include the invoice number in the QR code by checking the :guilabel:`Include
|
||||
Reference` checkbox.
|
||||
|
||||
.. seealso::
|
||||
:doc:`../accounting/bank`
|
||||
|
||||
@@ -370,9 +370,8 @@ Payment complements
|
||||
Payment policy
|
||||
**************
|
||||
|
||||
One addition of the Mexican localization is the :guilabel:`Payment Policy` field . `According to
|
||||
the SAT documentation <https://www.sat.gob.mx/consultas/92764/comprobante-de-recepcion-de-pagos>`_,
|
||||
there may be 2 types of payments:
|
||||
One addition of the Mexican localization is the :guilabel:`Payment Policy` field. According to
|
||||
the SAT documentation, there are two types of payments:
|
||||
|
||||
- `PUE` (Pago en una Sola Exhibición/Payment in a Single Exhibition)
|
||||
- `PPD` (Pago en Parcialidades o Diferido/Payment in Installements or Deferred)
|
||||
|
||||
@@ -22,7 +22,8 @@ which you want to activate PayNow. Set the :guilabel:`Proxy Type` and fill in th
|
||||
Value` field depending on the type you chose.
|
||||
|
||||
.. important::
|
||||
- The account holder's country must be set to Singapore on its contact form.
|
||||
- The account holder's country must be set to `Singapore` on its contact form.
|
||||
- The account holder's city is mandatory.
|
||||
- You could also include the invoice number in the QR code by checking the :guilabel:`Include
|
||||
Reference` checkbox.
|
||||
|
||||
|
||||
@@ -48,6 +48,7 @@ Here is the list of Spanish-specific statement reports available:
|
||||
- EC Sales List;
|
||||
- Tax Report (Modelo 111);
|
||||
- Tax Report (Modelo 115);
|
||||
- Tax Report (Modelo 130);
|
||||
- Tax Report (Modelo 303);
|
||||
- Tax Report (Modelo 347);
|
||||
- Tax Report (Modelo 349);
|
||||
@@ -59,6 +60,38 @@ selecting its Spain-specific version: :guilabel:`(ES)`.
|
||||
.. image:: spain/modelo-reports.png
|
||||
:alt: Spain-specific tax reports.
|
||||
|
||||
Modelo 130
|
||||
----------
|
||||
|
||||
Change the percentage
|
||||
~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you wish to change the percentage computation of the box :guilabel:`[04]` under the :guilabel:`I`
|
||||
section and/or of the box :guilabel:`[09]` under the :guilabel:`II` section:
|
||||
|
||||
#. Activate the :ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting -->
|
||||
Reporting --> Tax Report`, and select the report :guilabel:`Tax report (Modelo 130)`.
|
||||
#. Click the :icon:`fa-cogs` (:guilabel:`cogs`) icon to the right of :guilabel:`Report: Tax Report
|
||||
(Mod 130) (ES)`.
|
||||
#. Click the box you wish to change, and in the pop-up window, click on the :guilabel:`percentage`
|
||||
line. In the new pop-up window, change the value in the :guilabel:`Formula` field to the
|
||||
percentage you wish to apply.
|
||||
Repeat this action if you wish to modify the other box as well.
|
||||
|
||||
Report agriculture activity
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If you wish to have any amount input in the :guilabel:`II` section (from boxes :guilabel:`[08]` to
|
||||
:guilabel:`[11]`), you must change the **industry** of the corresponding contact to
|
||||
:guilabel:`Agriculture`:
|
||||
|
||||
#. Go to the contact form (:menuselection:`Accounting --> Customers --> Customers`
|
||||
or :menuselection:`Accounting --> Vendors --> Vendors`, for example), and select a contact.
|
||||
#. In the :guilabel:`Sales & Purchase` tab, set the :guilabel:`Industry` field to
|
||||
:guilabel:`Agriculture`.
|
||||
|
||||
Repeat this operation for all contacts related to the **agriculture** industry.
|
||||
|
||||
TicketBAI
|
||||
=========
|
||||
|
||||
|
||||
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 8.9 KiB |
@@ -135,6 +135,7 @@ which you want to activate PromptPay QR. Set the :guilabel:`Proxy Type` and fill
|
||||
:guilabel:`Proxy Value` field depending on the chosen type.
|
||||
|
||||
.. important::
|
||||
- The account holder's city is mandatory.
|
||||
- The :guilabel:`Include Reference` checkbox doesn't work for PromptPay QR codes.
|
||||
|
||||
.. image:: thailand/qr-promptpay-bank.png
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
United Kingdom
|
||||
==============
|
||||
|
||||
.. _united-kingdom/modules:
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
@@ -23,10 +25,9 @@ Reports` modules to get all the features of the UK localization.
|
||||
- `l10n_uk_reports`
|
||||
- - Accounting reports for the UK
|
||||
- Allows sending the tax report via the MTD-VAT API to HMRC.
|
||||
|
||||
.. image:: united_kingdom/uk.png
|
||||
:align: center
|
||||
:alt: Odoo uk packages
|
||||
* - :guilabel:`UK BACS Payment Files`
|
||||
- `l10n_uk_bacs`
|
||||
- Allows generating :ref:`united-kingdom/BACS-files` for bill and invoice payments
|
||||
|
||||
.. note::
|
||||
- Only UK-based companies can submit reports to HMRC.
|
||||
@@ -123,6 +124,98 @@ each submission:
|
||||
During this process, the :guilabel:`Connect to HMRC` button no longer appears for other UK-based
|
||||
companies.
|
||||
|
||||
.. _united-kingdom/BACS-files:
|
||||
|
||||
Bacs files
|
||||
==========
|
||||
|
||||
:abbr:`Bacs (Bankers' Automated Clearing Services)` files are electronic files used in the UK to
|
||||
process payments and transfers between bank accounts.
|
||||
|
||||
To enable the use of Bacs files, make sure the :ref:`UK BACS Payment Files <united-kingdom/modules>`
|
||||
module is installed, then:
|
||||
|
||||
#. Configure your Bacs Service User Number:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Configuration --> Settings` and scroll down to the
|
||||
:guilabel:`Customer Payments` section.
|
||||
#. Enter your :guilabel:`Service User Number` under :guilabel:`BACS` and manually save.
|
||||
|
||||
#. Configure your **bank** journal:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Configuration --> Journals` and select your **bank**
|
||||
journal.
|
||||
#. In the :guilabel:`Journal Entries` tab, configure the :guilabel:`Account Number` and
|
||||
:guilabel:`Bank` fields.
|
||||
#. In the :guilabel:`Incoming Payments` and :guilabel:`Outgoing Payments` tabs, make sure the
|
||||
:guilabel:`BACS Direct Debit` payment method is enabled.
|
||||
|
||||
#. Configure the contacts for whom you wish to use Bacs files: Access the contact form and, in
|
||||
the :guilabel:`Accounting` tab, click :guilabel:`Add a line` and fill in the
|
||||
:guilabel:`Account Number` and :guilabel:`Bank` fields.
|
||||
|
||||
Bill payments
|
||||
-------------
|
||||
|
||||
To generate Bacs files for bill payments, set the :guilabel:`Payment Method` to
|
||||
:guilabel:`BACS Direct Debit` when :ref:`registering vendor payments <batch-payments/register-payments>`.
|
||||
|
||||
Then, create a vendor batch payment:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Vendors --> Batch Payments`, and click :guilabel:`New`.
|
||||
#. Select the bank journal in the :guilabel:`Bank` field, set the :guilabel:`Payment Method` to
|
||||
:guilabel:`BACS Direct Credit`, and select a :guilabel:`BACS Processing Date`.
|
||||
#. Optionally, you can also:
|
||||
|
||||
- select a :guilabel:`BACS Expiry Date`;
|
||||
- enable :guilabel:`BACS Multi Mode` to process the payments on their individual date.
|
||||
|
||||
#. Click :guilabel:`Add a line`, select the payments you want to include, click :guilabel:`Select`,
|
||||
then :guilabel:`Validate`.
|
||||
|
||||
Once validated, the Bacs file is available in the chatter. You can also :guilabel:`Re-generate
|
||||
Export File` if you need a new Bacs file for that batch payment.
|
||||
|
||||
.. image:: united_kingdom/bacs-files.png
|
||||
:alt: Vendor Batch Payment view with generated BACS file.
|
||||
|
||||
Invoice payments
|
||||
----------------
|
||||
|
||||
Before generating Bacs files for invoice payments, you must first create a **BACS Direct Debit
|
||||
Instruction**: Go to :menuselection:`Accounting --> Customers --> BACS Direct Debit Instructions`
|
||||
and click :guilabel:`New`. Select a :guilabel:`Customer`, their :guilabel:`IBAN`, and the
|
||||
:guilabel:`Journal` you wish to use.
|
||||
|
||||
To generate Bacs files for invoice payments, set the :guilabel:`Payment Method` to
|
||||
:guilabel:`BACS Direct Debit` when :ref:`registering invoice payments <batch-payments/register-payments>`.
|
||||
|
||||
.. tip::
|
||||
If you register the payment for an invoice linked to a subscription or via
|
||||
:menuselection:`Accounting --> Customers --> Payments`, you can select the :guilabel:`BACS
|
||||
Payment Type`:
|
||||
|
||||
- :guilabel:`Direct debit-first collection of a series`;
|
||||
- :guilabel:`Direct debit single collection`;
|
||||
- :guilabel:`Direct debit repeating collection in a series`;
|
||||
- :guilabel:`Direct debit-final collection of a series`.
|
||||
|
||||
Then, create a customer batch payment:
|
||||
|
||||
#. Go to :menuselection:`Accounting --> Customers --> Batch Payments`, and click :guilabel:`New`.
|
||||
#. Select the bank journal in the :guilabel:`Bank` field, set the :guilabel:`Payment Method` to
|
||||
:guilabel:`BACS Direct Credit`, and select a :guilabel:`BACS Processing Date`.
|
||||
#. Optionally, you can also:
|
||||
|
||||
- select a :guilabel:`BACS Expiry Date`;
|
||||
- enable :guilabel:`BACS Multi Mode` to process the payments on their individual date.
|
||||
|
||||
#. Click :guilabel:`Add a line`, select the payments you want to include, click :guilabel:`Select`,
|
||||
then :guilabel:`Validate`.
|
||||
|
||||
Once validated, the Bacs file is available in the chatter. You can also :guilabel:`Re-generate
|
||||
Export File` if you need a new Bacs file for that batch payment.
|
||||
|
||||
.. _united-kingdom/employment-hero:
|
||||
|
||||
Employment Hero payroll
|
||||
|
||||
|
After Width: | Height: | Size: 43 KiB |
|
Before Width: | Height: | Size: 12 KiB |
@@ -183,23 +183,23 @@ seven main categories, with corresponding numeric values that prefix individual
|
||||
View, edit, and sort accounts
|
||||
-----------------------------
|
||||
|
||||
Access the *Chart of Accounts* dashboard in Odoo by navigating to :menuselection:`Accounting app
|
||||
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
|
||||
From the :guilabel:`Chart of Accounts` dashboard, create new accounts by clicking the
|
||||
: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.
|
||||
specific :guilabel:`Filters` and :guilabel:`Group By` criteria, which are available in the search
|
||||
drop-down menu.
|
||||
|
||||
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.
|
||||
access the drop-down 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.
|
||||
To view all the available account types, remove all of the filters in the search bar, and then click
|
||||
the :icon:`fa-caret-down` :guilabel:`(caret down)` icon to access the drop-down 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
|
||||
@@ -244,15 +244,12 @@ 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.
|
||||
Odoo for several 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`.
|
||||
AvaTax is available for integration with databases/companies that have locations in the United
|
||||
States and Canada. Reference the :ref:`avatax/fiscal_country` documentation for more information.
|
||||
|
||||
.. seealso::
|
||||
Refer to the documentation articles below to integrate and configure an AvaTax account with an
|
||||
@@ -354,7 +351,7 @@ items that are missing. Be sure to remove any items that should not be included
|
||||
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
|
||||
button. Doing so downloads a CSV file that groups transactions by the partner that received the
|
||||
payments.
|
||||
|
||||
.. _l10n_us/cash-flow-statement:
|
||||
@@ -728,8 +725,8 @@ file, by ticking the checkboxes to the far-left of the rows.
|
||||
: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.
|
||||
.. important::
|
||||
All payments in the batch **must** share the same |NACHA| 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
|
||||
|
||||
@@ -23,7 +23,8 @@ bank. Then set the :guilabel:`Proxy Type` and fill in the :guilabel:`Proxy Value
|
||||
the type you chose.
|
||||
|
||||
.. important::
|
||||
- The account holder's country must be set to Vietnam on its contact form.
|
||||
- The account holder's country must be set to `Vietnam` on its contact form.
|
||||
- The account holder's city is mandatory.
|
||||
- You could also include the invoice number in the QR code by checking the :guilabel:`Include
|
||||
Reference` checkbox.
|
||||
|
||||
|
||||