Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
47ee858
fix(expense_claim): prevent partial advance claims from being marked …
iamkhanraheel May 20, 2026
39ce693
test: update partial employee advance expense claim validation
iamkhanraheel May 21, 2026
33400de
fix: missing_translation_function
mahsem May 25, 2026
c0683df
Merge branch 'frappe:develop' into develop
mahsem May 25, 2026
65068bd
fix: French translations
frappe-pr-bot May 25, 2026
4782bbb
fix: Arabic translations
frappe-pr-bot May 25, 2026
0745da9
fix: Italian translations
frappe-pr-bot May 25, 2026
62a332e
fix: Swedish translations
frappe-pr-bot May 25, 2026
8b2a109
fix: Chinese Simplified translations
frappe-pr-bot May 25, 2026
0326345
fix: Persian translations
frappe-pr-bot May 25, 2026
061621f
fix: Thai translations
frappe-pr-bot May 25, 2026
4b0fecb
fix: Croatian translations
frappe-pr-bot May 25, 2026
db55fa3
fix: Bosnian translations
frappe-pr-bot May 25, 2026
603142d
fix: Esperanto translations
frappe-pr-bot May 25, 2026
9620927
fix: Spanish translations
frappe-pr-bot May 25, 2026
eed2076
fix: Czech translations
frappe-pr-bot May 25, 2026
a271ebd
fix: Danish translations
frappe-pr-bot May 25, 2026
dbdc372
fix: German translations
frappe-pr-bot May 25, 2026
c9e08fb
fix: Hungarian translations
frappe-pr-bot May 25, 2026
c22e252
fix: Dutch translations
frappe-pr-bot May 25, 2026
fc694a1
fix: Polish translations
frappe-pr-bot May 25, 2026
95b9b45
fix: Portuguese translations
frappe-pr-bot May 25, 2026
1a0f72d
fix: Russian translations
frappe-pr-bot May 25, 2026
6f0b0ca
fix: Slovenian translations
frappe-pr-bot May 25, 2026
030588a
fix: Serbian (Cyrillic) translations
frappe-pr-bot May 25, 2026
b33ae9c
fix: Turkish translations
frappe-pr-bot May 25, 2026
42a791a
fix: Vietnamese translations
frappe-pr-bot May 25, 2026
25108f7
fix: Portuguese, Brazilian translations
frappe-pr-bot May 25, 2026
e5bc46a
fix: Indonesian translations
frappe-pr-bot May 25, 2026
f59f33b
fix: Burmese translations
frappe-pr-bot May 25, 2026
8b41039
fix: Norwegian Bokmal translations
frappe-pr-bot May 25, 2026
eaa21fe
fix: Serbian (Latin) translations
frappe-pr-bot May 25, 2026
0e0d673
Merge pull request #4563 from iamkhanraheel/fix/expense_claim_outstan…
iamkhanraheel May 26, 2026
da7feb9
Merge branch 'frappe:develop' into develop
mahsem May 26, 2026
a796110
Merge pull request #4586 from mahsem/develop
asmitahase May 26, 2026
5e2676f
Merge pull request #4588 from frappe/l10n_develop
asmitahase May 26, 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
3 changes: 3 additions & 0 deletions hrms/hr/doctype/expense_claim/expense_claim.py
Original file line number Diff line number Diff line change
Expand Up @@ -116,6 +116,9 @@ def validate(self):
if self.task and not self.project:
self.project = frappe.db.get_value("Task", self.task, "project")

if flt(self.grand_total) > 0 and self.total_advance_amount:
self.is_paid = 0

def set_status(self, update=False):
status = {"0": "Draft", "1": "Submitted", "2": "Cancelled"}[cstr(self.docstatus or 0)]

Expand Down
39 changes: 30 additions & 9 deletions hrms/hr/doctype/expense_claim/test_expense_claim.py
Original file line number Diff line number Diff line change
Expand Up @@ -255,26 +255,47 @@ def test_advance_amount_allocation_against_claim_with_taxes(self):

def test_expense_claim_partially_paid_via_advance(self):
from hrms.hr.doctype.employee_advance.test_employee_advance import (
get_advances_for_claim,
make_employee_advance,
make_payment_entry,
)
from hrms.hr.doctype.expense_claim.expense_claim import get_expense_claim

frappe.db.delete("Employee Advance")

payable_account = get_payable_account("_Test Company")
claim = make_expense_claim(
payable_account, 1000, 1000, "_Test Company", "Travel Expenses - _TC", do_not_submit=True
)

# link advance for partial amount
advance = make_employee_advance(claim.employee, {"advance_amount": 500})
employee = make_employee("test_partial_advance_claim@expenseclaim.com", "_Test Company")
advance = make_employee_advance(employee, {"advance_amount": 500})
make_payment_entry(advance)

claim = get_advances_for_claim(claim, advance.name)
currency, cost_center = frappe.db.get_value(
"Company", "_Test Company", ["default_currency", "cost_center"]
)
claim = get_expense_claim(advance.name) # function call to create claim from employee advance form
claim.update(
{
"payable_account": get_payable_account("_Test Company"),
"currency": currency,
"exchange_rate": 1,
"approval_status": "Approved",
}
)
claim.append(
"expenses",
{
"expense_type": "Travel",
"default_account": "Travel Expenses - _TC",
"amount": 1000,
"sanctioned_amount": 1000,
"cost_center": cost_center,
},
)

# assert is_paid to be checked true as claim is done via advance actions button
self.assertTrue(claim.is_paid)
claim.save()
claim.submit()

# assert is_paid to be checked false as claim amount is greater than advance
self.assertFalse(claim.is_paid)
self.assertEqual(claim.grand_total, 500)
self.assertEqual(claim.status, "Unpaid")

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ def validate_standard_working_hours(self):
if not self.standard_working_hours:
msg = _("The metrics for this report are calculated based on {0}. Please set {0} in {1}.").format(
frappe.bold(_("Standard Working Hours")),
frappe.utils.get_link_to_form("HR Settings", "HR Settings"),
frappe.utils.get_link_to_form("HR Settings", "HR Settings", _("HR Settings")),
)

frappe.throw(msg)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ def get_standard_working_hours() -> float | None:
frappe.throw(
_("The metrics for this report are calculated based on the {0}. Please set {0} in {1}.").format(
frappe.bold(_("Standard Working Hours")),
frappe.utils.get_link_to_form("HR Settings", "HR Settings"),
frappe.utils.get_link_to_form("HR Settings", "HR Settings", _("HR Settings")),
)
)

Expand Down
Loading
Loading