Frappe PR Bot
26f0687834
chore(release): Bumped to Version 15.121.3
...
## [15.121.3](https://github.com/frappe/erpnext/compare/v15.121.2...v15.121.3 ) (2026-09-15)
### Bug Fixes
* % Amount Billed exceeds 100% on fully rejected Purchase Receipts ([#58897 ](https://github.com/frappe/erpnext/issues/58897 )) ([c31ae57 ](c31ae577e4 ))
* **accounts:** add permission checks on `execute_repost_payment_ledger` (backport [#58980 ](https://github.com/frappe/erpnext/issues/58980 )) ([#58981 ](https://github.com/frappe/erpnext/issues/58981 )) ([85a1529 ](85a152946e ))
* **accounts:** add permission checks on `invoice_discounting.get_invoices` (backport [#58975 ](https://github.com/frappe/erpnext/issues/58975 )) ([#58989 ](https://github.com/frappe/erpnext/issues/58989 )) ([62b9f31 ](62b9f31297 ))
* **accounts:** reject disabled price lists in buying and selling ([#58891 ](https://github.com/frappe/erpnext/issues/58891 )) ([47662b9 ](47662b9af2 ))
* **accounts:** stop counting received qty on non-stock invoice returns (backport [#58924 ](https://github.com/frappe/erpnext/issues/58924 )) ([#58928 ](https://github.com/frappe/erpnext/issues/58928 )) ([228108a ](228108ad4c ))
* Backfill `not_applicable` on Item Tax Template Details for German companies (backport [#54682 ](https://github.com/frappe/erpnext/issues/54682 )) (backport [#54686 ](https://github.com/frappe/erpnext/issues/54686 )) ([#58952 ](https://github.com/frappe/erpnext/issues/58952 )) ([f943368 ](f9433683ec ))
* keep a dunning claimable until its interest is paid too ([11c6f0d ](11c6f0d02c ))
* **manufacturing:** handle empty raw materials in workstation ([#58927 ](https://github.com/frappe/erpnext/issues/58927 )) ([c72bc69 ](c72bc6925b ))
* prevent disabled items from being used in bom ([#58997 ](https://github.com/frappe/erpnext/issues/58997 )) ([7429a26 ](7429a260f6 ))
* reset price list fallback when changing parties ([#58893 ](https://github.com/frappe/erpnext/issues/58893 )) ([f981791 ](f981791012 ))
* resolve conflicts ([e84a946 ](e84a94642d ))
* resolve conflicts ([00729a8 ](00729a8d62 ))
* **selling:** add email permission check on `send_emails` (backport [#58935 ](https://github.com/frappe/erpnext/issues/58935 )) ([#58937 ](https://github.com/frappe/erpnext/issues/58937 )) ([e37ba3f ](e37ba3f8cf ))
* **selling:** exclude fully billed orders from the invoice picker (backport [#58966 ](https://github.com/frappe/erpnext/issues/58966 )) ([#58968 ](https://github.com/frappe/erpnext/issues/58968 )) ([52ea7ed ](52ea7ed606 ))
* **stock:** distribute additional costs when incoming items have no value ([10987b1 ](10987b11cc ))
* **stock:** do not rebuild the Warehouse tree on an account map miss (backport [#58956 ](https://github.com/frappe/erpnext/issues/58956 )) ([#58972 ](https://github.com/frappe/erpnext/issues/58972 )) ([f59a6ec ](f59a6ec882 ))
* **stock:** guard inventory dimension lookup without reference document ([#58889 ](https://github.com/frappe/erpnext/issues/58889 )) ([7ee54ba ](7ee54ba08b ))
* **stock:** preserve rates for unsaved mapped rows (backport [#58852 ](https://github.com/frappe/erpnext/issues/58852 )) ([#58898 ](https://github.com/frappe/erpnext/issues/58898 )) ([32d8c35 ](32d8c359ed ))
* **stock:** recalculate billing status of returned delivery notes (backport [#58953 ](https://github.com/frappe/erpnext/issues/58953 )) ([#58986 ](https://github.com/frappe/erpnext/issues/58986 )) ([563615c ](563615c77e ))
* **stock:** remove empty delivery stops after mapping ([#58896 ](https://github.com/frappe/erpnext/issues/58896 )) ([0099e7e ](0099e7ec4f ))
* **stock:** set item_name to fetch if empty in packing slip item ([#58925 ](https://github.com/frappe/erpnext/issues/58925 )) ([99afc2e ](99afc2e6eb ))
* **stock:** set item_name to fetch if empty in packing slip item ([#58925 ](https://github.com/frappe/erpnext/issues/58925 )) ([9ba2159 ](9ba2159720 ))
* **stock:** show actual outgoing rate in ledger preview ([#58700 ](https://github.com/frappe/erpnext/issues/58700 )) ([372244e ](372244e6b2 ))
* **subcontracting:** validate project across the subcontracting flow ([#58965 ](https://github.com/frappe/erpnext/issues/58965 )) ([1150d8e ](1150d8e9b0 ))
* user not able to set valuation rate zero in stock reco (backport [#58800 ](https://github.com/frappe/erpnext/issues/58800 )) ([#58821 ](https://github.com/frappe/erpnext/issues/58821 )) ([3bd194e ](3bd194e986 ))
* validate shelf life for automatically created expiring batches ([#58911 ](https://github.com/frappe/erpnext/issues/58911 )) ([00e02f0 ](00e02f07ac ))
v15.121.3
2026-09-15 18:35:09 +00:00
Diptanil Saha
f2cfe30596
Merge pull request #59072 from frappe/version-15-hotfix
...
chore: release v15
2026-09-16 00:03:25 +05:30
Sudharsanan Ashok
641f8e56a2
Merge pull request #59012 from frappe/mergify/bp/version-15-hotfix/pr-58997
...
fix: prevent disabled items from being used in BOM (backport #58997 )
2026-09-15 22:07:10 +05:30
Sudharsanan Ashok
f6bac4c6ee
Merge pull request #59077 from frappe/mergify/bp/version-15-hotfix/pr-58925
...
fix(stock): set item_name to fetch if empty in packing slip item (backport #58925 )
2026-09-15 18:55:46 +05:30
mergify[bot]
112350dd65
fix(regional)!: remove irs_1099_print whitelisted method (backport #58976 ) ( #58991 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-15 18:40:22 +05:30
Afsal Syed
99afc2e6eb
fix(stock): set item_name to fetch if empty in packing slip item ( #58925 )
...
(cherry picked from commit f130c64530 )
# Conflicts:
# erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
2026-09-15 18:35:56 +05:30
Sudharsanan Ashok
1c576a6f1c
Merge pull request #59075 from frappe/revert-58942-mergify/bp/version-15-hotfix/pr-58925
...
Revert "fix(stock): set item_name to fetch if empty in packing slip item (backport #58925 )"
2026-09-15 18:05:44 +05:30
Sudharsanan Ashok
618864a051
Revert "fix(stock): set item_name to fetch if empty in packing slip item (backport #58925 )"
2026-09-15 17:47:47 +05:30
Sudharsanan Ashok
d9ea9a5430
Merge pull request #58942 from frappe/mergify/bp/version-15-hotfix/pr-58925
...
fix(stock): set item_name to fetch if empty in packing slip item (backport #58925 )
2026-09-15 17:42:52 +05:30
Afsal Syed
9ba2159720
fix(stock): set item_name to fetch if empty in packing slip item ( #58925 )
...
(cherry picked from commit f130c64530 )
# Conflicts:
# erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
2026-09-15 16:38:36 +05:30
Sudharsanan Ashok
602803cce0
Merge pull request #59040 from frappe/mergify/bp/version-15-hotfix/pr-58965
...
fix(subcontracting): validate project across the subcontracting flow (backport #58965 )
2026-09-13 17:53:20 +05:30
Sudharsanan11
e84a94642d
fix: resolve conflicts
2026-09-13 12:12:16 +05:30
Sudharsanan Ashok
1150d8e9b0
fix(subcontracting): validate project across the subcontracting flow ( #58965 )
...
(cherry picked from commit fe25746feb )
# Conflicts:
# erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.py
# erpnext/subcontracting/doctype/subcontracting_order/test_subcontracting_order.py
# erpnext/subcontracting/doctype/subcontracting_receipt/mapper.py
2026-09-13 06:29:16 +00:00
pandiyan
7429a260f6
fix: prevent disabled items from being used in bom ( #58997 )
...
Co-authored-by: Ajish18 <ajishiyappan1@gmail.com >
(cherry picked from commit e6f431a8d6 )
2026-09-12 21:58:25 +05:30
mergify[bot]
f9433683ec
fix: Backfill not_applicable on Item Tax Template Details for German companies (backport #54682 ) (backport #54686 ) ( #58952 )
...
* fix: Backfill `not_applicable` on Item Tax Template Details for German companies (backport #54682 ) (#54686 )
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
fix: Backfill `not_applicable` on Item Tax Template Details for German companies (#54682 )
(cherry picked from commit a22d773341 )
# Conflicts:
# erpnext/patches.txt
* chore: resolve conflict
* fix: compare zero-rate row count, not just the identifier set
* chore: correct comment on account name uniqueness
* test: cover German `not_applicable` backfill patch
Run the patch against a company seeded from the shipped German defaults:
matching defaults are backfilled, customised templates and templates with a
duplicate account name are left alone, and a rerun changes nothing.
---------
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: barredterra <14891507+barredterra@users.noreply.github.com >
2026-09-11 13:21:39 +02:00
mergify[bot]
62b9f31297
fix(accounts): add permission checks on invoice_discounting.get_invoices (backport #58975 ) ( #58989 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-11 04:42:54 +00:00
mergify[bot]
85a152946e
fix(accounts): add permission checks on execute_repost_payment_ledger (backport #58980 ) ( #58981 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-11 09:38:50 +05:30
mergify[bot]
563615c77e
fix(stock): recalculate billing status of returned delivery notes (backport #58953 ) ( #58986 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-09-11 00:56:26 +02:00
Mihir Kandoi
52ea7ed606
fix(selling): exclude fully billed orders from the invoice picker (backport #58966 ) ( #58968 )
2026-09-10 20:51:03 +05:30
mergify[bot]
f59a6ec882
fix(stock): do not rebuild the Warehouse tree on an account map miss (backport #58956 ) ( #58972 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-10 13:09:00 +00:00
Sudharsanan Ashok
bb0140ff3f
Merge pull request #58946 from frappe/mergify/bp/version-15-hotfix/pr-58927
...
fix(manufacturing): handle empty raw materials in workstation (backport #58927 )
2026-09-10 18:08:52 +05:30
pandiyan
c72bc6925b
fix(manufacturing): handle empty raw materials in workstation ( #58927 )
...
(cherry picked from commit 3be0c7801a )
2026-09-10 11:44:42 +05:30
mergify[bot]
e37ba3f8cf
fix(selling): add email permission check on send_emails (backport #58935 ) ( #58937 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-09 10:58:21 +00:00
Shllokkk
46c792f976
Merge pull request #58934 from frappe/mergify/bp/version-15-hotfix/pr-58897
...
fix: % Amount Billed exceeds 100% on fully rejected Purchase Receipts (backport #58897 )
2026-09-09 15:33:07 +05:30
Shllokkk
c31ae577e4
fix: % Amount Billed exceeds 100% on fully rejected Purchase Receipts ( #58897 )
...
* fix: include rejected qty in Purchase Receipt billing base
* test: per billed stays 100% for fully rejected receipt
(cherry picked from commit 79c8e4db7f )
2026-09-09 09:34:29 +00:00
Frappe PR Bot
df8b7f9648
chore(release): Bumped to Version 15.121.2
...
## [15.121.2](https://github.com/frappe/erpnext/compare/v15.121.1...v15.121.2 ) (2026-09-09)
### Bug Fixes
* **stock:** preserve rates for unsaved mapped rows (backport [#58852 ](https://github.com/frappe/erpnext/issues/58852 )) (backport [#58898 ](https://github.com/frappe/erpnext/issues/58898 )) ([#58916 ](https://github.com/frappe/erpnext/issues/58916 )) ([0deed27 ](0deed27cfe ))
v15.121.2
2026-09-09 09:24:59 +00:00
mergify[bot]
0deed27cfe
fix(stock): preserve rates for unsaved mapped rows (backport #58852 ) (backport #58898 ) ( #58916 )
...
fix(stock): preserve rates for unsaved mapped rows (backport #58852 ) (#58898 )
* fix: keep each row's own rate under maintain same rate
* test: cover maintain-same-rate rate lock for batch items
(cherry picked from commit 32d8c359ed )
Co-authored-by: Shllokkk <140623894+Shllokkk@users.noreply.github.com >
2026-09-09 14:53:20 +05:30
mergify[bot]
228108ad4c
fix(accounts): stop counting received qty on non-stock invoice returns (backport #58924 ) ( #58928 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-09 09:20:26 +00:00
Sudharsanan Ashok
75a5d2b766
Merge pull request #58920 from frappe/mergify/bp/version-15-hotfix/pr-58896
...
fix(stock): remove empty delivery stops after mapping (backport #58896 )
2026-09-09 13:33:13 +05:30
Sudharsanan Ashok
27f93a83ef
Merge pull request #58914 from frappe/mergify/bp/version-15-hotfix/pr-58911
...
fix: validate shelf life for automatically created expiring batches (backport #58911 )
2026-09-09 13:24:59 +05:30
Sudharsanan Ashok
9822ffc334
Merge pull request #58912 from frappe/mergify/bp/version-15-hotfix/pr-58893
...
fix: reset price list fallback when changing parties (backport #58893 )
2026-09-09 13:24:12 +05:30
Sudharsanan Ashok
fc6791e57b
Merge pull request #58903 from frappe/mergify/bp/version-15-hotfix/pr-58889
...
fix(stock): guard inventory dimension lookup without reference document (backport #58889 )
2026-09-09 13:23:46 +05:30
Sudharsanan Ashok
916b581562
Merge pull request #58900 from frappe/mergify/bp/version-15-hotfix/pr-58891
...
fix(accounts): reject disabled price lists in buying and selling (backport #58891 )
2026-09-09 13:23:13 +05:30
Khushi Rawat
63e7c2e44f
Merge pull request #58907 from frappe/mergify/bp/version-15-hotfix/pr-58227
...
fix: keep a dunning claimable until its interest is paid too (backport #58227 )
2026-09-09 13:09:48 +05:30
pandiyan
0099e7ec4f
fix(stock): remove empty delivery stops after mapping ( #58896 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
(cherry picked from commit 4b23cee2ea )
2026-09-09 13:03:06 +05:30
pandiyan
11c6f0d02c
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:39:18 +05:30
pandiyan
da53283659
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:39:18 +05:30
Shllokkk
32d8c359ed
fix(stock): preserve rates for unsaved mapped rows (backport #58852 ) ( #58898 )
...
* fix: keep each row's own rate under maintain same rate
* test: cover maintain-same-rate rate lock for batch items
2026-09-09 12:38:58 +05:30
Pandiyan P
00e02f07ac
fix: validate shelf life for automatically created expiring batches ( #58911 )
...
Co-authored-by: Ajish18 <ajishiyappan1@gmail.com >
(cherry picked from commit b2bdeaa672 )
2026-09-09 07:07:22 +00:00
Pandiyan P
f981791012
fix: reset price list fallback when changing parties ( #58893 )
...
(cherry picked from commit 4c32acf300 )
2026-09-09 06:56:26 +00:00
Sudharsanan Ashok
f6870786c5
Merge pull request #58888 from frappe/mergify/bp/version-15-hotfix/pr-58887
...
fix(stock): distribute additional costs when incoming items have no value (backport #58842 ) (backport #58887 )
2026-09-09 11:14:21 +05:30
Sudharsanan11
00729a8d62
fix: resolve conflicts
2026-09-09 10:38:34 +05:30
Sudharsanan11
10987b11cc
fix(stock): distribute additional costs when incoming items have no value
...
(cherry picked from commit b6035810f0 )
# Conflicts:
# erpnext/stock/doctype/stock_entry/test_stock_entry.py
2026-09-09 10:38:34 +05:30
pandiyan
47662b9af2
fix(accounts): reject disabled price lists in buying and selling ( #58891 )
...
(cherry picked from commit f8c2f3440b )
2026-09-09 09:55:37 +05:30
mergify[bot]
3bd194e986
fix: user not able to set valuation rate zero in stock reco (backport #58800 ) ( #58821 )
...
* 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 )
# Conflicts:
# erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
* chore: fix conflicts
Removed unused import statements and cleaned up the code.
---------
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-09-09 04:20:51 +00:00
Pandiyan P
7ee54ba08b
fix(stock): guard inventory dimension lookup without reference document ( #58889 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
(cherry picked from commit afd93cf867 )
2026-09-09 02:12:59 +00:00
Sudharsanan Ashok
b6120ea56a
Merge pull request #58882 from frappe/mergify/bp/version-15-hotfix/pr-58700
...
fix(stock): show actual outgoing rate in ledger preview (backport #58700 )
2026-09-08 19:32:09 +05:30
Frappe PR Bot
fdc48277a8
chore(release): Bumped to Version 15.121.1
...
## [15.121.1](https://github.com/frappe/erpnext/compare/v15.121.0...v15.121.1 ) (2026-09-08)
### Bug Fixes
* **accounts:** reject same-account internal transfers ([#58529 ](https://github.com/frappe/erpnext/issues/58529 )) ([05a1127 ](05a1127587 ))
* **accounts:** round journal entry totals to field precision (backport [#58629 ](https://github.com/frappe/erpnext/issues/58629 )) ([#58874 ](https://github.com/frappe/erpnext/issues/58874 )) ([96357b4 ](96357b4fdc ))
* **accounts:** support drop-shipped items in Gross Profit report ([#58686 ](https://github.com/frappe/erpnext/issues/58686 )) ([6c6ee7c ](6c6ee7c524 ))
* add reconciliation after submit logic for bank transactions ([#57330 ](https://github.com/frappe/erpnext/issues/57330 )) ([2ee5f6b ](2ee5f6b1c4 ))
* **batch:** show Expired status only after expiry date has passed ([#58736 ](https://github.com/frappe/erpnext/issues/58736 )) ([cd93007 ](cd93007780 ))
* check material request price list permission ([#58740 ](https://github.com/frappe/erpnext/issues/58740 )) ([a348d41 ](a348d413d0 ))
* check write permission in whitelisted document methods (backport [#58689 ](https://github.com/frappe/erpnext/issues/58689 )) ([#58702 ](https://github.com/frappe/erpnext/issues/58702 )) ([baa30e7 ](baa30e703d ))
* **crm:** check read permission on lead in add_lead_to_prospect ([4dd56ec ](4dd56ec4e6 ))
* **crm:** validate contact email before saving an email campaign (backport [#58667 ](https://github.com/frappe/erpnext/issues/58667 )) ([#58671 ](https://github.com/frappe/erpnext/issues/58671 )) ([1ea597d ](1ea597d6b5 ))
* fetch accounts by company (backport [#58523 ](https://github.com/frappe/erpnext/issues/58523 )) ([#58878 ](https://github.com/frappe/erpnext/issues/58878 )) ([2c2a3e9 ](2c2a3e9f10 ))
* filter cancelled BOMs in BOM Stock Analysis ([#58647 ](https://github.com/frappe/erpnext/issues/58647 )) ([fff2616 ](fff261680c ))
* **gross-profit:** include item_name in export ([#58631 ](https://github.com/frappe/erpnext/issues/58631 )) ([c752bb3 ](c752bb34a8 ))
* include payment deductions in sales/purchase register ledger bal… (backport [#58437 ](https://github.com/frappe/erpnext/issues/58437 )) ([#58679 ](https://github.com/frappe/erpnext/issues/58679 )) ([24e7ff5 ](24e7ff55de ))
* persist rendered terms on transaction save ([#58858 ](https://github.com/frappe/erpnext/issues/58858 )) ([24cac30 ](24cac30aa9 ))
* **pos:** use company-currency change amount when netting pos gl entries (backport [#58599 ](https://github.com/frappe/erpnext/issues/58599 )) ([#58677 ](https://github.com/frappe/erpnext/issues/58677 )) ([c7d865e ](c7d865ef3b ))
* resolve conflicts ([95b2030 ](95b203079a ))
* **selling:** fetch orders within billing allowance (backport [#58751 ](https://github.com/frappe/erpnext/issues/58751 )) ([#58822 ](https://github.com/frappe/erpnext/issues/58822 )) ([a64b78d ](a64b78d283 ))
* **setup:** strict permissions for transaction deletion record (backport [#58687 ](https://github.com/frappe/erpnext/issues/58687 )) ([#58722 ](https://github.com/frappe/erpnext/issues/58722 )) ([934c7d8 ](934c7d833c ))
* show cost center for unmatched payments in receivables (backport [#58453 ](https://github.com/frappe/erpnext/issues/58453 )) ([#58880 ](https://github.com/frappe/erpnext/issues/58880 )) ([69f38a0 ](69f38a04c8 ))
* skip zero quantity items in production plan material requests ([#58642 ](https://github.com/frappe/erpnext/issues/58642 )) ([3217a69 ](3217a69fc2 ))
* **stock:** recalculate delivery note billing after return ([#58869 ](https://github.com/frappe/erpnext/issues/58869 )) ([b409ded ](b409ded2f6 ))
### Reverts
* **manufacturing:** remove material coverage changes on version 15 ([#58715 ](https://github.com/frappe/erpnext/issues/58715 )) ([7cbf8b8 ](7cbf8b8660 ))
v15.121.1
2026-09-08 13:48:11 +00:00
Diptanil Saha
8635652c90
Merge pull request #58867 from frappe/version-15-hotfix
...
chore: release v15
2026-09-08 19:16:20 +05:30
Afsal Syed
372244e6b2
fix(stock): show actual outgoing rate in ledger preview ( #58700 )
...
(cherry picked from commit 71f1edeb1c )
2026-09-08 19:11:06 +05:30