Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
92 changes: 2 additions & 90 deletions content/applications/finance/expenses.rst
Original file line number Diff line number Diff line change
@@ -1,100 +1,12 @@
:show-content:
:nosearch:

========
Expenses
========

Odoo **Expenses** streamlines the management of expenses. After an employee submits their expenses
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>`_

Set expense categories
======================

The first step to track expenses is to configure the different types of expenses for the company
(managed as *expense categories* in Odoo). Each category can be as specific or generalized as
needed. Go to :menuselection:`Expenses app --> Configuration --> Expense Categories` to view the
current expensable categories in a default list view.

.. image:: expenses/categories.png
:align: center
:alt: Set expense costs on products.

To create a new expense category, click :guilabel:`New`. A product form will appear, with the
description field labeled :guilabel:`Product Name`.

.. note::
Expense categories are managed like products in Odoo. The expense category form follows the
standard product form in Odoo, and the information entered is similar. Expense products will be
referred to as expense categories throughout this document since the main menu refers to these as
:guilabel:`Expense Categories`.

Only two fields are required, the :guilabel:`Product Name` and the :guilabel:`Unit of Measure`.
Enter the :guilabel:`Product Name` in the field, and select the :guilabel:`Unit of Measure` from the
drop-down menu (most products will be set to :guilabel:`Units`).

.. tip::
The *Sales* app is where specification on the units of measure are created and edited (e.g.
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/configure/uom>`.

.. image:: expenses/new-expense-product.png
:align: center
:alt: Set expense costs on products.

The :guilabel:`Cost` field on the product form is populated with a value of `0.00` by default. When
a specific expense should always be reimbursed for a particular price, enter that amount in the
:guilabel:`Cost` field. Otherwise, leave the :guilabel:`Cost` set to `0.00`, and employees will
report the actual cost when submitting an expense report.

.. note::
The :guilabel:`Cost` field is always visible on the expense category form, but the
:guilabel:`Sales Price` field is *only* visible if the :guilabel:`Sales Price` is selected under
the :guilabel:`Re-Invoice Expenses` section. Otherwise, the :guilabel:`Sales Price` field is
hidden.

.. example::
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,
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", 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", the reimbursement would be for $75.00.
- **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.

Select an :guilabel:`Expense Account` if using the Odoo *Accounting* app. It is recommended to check
with the accounting department to determine the correct account to reference in this field as it
will affect reports.

Set a tax on each product in the :guilabel:`Vendor Taxes` and :guilabel:`Customer Taxes` fields, if
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.

.. 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/expense_categories
expenses/log_expenses
expenses/expense_reports
expenses/approve_expenses
Expand Down
Binary file removed content/applications/finance/expenses/categories.png
Binary file not shown.
163 changes: 163 additions & 0 deletions content/applications/finance/expenses/expense_categories.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,163 @@
==================
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 then 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 expense categories
=======================

The first step to track expenses is configuring the different types of expenses for the company
(managed as *expense categories* in Odoo). Each category can be as specific or generalized as
needed. Additionally, expense categories can be configured to repay expenses at either a set price
or allow for specific prices to be reported.

To view the default expense categories, navigate to :menuselection:`Expenses app --> Configuration
--> Expense Categories`.

The default expense categories allow creating expenses for common expenses, including communication
costs, meals, gifts, miles drive, and other travel expenses. For expenses outside these default
categories, the general expenses category, :guilabel:`EXP_GEN`, is used. If a company has specific
expenses they commonly reimburse, and want to track them separately, :ref:`new expense categories
can be made <expenses/new-category>` or existing expense categories can be modified.

.. image:: expense_categories/default-categories.png
:alt: Set expense costs on products.

.. _expenses/new-category:

Create new expense categories
=============================

Some companies require more expense categories than the **Expenses** app includes. For these
situations, new expense categories can be created.

.. example::
A company who trains car mechanics allows their technicians to purchase $500 of tools a year. In
this situation, the company creates a new category called `TOOLS` to keep track of all tool
expenses.

To create a new expense category, navigate to :menuselection:`Expenses app --> Configuration -->
Expense Categories`. Click :guilabel:`New`, and a new expense category form loads.

.. note::
Expense *categories* are managed like *products* in Odoo. The expense category form follows the
standard product form in Odoo, and the information entered is similar. Expense *products* are
referred to as expense *categories* throughout this document since the main menu refers to these
as :guilabel:`Expense Categories`.

Enter the following fields on the form:

- :guilabel:`Product Name`: Enter a name for the category that is short and informative.
- :guilabel:`Cost`: If employees can report the actual cost of an expense, and are reimbursed
the reported amount, leave the field set to `0.00`. If the expense should **always** be reimbursed
for a specific price, enter the amount in this field. If a price is entered, a :guilabel:`per`
field appears with :guilabel:`Unit` populated by default. :guilabel:`Unit` covers most all expense
situations, but if the reimbursement is based on weight, kength, volume, etc., chose the
corresponding type of unit using the drop-down menu.

.. example::
Here are some examples for when to set a specific :guilabel:`Cost` on a product vs. leaving the
:guilabel:`Cost` at `0.00`:

- **Meals**: If employees are reimbursed their full meal cost, 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 are reimbursed for that amount. An expens for a meal costing $95.23 would equal a
reimbursement of $95.23.
- **Mileage**: If employees receive a flat rate for each mile they rdive, set the
:guilabel:`Cost` to `1.00`. When an employee logs an expense for miles they drove, they enter
the number of miles driven in the :guilabel:`Quantity` field, and are reimbursed $1.00 per
mile they reported. An expense for 100 miles would equal a reimbursement of $100.00.
- **Per Diem**: If employees receive a daily flat rate of $125.00 when traveling, set the
:guilabel:`Cost` to `125.00`. An expense for three days of per diem costs (meals,
incidentals, taxi fare, etc.) would equal a reimbursement of $375.00.

.. note::
The :guilabel:`Cost` field is always visible on the expense category form, but the
:guilabel:`Sales Price` field is *only* visible if the :guilabel:`Sales Price` is selected
under the :guilabel:`Re-Invoice Expenses` section. Otherwise, the :guilabel:`Sales Price` field
is hidden.

- :guilabel:`Reference`: Enter a short reference for the expense, such as `FOOD` or `TRAVEL`. This
reference is used when :ref:`emailing expenses <expenses/email_expense>`.
- :guilabel:`Category`: Using the drop-down menu, select the category the expense falls under. It in
recommended to use the default category `All / Expenses`, but another category can be selected if
the accounting department requires it.
- :guilabel:`Company`: If in a multi-company database, select the company the expense category
applies to. If the expense category applies to *all* companies, leave this field blank.
- :guilabel:`Guideline`: Enter some rules or important information for the expense category. This is
visible in the :guilabel:`Note` column on the :guilabel:`Expense Category` dashboard.

.. example::
An expense category for expenses related to working from home may have a :guilabel:`Name` of
`WFH` and the :guilabel:`Guideline` may say `Monitors, Chairs, & Other Home Working Costs`.

- :guilabel:`Expense Account`: If using the Odoo **Accounting** app, select the :abbr:`CoA (Chart of
Accounts)` the expense should be logged on.

.. important::
Check with the accounting department to determine the correct account to reference in this field
as it affects various reports.

- :guilabel:`Purchase Taxes` and :guilabel:`Sales Taxes`: Enter the default taxes that are applied
when purchasing or selling this product, if applicable.

.. note::
The :guilabel:`Sales Taxes` field is **only** visible if the **Sales** app is installed, and
either the :guilabel:`At cost` or :guilabel:`Sales Price` options are selected in the
:ref:`invoicing section <expenses/invoicing>`.

.. tip::
It is considered good practice to use a tax that is configured with :ref:`Tax Included in Price
<taxes/included-in-price>`. Taxes are automatically configured if these are set.

.. image:: expense_categories/new-expense-category.png
:alt: A new expense category for tools.

.. _expenses/invoicing:

Invoicing section
-----------------

If the **Sales** app is installed, and invoicing section is visible. This section allows the expense
to be re-invoiced to customers on sales orders.

If the expense **cannot** be reinvoiced, enable the :guilabel:`No` option. If the expense category
**can** be reinvoiced, enable either of these options:

- :guilabel:`At cost`: Select this option to have the expense item reinvoiced at the price set in
the :guilabel:`Cost` field.
- :guilabel:`Sales Price`: Select this option to have the expense item reinvoiced at the sales
price. When enabled, a :guilabel:`Sales Price` field appears beneath the :guilabel:`Product Name`
field. Enter the sales price in the new field.

.. example::
A heating and cooling company offers at-home repairs on the furnaces and central air units it
sells. Their technicians are sub-contracted, and use their own vans, tools, and parts.

As part of their contracts, the technicians are reimbursed for their travel. They receive $1.00
for every mile the drive. Additionally, the cusotmers must may for travel as part of their
service contract. The cusotmers pay $1.50 for every mile the technician drives to their home.

To configure this expense, the :guilabel:`Sales Price` is set to `1.50` and the :guilabel:`Cost`
is set to `1.00`.

.. image:: expense_categories/reimbursement-category.png
:alt: An expense category to reinvoice customers and pay technicians.

.. toctree::
:titlesonly:

expenses/log_expenses
expenses/expense_reports
expenses/approve_expenses
expenses/post_expenses
expenses/reimburse
expenses/reinvoice_expenses
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.