Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
47c5b9d
[ADD] hr_expense_invoice
pedrobaeza Mar 9, 2015
a4a99d9
[IMP] hr_expense_invoice: Allow to create supplier invoice from expen…
pedrobaeza Nov 6, 2015
3d513af
[FIX] Fix issue with 2 invoices on the same partner and the same tota…
kryskool Oct 17, 2016
70b2f20
[MIG] hr_expense_invoice: Migration to 10.0
cubells Sep 27, 2017
07b9c5a
[MIG] hr_expense_invoice: Migration to 11.0
cubells Dec 11, 2018
690f8bc
Added translation using Weblate (German)
marylla Dec 18, 2018
fe6e0fa
Translated using Weblate (German)
marylla Dec 18, 2018
888e43e
[12.0][MIG] hr_expense_invoice
kittiu Apr 23, 2019
12f9c8d
[12.0][IMP] hr_expense_invoice
kittiu Jun 11, 2019
158ffce
[12.0][IMP] hr_expense_invoice
kittiu Jun 13, 2019
c92a2dc
Translated using Weblate (German)
marylla Jul 12, 2019
6d5bb6d
Translated using Weblate (Spanish)
Jul 23, 2019
7beb2f9
[FIX] Avoid not intended warnings
MiquelRForgeFlow Nov 14, 2019
86bb953
[IMP] hr_expense_invoice : black, isort
Saran440 Dec 5, 2019
c0fce71
[13.0][MIG] : hr_expense_invoice
Saran440 Dec 5, 2019
7b7bb38
[IMP] hr_expense_invoice: onchange invoice
chienandalu Sep 14, 2020
96184dc
[FIX] hr_expense_invoice: Reset taxes on invoice change
pedrobaeza Jan 21, 2021
78b4ec0
[FIX] hr_expense_invoice: Proper analytic account field name
pedrobaeza Jan 23, 2021
29d12d1
[FIX] hr_expense_invoice: Set groups to invoice_id field in expense view
victoralmau Feb 3, 2021
3ea0e59
[OU-ADD] hr_expense_invoice: Migration scripts
pedrobaeza Feb 21, 2021
d37a441
[OU-FIX] hr_expense_invoice: Proper syntax
pedrobaeza Feb 22, 2021
e16d725
[IMP] hr_expense_invoice: Docstring + convention on not overwriting self
pedrobaeza Mar 22, 2021
9d45c0a
- Do reconciliations per line, so don't group invoices from different…
victoralmau Mar 26, 2021
e492a6f
[FIX] hr_expense_invoice: Set empty tax_ids when create_invoice wizard
victoralmau Mar 26, 2021
1706db3
[IMP] hr_expense_invoice: Remove expense_create_invoice wizard accord…
victoralmau Mar 29, 2021
a6f58a7
[IMP] : Add migration to prevent error related to many2many in Transi…
victoralmau Mar 30, 2021
452017a
[IMP] hr_expense_invoice: Add button to create invoice from expenses
victoralmau Apr 7, 2021
edba7cf
[FIX] hr_expense_invoice: Allow create invoice from invoice_id field
victoralmau Apr 7, 2021
02a62d7
[IMP] hr_expense_invoice: Prevent change invoice total when it's rela…
victoralmau Apr 8, 2021
3cb4367
[FIX] hr_expense_invoice: Force save unit_amount expense (when invoic…
victoralmau Apr 8, 2021
8498d3f
[14.0][MIG] hr_expense_invoice
Saran440 Jul 21, 2021
6bb3078
[FIX] hr_expense_invoice: Assign the partner_id and account_id correc…
victoralmau Sep 30, 2021
57a4f13
[FIX] hr_expense_invoice: Changes in the test to avoid errors in the …
victoralmau Sep 30, 2021
299d969
[MIG] hr_expense_invoice: Migration to 15.0
nicomacr Jan 21, 2022
e848336
[FIX] hr_expense_invoice: Resilient tests on multi-company
pedrobaeza Mar 16, 2022
3849da6
setting the name of a new invoice to / in order to maintain proper se…
MosabWadea Apr 2, 2022
e861612
[FIX] hr_expense_invoice: do not display UoM and quantity label
LoisRForgeFlow May 25, 2022
f09caf8
[IMP] hr_expense_invoice: Change _validate_expense_invoice() function…
victoralmau Oct 26, 2022
9ef3273
[FIX] hr_expense_invoice: Change SavepointCase to TransactionCase
victoralmau Nov 15, 2022
8eff1c5
[IMP] hr_expense_invoice: Copy attachments from expense to invoice
victoralmau Mar 3, 2023
c7eab2d
Added translation using Weblate (Italian)
mymage Jun 30, 2023
7f61317
Translated using Weblate (Italian)
francesco-ooops Oct 13, 2023
18307ad
Translated using Weblate (Spanish)
Ivorra78 Oct 29, 2023
2d7acc7
[MIG] hr_expense_invoice: Migration to 16.0
victoralmau Nov 22, 2023
c978ee2
Translated using Weblate (Italian)
mymage Feb 23, 2024
dda1264
[FIX+IMP] hr_expense_invoice: Proper accounting + UX
pedrobaeza May 15, 2024
740f4fd
Translated using Weblate (Italian)
mymage May 30, 2024
1e8d71b
[IMP] hr_expense_invoice: pre-commit auto fixes
desdelinux Jul 15, 2024
a3ad331
[MIG] hr_expense_invoice: Migration to 17.0
Jul 15, 2024
6be4edc
[FIX] hr_expense_invoice: Proper partner
TheCloneMaster Oct 21, 2024
78f7d50
[FIX] hr_expense_invoice: Fix tests
victoralmau Nov 27, 2024
b7b6e97
[MIG] hr_expense_invoice: Migration to 18.0
cav-adhoc Dec 12, 2024
0c646ce
[MIG] hr_expense_invoice: Continue migration to 18.0
david-banon-tecnativa Aug 13, 2025
688172a
[FIX] hr_expense_invoice: Fix expense sheets with some invoices but n…
david-banon-tecnativa Aug 26, 2025
2b61905
[UPD] Update hr_expense_invoice.pot
Sep 4, 2025
1bbdfb2
[BOT] post-merge updates
OCA-git-bot Sep 4, 2025
46392a8
[FIX] hr_expense_invoice: Use base amount
pedrobaeza Jun 9, 2025
6e85e61
[BOT] post-merge updates
OCA-git-bot Oct 14, 2025
58c8ad4
[FIX] hr_expense_invoice: Handle mixed lines
christian-ramos-tecnativa Nov 17, 2025
6f2263b
[BOT] post-merge updates
OCA-git-bot Nov 17, 2025
6d6624e
Added translation using Weblate (Turkish)
bo-eska Nov 20, 2025
05c03f3
[MIG] hr_expense_invoice: Migration to 19.0
cav-adhoc Mar 4, 2026
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
124 changes: 124 additions & 0 deletions hr_expense_invoice/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,124 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association

================================
Supplier invoices on HR expenses
================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:7e8117b1a98ba5b52b401bb69a1bca1aef01b7721082c76adc1f8954109bf825
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fhr--expense-lightgray.png?logo=github
:target: https://github.com/OCA/hr-expense/tree/19.0/hr_expense_invoice
:alt: OCA/hr-expense
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/hr-expense-19-0/hr-expense-19-0-hr_expense_invoice
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/hr-expense&target_branch=19.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module should be used when a supplier invoice is paid by an
employee. It allows to set a supplier invoice for each expense line,
adding the corresponding journal items to transfer the debt to the
employee.

There are 2 ways to reference expense to invoice.

1. On expense, directly select one invoice.
2. On expense report, use button "Create Vendor Bill" to create one
invoice for multiple expenses.

**Table of contents**

.. contents::
:local:

Usage
=====

**Reference one invoice to an expense**

- Create an expense sheet.
- Add an expense line to sheet with an invoice_id selected or create one
new.
- Process expense sheet.
- On paying expense sheet, you are reconciling supplier invoice too.

**Create one invoice to multiple expenses**

- Create an expense sheet with one or multiple expense lines
- After approved, click button "Create Vendor Bill"
- Select multiple expense to create an invoice, and process it.
- New invoice will be create and link to the selected expense lines.
- Validate newly create invoice.
- On paying expense sheet, you are reconciling supplier invoice(s) too.

Known issues / Roadmap
======================

- Multiple payment terms for a supplier invoice are not handled
correctly.
- Partial reconcile supplier invoices are also not correctly handled.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/hr-expense/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/hr-expense/issues/new?body=module:%20hr_expense_invoice%0Aversion:%2019.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
-------

* Tecnativa

Contributors
------------

- `Tecnativa <https://www.tecnativa.com>`__:

- Pedro M. Baeza
- Vicent Cubells
- Víctor Martínez

- Kitti Upariphutthiphong <[email protected]>
- Rattapong Chokmasermkul <[email protected]>
- Saran Lim. <[email protected]>

Maintainers
-----------

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/hr-expense <https://github.com/OCA/hr-expense/tree/19.0/hr_expense_invoice>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions hr_expense_invoice/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

from . import models
19 changes: 19 additions & 0 deletions hr_expense_invoice/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Copyright 2015-2021 Tecnativa - Pedro M. Baeza
# Copyright 2017 Tecnativa - Vicent Cubells
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Supplier invoices on HR expenses",
"version": "19.0.1.0.0",
"category": "Human Resources",
"author": "Tecnativa, Odoo Community Association (OCA)",
"license": "AGPL-3",
"website": "https://github.com/OCA/hr-expense",
"depends": ["hr_expense"],
"data": [
"views/account_move_views.xml",
"views/hr_expense_views.xml",
"data/mail_message_subtype.xml",
],
"installable": True,
}
9 changes: 9 additions & 0 deletions hr_expense_invoice/data/mail_message_subtype.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="mt_expense_approved_inherited" model="mail.message.subtype">
<field name="name">Approved</field>
<field name="res_model">hr.expense.sheet</field>
<field name="default" eval="True" />
<field name="description">Expense report approved</field>
</record>
</odoo>
129 changes: 129 additions & 0 deletions hr_expense_invoice/i18n/cs_CZ.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,129 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * hr_expense_invoice
#
# Translators:
# Lukáš Spurný <[email protected]>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-23 03:45+0000\n"
"PO-Revision-Date: 2018-02-23 03:45+0000\n"
"Last-Translator: Lukáš Spurný <[email protected]>, 2018\n"
"Language-Team: Czech (Czech Republic) (https://www.transifex.com/oca/"
"teams/23907/cs_CZ/)\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"

#. module: hr_expense_invoice
#: model_terms:ir.ui.view,arch_db:hr_expense_invoice.view_move_form
msgid "<span>Expense</span>"
msgstr ""

#. module: hr_expense_invoice
#: model_terms:ir.ui.view,arch_db:hr_expense_invoice.hr_expense_sheet_form_view_inherit_sale_expense
msgid "Create Vendor Bill"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model,name:hr_expense_invoice.model_hr_expense
msgid "Expense"
msgstr "Výdaje"

#. module: hr_expense_invoice
#: model:ir.model,name:hr_expense_invoice.model_hr_expense_sheet
msgid "Expense Report"
msgstr "Zpráva o výdajích"

#. module: hr_expense_invoice
#: model:ir.model.fields,field_description:hr_expense_invoice.field_account_bank_statement_line__expense_ids
#: model:ir.model.fields,field_description:hr_expense_invoice.field_account_move__expense_ids
#: model:ir.model.fields,field_description:hr_expense_invoice.field_account_payment__expense_ids
#, fuzzy
msgid "Expenses"
msgstr "Výdaje"

#. module: hr_expense_invoice
#: model:ir.model.fields,field_description:hr_expense_invoice.field_hr_expense_sheet__invoice_count
#, fuzzy
msgid "Invoice Count"
msgstr "Faktura"

#. module: hr_expense_invoice
#. odoo-python
#: code:addons/hr_expense_invoice/models/hr_expense_sheet.py:0
#: model_terms:ir.ui.view,arch_db:hr_expense_invoice.hr_expense_sheet_form_view_inherit_sale_expense
#, fuzzy, python-format
msgid "Invoices"
msgstr "Faktura"

#. module: hr_expense_invoice
#: model:ir.model,name:hr_expense_invoice.model_account_move
msgid "Journal Entry"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model,name:hr_expense_invoice.model_account_move_line
msgid "Journal Item"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model.fields,help:hr_expense_invoice.field_account_bank_statement_line__source_invoice_expense_id
#: model:ir.model.fields,help:hr_expense_invoice.field_account_move__source_invoice_expense_id
#: model:ir.model.fields,help:hr_expense_invoice.field_account_payment__source_invoice_expense_id
msgid ""
"Reference to the expense with a linked invoice that generated thistransfer "
"journal entry"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model.fields,field_description:hr_expense_invoice.field_hr_expense__sheet_id_state
msgid "Sheet state"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model.fields,field_description:hr_expense_invoice.field_account_bank_statement_line__source_invoice_expense_id
#: model:ir.model.fields,field_description:hr_expense_invoice.field_account_move__source_invoice_expense_id
#: model:ir.model.fields,field_description:hr_expense_invoice.field_account_payment__source_invoice_expense_id
msgid "Source Invoice Expense"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model.fields,field_description:hr_expense_invoice.field_hr_expense__transfer_move_ids
msgid "Transfer Move"
msgstr ""

#. module: hr_expense_invoice
#: model:ir.model.fields,field_description:hr_expense_invoice.field_hr_expense__invoice_id
msgid "Vendor Bill"
msgstr ""

#. module: hr_expense_invoice
#. odoo-python
#: code:addons/hr_expense_invoice/models/hr_expense_sheet.py:0
#, python-format
msgid ""
"Vendor bill amount mismatch!\n"
"Please make sure amount in vendor bills equal to amount of its expense lines"
msgstr ""

#. module: hr_expense_invoice
#. odoo-python
#: code:addons/hr_expense_invoice/models/hr_expense.py:0
#: code:addons/hr_expense_invoice/models/hr_expense_sheet.py:0
#, python-format
msgid "Vendor bill state must be Posted"
msgstr ""

#. module: hr_expense_invoice
#. odoo-python
#: code:addons/hr_expense_invoice/models/account_move.py:0
#, python-format
msgid ""
"You can't change the total amount, as there's an expense linked to this "
"invoice."
msgstr ""
Loading
Loading