Commit Graph

59155 Commits

Author SHA1 Message Date
khushi8112
a404d9b4e8 fix: refresh posting date confirmation setting
(cherry picked from commit bcade8f0ba)
2026-09-09 07:21:05 +00:00
khushi8112
1349e0b3ab fix: read posting date confirmation setting from boot data
(cherry picked from commit db9e93306a)
2026-09-09 07:21:04 +00:00
Khushi Rawat
a4a2e5e36c Merge pull request #58908 from frappe/mergify/bp/version-16-hotfix/pr-58227
fix: keep a dunning claimable until its interest is paid too  (backport #58227)
2026-09-09 12:42:41 +05:30
pandiyan
7723f5aaed fix: keep a dunning claimable until its interest is paid too
a dunning was resolved as soon as the invoiced sum was settled, because the
status was derived from the invoice outstanding alone. paying an invoice
without the interest and fee therefore closed the dunning and lost the
interest: a fresh dunning finds nothing overdue to charge it on.

the dunning amount is never a receivable, it only reaches the ledger as a
negative deduction on a payment entry made from the dunning. link that row
to the dunning so what has been collected is known, and resolve a dunning
only once the invoiced sum and the dunning amount are both paid. a dunning
resolved by hand keeps its status, so waiving the interest stays possible.

the deduction is a company currency field, so book and measure the dunning
amount through base_dunning_amount instead of the transaction currency one.

an interest-only payment leaves every invoice outstanding untouched, so
update the linked dunnings from the payment entry itself instead of relying
on the outstanding amount to change. such a payment also has to be built
from what is left to collect, not from the totals the dunning was raised
with, which are stale by then.

(cherry picked from commit d5a9d158f9)
2026-09-09 12:20:58 +05:30
pandiyan
d2920915d2 test: dunning must stay unpaid when only the invoiced sum is paid
paying a dunned invoice without its interest and fee marks the dunning
resolved, and the interest can no longer be collected.

(cherry picked from commit fa89552d10)
2026-09-09 12:20:58 +05:30
Krishna Pramod Shirsath
70f391d5e7 fix(stock): use correct field when reading previous stock closing balance (backport #55898) (#58854)
Co-authored-by: Nabin Hait <nabinhait@gmail.com>
Fixes #54819
2026-09-09 09:52:00 +05:30
Sudharsanan Ashok
596e086e1c Merge pull request #58887 from aerele/fix/additional-cost-zero-valued-items-v16
fix(stock): distribute additional costs when incoming items have no value (backport #58842)
2026-09-08 19:55:54 +05:30
Sudharsanan11
b6035810f0 fix(stock): distribute additional costs when incoming items have no value 2026-09-08 19:13:04 +05:30
Sudharsanan Ashok
2e6a9aad60 Merge pull request #58883 from frappe/mergify/bp/version-16-hotfix/pr-58700
fix(stock): show actual outgoing rate in ledger preview (backport #58700)
2026-09-08 19:08:04 +05:30
Afsal Syed
5edb7e2abc test(stock): add ledger preview unit tests (#58700) 2026-09-08 18:56:21 +05:30
Afsal Syed
2932793af0 fix(stock): show actual outgoing rate in ledger preview (#58700) 2026-09-08 18:56:21 +05:30
mergify[bot]
59b80b903a fix(gross-profit): include item_name in export (backport #58631) (#58864)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
2026-09-08 18:20:34 +05:30
mergify[bot]
06057ccfc0 fix(pos): use company-currency change amount when netting pos gl entries (backport #58599) (#58678)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
2026-09-08 12:47:05 +00:00
mergify[bot]
9fff01db32 fix(accounts): round journal entry totals to field precision (backport #58629) (#58875)
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com>
2026-09-08 12:43:14 +00:00
Sudharsanan Ashok
db8974fb95 Merge pull request #58873 from frappe/mergify/bp/version-16-hotfix/pr-58869
fix(stock): recalculate delivery note billing after return (backport #58869)
2026-09-08 18:08:17 +05:30
Sudharsanan Ashok
bf8a703709 Merge pull request #58862 from frappe/mergify/bp/version-16-hotfix/pr-58858
fix: persist rendered terms on transaction save (backport #58858)
2026-09-08 18:04:30 +05:30
Sudharsanan Ashok
a8c6cf4ad3 Merge pull request #58763 from frappe/mergify/bp/version-16-hotfix/pr-57330
fix: add reconciliation after submit logic for bank transactions (backport #57330)
2026-09-08 18:03:02 +05:30
Sudharsanan Ashok
6d3cf262ed Merge pull request #58760 from frappe/mergify/bp/version-16-hotfix/pr-58705
fix: prevent duplicate Batch messages and Project links (backport #58705)
2026-09-08 18:01:38 +05:30
Sudharsanan Ashok
dd60f2867e Merge pull request #58548 from aerele/lcv-taxes-accounting-dimensions-v16
fix(stock): carry accounting dimensions from Landed Cost Voucher char…
2026-09-08 17:59:20 +05:30
mergify[bot]
6ec30350d2 fix(accounts): reject same-account internal transfers (backport #58529) (#58877)
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com>
2026-09-08 17:43:05 +05:30
mergify[bot]
75cb796477 fix: fetch accounts by company (backport #58523) (#58879)
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com>
2026-09-08 17:41:09 +05:30
mergify[bot]
51bf7cb241 fix: show cost center for unmatched payments in receivables (backport #58453) (#58881)
fix: show cost center for unmatched payments in receivables (#58453)

(cherry picked from commit cee9f4949a)

Co-authored-by: Krishna Pramod Shirsath <91021227+krishna-254@users.noreply.github.com>
2026-09-08 17:33:13 +05:30
Pandiyan P
7bb19c89b1 fix(stock): recalculate delivery note billing after return (#58869)
(cherry picked from commit f864333afa)

# Conflicts:
#	erpnext/stock/doctype/delivery_note/services/billing_status.py
2026-09-08 16:46:23 +05:30
Lakshit Jain
fdac2843fa Merge pull request #58865 from frappe/mergify/bp/version-16-hotfix/pr-58682
fix(subcontracting): add condition to exclude tax withholding accounts in purchase receipt mapping (backport #58682)
2026-09-08 16:36:45 +05:30
mergify[bot]
b1bf95d5b3 fix: use account currency in Bank Reconciliation Statement print (backport #58692) (#58871)
Co-authored-by: Krishna Pramod Shirsath <91021227+krishna-254@users.noreply.github.com>
2026-09-08 10:48:15 +00:00
Sudharsanan Ashok
605ec444ed Merge pull request #58860 from frappe/mergify/bp/version-16-hotfix/pr-58841
fix: skip zero quantity items in production plan material requests (backport #58841)
2026-09-08 15:40:47 +05:30
Sudharsanan11
d4b52c236a fix: resolve conflicts 2026-09-08 15:21:30 +05:30
ljain112
1998027177 chore: resolve conflicts 2026-09-08 14:57:13 +05:30
ljain112
15a531f03f fix(subcontracting): add condition to exclude tax withholding accounts in purchase receipt mapping
(cherry picked from commit 13031d6d5d)

# Conflicts:
#	erpnext/subcontracting/doctype/subcontracting_receipt/mapper.py
2026-09-08 09:24:14 +00:00
Pandiyan P
89872ebb37 fix: persist rendered terms on transaction save (#58858)
(cherry picked from commit cadc0ca86d)
2026-09-08 07:58:59 +00:00
mergify[bot]
6e39b42137 fix(accounts): enforce account field allow-list on financial report filters (backport #58790) (#58849)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-09-08 11:58:51 +05:30
Mihir Kandoi
cfdf97601a fix(manufacturing): account for process loss in Production Plan Work Orders (backport #58799) (#58838) 2026-09-08 04:20:47 +00:00
Mihir Kandoi
f6dbb3131d fix(manufacturing): apply MOQ once across Production Plan rows (v16) (#58831) 2026-09-08 04:11:27 +00:00
Mihir Kandoi
4719ad9b91 fix(manufacturing): apply safety stock once across Production Plan rows (v16) (#58832) 2026-09-08 04:11:24 +00:00
Mihir Kandoi
e59fb396e5 fix(manufacturing): share transfer stock across Production Plan rows (v16) (#58834) 2026-09-08 09:29:46 +05:30
Mihir Kandoi
a7c5ab89e8 fix(manufacturing): sum consolidated sub-assembly required quantity (v16) (#58833) 2026-09-08 09:29:34 +05:30
mergify[bot]
3cc73e4282 fix(banking): Federal bank dark logo (backport #58844) (#58845)
fix(banking): Federal bank dark logo (#58844)

(cherry picked from commit f2d72f973d)

Co-authored-by: Nikhil Kothari <nik.kothari22@live.com>
2026-09-08 04:06:19 +05:30
mergify[bot]
189bd1f39d fix(bank reconciliation): match Payment Entries on the bank-side amount (backport #57740) (#58765)
* fix(bank reconciliation): match Payment Entries on the bank-side amount (#57740)

* fix(bank reconciliation): match Payment Entries on the bank-side amount

get_pe_matching_query() ranked and filtered on pe.paid_amount while the
match card displayed pe.base_paid_amount_after_tax, so the amount used for
the exact match never matched the amount shown.

Both now use the amount that actually hits the bank account, in that
account's currency: received_amount_after_tax when the bank account is
paid_to (deposit) and paid_amount_after_tax when it is paid_from
(withdrawal). This is the same convention as the Bank Reconciliation
Statement report and matches the bank GL entry that reconciliation
allocates against.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* test(bank reconciliation): cover bank-side amount matching

Two cases the previous behaviour got wrong or could regress on:

- A deposit from an internal transfer where the paid and received sides
  differ by a charge. The match must show, and compare against, the
  amount that reached this bank account.
- A withdrawal, which still matches on the paid side.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
(cherry picked from commit 154c6fb943)

# Conflicts:
#	erpnext/accounts/doctype/bank_reconciliation_tool/test_bank_reconciliation_tool.py

* fix: conflicts

* fix: add missing import

* chore: linting

---------

Co-authored-by: Hussain Nagaria <34810212+NagariaHussain@users.noreply.github.com>
Co-authored-by: Nikhil Kothari <nik.kothari22@live.com>
2026-09-07 15:22:14 +00:00
mergify[bot]
0610708d78 fix(banking): UI cleanup and better statement parsing (backport #58817) (#58824)
fix(banking): UI cleanup and better statement parsing (#58817)

* fix(banking): reset scroll on searching accounts

* fix(banking): show only past dates in date filter

* fix(banking): clean up line heights and remove beta badge

* fix(banking): show accurate count of import progress
fix(banking): show latest 20 imports instead of 10

* fix(banking): layout sizing needs to be preserved on page change

* fix(banking): cleaner bank balance UI

* fix(banking): correctly parse Cr/Dr values in statement importer

* Update banking/src/components/features/BankReconciliation/BankBalance.tsx



---------


(cherry picked from commit ebe5decb96)

Co-authored-by: Nikhil Kothari <nik.kothari22@live.com>
Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com>
2026-09-07 20:31:45 +05:30
Mihir Kandoi
817926ca2e fix(selling): fetch orders within billing allowance (backport #58751) (#58820) 2026-09-07 19:27:15 +05:30
mergify[bot]
fb132225d7 fix: user not able to set valuation rate zero in stock reco (backport #58800) (#58823)
fix: user not able to set valuation rate zero in stock reco (#58800)

* fix: user not able to set valuation rate zero in stock reco

* fix: wrong difference amount when valuation rate is zero

* fix: blank valuation rate should not be treated as a change

(cherry picked from commit e85e300f8f)

Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2026-09-07 13:14:16 +00:00
Mihir Kandoi
28f0ac5287 fix: order smallest purchase UOM qty that meets min order qty (backport #57883) (#58813)
* fix: round purchase quantities up to minimum order qty

Backport #57883 to version-16-hotfix. Adapt the purchase quantity conversion to the monolithic Production Plan controller and retain the Purchase Order rounding notice.

Add coverage for the complete Production Plan to Material Request to supplier-selected Purchase Order flow.

* fix(buying): skip rounding notice for mixed UOM increments

Require one shared rounding increment across the Purchase Order rows for each item before attributing the total excess to UOM rounding.

Cover mixed UOMs in both row orders, three mixed rows, and matching UOM rows that still require the notice.
2026-09-07 12:45:39 +00:00
MochaMind
6971c80743 fix: sync translations from crowdin (version-16-hotfix) (#58580)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-09-07 13:09:39 +02:00
Jatin3128
8b51005525 fix(journal-entry): avoid full grid re-render per row in set_exchange_rate (backport #58328) (#58803)
refresh() loops over every row in the accounts child table and calls
set_exchange_rate() for each one. On v16 that function ended with
refresh_field("exchange_rate", cdn, "accounts"), which only takes the
cheap per-field path when the row is currently rendered. For every row
outside the visible page grid_rows_by_docname has no entry, so the
helper falls back to a full grid.refresh(): header, pagination and the
whole current page get rebuilt once per off-screen row.

Use grid.refresh_row(cdn) instead, which re-renders only the row that
actually changed and is a no-op for rows outside the current page. This
also matches what develop does after #58328.

Measured on a 1000-row Journal Entry (v16.local, Chromium): 950 of the
1000 rows triggered a full grid rebuild before, none after. Time to
first rendered row ~5.3s to ~1.7s, time to network-idle ~5.9s to ~2.3s,
and the set_exchange_rate loop itself ~4.7s to ~1.3s.

As a side effect the visible row now stays in sync: previously only the
exchange_rate cell was repainted, so the debit/credit columns that
set_debit_credit_in_company_currency had just recomputed kept showing
stale amounts.

Co-authored-by: jatin3128 <jatinsarna64@gmail.com>
2026-09-07 15:27:02 +05:30
MochaMind
189bfd5a22 chore: update POT file (#58785) 2026-09-06 15:56:20 +02:00
Shllokkk
853ac859ca Merge pull request #58778 from frappe/mergify/bp/version-16-hotfix/pr-58769
fix: restore hover tooltip on Profit and Loss dashboard chart (backport #58769)
2026-09-05 19:39:03 +05:30
Shllokkk
bb26f8f7b9 fix: restore hover tooltip on Profit and Loss dashboard chart
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
(cherry picked from commit 9e9c4b8102)
2026-09-05 09:05:14 +00:00
rohitwaghchaure
074f9f0828 fix: check write permission in whitelisted document methods (backport #58689) (#58701)
* fix: check write permission in whitelisted document methods

* test: permission coverage for production plan status roll-ups

* fix: add type hints to whitelisted arguments and submit MR in test
2026-09-05 13:54:20 +05:30
mergify[bot]
31319bd36e fix: resolve code lists by URI and version (backport #58770) (#58772)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2026-09-04 20:39:23 +02:00
mergify[bot]
8229aeaead fix(banking): find transfers on the same day (backport #58766) (#58767)
fix(banking): find transfers on the same day (#58766)

(cherry picked from commit 04b84ef069)

Co-authored-by: Nikhil Kothari <nik.kothari22@live.com>
2026-09-04 20:07:51 +05:30