[IMP] Expenses: Approve expenses

closes odoo/documentation#16050

Signed-off-by: Lara Martini (larm) <larm@odoo.com>
This commit is contained in:
larm-odoo
2026-01-16 17:45:57 -05:00
parent 97cc1fb12c
commit 602c73143b
13 changed files with 68 additions and 138 deletions

View File

@@ -8,7 +8,7 @@ Expenses
expenses/expense_categories
expenses/log_expenses
expenses/expense_reports
expenses/submit_expenses
expenses/approve_expenses
expenses/post_expenses
expenses/reimburse

View File

@@ -2,11 +2,11 @@
Approve expenses
================
In Odoo, most users cannot approve expense reports; only users with the necessary access 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 refuse
them, and provide feedback with an integrated :ref:`Refuse Expense <expenses/refuse-report>`
communication tool.
In Odoo, most users cannot approve expenses; only users with the necessary :doc:`access rights
<../../general/users/access_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
expenses, approve or refuse them, and provide feedback with an integrated :ref:`Refuse Expense
<expenses/refuse-report>` communication tool.
Please refer to the :doc:`access rights documentation </applications/general/users>` to learn more
about managing users and their access rights.

View File

@@ -2,11 +2,11 @@
Expense categories
==================
Odoo **Expenses** streamlines the management of expenses. After an employee :doc:`logs their
expenses <../expenses/log_expenses>` and :doc:`submits their expense report
<../expenses/expense_reports>` in Odoo, expenses are reviewed by management and accounting teams.
Once :doc:`approved <../expenses/approve_expenses>`, payments can be processed and :doc:`disbursed
back to the employee <../expenses/reimburse>` for reimbursement.
Odoo **Expenses** streamlines the management of expenses. After an employee :doc:`logs
<../expenses/log_expenses>` and :doc:`submits <../expenses/submit_expenses>` their expenses in Odoo,
expenses are reviewed by management and accounting teams. Once :doc:`approved
<../expenses/approve_expenses>`, payments can be processed and :doc:`disbursed back to the employee
<../expenses/reimburse>` for reimbursement.
.. seealso::
`Odoo Expenses: product page <https://www.odoo.com/app/expenses>`_

View File

@@ -1,120 +0,0 @@
===============
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 **Expenses** app dashboard, which displays the
:guilabel:`My Expenses` dashboard, by default. Alternatively, navigate to :menuselection:`Expenses
app --> My Expenses --> My Expenses`.
All 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) appears in blue text. For all other statuses
(:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black.
.. _expenses/create_report:
Create expense reports
======================
First, select the desired expense to be added to the report on the :guilabel:`My Expenses` dashboard
by ticking the checkbox next to each entry.
.. image:: expense_reports/create-report.png
: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 appear 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.
.. tip::
Another way to add *all* expenses that are not currently on an 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.
The new report loads 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 on the expense line.
When the report is created, the date range for the expenses appears as the :guilabel:`Expense Report
Summary`, by default. It is recommended to edit this field with a brief 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 are populated with the
information listed on the individual expenses.
.. note::
The :guilabel:`Company` field only appears in a multi-company database.
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
: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 closes
the pop-up window, and the items now appear on the report.
.. tip::
Expense reports can be created in one of two ways:
#. Navigate to the main :menuselection:`Expenses app` dashboard (also accessible, via
:menuselection:`Expenses app --> My Expenses --> My Expenses`) and click :guilabel:`Create
Report`.
#. Navigate to :menuselection:`Expenses app --> My Expenses --> My Reports` and click
:guilabel:`New`.
.. _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/submit-report.png
:alt: Submit the report to the manager.
Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report,
the next step is for management to review and :doc:`approve it <approve_expenses>`.
.. 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.
.. 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 </applications/general/users>`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

View File

@@ -93,8 +93,8 @@ pop-up window loads. Enter the following information in the pop-up window:
- :guilabel:`Amount`: The total amount being reimbursed populates this field, by default.
- :guilabel:`Payment Date`: Enter the date the payment is 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.
- :guilabel:`Memo`: The text entered in the :guilabel:`Expense Report Summary` field of the expense
report populates this field, by default.
.. image:: reimburse/payment.png
:alt: The Register Payment pop-up window filled out for an individual expense report

View File

@@ -25,7 +25,7 @@ the customer is charged for the expenses.
following documentation:
- :doc:`Log expenses <../expenses/log_expenses>`
- :doc:`Expense reports <../expenses/expense_reports>`
- :doc:`Submit expenses <../expenses/submit_expenses>`
- :doc:`Approve expenses <../expenses/approve_expenses>`
- :doc:`Post expenses <../expenses/post_expenses>`
@@ -80,8 +80,8 @@ then select the desired :guilabel:`Analytic Distribution` from the drop-down men
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.
After the expenses are created, the expense report must be created and submitted, 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
@@ -111,8 +111,7 @@ If an :guilabel:`Analytic Distribution` entry is missing, assign the correct acc
drop-down menu, then click :guilabel:`Approve`.
.. note::
The :guilabel:`Approve` button **only** appears after an expense report has been :ref:`submitted
<expenses/submit>`.
The :guilabel:`Approve` button **only** appears after an expense report has been submitted.
The accounting department is typically responsible for :doc:`posting journal entries
<../expenses/post_expenses>`. To post expenses to an accounting journal, click :guilabel:`Post

View File

@@ -0,0 +1,49 @@
===============
Submit expenses
===============
When expenses have been :doc:`logged <log_expenses>` the next step is to submit them for approval,
so the expenses can then be reimbursed.
.. _expenses/my_expenses:
My expenses dashboard
=====================
Open the **Expenses** app, which displays the :guilabel:`My Expenses` dashboard, by default.
Alternatively, navigate to :menuselection:`Expenses app --> My Expenses --> My Expenses`.
All expenses are color-coded by status. Any expense with a status of :guilabel:`Draft` (expenses
that have been created but not submitted) appears in blue text. For all other statuses
(:guilabel:`Submitted`, :guilabel:`Approved`, and :guilabel:`Refused`), the text appears in black.
Above the list of expenses is the total monetary value of all expenses waiting to be submitted,
waiting for approval, or waiting for reimbursement. Expenses with a status of :guilabel:`Draft` are
used to calculate the amount in the :guilabel:`To Submit` field, expenses with a status of
:guilabel:`Submitted` are used to calculate the :guilabel:`Waiting Approval` amount, and expenses
with a status of :guilabel:`Approved` are used to calculate the :guilabel:`Waiting Reimbursement`
total.
.. image:: submit_expenses/banner.png
:alt: The top banner above the My Expenses dashboard with all the various totals by status.\
.. important::
While any expense can be selected from the :guilabel:`My Expenses` list, the :guilabel:`Submit`
button is *only* visible when expenses with a status of :guilabel:`Draft` are selected. If any
other status of expense is selected, the :guilabel:`Submit` button does **not** appear.
.. tip::
Another way to select all expenses with a :guilabel:`Draft` status is to click into the search
bar and select :guilabel:`To Submit` in the :icon:`fa-filter` :guilabel:`Filters` column, then
click the checkbox next to :guilabel:`Employee`.
Submit expense records
======================
On the :ref:`My Expenses <expenses/my_expenses>` dashboard, select the desired expenses to be
submitted on the :guilabel:`My Expenses` dashboard by clicking the checkbox next to each entry.
Once the expenses have been selected, click the :guilabel:`Submit` button.
.. image:: submit_expenses/select-expenses.png
:alt: Selected expenses to submit on the My Expenses dashboard.

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 72 KiB

2
redirects/saas-18.2.txt Normal file
View File

@@ -0,0 +1,2 @@
# expenses
applications/finance/expenses/expense_reports.rst applications/finance/expenses/submit_expenses.rst