Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
65 commits
Select commit Hold shift + click to select a range
c58f050
[ADD] hr_expense_invoice
pedrobaeza Mar 9, 2015
f3de09f
[IMP] hr_expense_invoice: Allow to create supplier invoice from expen…
pedrobaeza Nov 6, 2015
728f5e1
[FIX] Fix issue with 2 invoices on the same partner and the same tota…
kryskool Oct 17, 2016
f3c34fa
[MIG] hr_expense_invoice: Migration to 10.0
cubells Sep 27, 2017
ed57fa3
[MIG] hr_expense_invoice: Migration to 11.0
cubells Dec 11, 2018
9d1c69d
Added translation using Weblate (German)
marylla Dec 18, 2018
a03d735
Translated using Weblate (German)
marylla Dec 18, 2018
25e2f30
[12.0][MIG] hr_expense_invoice
kittiu Apr 23, 2019
93382f4
[12.0][IMP] hr_expense_invoice
kittiu Jun 11, 2019
0563a1f
[12.0][IMP] hr_expense_invoice
kittiu Jun 13, 2019
d476511
Translated using Weblate (German)
marylla Jul 12, 2019
89b6a04
Translated using Weblate (Spanish)
Jul 23, 2019
424af8e
[FIX] Avoid not intended warnings
MiquelRForgeFlow Nov 14, 2019
51673ac
[IMP] hr_expense_invoice : black, isort
Saran440 Dec 5, 2019
1ffd533
[13.0][MIG] : hr_expense_invoice
Saran440 Dec 5, 2019
38f2569
[IMP] hr_expense_invoice: onchange invoice
chienandalu Sep 14, 2020
7f162f4
[FIX] hr_expense_invoice: Reset taxes on invoice change
pedrobaeza Jan 21, 2021
2c5ce73
[FIX] hr_expense_invoice: Proper analytic account field name
pedrobaeza Jan 23, 2021
ef2c444
[FIX] hr_expense_invoice: Set groups to invoice_id field in expense view
victoralmau Feb 3, 2021
83b6a32
[OU-ADD] hr_expense_invoice: Migration scripts
pedrobaeza Feb 21, 2021
2bf0c67
[OU-FIX] hr_expense_invoice: Proper syntax
pedrobaeza Feb 22, 2021
921e376
[IMP] hr_expense_invoice: Docstring + convention on not overwriting self
pedrobaeza Mar 22, 2021
048021e
- Do reconciliations per line, so don't group invoices from different…
victoralmau Mar 26, 2021
6f884bf
[FIX] hr_expense_invoice: Set empty tax_ids when create_invoice wizard
victoralmau Mar 26, 2021
ea3af78
[IMP] hr_expense_invoice: Remove expense_create_invoice wizard accord…
victoralmau Mar 29, 2021
36c0699
[IMP] : Add migration to prevent error related to many2many in Transi…
victoralmau Mar 30, 2021
8533f39
[IMP] hr_expense_invoice: Add button to create invoice from expenses
victoralmau Apr 7, 2021
0d0732a
[FIX] hr_expense_invoice: Allow create invoice from invoice_id field
victoralmau Apr 7, 2021
0d66659
[IMP] hr_expense_invoice: Prevent change invoice total when it's rela…
victoralmau Apr 8, 2021
2f2dded
[FIX] hr_expense_invoice: Force save unit_amount expense (when invoic…
victoralmau Apr 8, 2021
d84c772
[14.0][MIG] hr_expense_invoice
Saran440 Jul 21, 2021
48107a2
[FIX] hr_expense_invoice: Assign the partner_id and account_id correc…
victoralmau Sep 30, 2021
1b6725b
[FIX] hr_expense_invoice: Changes in the test to avoid errors in the …
victoralmau Sep 30, 2021
83f9de0
[MIG] hr_expense_invoice: Migration to 15.0
nicomacr Jan 21, 2022
5ec2048
[FIX] hr_expense_invoice: Resilient tests on multi-company
pedrobaeza Mar 16, 2022
709a79f
setting the name of a new invoice to / in order to maintain proper se…
MosabWadea Apr 2, 2022
f8062d7
[FIX] hr_expense_invoice: do not display UoM and quantity label
LoisRForgeFlow May 25, 2022
10bed67
[IMP] hr_expense_invoice: Change _validate_expense_invoice() function…
victoralmau Oct 26, 2022
a63ede8
[FIX] hr_expense_invoice: Change SavepointCase to TransactionCase
victoralmau Nov 15, 2022
beb75cb
[IMP] hr_expense_invoice: Copy attachments from expense to invoice
victoralmau Mar 3, 2023
0d81f84
Added translation using Weblate (Italian)
mymage Jun 30, 2023
5f90f00
Translated using Weblate (Italian)
francesco-ooops Oct 13, 2023
980b0fd
Translated using Weblate (Spanish)
Ivorra78 Oct 29, 2023
07b6bad
[MIG] hr_expense_invoice: Migration to 16.0
victoralmau Nov 22, 2023
6767df8
Translated using Weblate (Italian)
mymage Feb 23, 2024
7801985
[FIX+IMP] hr_expense_invoice: Proper accounting + UX
pedrobaeza May 15, 2024
f938c40
Translated using Weblate (Italian)
mymage May 30, 2024
1352a6a
[IMP] hr_expense_invoice: pre-commit auto fixes
desdelinux Jul 15, 2024
4cf2ca5
[MIG] hr_expense_invoice: Migration to 17.0
Jul 15, 2024
aa9c878
[FIX] hr_expense_invoice: Proper partner
TheCloneMaster Oct 21, 2024
b2af6a6
[FIX] hr_expense_invoice: Fix tests
victoralmau Nov 27, 2024
92e2d98
[MIG] hr_expense_invoice: Migration to 18.0
cav-adhoc Dec 12, 2024
17e8f32
[MIG] hr_expense_invoice: Continue migration to 18.0
david-banon-tecnativa Aug 13, 2025
b3d01d5
[FIX] hr_expense_invoice: Fix expense sheets with some invoices but n…
david-banon-tecnativa Aug 26, 2025
0c3e876
[UPD] Update hr_expense_invoice.pot
Sep 4, 2025
5e73e83
[BOT] post-merge updates
OCA-git-bot Sep 4, 2025
fe8fff0
[FIX] hr_expense_invoice: Use base amount
pedrobaeza Jun 9, 2025
6537e96
[BOT] post-merge updates
OCA-git-bot Oct 14, 2025
077d453
[FIX] hr_expense_invoice: Handle mixed lines
christian-ramos-tecnativa Nov 17, 2025
fa7e4b9
[BOT] post-merge updates
OCA-git-bot Nov 17, 2025
91c7628
Added translation using Weblate (Turkish)
bo-eska Nov 20, 2025
fd39381
[18.0][FIX] hr_expense_invoice: Allow mixed expense reports (with and…
dtec-landoo Mar 9, 2026
609b47f
[BOT] post-merge updates
OCA-git-bot Apr 6, 2026
aee649c
[IMP] hr_expense_invoice: pre-commit auto fixes
dnplkndll Jun 19, 2026
7cabd8a
[MIG] hr_expense_invoice: Migration to 19.0
dnplkndll Jun 19, 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
121 changes: 121 additions & 0 deletions hr_expense_invoice/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
.. 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:9eca0748af62f7f5a3ace8bd4bbe82abdca21c001a31f0539e2ddd19bf0530b6
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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 lets you link an existing posted vendor bill to an employee
expense, so the bill stays the accounting document for that expense
instead of an auto-generated receipt. Use it when an employee paid a
supplier invoice and you want the original bill to remain the source of
truth. When the expense is posted, the module books an entry that
transfers the debt from the bill's vendor to the employee, and the
expense is settled once the bill is paid.

**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 <kittiu@ecosoft.co.th>
- Rattapong Chokmasermkul <rattapongc@ecosoft.co.th>
- Saran Lim. <saranl@ecosoft.co.th>

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
18 changes: 18 additions & 0 deletions hr_expense_invoice/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Copyright 2015-2021 Tecnativa - Pedro M. Baeza
# Copyright 2017 Tecnativa - Vicent Cubells
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"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",
],
"installable": True,
}
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ý <lukasspurny8@gmail.com>, 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ý <lukasspurny8@gmail.com>, 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