diff --git a/README.md b/README.md
index 862ea15dd..9683161d6 100644
--- a/README.md
+++ b/README.md
@@ -33,11 +33,12 @@ addon | version | maintainers | summary
[hr_expense_journal](hr_expense_journal/) | 15.0.1.0.0 | [![dreispt](https://github.com/dreispt.png?size=30px)](https://github.com/dreispt) | Set the Journal for the payment type used to pay the expense
[hr_expense_pay_to_vendor](hr_expense_pay_to_vendor/) | 15.0.1.0.1 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | HR Expense - Pay To Vendor
[hr_expense_payment](hr_expense_payment/) | 15.0.1.0.1 | | HR Expense Payment
-[hr_expense_payment_widget_amount](hr_expense_payment_widget_amount/) | 15.0.1.0.0 | [![Saran440](https://github.com/Saran440.png?size=30px)](https://github.com/Saran440) | HR Expense Payment Widget Amount
+[hr_expense_payment_widget_amount](hr_expense_payment_widget_amount/) | 15.0.1.0.1 | [![Saran440](https://github.com/Saran440.png?size=30px)](https://github.com/Saran440) | HR Expense Payment Widget Amount
[hr_expense_petty_cash](hr_expense_petty_cash/) | 15.0.1.2.0 | | Petty Cash
[hr_expense_portal](hr_expense_portal/) | 15.0.1.0.0 | | Show current expense in a website.
[hr_expense_sequence](hr_expense_sequence/) | 15.0.1.0.0 | | HR expense sequence
-[hr_expense_tax_adjust](hr_expense_tax_adjust/) | 15.0.1.1.0 | [![ps-tubtim](https://github.com/ps-tubtim.png?size=30px)](https://github.com/ps-tubtim) | Allow to edit tax amount on expenses
+[hr_expense_sequence_option](hr_expense_sequence_option/) | 15.0.1.0.0 | [![ps-tubtim](https://github.com/ps-tubtim.png?size=30px)](https://github.com/ps-tubtim) | Manage sequence options for hr.expense.sheet
+[hr_expense_tax_adjust](hr_expense_tax_adjust/) | 15.0.1.1.1 | [![ps-tubtim](https://github.com/ps-tubtim.png?size=30px)](https://github.com/ps-tubtim) | Allow to edit tax amount on expenses
[hr_expense_tier_validation](hr_expense_tier_validation/) | 15.0.1.0.0 | [![ps-tubtim](https://github.com/ps-tubtim.png?size=30px)](https://github.com/ps-tubtim) | Expense Tier Validation
[hr_expense_widget_o2m](hr_expense_widget_o2m/) | 15.0.1.0.0 | [![kittiu](https://github.com/kittiu.png?size=30px)](https://github.com/kittiu) | HR Expense one2many widget
[sale_expense_cost_reinvoice](sale_expense_cost_reinvoice/) | 15.0.1.0.0 | [![yankinmax](https://github.com/yankinmax.png?size=30px)](https://github.com/yankinmax) | Provide cost on order line when Auto Re-invoice at cost
diff --git a/hr_expense_payment_widget_amount/README.rst b/hr_expense_payment_widget_amount/README.rst
index 1e45d295e..d519020c7 100644
--- a/hr_expense_payment_widget_amount/README.rst
+++ b/hr_expense_payment_widget_amount/README.rst
@@ -7,7 +7,7 @@ HR Expense Payment Widget Amount
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:d854380b80956eab4d851d476e9acb0f6e9968ce5f56df81675211ef452b6610
+ !! source digest: sha256:baabb0954af5f9349ba3b84334e5e814056adf580ce2d997370f9f04a5e7e464
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
diff --git a/hr_expense_payment_widget_amount/__manifest__.py b/hr_expense_payment_widget_amount/__manifest__.py
index 8e9b9d2a9..275e9c131 100644
--- a/hr_expense_payment_widget_amount/__manifest__.py
+++ b/hr_expense_payment_widget_amount/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "HR Expense Payment Widget Amount",
- "version": "15.0.1.0.0",
+ "version": "15.0.1.0.1",
"category": "Human Resources",
"author": "Ecosoft, Odoo Community Association (OCA)",
"license": "AGPL-3",
diff --git a/hr_expense_payment_widget_amount/models/account_move.py b/hr_expense_payment_widget_amount/models/account_move.py
index bca197d81..e36845502 100644
--- a/hr_expense_payment_widget_amount/models/account_move.py
+++ b/hr_expense_payment_widget_amount/models/account_move.py
@@ -16,4 +16,7 @@ def js_remove_outstanding_partial(self, partial_id):
[("debit_move_id", "in", self.line_ids.ids)]
)
partial_id = len(partial) > 1 and partial.ids or partial_id
- return super().js_remove_outstanding_partial(partial_id)
+ res = super().js_remove_outstanding_partial(partial_id)
+ # Back state to posted (if paid)
+ self.payment_id.expense_sheet_ids.write({"state": "post"})
+ return res
diff --git a/hr_expense_payment_widget_amount/static/description/index.html b/hr_expense_payment_widget_amount/static/description/index.html
index 9f2309c27..a0815f822 100644
--- a/hr_expense_payment_widget_amount/static/description/index.html
+++ b/hr_expense_payment_widget_amount/static/description/index.html
@@ -1,4 +1,3 @@
-
@@ -367,7 +366,7 @@ HR Expense Payment Widget Amount
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! source digest: sha256:d854380b80956eab4d851d476e9acb0f6e9968ce5f56df81675211ef452b6610
+!! source digest: sha256:baabb0954af5f9349ba3b84334e5e814056adf580ce2d997370f9f04a5e7e464
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
This module adds a popover widget in the expense report view
diff --git a/hr_expense_sequence_option/README.rst b/hr_expense_sequence_option/README.rst
new file mode 100644
index 000000000..194af2e6d
--- /dev/null
+++ b/hr_expense_sequence_option/README.rst
@@ -0,0 +1,90 @@
+=======================
+Expense Sequence Option
+=======================
+
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:1048bafb6aa56f02caf22ca5c6a7080eef3185f5578ff861008eb2729226cb95
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Alpha
+.. |badge2| image:: https://img.shields.io/badge/licence-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/15.0/hr_expense_sequence_option
+ :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-15-0/hr-expense-15-0-hr_expense_sequence_option
+ :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=15.0
+ :alt: Try me on Runboat
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+This module extends module ir_sequence_option and allow you to
+provide optional sequences for hr.expense.sheet documents.
+
+.. IMPORTANT::
+ This is an alpha version, the data model and design can change at any time without warning.
+ Only for development or testing purpose, do not use in production.
+ `More details on development status `_
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub 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 `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Ecosoft
+
+Contributors
+~~~~~~~~~~~~
+
+* Pimolnat Suntian
+
+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.
+
+.. |maintainer-ps-tubtim| image:: https://github.com/ps-tubtim.png?size=40px
+ :target: https://github.com/ps-tubtim
+ :alt: ps-tubtim
+
+Current `maintainer `__:
+
+|maintainer-ps-tubtim|
+
+This module is part of the `OCA/hr-expense `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/hr_expense_sequence_option/__init__.py b/hr_expense_sequence_option/__init__.py
new file mode 100644
index 000000000..31660d6a9
--- /dev/null
+++ b/hr_expense_sequence_option/__init__.py
@@ -0,0 +1,3 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from . import models
diff --git a/hr_expense_sequence_option/__manifest__.py b/hr_expense_sequence_option/__manifest__.py
new file mode 100644
index 000000000..5b64a7285
--- /dev/null
+++ b/hr_expense_sequence_option/__manifest__.py
@@ -0,0 +1,17 @@
+# Copyright 2021 Ecosoft Co., Ltd. (https://ecosoft.co.th)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+{
+ "name": "Expense Sequence Option",
+ "summary": "Manage sequence options for hr.expense.sheet",
+ "version": "15.0.1.0.0",
+ "license": "AGPL-3",
+ "author": "Ecosoft, Odoo Community Association (OCA)",
+ "website": "https://github.com/OCA/hr-expense",
+ "category": "Human Resources",
+ "depends": ["base_sequence_option", "hr_expense_sequence"],
+ "demo": ["demo/hr_expense_demo_options.xml"],
+ "development_status": "Alpha",
+ "maintainers": ["ps-tubtim"],
+ "installable": True,
+}
diff --git a/hr_expense_sequence_option/demo/hr_expense_demo_options.xml b/hr_expense_sequence_option/demo/hr_expense_demo_options.xml
new file mode 100644
index 000000000..e6aefb398
--- /dev/null
+++ b/hr_expense_sequence_option/demo/hr_expense_demo_options.xml
@@ -0,0 +1,24 @@
+
+
+
+ Expense Sheet: Option 1
+
+ EX-1/
+
+
+
+ Expense Report
+ hr.expense.sheet
+
+
+
+
+
+ EX Option 1
+ []
+
+
+
diff --git a/hr_expense_sequence_option/i18n/hr_expense_sequence_option.pot b/hr_expense_sequence_option/i18n/hr_expense_sequence_option.pot
new file mode 100644
index 000000000..f060bc9f1
--- /dev/null
+++ b/hr_expense_sequence_option/i18n/hr_expense_sequence_option.pot
@@ -0,0 +1,34 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * hr_expense_sequence_option
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 15.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: \n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: hr_expense_sequence_option
+#: model:ir.model.fields,field_description:hr_expense_sequence_option.field_ir_sequence_option__model
+msgid "Apply On Model"
+msgstr ""
+
+#. module: hr_expense_sequence_option
+#: model:ir.model,name:hr_expense_sequence_option.model_hr_expense_sheet
+msgid "Expense Report"
+msgstr ""
+
+#. module: hr_expense_sequence_option
+#: model:ir.model,name:hr_expense_sequence_option.model_ir_sequence_option
+msgid "Sequence Option Base Model"
+msgstr ""
+
+#. module: hr_expense_sequence_option
+#: model:ir.model.fields.selection,name:hr_expense_sequence_option.selection__ir_sequence_option__model__hr_expense_sheet
+msgid "hr.expense.sheet"
+msgstr ""
diff --git a/hr_expense_sequence_option/models/__init__.py b/hr_expense_sequence_option/models/__init__.py
new file mode 100644
index 000000000..b9eb19e34
--- /dev/null
+++ b/hr_expense_sequence_option/models/__init__.py
@@ -0,0 +1,4 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from . import hr_expense_sheet
+from . import sequence_option
diff --git a/hr_expense_sequence_option/models/hr_expense_sheet.py b/hr_expense_sequence_option/models/hr_expense_sheet.py
new file mode 100644
index 000000000..68329c8e8
--- /dev/null
+++ b/hr_expense_sequence_option/models/hr_expense_sheet.py
@@ -0,0 +1,15 @@
+# Copyright 2021 Ecosoft Co., Ltd. (https://ecosoft.co.th)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import api, models
+
+
+class HrExpenseSheet(models.Model):
+ _inherit = "hr.expense.sheet"
+
+ @api.model
+ def create(self, vals):
+ seq = self.env["ir.sequence.option.line"].get_sequence(self.new(vals))
+ self = self.with_context(sequence_option_id=seq.id)
+ res = super().create(vals)
+ return res
diff --git a/hr_expense_sequence_option/models/sequence_option.py b/hr_expense_sequence_option/models/sequence_option.py
new file mode 100644
index 000000000..5599b40b9
--- /dev/null
+++ b/hr_expense_sequence_option/models/sequence_option.py
@@ -0,0 +1,13 @@
+# Copyright 2021 Ecosoft Co., Ltd. (https://ecosoft.co.th)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo import fields, models
+
+
+class IrSequenceOption(models.Model):
+ _inherit = "ir.sequence.option"
+
+ model = fields.Selection(
+ selection_add=[("hr.expense.sheet", "hr.expense.sheet")],
+ ondelete={"hr.expense.sheet": "cascade"},
+ )
diff --git a/hr_expense_sequence_option/readme/CONTRIBUTORS.rst b/hr_expense_sequence_option/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..0ef1f84c3
--- /dev/null
+++ b/hr_expense_sequence_option/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* Pimolnat Suntian
diff --git a/hr_expense_sequence_option/readme/DESCRIPTION.rst b/hr_expense_sequence_option/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..b4e1d7543
--- /dev/null
+++ b/hr_expense_sequence_option/readme/DESCRIPTION.rst
@@ -0,0 +1,2 @@
+This module extends module ir_sequence_option and allow you to
+provide optional sequences for hr.expense.sheet documents.
diff --git a/hr_expense_sequence_option/static/description/icon.png b/hr_expense_sequence_option/static/description/icon.png
new file mode 100644
index 000000000..3a0328b51
Binary files /dev/null and b/hr_expense_sequence_option/static/description/icon.png differ
diff --git a/hr_expense_sequence_option/static/description/index.html b/hr_expense_sequence_option/static/description/index.html
new file mode 100644
index 000000000..44718671c
--- /dev/null
+++ b/hr_expense_sequence_option/static/description/index.html
@@ -0,0 +1,429 @@
+
+
+
+
+
+Expense Sequence Option
+
+
+
+
+
Expense Sequence Option
+
+
+
+
This module extends module ir_sequence_option and allow you to
+provide optional sequences for hr.expense.sheet documents.
+
+
Important
+
This is an alpha version, the data model and design can change at any time without warning.
+Only for development or testing purpose, do not use in production.
+More details on development status
+
+
Table of contents
+
+
+
+
Bugs are tracked on GitHub 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.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
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.
+
Current maintainer:
+
+
This module is part of the OCA/hr-expense project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/hr_expense_sequence_option/tests/__init__.py b/hr_expense_sequence_option/tests/__init__.py
new file mode 100644
index 000000000..c20f97825
--- /dev/null
+++ b/hr_expense_sequence_option/tests/__init__.py
@@ -0,0 +1,3 @@
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from . import test_hr_expense_sequence_option
diff --git a/hr_expense_sequence_option/tests/test_hr_expense_sequence_option.py b/hr_expense_sequence_option/tests/test_hr_expense_sequence_option.py
new file mode 100644
index 000000000..56feb6004
--- /dev/null
+++ b/hr_expense_sequence_option/tests/test_hr_expense_sequence_option.py
@@ -0,0 +1,45 @@
+# Copyright 2021 Ecosoft Co., Ltd. (https://ecosoft.co.th)
+# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
+
+from odoo.tests.common import TransactionCase, tagged
+
+
+@tagged("post_install", "-at_install")
+class TestHrExpenseSequenceOption(TransactionCase):
+ def setUp(self):
+ super(TestHrExpenseSequenceOption, self).setUp()
+ self.HrExpenseSheet = self.env["hr.expense.sheet"]
+ self.HrExpense = self.env["hr.expense"]
+ self.user = self.env.ref("base.user_admin")
+ self.product_id_1 = self.env.ref("hr_expense.product_product_fixed_cost")
+ self.ex_vals = {
+ "name": "Test Expense",
+ "employee_id": self.user.employee_id.id,
+ "expense_line_ids": [
+ (
+ 0,
+ 0,
+ {
+ "name": self.product_id_1.name,
+ "employee_id": self.user.employee_id.id,
+ "product_id": self.product_id_1.id,
+ "quantity": 1.0,
+ "unit_amount": 500.0,
+ },
+ ),
+ ],
+ }
+ self.ex_seq_opt1 = self.env.ref(
+ "hr_expense_sequence_option.hr_expense_sequence_option"
+ )
+
+ def test_hr_expense_sequence_options(self):
+ """test with and without sequence option activated"""
+ # With sequence option
+ self.ex_seq_opt1.use_sequence_option = True
+ self.ex = self.HrExpenseSheet.create(self.ex_vals.copy())
+ self.assertIn("EX-1", self.ex.number)
+ # Without sequence option
+ self.ex_seq_opt1.use_sequence_option = False
+ self.ex = self.HrExpenseSheet.create(self.ex_vals.copy())
+ self.assertNotIn("EX-1", self.ex.number)
diff --git a/hr_expense_tax_adjust/README.rst b/hr_expense_tax_adjust/README.rst
index 8c1678876..adfc9384b 100644
--- a/hr_expense_tax_adjust/README.rst
+++ b/hr_expense_tax_adjust/README.rst
@@ -7,7 +7,7 @@ Expense Tax Adjustment
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- !! source digest: sha256:a785a390676dac18532d6f1ca10c9d570c7b48536f299fa053dc7358a1961c01
+ !! source digest: sha256:6bffc184dbbe35d938e59a14fd4b04d95c3890d5a60f5786a2086485d890ee75
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
diff --git a/hr_expense_tax_adjust/__manifest__.py b/hr_expense_tax_adjust/__manifest__.py
index 26762be96..2b01a00ce 100644
--- a/hr_expense_tax_adjust/__manifest__.py
+++ b/hr_expense_tax_adjust/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Expense Tax Adjustment",
- "version": "15.0.1.1.0",
+ "version": "15.0.1.1.1",
"author": "Ecosoft, Odoo Community Association (OCA)",
"summary": "Allow to edit tax amount on expenses",
"website": "https://github.com/OCA/hr-expense",
diff --git a/hr_expense_tax_adjust/models/hr_expense.py b/hr_expense_tax_adjust/models/hr_expense.py
index 5cec4c2c9..95792806e 100644
--- a/hr_expense_tax_adjust/models/hr_expense.py
+++ b/hr_expense_tax_adjust/models/hr_expense.py
@@ -2,6 +2,7 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import api, fields, models
+from odoo.tools import float_round
class HrExpense(models.Model):
@@ -65,15 +66,17 @@ def _get_account_move_line_values(self):
move_line_values_by_expense = super()._get_account_move_line_values()
for expense in self.filtered(lambda l: l.tax_adjust):
account_src = expense._get_expense_account_source()
- account_dst = expense._get_expense_account_destination()
account_date = (
expense.sheet_id.accounting_date
or expense.date
or fields.Date.context_today(expense)
)
- # Find price diff origin and adjust
+ # Find price diff origin and adjust with rounding
+ prec = expense.currency_id.rounding
price_tax = expense._get_expense_price_tax()
- diff_price_tax_currency = price_tax - expense.price_tax
+ diff_price_tax_currency = float_round(
+ price_tax - expense.price_tax, precision_rounding=prec
+ )
diff_price_tax = expense._get_expense_balance(
diff_price_tax_currency, account_date
)
@@ -117,7 +120,7 @@ def _get_account_move_line_values(self):
# Destination adjust move line, For case exclude price
elif (
not expense.tax_ids.filtered("price_include")
- and move_line_values.get("account_id") == account_dst
+ and move_line_values.get("account_id") != account_src.id
):
move_line_values.update(
{
diff --git a/hr_expense_tax_adjust/static/description/index.html b/hr_expense_tax_adjust/static/description/index.html
index a700a3933..f56304bef 100644
--- a/hr_expense_tax_adjust/static/description/index.html
+++ b/hr_expense_tax_adjust/static/description/index.html
@@ -1,4 +1,3 @@
-
@@ -367,7 +366,7 @@ Expense Tax Adjustment
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-!! source digest: sha256:a785a390676dac18532d6f1ca10c9d570c7b48536f299fa053dc7358a1961c01
+!! source digest: sha256:6bffc184dbbe35d938e59a14fd4b04d95c3890d5a60f5786a2086485d890ee75
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
This module allows users to edit taxes on the Expense to ensure accurate accounting entries in case of rounding differences.
diff --git a/setup/_metapackage/VERSION.txt b/setup/_metapackage/VERSION.txt
index 86173b89c..093698e1e 100644
--- a/setup/_metapackage/VERSION.txt
+++ b/setup/_metapackage/VERSION.txt
@@ -1 +1 @@
-15.0.20240228.0
\ No newline at end of file
+15.0.20240502.0
\ No newline at end of file
diff --git a/setup/_metapackage/setup.py b/setup/_metapackage/setup.py
index ff201e305..64177b1a4 100644
--- a/setup/_metapackage/setup.py
+++ b/setup/_metapackage/setup.py
@@ -24,6 +24,7 @@
'odoo-addon-hr_expense_petty_cash>=15.0dev,<15.1dev',
'odoo-addon-hr_expense_portal>=15.0dev,<15.1dev',
'odoo-addon-hr_expense_sequence>=15.0dev,<15.1dev',
+ 'odoo-addon-hr_expense_sequence_option>=15.0dev,<15.1dev',
'odoo-addon-hr_expense_tax_adjust>=15.0dev,<15.1dev',
'odoo-addon-hr_expense_tier_validation>=15.0dev,<15.1dev',
'odoo-addon-hr_expense_widget_o2m>=15.0dev,<15.1dev',
diff --git a/setup/hr_expense_sequence_option/odoo/addons/hr_expense_sequence_option b/setup/hr_expense_sequence_option/odoo/addons/hr_expense_sequence_option
new file mode 120000
index 000000000..764c27068
--- /dev/null
+++ b/setup/hr_expense_sequence_option/odoo/addons/hr_expense_sequence_option
@@ -0,0 +1 @@
+../../../../hr_expense_sequence_option
\ No newline at end of file
diff --git a/setup/hr_expense_sequence_option/setup.py b/setup/hr_expense_sequence_option/setup.py
new file mode 100644
index 000000000..28c57bb64
--- /dev/null
+++ b/setup/hr_expense_sequence_option/setup.py
@@ -0,0 +1,6 @@
+import setuptools
+
+setuptools.setup(
+ setup_requires=['setuptools-odoo'],
+ odoo_addon=True,
+)