Frappe PR Bot
b30aa5334b
chore(release): Bumped to Version 16.36.0
...
# [16.36.0](https://github.com/frappe/erpnext/compare/v16.35.0...v16.36.0 ) (2026-09-23)
### Bug Fixes
* **accounts:** clarify revaluation journal filters ([eebd0bc](eebd0bc533 ))
* **accounts:** keep price list within user permissions ([#59231 ](https://github.com/frappe/erpnext/issues/59231 )) ([385343a ](385343a389 ))
* apply journal entry reversal backport to version 16 controller ([0db0cc5 ](0db0cc55d4 ))
* **assets:** count complete opening depreciation periods accurately ([900eb1e ](900eb1e466 ))
* **asset:** skip missing checkbox columns in asset type patch (backport [#58416 ](https://github.com/frappe/erpnext/issues/58416 )) ([#58417 ](https://github.com/frappe/erpnext/issues/58417 )) ([3c9d9d6 ](3c9d9d62aa ))
* avoid pricing rule help template errors ([#59097 ](https://github.com/frappe/erpnext/issues/59097 )) ([e3ef3be ](e3ef3be490 ))
* clear stock value for zero-quantity balances ([#58899 ](https://github.com/frappe/erpnext/issues/58899 )) ([007a1f5 ](007a1f5528 ))
* **crm:** keep opportunity type default untranslated ([#59277 ](https://github.com/frappe/erpnext/issues/59277 )) ([8eb9063 ](8eb906366d ))
* do not zero out backdated stock at a stock reco adjustment entry ([#59270 ](https://github.com/frappe/erpnext/issues/59270 )) ([06a8faa ](06a8faa4ed ))
* **journal-entry:** carry reference fields into reverse journal entry ([06cc291 ](06cc2914ba ))
* **manufacturing:** apply mrp manufacturing buffer as a duration ([#59007 ](https://github.com/frappe/erpnext/issues/59007 )) ([fa732ca ](fa732ca3f4 ))
* **manufacturing:** classify MRP rows by purchase item, not missing BOM ([#58510 ](https://github.com/frappe/erpnext/issues/58510 )) ([79858d5 ](79858d5af6 ))
* **manufacturing:** finish a work order after partial material consumption ([#59312 ](https://github.com/frappe/erpnext/issues/59312 )) ([5d495c2 ](5d495c2763 ))
* **manufacturing:** include the mrp bucket that ends on to_date ([#59143 ](https://github.com/frappe/erpnext/issues/59143 )) ([131343d ](131343de28 ))
* negative stock value for moving average item with mixed batchwise valuation ([#59099 ](https://github.com/frappe/erpnext/issues/59099 )) ([262fdf3 ](262fdf3e69 ))
* **permissions:** grant select on link targets to roles with write access ([#59123 ](https://github.com/frappe/erpnext/issues/59123 )) ([854b0e4 ](854b0e4734 ))
* **pos:** quote the reversed row's rate on a consolidated credit note (backport [#59320 ](https://github.com/frappe/erpnext/issues/59320 )) ([#59323 ](https://github.com/frappe/erpnext/issues/59323 )) ([242f421 ](242f4219cb ))
* **pos:** reset stale selected mode of payment on new invoice (backport [#59308 ](https://github.com/frappe/erpnext/issues/59308 )) ([#59355 ](https://github.com/frappe/erpnext/issues/59355 )) ([1e16c82 ](1e16c827ef ))
* **quality:** block Quality Inspection submit without a sample size (backport [#59330 ](https://github.com/frappe/erpnext/issues/59330 )) ([#59331 ](https://github.com/frappe/erpnext/issues/59331 )) ([1ead4ce ](1ead4cebcf ))
* refresh price list exchange rate when currency changes ([0fe41ce ](0fe41ce92e ))
* remove company link filter on asset field in Asset Depreciation Schedule ([a436707 ](a436707efc ))
* render letter head jinja in statement of accounts pdf ([31111a4 ](31111a4a30 ))
* resolve conflicts ([98fa0d4 ](98fa0d4cb4 ))
* resolve conflicts ([7ff2a33 ](7ff2a33a5b ))
* resolve conflicts ([6fab4e0 ](6fab4e0203 ))
* resolve MRP purchase supplier with item group fallback, else throw ([be283b7 ](be283b70f2 ))
* retain bom components without warehouse stock ([#59116 ](https://github.com/frappe/erpnext/issues/59116 )) ([18ee3b9 ](18ee3b9cc0 ))
* **selling:** use preferred addresses in customer quotations ([c019bb5 ](c019bb5c28 ))
* skip serial nos with no stock when reconciling specific serial nos (backport [#59266 ](https://github.com/frappe/erpnext/issues/59266 )) ([#59267 ](https://github.com/frappe/erpnext/issues/59267 )) ([aaaba7c ](aaaba7cd82 ))
* **stock:** allow zero completed quantity and handle process loss in job cards ([#59104 ](https://github.com/frappe/erpnext/issues/59104 )) ([4f984ae ](4f984aeecf ))
* **stock:** apply transit warehouse filter to target warehouse in items table ([#59192 ](https://github.com/frappe/erpnext/issues/59192 )) ([ae96dad ](ae96dad151 ))
* **stock:** calculate batch bundle valuation per unit ([#58994 ](https://github.com/frappe/erpnext/issues/58994 )) ([110192d ](110192d9de ))
* **stock:** compare transit quantities in stock UOM (backport [#59202 ](https://github.com/frappe/erpnext/issues/59202 )) ([#59244 ](https://github.com/frappe/erpnext/issues/59244 )) ([0f1cefa ](0f1cefa918 ))
* **stock:** continue putaway allocation after undersized whole-uom rules ([#59155 ](https://github.com/frappe/erpnext/issues/59155 )) ([dbb8981 ](dbb8981fa1 ))
* **stock:** deduct rejected qty from the in-transit warehouse ([#59299 ](https://github.com/frappe/erpnext/issues/59299 )) ([4186d6c ](4186d6c994 ))
* **stock:** filter item group defaults by company and non-group records ([#58923 ](https://github.com/frappe/erpnext/issues/58923 )) ([741ae5d ](741ae5d33c ))
* **stock:** forward company to outward batch lookup ([#59160 ](https://github.com/frappe/erpnext/issues/59160 )) ([5e1cfa4 ](5e1cfa4f52 ))
* **stock:** honour pick manually when mapping a pick list ([#59220 ](https://github.com/frappe/erpnext/issues/59220 )) ([3ee9353 ](3ee9353240 ))
* **stock:** keep mapped cost center in stock entry items ([#59286 ](https://github.com/frappe/erpnext/issues/59286 )) ([cdbdcc6 ](cdbdcc6e33 ))
* **stock:** respect manual picking when mapping sales orders ([58847de ](58847de59a ))
* **stock:** seed bin values when cancelling a stock voucher ([#59250 ](https://github.com/frappe/erpnext/issues/59250 )) ([3ab13e1 ](3ab13e12d4 )), closes [#57380 ](https://github.com/frappe/erpnext/issues/57380 )
* **stock:** use net purchase values in landed cost vouchers (backport [#59274 ](https://github.com/frappe/erpnext/issues/59274 )) ([#59278 ](https://github.com/frappe/erpnext/issues/59278 )) ([6af5892 ](6af589208b ))
* **stock:** use stored posting_datetime when reposting stock ledger entries ([#58998 ](https://github.com/frappe/erpnext/issues/58998 )) ([39d6f2a ](39d6f2a236 ))
* **stock:** validate warehouse account belongs to selected company ([#59191 ](https://github.com/frappe/erpnext/issues/59191 )) ([38bdb4f ](38bdb4f9c0 ))
* sync translations from crowdin (version-16-hotfix) ([#59210 ](https://github.com/frappe/erpnext/issues/59210 )) ([d217283 ](d217283229 ))
* update modified for last purchase rate (backport [#59044 ](https://github.com/frappe/erpnext/issues/59044 )) ([#59106 ](https://github.com/frappe/erpnext/issues/59106 )) ([877747c ](877747c133 ))
* use correct exchange rate for multi-currency bank reconciliation payments ([#59144 ](https://github.com/frappe/erpnext/issues/59144 )) ([427a20c ](427a20c508 ))
* validate bank reconciliation date ranges ([a878951 ](a878951c17 ))
* validate coupon pricing rules and validity dates ([2db2244 ](2db2244852 ))
* validate shipping rule account company ([590fff6 ](590fff6a45 ))
* valuation of serialized items after disabling serial no wise valuation ([#59197 ](https://github.com/frappe/erpnext/issues/59197 )) ([af334da ](af334dabcc ))
* write off stranded stock value only when the warehouse is empty ([#59216 ](https://github.com/frappe/erpnext/issues/59216 )) ([8bbb73d ](8bbb73d2e2 ))
### Features
* mark update_serial_batch_entries patch as never skippable (backport [#59147 ](https://github.com/frappe/erpnext/issues/59147 )) ([#59148 ](https://github.com/frappe/erpnext/issues/59148 )) ([d2042bc ](d2042bc1bb ))
* **selling:** group Sales Order Analysis by item (backport [#59236 ](https://github.com/frappe/erpnext/issues/59236 )) ([#59246 ](https://github.com/frappe/erpnext/issues/59246 )) ([814d7f0 ](814d7f0c4e ))
* **stock:** GL-only reposting from Stock and Account Value Comparison report ([#59127 ](https://github.com/frappe/erpnext/issues/59127 )) ([c055faa ](c055faabc1 ))
* use serial no wise valuation switch on item ([#59082 ](https://github.com/frappe/erpnext/issues/59082 )) ([f09ce05 ](f09ce0583f ))
### Performance Improvements
* filter by company in get_returned_invoice_items ([423aa09 ](423aa09f59 ))
* reduce memory consumption during reposting (backport [#59117 ](https://github.com/frappe/erpnext/issues/59117 )) ([#59149 ](https://github.com/frappe/erpnext/issues/59149 )) ([16b1821 ](16b1821f35 )), closes [#52152 ](https://github.com/frappe/erpnext/issues/52152 )
* skip legacy batch ledger lookups when no legacy entry exists (backport [#59110 ](https://github.com/frappe/erpnext/issues/59110 )) ([#59111 ](https://github.com/frappe/erpnext/issues/59111 )) ([4af1b0d ](4af1b0db4e ))
* **stock:** chunk the serial and batch entry backfill patch ([#59076 ](https://github.com/frappe/erpnext/issues/59076 )) ([86fe0c1 ](86fe0c1f4b ))
2026-09-23 23:05:32 +00:00
Diptanil Saha
eddb0c8aef
Merge pull request #59272 from frappe/version-16-hotfix
...
chore: release v16
2026-09-24 04:33:27 +05:30
Shllokkk
d0290ea98e
Merge pull request #59353 from Shllokkk/mrp-po-missing-supplier-backport
...
fix: handle missing and item group default supplier in MRP make_order
2026-09-24 04:01:31 +05:30
Shllokkk
61f66ed579
test: cover missing and item-group-fallback supplier in MRP make_order
2026-09-24 03:47:36 +05:30
mergify[bot]
1e16c827ef
fix(pos): reset stale selected mode of payment on new invoice (backport #59308 ) ( #59355 )
...
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
2026-09-23 19:26:48 +00:00
Shllokkk
be283b70f2
fix: resolve MRP purchase supplier with item group fallback, else throw
2026-09-24 00:27:24 +05:30
Shllokkk
79858d5af6
fix(manufacturing): classify MRP rows by purchase item, not missing BOM ( #58510 )
2026-09-24 00:27:18 +05:30
Diptanil Saha
48635ee6b5
fix(permissions)!: add permission checks to whitelisted methods and the DocPerm rows they need ( #59284 )
2026-09-23 23:01:45 +05:30
Sudharsanan Ashok
8732c4eee3
Merge pull request #59339 from frappe/mergify/bp/version-16-hotfix/pr-59336
...
fix(selling): use preferred addresses in customer quotations (backport #59336 )
2026-09-23 19:02:26 +05:30
Sudharsanan Ashok
0e1657a35a
Merge pull request #59281 from frappe/mergify/bp/version-16-hotfix/pr-59277
...
fix(crm): keep opportunity type default untranslated (backport #59277 )
2026-09-23 18:54:55 +05:30
pandiyan
c019bb5c28
fix(selling): use preferred addresses in customer quotations
2026-09-23 18:48:11 +05:30
Mihir Kandoi
1ead4cebcf
fix(quality): block Quality Inspection submit without a sample size (backport #59330 ) ( #59331 )
2026-09-23 10:56:56 +00:00
mergify[bot]
242f4219cb
fix(pos): quote the reversed row's rate on a consolidated credit note (backport #59320 ) ( #59323 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-23 16:02:13 +05:30
Mihir Kandoi
5d495c2763
fix(manufacturing): finish a work order after partial material consumption ( #59312 )
2026-09-23 07:38:13 +00:00
Khushi Rawat
868de6e513
Merge pull request #59289 from frappe/mergify/bp/version-16-hotfix/pr-59262
...
fix(journal-entry): carry reference fields into reverse journal entry (backport #59262 )
2026-09-23 12:36:37 +05:30
Khushi Rawat
54c094ed46
Merge pull request #59305 from frappe/mergify/bp/version-16-hotfix/pr-59304
...
fix: count complete opening depreciation periods accurately (backport #59304 )
2026-09-23 12:20:40 +05:30
khushi8112
d4105c3aaf
test(assets): cover complete opening depreciation periods
...
(cherry picked from commit 3691ca5b5b )
2026-09-23 06:38:24 +00:00
khushi8112
900eb1e466
fix(assets): count complete opening depreciation periods accurately
...
(cherry picked from commit 56f24a6adf )
2026-09-23 06:38:24 +00:00
Sudharsanan Ashok
cfa5c25215
Merge pull request #59297 from frappe/mergify/bp/version-16-hotfix/pr-59231
...
fix(accounts): keep price list within user permissions (backport #59231 )
2026-09-22 23:52:42 +05:30
Sudharsanan Ashok
04be8b1218
Merge pull request #59295 from frappe/mergify/bp/version-16-hotfix/pr-59286
...
fix(stock): keep mapped cost center in stock entry items (backport #59286 )
2026-09-22 23:46:11 +05:30
Sudharsanan11
98fa0d4cb4
fix: resolve conflicts
2026-09-22 21:35:38 +05:30
Sudharsanan Ashok
385343a389
fix(accounts): keep price list within user permissions ( #59231 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
(cherry picked from commit e814d13126 )
2026-09-22 21:35:38 +05:30
Mihir Kandoi
4186d6c994
fix(stock): deduct rejected qty from the in-transit warehouse ( #59299 )
2026-09-22 14:24:03 +00:00
Sudharsanan Ashok
06d55a089a
Merge pull request #59293 from frappe/mergify/bp/version-16-hotfix/pr-59250
...
fix(stock): seed bin values when cancelling a stock voucher (backport #59250 )
2026-09-22 18:40:42 +05:30
Sudharsanan Ashok
cdbdcc6e33
fix(stock): keep mapped cost center in stock entry items ( #59286 )
...
(cherry picked from commit 7f608f31eb )
2026-09-22 12:35:50 +00:00
Sudharsanan Ashok
3ab13e12d4
fix(stock): seed bin values when cancelling a stock voucher ( #59250 )
...
* fix(stock): seed bin values when cancelling a stock voucher
cancellation flags every sle of the voucher before update_entries_after
runs, so get_sle_against_current_voucher returns nothing and the seeding
added in #57380 never fires. prev_sle_dict stays empty, update_bin()
writes nothing, and the bin keeps the stock value and valuation rate it
had before the cancellation while its quantity is restored.
seed from the args when the query comes back empty, leaving the existing
anchor in place whenever a live entry shares the posting datetime.
* test(stock): cover bin stock value after cancelling a transfer
a transfer between two warehouses that both hold stock, then cancelled:
both bins must return to their previous quantity, valuation rate and
stock value. fails on develop with 500.0 != 1000.
(cherry picked from commit 62cb38d36b )
2026-09-22 12:23:29 +00:00
khushi8112
0db0cc55d4
fix: apply journal entry reversal backport to version 16 controller
2026-09-22 17:29:06 +05:30
Mihir Kandoi
6af589208b
fix(stock): use net purchase values in landed cost vouchers (backport #59274 ) ( #59278 )
...
Co-authored-by: pandiyan <pandiyanpalani37@gmail.com >
2026-09-22 11:50:24 +00:00
ervishnucs
06cc2914ba
fix(journal-entry): carry reference fields into reverse journal entry
...
(cherry picked from commit 9e01992217 )
# Conflicts:
# erpnext/accounts/doctype/journal_entry/mapper.py
2026-09-22 11:47:35 +00:00
Khushi Rawat
8e9c0f6e41
Merge pull request #59273 from frappe/mergify/bp/version-16-hotfix/pr-59180
...
fix: refresh price list exchange rate when currency changes (backport #59180 )
2026-09-22 16:59:51 +05:30
Pandiyan P
8eb906366d
fix(crm): keep opportunity type default untranslated ( #59277 )
...
(cherry picked from commit 79fd06a1ba )
2026-09-22 11:07:03 +00:00
rohitwaghchaure
06a8faa4ed
fix: do not zero out backdated stock at a stock reco adjustment entry ( #59270 )
...
* fix: do not zero out backdated stock at a stock reco adjustment entry
* fix: keep a stock reco adjustment entry value-only on cancel and refresh
* fix: read stock reco adjustment rows once and value them from the ledger
2026-09-22 16:30:01 +05:30
khushi8112
ff0841e0cb
test: cover price list exchange rate currency changes
...
(cherry picked from commit 221baabf9e )
2026-09-22 10:00:52 +00:00
khushi8112
0fe41ce92e
fix: refresh price list exchange rate when currency changes
...
(cherry picked from commit 8b59d66f94 )
2026-09-22 10:00:52 +00:00
Mihir Kandoi
aaaba7cd82
fix: skip serial nos with no stock when reconciling specific serial nos (backport #59266 ) ( #59267 )
2026-09-22 09:53:16 +00:00
mergify[bot]
814d7f0c4e
feat(selling): group Sales Order Analysis by item (backport #59236 ) ( #59246 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-22 08:35:00 +00:00
mergify[bot]
0f1cefa918
fix(stock): compare transit quantities in stock UOM (backport #59202 ) ( #59244 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-22 08:34:11 +00:00
Sudharsanan Ashok
6d89487518
Merge pull request #59255 from frappe/mergify/bp/version-16-hotfix/pr-59192
...
fix(stock): apply transit warehouse filter to target warehouse in items table (backport #59192 )
2026-09-22 13:39:00 +05:30
Shllokkk
fe8199bece
Merge pull request #59259 from frappe/mergify/bp/version-16-hotfix/pr-59240
...
fix: asset field unfilterable on manual Asset Depreciation Schedule (backport #59240 )
2026-09-22 13:16:24 +05:30
Shllokkk
a436707efc
fix: remove company link filter on asset field in Asset Depreciation Schedule
...
(cherry picked from commit a931c7d2f4 )
2026-09-22 07:07:59 +00:00
Afsal Syed
ae96dad151
fix(stock): apply transit warehouse filter to target warehouse in items table ( #59192 )
...
(cherry picked from commit 893fc75df4 )
2026-09-22 12:34:57 +05:30
Sudharsanan Ashok
d4b1be1154
Merge pull request #59194 from frappe/mergify/bp/version-16-hotfix/pr-59191
...
fix(stock): validate warehouse account belongs to selected company (backport #59191 )
2026-09-22 12:04:15 +05:30
Afsal Syed
38bdb4f9c0
fix(stock): validate warehouse account belongs to selected company ( #59191 )
...
(cherry picked from commit db6e089109 )
2026-09-22 11:42:31 +05:30
Shllokkk
33e86edc91
Merge pull request #59234 from frappe/mergify/bp/version-16-hotfix/pr-59144
...
fix: use correct exchange rate for multi-currency bank reconciliation payments (backport #59144 )
2026-09-21 17:58:53 +05:30
Shllokkk
427a20c508
fix: use correct exchange rate for multi-currency bank reconciliation payments ( #59144 )
...
* fix: use correct exchange rate for multi-currency bank reconciliation payments
* test: exchange rate for multi-currency bank reconciliation payment
(cherry picked from commit 04c949a662 )
2026-09-21 12:00:43 +00:00
Diptanil Saha
854b0e4734
fix(permissions): grant select on link targets to roles with write access ( #59123 )
2026-09-21 16:56:53 +05:30
Sudharsanan Ashok
9b8c35f431
Merge pull request #59227 from frappe/mergify/bp/version-16-hotfix/pr-59220
...
fix(stock): honour pick manually when mapping a pick list (backport #59220 )
2026-09-21 15:33:18 +05:30
Sudharsanan11
7ff2a33a5b
fix: resolve conflicts
2026-09-21 14:59:27 +05:30
Sudharsanan Ashok
3ee9353240
fix(stock): honour pick manually when mapping a pick list ( #59220 )
...
(cherry picked from commit 6e87694bbe )
# Conflicts:
# erpnext/manufacturing/doctype/work_order/mapper.py
# erpnext/stock/doctype/material_request/mapper.py
2026-09-21 14:59:27 +05:30
Shllokkk
4455ffcae1
Merge pull request #59204 from Shllokkk/fix-gp-returned-invoices-company-filter
...
perf: filter by company in get_returned_invoice_items
2026-09-21 14:32:02 +05:30
Shllokkk
ff29e14353
Merge branch 'version-16-hotfix' into fix-gp-returned-invoices-company-filter
2026-09-21 13:44:22 +05:30
mergify[bot]
4af1b0db4e
perf: skip legacy batch ledger lookups when no legacy entry exists (backport #59110 ) ( #59111 )
...
* perf: skip legacy batch ledger lookups when no legacy entry exists (#59110 )
* perf: skip legacy batch ledger lookups when no legacy entry exists
(cherry picked from commit 0130d287f6 )
* chore: fix conflicts
---------
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-09-21 13:37:46 +05:30
Khushi Rawat
75c1a7fd69
Merge pull request #59222 from frappe/mergify/bp/version-16-hotfix/pr-59128
...
fix: validate coupon pricing rules and validity dates (backport #59128 )
2026-09-21 13:23:11 +05:30
MochaMind
d217283229
fix: sync translations from crowdin (version-16-hotfix) ( #59210 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-09-21 09:52:07 +02:00
rohitwaghchaure
8bbb73d2e2
fix: write off stranded stock value only when the warehouse is empty ( #59216 )
2026-09-21 13:16:38 +05:30
pandiyan
fa6b3380b9
test: cover coupon pricing rule and date validation
...
(cherry picked from commit 3384c1939b )
2026-09-21 07:17:20 +00:00
pandiyan
2db2244852
fix: validate coupon pricing rules and validity dates
...
(cherry picked from commit 14275e4c01 )
2026-09-21 07:17:19 +00:00
Sudharsanan Ashok
f5eb2d4a0b
Merge pull request #59173 from frappe/mergify/bp/version-16-hotfix/pr-59170
...
fix(stock): respect manual picking when mapping sales orders (backport #59170 )
2026-09-21 11:12:05 +05:30
MochaMind
6661c30db4
chore: update POT file ( #59200 )
2026-09-20 21:43:11 +02:00
Shllokkk
fa998703bf
Merge pull request #59203 from Shllokkk/migrate-gp-returned-invoices-to-qb
...
refactor: migrate raw SQL queries in gross profit report to query builder
2026-09-20 19:53:28 +05:30
Shllokkk
423aa09f59
perf: filter by company in get_returned_invoice_items
2026-09-20 19:38:06 +05:30
Shllokkk
fd369a5a0f
refactor: migrate raw SQL queries in gross profit report to query builder
2026-09-20 19:38:02 +05:30
rohitwaghchaure
af334dabcc
fix: valuation of serialized items after disabling serial no wise valuation ( #59197 )
...
* fix: recalculate outgoing rate on repost after disabling serial no wise valuation
* fix: keep valuation method when serial no wise valuation was already disabled
2026-09-19 22:51:18 +05:30
Sudharsanan Ashok
0fbea6021b
Merge pull request #59165 from frappe/mergify/bp/version-16-hotfix/pr-59160
...
fix(stock): forward company to outward batch lookup (backport #59160 )
2026-09-18 18:27:09 +05:30
Khushi Rawat
236464e6cc
Merge pull request #59184 from frappe/mergify/bp/version-16-hotfix/pr-59181
...
fix(accounts): clarify revaluation journal filters (backport #59181 )
2026-09-18 17:57:53 +05:30
pandiyan
58847de59a
fix(stock): respect manual picking when mapping sales orders
2026-09-18 17:54:10 +05:30
pandiyan
eebd0bc533
fix(accounts): clarify revaluation journal filters
...
(cherry picked from commit dc4b390a9b )
2026-09-18 12:23:25 +00:00
rohitwaghchaure
c055faabc1
feat(stock): GL-only reposting from Stock and Account Value Comparison report ( #59127 )
...
* feat(stock): repost only GL entries from the value comparison report
Adds a "Create GL Reposting Entries" button to the Stock and Account Value
Comparison report, next to the existing "Create Reposting Entries" which is
unchanged. It queues Repost Item Valuation entries with
`repost_only_accounting_ledgers` set, so the General and Payment Ledger are
rebuilt for the selected vouchers while the stock ledgers and valuation rates
are left untouched. This is for the case where stock valuation is already
correct and only the accounting ledger has drifted, which avoids paying for a
full revaluation.
Rows of ledger type "GL Entry" are rejected: they have accounting entries but
no stock ledger entries to rebuild them from, so a GL-only repost would just
wipe their GL. The same restriction is enforced on Repost Item Valuation for
callers outside the report.
Repeated selections are deduplicated, and vouchers that already have a queued
or in-progress GL-only repost are skipped.
* feat(stock): bound GL reposting by a From Date, skip non-stock rows
* fix: batch the pending GL repost lookup and index it on existing sites
2026-09-18 17:02:15 +05:30
Sudharsanan Ashok
62f560a91d
Merge pull request #59159 from frappe/mergify/bp/version-16-hotfix/pr-59155
...
fix(stock): continue putaway allocation after undersized whole-uom rules (backport #59155 )
2026-09-18 15:16:23 +05:30
Pandiyan P
5e1cfa4f52
fix(stock): forward company to outward batch lookup ( #59160 )
...
(cherry picked from commit 622b7e0caa )
2026-09-18 09:07:13 +00:00
Khushi Rawat
a28767599f
Merge pull request #59163 from frappe/mergify/bp/version-16-hotfix/pr-59142
...
fix: validate shipping rule account company (backport #59142 )
2026-09-18 14:33:05 +05:30
pandiyan
f61caa5211
test: cover shipping rule account company validation
...
(cherry picked from commit 022ee73d78 )
2026-09-18 14:18:08 +05:30
pandiyan
dbb8981fa1
fix(stock): continue putaway allocation after undersized whole-uom rules ( #59155 )
...
(cherry picked from commit 6cc500e28d )
2026-09-18 14:16:00 +05:30
Khushi Rawat
816880b010
Merge pull request #59157 from frappe/mergify/bp/version-16-hotfix/pr-59081
...
fix(accounts): validate bank reconciliation date ranges (backport #59081 )
2026-09-18 14:13:24 +05:30
pandiyan
590fff6a45
fix: validate shipping rule account company
...
(cherry picked from commit 340feb94a1 )
2026-09-18 08:37:20 +00:00
pandiyan
0634cf31c7
test: cover bank reconciliation date validation
...
(cherry picked from commit 62d0e2c82e )
# Conflicts:
# erpnext/accounts/doctype/bank_reconciliation_tool/test_bank_reconciliation_tool.py
2026-09-18 13:54:27 +05:30
pandiyan
a878951c17
fix: validate bank reconciliation date ranges
...
(cherry picked from commit 970f32a342 )
# Conflicts:
# erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py
2026-09-18 13:51:57 +05:30
Sudharsanan Ashok
56db17919b
Merge pull request #59126 from frappe/mergify/bp/version-16-hotfix/pr-59116
...
fix: retain bom components without warehouse stock (backport #59116 )
2026-09-18 11:55:49 +05:30
Sudharsanan Ashok
11cbcbe02a
Merge pull request #59119 from frappe/mergify/bp/version-16-hotfix/pr-59104
...
fix(stock): allow zero completed quantity and handle process loss in job cards (backport #59104 )
2026-09-18 11:55:10 +05:30
Sudharsanan Ashok
5d4271b1c7
Merge pull request #59145 from frappe/mergify/bp/version-16-hotfix/pr-59143
...
fix(manufacturing): include the mrp bucket that ends on to_date (backport #59143 )
2026-09-18 11:40:01 +05:30
Sudharsanan Ashok
cbd932e20d
Merge pull request #59093 from frappe/mergify/bp/version-16-hotfix/pr-59007
...
fix(manufacturing): apply mrp manufacturing buffer as a duration (backport #59007 )
2026-09-18 11:12:56 +05:30
Sudharsanan Ashok
4ad08db1d6
Merge pull request #59090 from frappe/mergify/bp/version-16-hotfix/pr-58923
...
fix(stock): filter item group defaults by company and non-group records (backport #58923 )
2026-09-18 11:12:02 +05:30
Sudharsanan11
131343de28
fix(manufacturing): include the mrp bucket that ends on to_date ( #59143 )
...
(cherry picked from commit 5d5eeb5e02 )
2026-09-18 11:00:06 +05:30
rohitwaghchaure
16b1821f35
perf: reduce memory consumption during reposting (backport #59117 ) ( #59149 )
...
* perf: reduce memory consumption during reposting
The reposting queue introduced in #52152 keeps the complete future stock
ledger of every transitively dependent item-warehouse in a single deque.
Each `select *` row is ~3.5KB, so a repost spanning a million entries
needs several GB and gets OOM killed on smaller workers.
- Queue only the identity and sort keys of an entry, and fetch the full
row in batches of 500 just before it is processed
- Move `for update` off the bulk prefetch onto the batch, so millions of
rows are no longer locked for the whole duration of the repost
- Drop the process local document cache and message log at every
checkpoint, neither is evicted within a long running job
* fix: keep recent repost messages and log skipped entries
Trimming `frappe.local.message_log` to empty at every checkpoint discarded
warnings that the Repost Item Valuation failure handler reads back when
building the error log. Keep the most recent messages instead, which bounds
the growth just as well.
Also log when a queued entry is no longer active by the time its batch is
loaded, rather than skipping it silently.
* fix: skip reposts already covered by a Manufacture/Repack dependant repost
While reposting a raw material, the finished goods produced from it are
reposted as dependants, from the posting datetime of the manufacture entry
through to the end of their ledger. A repost queued separately for the same
finished good and warehouse at a later datetime therefore has nothing left to
do, but it was still picked up and walked the same entries again.
Track the item-warehouse combinations pulled in as dependants of a Manufacture
or Repack entry, and mark the redundant queued reposts as Skipped once the
dependants have been reposted. This runs per item being reposted, so the
finished good's queued repost is released without waiting for the whole raw
material repost to finish.
Only 'Item and Warehouse' reposts are skipped. A 'Transaction' repost spans
several item-warehouse combinations, so covering one says nothing about the
rest. Reposts starting before the manufacture entry still have work to do and
are left queued.
* fix: don't lock the whole repost queue prefetch
* test: repost covers every entry once across batches
2026-09-18 09:03:48 +05:30
mergify[bot]
d2042bc1bb
feat: mark update_serial_batch_entries patch as never skippable (backport #59147 ) ( #59148 )
...
feat: mark update_serial_batch_entries patch as never skippable (#59147 )
(cherry picked from commit aebb160e76 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-09-17 17:10:48 +00:00
Sudharsanan Ashok
652fc96e85
Merge pull request #59088 from frappe/mergify/bp/version-16-hotfix/pr-58998
...
fix(stock): use stored posting_datetime when reposting stock ledger entries (backport #58998 )
2026-09-17 18:44:36 +05:30
Sudharsanan11
6fab4e0203
fix: resolve conflicts
2026-09-17 18:28:20 +05:30
Sudharsanan Ashok
39d6f2a236
fix(stock): use stored posting_datetime when reposting stock ledger entries ( #58998 )
...
* fix(stock): use stored posting_datetime for repost boundary
get_stock_ledger_entries re-derived posting_datetime from posting_date and
posting_time on every call, discarding the stored value its callers pass in.
when a row's stored posting_datetime differs from that pair, the replay window
is built from the wrong instant: the row falls outside the range filter and is
never recomputed, while get_previous_sle still selects it as the opening
balance and reuses its stale qty_after_transaction. every later entry inherits
the error, leaving bin qty adrift from the sum of its ledger.
derive the boundary only when the caller has not supplied one.
* fix(stock): match current voucher sle on stored posting_datetime
get_sle_against_current_voucher selected rows with an equality check against a
posting_datetime re-derived from posting_date and posting_time. a row whose
stored posting_datetime differs from that pair matches nothing, so reposting
the voucher silently processes zero entries and the row can never be corrected
through its own voucher.
read the timestamp from the stored row when the sle is known, and derive it
only as a fallback.
* test(stock): cover repost with diverged posting_datetime
add a repack scenario whose incoming entry stores a posting_datetime one
microsecond before its own posting_time. asserts the voucher lookup still
finds that entry, and that reposting replays it instead of reusing its stale
qty_after_transaction, which otherwise left bin qty at 115 against 615 of
recorded movements.
(cherry picked from commit 6cee9c330c )
# Conflicts:
# erpnext/stock/doctype/stock_ledger_entry/test_stock_ledger_entry.py
2026-09-17 18:28:20 +05:30
Afsal Syed
4f984aeecf
fix(stock): allow zero completed quantity and handle process loss in job cards ( #59104 )
...
(cherry picked from commit 1d8ce1ee8c )
2026-09-17 13:47:17 +05:30
pandiyan
18ee3b9cc0
fix: retain bom components without warehouse stock ( #59116 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
(cherry picked from commit 60913b722a )
2026-09-17 11:16:48 +05:30
Sudharsanan Ashok
3eca07169e
Merge pull request #59098 from frappe/mergify/bp/version-16-hotfix/pr-59097
...
fix: avoid pricing rule help template errors (backport #59097 )
2026-09-17 11:09:26 +05:30
Sudharsanan Ashok
3acf4e7606
Merge pull request #59096 from frappe/mergify/bp/version-16-hotfix/pr-58899
...
fix: clear stock value for zero-quantity balances (backport #58899 )
2026-09-17 11:08:34 +05:30
pandiyan
007a1f5528
fix: clear stock value for zero-quantity balances ( #58899 )
...
* fix: clear stock value for zero-quantity balances
* test(stock): cover zero-quantity residual stock values
(cherry picked from commit b439bdda68 )
2026-09-17 10:52:57 +05:30
Shllokkk
c42df7ef3e
Merge pull request #59108 from frappe/mergify/bp/version-16-hotfix/pr-59078
...
fix: render letter head jinja in statement of accounts pdf (backport #59078 )
2026-09-16 16:44:24 +05:30
Shllokkk
31111a4a30
fix: render letter head jinja in statement of accounts pdf
...
(cherry picked from commit da377683d6 )
2026-09-16 10:10:24 +00:00
mergify[bot]
877747c133
fix: update modified for last purchase rate (backport #59044 ) ( #59106 )
...
fix: update modified for last purchase rate (#59044 )
(cherry picked from commit f6b907ef9d )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-09-16 15:37:19 +05:30
rohitwaghchaure
86fe0c1f4b
perf(stock): chunk the serial and batch entry backfill patch ( #59076 )
...
* perf(stock): chunk the serial and batch entry backfill patch
* fix(stock): support postgres in the serial and batch entry backfill patch
2026-09-16 15:23:08 +05:30
rohitwaghchaure
262fdf3e69
fix: negative stock value for moving average item with mixed batchwise valuation ( #59099 )
...
* fix: negative stock value for moving average item with mixed batchwise valuation
* chore: remove redundant docstring
* test: restore frappe flags in a finally block
2026-09-16 14:49:01 +05:30
Pandiyan P
e3ef3be490
fix: avoid pricing rule help template errors ( #59097 )
...
(cherry picked from commit 2273448f1b )
2026-09-16 07:40:46 +00:00
rohitwaghchaure
f09ce0583f
feat: use serial no wise valuation switch on item ( #59082 )
...
* perf: speed up legacy serial no valuation lookup
* feat: use serial no wise valuation switch on item
* fix: clear stale valuation method cache on item update
* fix: force moving average only when stock transactions exist
* fix: correct serial no wise valuation field description
* fix: add type hints to whitelisted get_incoming_rate args
2026-09-16 12:24:18 +05:30
pandiyan
fa732ca3f4
fix(manufacturing): apply mrp manufacturing buffer as a duration ( #59007 )
...
(cherry picked from commit 2ad4a8c4a4 )
Include the material-type helper required by the duration calculation on version 16.
2026-09-16 12:05:39 +05:30
pandiyan
741ae5d33c
fix(stock): filter item group defaults by company and non-group records ( #58923 )
...
(cherry picked from commit 00ee694444 )
2026-09-16 12:05:13 +05:30
Sudharsanan Ashok
378c756d52
Merge pull request #59016 from frappe/mergify/bp/version-16-hotfix/pr-58994
...
fix(stock): calculate batch bundle valuation per unit (backport #58994 )
2026-09-16 11:03:43 +05:30
mergify[bot]
3c9d9d62aa
fix(asset): skip missing checkbox columns in asset type patch (backport #58416 ) ( #58417 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-09-16 01:39:55 +02:00
Frappe PR Bot
12cd563fb9
chore(release): Bumped to Version 16.35.0
...
# [16.35.0](https://github.com/frappe/erpnext/compare/v16.34.2...v16.35.0 ) (2026-09-15)
### Bug Fixes
* % Amount Billed exceeds 100% on fully rejected Purchase Receipts ([#58897 ](https://github.com/frappe/erpnext/issues/58897 )) ([79c8e4d ](79c8e4db7f ))
* **accounts:** add permission checks on `execute_repost_payment_ledger` (backport [#58980 ](https://github.com/frappe/erpnext/issues/58980 )) ([#58982 ](https://github.com/frappe/erpnext/issues/58982 )) ([9bc98ef ](9bc98efe2f ))
* **accounts:** add permission checks on `invoice_discounting.get_invoices` (backport [#58975 ](https://github.com/frappe/erpnext/issues/58975 )) ([#58990 ](https://github.com/frappe/erpnext/issues/58990 )) ([a9f3d69 ](a9f3d69fbe ))
* **accounts:** reject disabled price lists in buying and selling ([#58891 ](https://github.com/frappe/erpnext/issues/58891 )) ([5bd623c ](5bd623c4dd ))
* **accounts:** stop counting received qty on non-stock invoice returns (backport [#58924 ](https://github.com/frappe/erpnext/issues/58924 )) ([#58929 ](https://github.com/frappe/erpnext/issues/58929 )) ([3856638 ](3856638d01 ))
* **asset:** recompute reference doc reqd on asset type change ([6d447f6 ](6d447f6847 ))
* **assets:** build Finance Books even when Calculate Depreciation is checked before Net Purchase Amount is entered ([1652f6e ](1652f6ea42 ))
* **assets:** discard stale set_finance_book responses ([dfde7d8 ](dfde7d811c ))
* avoid TypeError on new Work Order when company is not set ([#58969 ](https://github.com/frappe/erpnext/issues/58969 )) ([e20501a ](e20501a15c ))
* calculate holiday list totals for half days ([#58792 ](https://github.com/frappe/erpnext/issues/58792 )) ([3d6afff ](3d6afffcef ))
* coerce cost_allocation_per to float in BOM cost allocation ([1918ed6 ](1918ed6a3c ))
* keep a dunning claimable until its interest is paid too ([7723f5a ](7723f5aaed ))
* keep each row's own rate under maintain same rate ([855d038 ](855d0385da ))
* **manufacturing:** handle empty bom cost allocation ([#58939 ](https://github.com/frappe/erpnext/issues/58939 )) ([77d8d5b ](77d8d5b3e2 ))
* **manufacturing:** handle empty raw materials in workstation ([#58927 ](https://github.com/frappe/erpnext/issues/58927 )) ([3b787c9 ](3b787c9443 ))
* **mrp:** align monthly bucket labels with demand dates ([#58963 ](https://github.com/frappe/erpnext/issues/58963 )) ([c5773e7 ](c5773e7899 ))
* prevent disabled items from being used in bom ([#58997 ](https://github.com/frappe/erpnext/issues/58997 )) ([f1a7fd0 ](f1a7fd006d ))
* read posting date confirmation setting from boot data ([1349e0b ](1349e0b3ab ))
* refresh posting date confirmation setting ([a404d9b ](a404d9b4e8 ))
* reset price list fallback when changing parties ([#58893 ](https://github.com/frappe/erpnext/issues/58893 )) ([6751264 ](6751264ba5 ))
* resolve conflicts ([2add72b ](2add72ba36 ))
* **selling:** add email permission check on `send_emails` (backport [#58935 ](https://github.com/frappe/erpnext/issues/58935 )) ([#58938 ](https://github.com/frappe/erpnext/issues/58938 )) ([a79abc0 ](a79abc0462 ))
* **selling:** exclude fully billed orders from the invoice picker (backport [#58966 ](https://github.com/frappe/erpnext/issues/58966 )) ([#58967 ](https://github.com/frappe/erpnext/issues/58967 )) ([5d9cbd9 ](5d9cbd9755 ))
* **selling:** list billable sales orders oldest first (backport [#59010 ](https://github.com/frappe/erpnext/issues/59010 )) ([#59011 ](https://github.com/frappe/erpnext/issues/59011 )) ([8672a6e ](8672a6e604 ))
* **stock:** distribute additional costs when incoming items have no value ([b603581 ](b6035810f0 ))
* **stock:** do not rebuild the Warehouse tree on an account map miss (backport [#58956 ](https://github.com/frappe/erpnext/issues/58956 )) ([#58973 ](https://github.com/frappe/erpnext/issues/58973 )) ([6fb76eb ](6fb76eba71 ))
* **stock:** guard inventory dimension lookup without reference document ([#58889 ](https://github.com/frappe/erpnext/issues/58889 )) ([b21ca36 ](b21ca36428 ))
* **stock:** ignore disabled price lists on transactions (backport [#58926 ](https://github.com/frappe/erpnext/issues/58926 )) ([#58931 ](https://github.com/frappe/erpnext/issues/58931 )) ([53e5339 ](53e53390f4 ))
* **stock:** remove empty delivery stops after mapping ([#58896 ](https://github.com/frappe/erpnext/issues/58896 )) ([ca33019 ](ca33019fdf ))
* **stock:** set item_name to fetch if empty in packing slip item ([#58925 ](https://github.com/frappe/erpnext/issues/58925 )) ([9e5d87a ](9e5d87ac4a ))
* **stock:** show actual outgoing rate in ledger preview ([#58700 ](https://github.com/frappe/erpnext/issues/58700 )) ([2932793 ](2932793af0 ))
* **stock:** use correct field when reading previous stock closing balance (backport [#55898 ](https://github.com/frappe/erpnext/issues/55898 )) ([#58854 ](https://github.com/frappe/erpnext/issues/58854 )) ([70f391d ](70f391d5e7 )), closes [#54819 ](https://github.com/frappe/erpnext/issues/54819 )
* **stock:** value stock entry rows as of the posting date (backport [#59042 ](https://github.com/frappe/erpnext/issues/59042 )) ([#59048 ](https://github.com/frappe/erpnext/issues/59048 )) ([7db6303 ](7db6303ac2 ))
* **subcontracting:** cannot select Against Finished Good on customer receipt (backport [#58949 ](https://github.com/frappe/erpnext/issues/58949 )) ([#58951 ](https://github.com/frappe/erpnext/issues/58951 )) ([df62766 ](df62766157 ))
* **subcontracting:** validate project across the subcontracting flow ([#58965 ](https://github.com/frappe/erpnext/issues/58965 )) ([0095560 ](0095560dc7 ))
* sync translations from crowdin (version-16-hotfix) ([#59052 ](https://github.com/frappe/erpnext/issues/59052 )) ([442fcd3 ](442fcd33e9 ))
* validate shelf life for automatically created expiring batches ([#58911 ](https://github.com/frappe/erpnext/issues/58911 )) ([fa504b8 ](fa504b87db ))
### Features
* **stock:** multi select item and warehouse filters in warehouse wise item balance ([bf33bc1 ](bf33bc17c0 ))
2026-09-15 18:46:11 +00:00
Diptanil Saha
6441ecd784
Merge pull request #59073 from frappe/version-16-hotfix
...
chore: release v16
2026-09-16 00:14:39 +05:30
Khushi Rawat
78cac8ed09
Merge pull request #59083 from frappe/mergify/bp/version-16-hotfix/pr-58941
...
fix: asset depreciation table stays empty if you check the box before entering the amount (backport #58941 )
2026-09-16 00:03:31 +05:30
Khushi Rawat
9cf6582b4b
chore: remove unnecessary comments
...
(cherry picked from commit 514c3b45d0 )
2026-09-15 18:28:32 +00:00
Henil
dfde7d811c
fix(assets): discard stale set_finance_book responses
...
Rapid successive edits to Net Purchase Amount could fire overlapping
set_finance_book calls; if an older request's response arrived after a
newer one, it could overwrite Finance Books with values computed from
a stale amount. Now the callback only applies a response if the fields
it was based on still match the form's current values.
(cherry picked from commit 5a8126412a )
2026-09-15 18:28:32 +00:00
Henil
1652f6ea42
fix(assets): build Finance Books even when Calculate Depreciation is checked before Net Purchase Amount is entered
...
Previously, checking "Calculate Depreciation" (or picking the Item)
before typing in "Net Purchase Amount" left the Finance Books table
empty, because the depreciation schedule was only built at the moment
those fields already had values. Entering the amount afterward only
updated existing Finance Books rows, so an empty table stayed empty.
Now, entering the amount also builds Finance Books from scratch if it
was left empty, regardless of the order fields were filled in.
(cherry picked from commit 5d1ffa7fca )
2026-09-15 18:28:32 +00:00
Sudharsanan Ashok
105f62fa2c
Merge pull request #59013 from frappe/mergify/bp/version-16-hotfix/pr-58997
...
fix: prevent disabled items from being used in BOM (backport #58997 )
2026-09-15 22:07:31 +05:30
Sudharsanan Ashok
05e69f6777
Merge pull request #58943 from frappe/mergify/bp/version-16-hotfix/pr-58925
...
fix(stock): set item_name to fetch if empty in packing slip item (backport #58925 )
2026-09-15 17:59:09 +05:30
MochaMind
6f01469613
chore: update POT file ( #59046 )
2026-09-15 12:14:29 +02:00
Krishna Pramod Shirsath
05e89fe53f
Merge pull request #59005 from frappe/mergify/bp/version-16-hotfix/pr-58037
...
feat(stock): multi select item and warehouse filters in warehouse wise item balance (backport #58037 )
2026-09-15 15:00:21 +05:30
Mihir Kandoi
7db6303ac2
fix(stock): value stock entry rows as of the posting date (backport #59042 ) ( #59048 )
2026-09-15 12:14:04 +05:30
MochaMind
442fcd33e9
fix: sync translations from crowdin (version-16-hotfix) ( #59052 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-09-14 19:05:44 +02:00
Sudharsanan Ashok
d40d16c260
Merge pull request #59041 from frappe/mergify/bp/version-16-hotfix/pr-58965
...
fix(subcontracting): validate project across the subcontracting flow (backport #58965 )
2026-09-13 17:53:51 +05:30
Sudharsanan11
2add72ba36
fix: resolve conflicts
2026-09-13 12:12:10 +05:30
Sudharsanan Ashok
0095560dc7
fix(subcontracting): validate project across the subcontracting flow ( #58965 )
...
(cherry picked from commit fe25746feb )
# Conflicts:
# erpnext/subcontracting/doctype/subcontracting_order/test_subcontracting_order.py
# erpnext/subcontracting/doctype/subcontracting_receipt/mapper.py
# erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py
2026-09-13 06:29:25 +00:00
pandiyan
f1a7fd006d
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
Sudharsanan11
b86e7c672c
test(stock): cover multi select item and warehouse filters in warehouse wise item balance
...
three cases: multiple warehouses get a column each plus the total qty
column, a selected group warehouse still expands to its children, and
multiple items report side by side while unselected items stay out.
(cherry picked from commit eb4bb2cbce )
# Conflicts:
# erpnext/stock/report/warehouse_wise_item_balance_age_and_value/test_warehouse_wise_item_balance_age_and_value.py
2026-09-12 14:31:28 +05:30
Sudharsanan11
bf33bc17c0
feat(stock): multi select item and warehouse filters in warehouse wise item balance
...
the item and warehouse filters took one value at a time, so comparing a
few warehouses meant re-running the report for each one.
both are multiselectlist now, matching the stock balance report. the
warehouse column list unions the subtree of every selected warehouse,
and get_items passes a list through instead of wrapping it. plain string
values still work, so saved filters and existing callers are unaffected.
(cherry picked from commit 3c92a9e853 )
2026-09-12 14:31:28 +05:30
mergify[bot]
d4bacb7354
refactor(manufacturing): rename secondary item valuation type to "% of Component Cost" (backport #59021 ) ( #59022 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-12 06:19:45 +00:00
Pandiyan P
110192d9de
fix(stock): calculate batch bundle valuation per unit ( #58994 )
...
(cherry picked from commit 825d24f406 )
2026-09-11 12:51:30 +00:00
mergify[bot]
8672a6e604
fix(selling): list billable sales orders oldest first (backport #59010 ) ( #59011 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-11 12:19:12 +00:00
Shllokkk
ee2474aa9c
Merge pull request #58984 from Shllokkk/bom-cost-allocation-per-type-v16
...
fix: coerce cost_allocation_per to float in BOM cost allocation
2026-09-11 14:17:07 +05:30
mergify[bot]
a9f3d69fbe
fix(accounts): add permission checks on invoice_discounting.get_invoices (backport #58975 ) ( #58990 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-11 04:30:00 +00:00
mergify[bot]
d0b8379404
fix(regional)!: remove irs_1099_print whitelisted method (backport #58976 ) ( #58992 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-11 04:22:56 +00:00
mergify[bot]
9bc98efe2f
fix(accounts): add permission checks on execute_repost_payment_ledger (backport #58980 ) ( #58982 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-11 09:38:32 +05:30
Shllokkk
1918ed6a3c
fix: coerce cost_allocation_per to float in BOM cost allocation
2026-09-10 22:23:57 +05:30
Mihir Kandoi
5d9cbd9755
fix(selling): exclude fully billed orders from the invoice picker (backport #58966 ) ( #58967 )
2026-09-10 20:50:40 +05:30
Khushi Rawat
c1f37750af
Merge pull request #58983 from khushi8112/fix/asset-type-toggle-reqd
...
fix(asset): recompute reference doc reqd on asset type change
2026-09-10 20:22:28 +05:30
khushi8112
6d447f6847
fix(asset): recompute reference doc reqd on asset type change
...
The asset_type change handler no longer called toggle_reference_doc, so
switching the asset type never cleared the mandatory flags on
purchase_receipt/purchase_invoice, throwing a mandatory error on the
first save.
2026-09-10 20:20:37 +05:30
mergify[bot]
6fb76eba71
fix(stock): do not rebuild the Warehouse tree on an account map miss (backport #58956 ) ( #58973 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-10 13:00:18 +00:00
Sudharsanan Ashok
8e73c94976
Merge pull request #58971 from frappe/mergify/bp/version-16-hotfix/pr-58969
...
fix: avoid TypeError on new Work Order when company is not set (backport #58969 )
2026-09-10 18:09:35 +05:30
Sudharsanan Ashok
2b15ad1389
Merge pull request #58947 from frappe/mergify/bp/version-16-hotfix/pr-58927
...
fix(manufacturing): handle empty raw materials in workstation (backport #58927 )
2026-09-10 18:09:19 +05:30
Sudharsanan Ashok
baf68a9ce7
Merge pull request #58945 from frappe/mergify/bp/version-16-hotfix/pr-58939
...
fix(manufacturing): handle empty bom cost allocation (backport #58939 )
2026-09-10 18:08:11 +05:30
Pandiyan P
e20501a15c
fix: avoid TypeError on new Work Order when company is not set ( #58969 )
...
Co-authored-by: Ajish18 <ajishiyappan1@gmail.com >
(cherry picked from commit d82c35aae9 )
2026-09-10 12:33:20 +00:00
Sudharsanan Ashok
2788704d81
Merge pull request #58970 from frappe/mergify/bp/version-16-hotfix/pr-58963
...
fix(mrp): align monthly bucket labels with demand dates (backport #58963 )
2026-09-10 17:57:57 +05:30
Sudharsanan Ashok
c5773e7899
fix(mrp): align monthly bucket labels with demand dates ( #58963 )
...
(cherry picked from commit b1e99a70ac )
2026-09-10 12:14:04 +00:00
pandiyan
3b787c9443
fix(manufacturing): handle empty raw materials in workstation ( #58927 )
...
(cherry picked from commit 3be0c7801a )
2026-09-10 11:38:15 +05:30
mergify[bot]
df62766157
fix(subcontracting): cannot select Against Finished Good on customer receipt (backport #58949 ) ( #58951 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-09 14:50:43 +00:00
Pandiyan P
77d8d5b3e2
fix(manufacturing): handle empty bom cost allocation ( #58939 )
...
(cherry picked from commit 33a066d568 )
2026-09-09 12:34:42 +00:00
Shllokkk
33a74a2730
Merge pull request #58944 from Shllokkk/maintain-same-rate-unsaved-rows-v16
...
fix(stock): preserve rates for unsaved mapped rows (backport #58852 )
2026-09-09 17:35:17 +05:30
Shllokkk
277c9a3b63
test: cover maintain-same-rate rate lock for batch items
2026-09-09 17:17:56 +05:30
Shllokkk
855d0385da
fix: keep each row's own rate under maintain same rate
2026-09-09 17:17:56 +05:30
Afsal Syed
9e5d87ac4a
fix(stock): set item_name to fetch if empty in packing slip item ( #58925 )
...
(cherry picked from commit f130c64530 )
2026-09-09 11:37:38 +00:00
mergify[bot]
a79abc0462
fix(selling): add email permission check on send_emails (backport #58935 ) ( #58938 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-09 16:04:33 +05:30
mergify[bot]
53e53390f4
fix(stock): ignore disabled price lists on transactions (backport #58926 ) ( #58931 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-09 10:10:27 +00:00
Shllokkk
79c8e4db7f
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
2026-09-09 15:03:59 +05:30
mergify[bot]
3856638d01
fix(accounts): stop counting received qty on non-stock invoice returns (backport #58924 ) ( #58929 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-09 09:11:46 +00:00
Sudharsanan Ashok
777480bab3
Merge pull request #58921 from frappe/mergify/bp/version-16-hotfix/pr-58896
...
fix(stock): remove empty delivery stops after mapping (backport #58896 )
2026-09-09 13:29:47 +05:30
Sudharsanan Ashok
834afed494
Merge pull request #58902 from frappe/mergify/bp/version-16-hotfix/pr-58792
...
fix: calculate holiday list totals for half days (backport #58792 )
2026-09-09 13:25:46 +05:30
Sudharsanan Ashok
4e3a3a3300
Merge pull request #58915 from frappe/mergify/bp/version-16-hotfix/pr-58911
...
fix: validate shelf life for automatically created expiring batches (backport #58911 )
2026-09-09 13:25:07 +05:30
Sudharsanan Ashok
38f26d248e
Merge pull request #58913 from frappe/mergify/bp/version-16-hotfix/pr-58893
...
fix: reset price list fallback when changing parties (backport #58893 )
2026-09-09 13:24:23 +05:30
Sudharsanan Ashok
add1d9f4e4
Merge pull request #58904 from frappe/mergify/bp/version-16-hotfix/pr-58889
...
fix(stock): guard inventory dimension lookup without reference document (backport #58889 )
2026-09-09 13:23:54 +05:30
Sudharsanan Ashok
7e16239d9a
Merge pull request #58901 from frappe/mergify/bp/version-16-hotfix/pr-58891
...
fix(accounts): reject disabled price lists in buying and selling (backport #58891 )
2026-09-09 13:23:23 +05:30
pandiyan
ca33019fdf
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:10:34 +05:30
Khushi Rawat
40d3ce5a5d
Merge pull request #58918 from frappe/mergify/bp/version-16-hotfix/pr-58909
...
fix: read posting date confirmation setting from boot data (backport #58909 )
2026-09-09 13:03:37 +05:30
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 P
fa504b87db
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:29 +00:00
Pandiyan P
6751264ba5
fix: reset price list fallback when changing parties ( #58893 )
...
(cherry picked from commit 4c32acf300 )
2026-09-09 06:56:32 +00:00
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
pandiyan
3d6afffcef
fix: calculate holiday list totals for half days ( #58792 )
...
(cherry picked from commit 51fb261b6b )
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
Co-authored-by: nareshkannasln <nareshkannashanmugam@gmail.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-09 09:40:32 +05:30
Pandiyan P
b21ca36428
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:13:05 +00:00
Pandiyan P
5bd623c4dd
fix(accounts): reject disabled price lists in buying and selling ( #58891 )
...
(cherry picked from commit f8c2f3440b )
2026-09-09 01:28:13 +00:00
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
Frappe PR Bot
4048fb70e1
chore(release): Bumped to Version 16.34.2
...
## [16.34.2](https://github.com/frappe/erpnext/compare/v16.34.1...v16.34.2 ) (2026-09-08)
### Bug Fixes
* **accounts:** enforce account field allow-list on financial report filters (backport [#58790 ](https://github.com/frappe/erpnext/issues/58790 )) ([#58849 ](https://github.com/frappe/erpnext/issues/58849 )) ([6e39b42 ](6e39b42137 ))
* **accounts:** reject same-account internal transfers (backport [#58529 ](https://github.com/frappe/erpnext/issues/58529 )) ([#58877 ](https://github.com/frappe/erpnext/issues/58877 )) ([6ec3035 ](6ec30350d2 ))
* **accounts:** round journal entry totals to field precision (backport [#58629 ](https://github.com/frappe/erpnext/issues/58629 )) ([#58875 ](https://github.com/frappe/erpnext/issues/58875 )) ([9fff01d ](9fff01db32 ))
* add reconciliation after submit logic for bank transactions ([#57330 ](https://github.com/frappe/erpnext/issues/57330 )) ([0a60d68 ](0a60d6805f ))
* **bank reconciliation:** match Payment Entries on the bank-side amount (backport [#57740 ](https://github.com/frappe/erpnext/issues/57740 )) ([#58765 ](https://github.com/frappe/erpnext/issues/58765 )) ([189bd1f ](189bd1f39d ))
* **banking:** Federal bank dark logo (backport [#58844 ](https://github.com/frappe/erpnext/issues/58844 )) ([#58845 ](https://github.com/frappe/erpnext/issues/58845 )) ([3cc73e4 ](3cc73e4282 ))
* **banking:** find transfers on the same day (backport [#58766 ](https://github.com/frappe/erpnext/issues/58766 )) ([#58767 ](https://github.com/frappe/erpnext/issues/58767 )) ([8229aea ](8229aeaead ))
* **banking:** UI cleanup and better statement parsing (backport [#58817 ](https://github.com/frappe/erpnext/issues/58817 )) ([#58824 ](https://github.com/frappe/erpnext/issues/58824 )) ([0610708 ](0610708d78 ))
* **batch:** show Expired status only after expiry date has passed ([#58736 ](https://github.com/frappe/erpnext/issues/58736 )) ([0684599 ](0684599bdb ))
* check material request price list permission ([#58740 ](https://github.com/frappe/erpnext/issues/58740 )) ([e5b1ff6 ](e5b1ff667d ))
* check write permission in whitelisted document methods (backport [#58689 ](https://github.com/frappe/erpnext/issues/58689 )) ([#58701 ](https://github.com/frappe/erpnext/issues/58701 )) ([074f9f0 ](074f9f0828 ))
* **crm:** check read permission on lead in add_lead_to_prospect ([2cc1a51 ](2cc1a51d9a ))
* fetch accounts by company (backport [#58523 ](https://github.com/frappe/erpnext/issues/58523 )) ([#58879 ](https://github.com/frappe/erpnext/issues/58879 )) ([75cb796 ](75cb796477 ))
* **gross-profit:** include item_name in export (backport [#58631 ](https://github.com/frappe/erpnext/issues/58631 )) ([#58864 ](https://github.com/frappe/erpnext/issues/58864 )) ([59b80b9 ](59b80b903a ))
* **journal-entry:** avoid full grid re-render per row in set_exchange_rate (backport [#58328 ](https://github.com/frappe/erpnext/issues/58328 )) ([#58803 ](https://github.com/frappe/erpnext/issues/58803 )) ([8b51005 ](8b51005525 ))
* **manufacturing:** account for process loss in Production Plan Work Orders (backport [#58799 ](https://github.com/frappe/erpnext/issues/58799 )) ([#58838 ](https://github.com/frappe/erpnext/issues/58838 )) ([cfdf976 ](cfdf97601a ))
* **manufacturing:** apply MOQ once across Production Plan rows (v16) ([#58831 ](https://github.com/frappe/erpnext/issues/58831 )) ([f6dbb31 ](f6dbb3131d ))
* **manufacturing:** apply safety stock once across Production Plan rows (v16) ([#58832 ](https://github.com/frappe/erpnext/issues/58832 )) ([4719ad9 ](4719ad9b91 ))
* **manufacturing:** share transfer stock across Production Plan rows (v16) ([#58834 ](https://github.com/frappe/erpnext/issues/58834 )) ([e59fb39 ](e59fb396e5 ))
* **manufacturing:** sum consolidated sub-assembly required quantity (v16) ([#58833 ](https://github.com/frappe/erpnext/issues/58833 )) ([a7c5ab8 ](a7c5ab89e8 ))
* minor improvements to financial report template validation ([#58724 ](https://github.com/frappe/erpnext/issues/58724 )) ([d23b407 ](d23b407ec7 ))
* order smallest purchase UOM qty that meets min order qty (backport [#57883 ](https://github.com/frappe/erpnext/issues/57883 )) ([#58813 ](https://github.com/frappe/erpnext/issues/58813 )) ([28f0ac5 ](28f0ac5287 ))
* persist rendered terms on transaction save ([#58858 ](https://github.com/frappe/erpnext/issues/58858 )) ([89872eb ](89872ebb37 ))
* **pos:** use company-currency change amount when netting pos gl entries (backport [#58599 ](https://github.com/frappe/erpnext/issues/58599 )) ([#58678 ](https://github.com/frappe/erpnext/issues/58678 )) ([06057cc ](06057ccfc0 ))
* prevent duplicate Batch messages and Project links ([#58705 ](https://github.com/frappe/erpnext/issues/58705 )) ([2dc2a04 ](2dc2a04522 ))
* resolve code lists by URI and version (backport [#58770 ](https://github.com/frappe/erpnext/issues/58770 )) ([#58772 ](https://github.com/frappe/erpnext/issues/58772 )) ([31319bd ](31319bd36e ))
* resolve conflicts ([d4b52c2 ](d4b52c236a ))
* restore hover tooltip on Profit and Loss dashboard chart ([bb26f8f ](bb26f8f7b9 ))
* **selling:** fetch orders within billing allowance (backport [#58751 ](https://github.com/frappe/erpnext/issues/58751 )) ([#58820 ](https://github.com/frappe/erpnext/issues/58820 )) ([817926c ](817926ca2e ))
* **setup:** strict permissions for transaction deletion record (backport [#58687 ](https://github.com/frappe/erpnext/issues/58687 )) ([#58723 ](https://github.com/frappe/erpnext/issues/58723 )) ([dfb64d7 ](dfb64d7635 ))
* show cost center for unmatched payments in receivables (backport [#58453 ](https://github.com/frappe/erpnext/issues/58453 )) ([#58881 ](https://github.com/frappe/erpnext/issues/58881 )) ([51bf7cb ](51bf7cb241 ))
* **stock:** allow creating stock closing balances (backport [#58590 ](https://github.com/frappe/erpnext/issues/58590 )) ([#58685 ](https://github.com/frappe/erpnext/issues/58685 )) ([a1c8dc8 ](a1c8dc878d ))
* **stock:** carry accounting dimensions from landed cost voucher charges into gl entries ([0c7be31 ](0c7be311b8 ))
* **stock:** recalculate delivery note billing after return ([#58869 ](https://github.com/frappe/erpnext/issues/58869 )) ([7bb19c8 ](7bb19c89b1 ))
* **subcontracting:** add condition to exclude tax withholding accounts in purchase receipt mapping ([15a531f ](15a531f03f ))
* sync translations from crowdin (version-16-hotfix) ([#58580 ](https://github.com/frappe/erpnext/issues/58580 )) ([6971c80 ](6971c80743 ))
* **timesheet:** handle empty allowed projects (backport [#58745 ](https://github.com/frappe/erpnext/issues/58745 )) ([#58746 ](https://github.com/frappe/erpnext/issues/58746 )) ([f75601e ](f75601e9b1 ))
* use account currency in Bank Reconciliation Statement print (backport [#58692 ](https://github.com/frappe/erpnext/issues/58692 )) ([#58871 ](https://github.com/frappe/erpnext/issues/58871 )) ([b1bf95d ](b1bf95d5b3 ))
* user not able to set valuation rate zero in stock reco (backport [#58800 ](https://github.com/frappe/erpnext/issues/58800 )) ([#58823 ](https://github.com/frappe/erpnext/issues/58823 )) ([fb13222 ](fb132225d7 ))
### Reverts
* **manufacturing:** remove material coverage changes on version 16 ([#58716 ](https://github.com/frappe/erpnext/issues/58716 )) ([82392fa ](82392fa747 ))
2026-09-08 13:23:31 +00:00
Diptanil Saha
cc57a7cf55
Merge pull request #58868 from frappe/version-16-hotfix
...
chore: release v16
2026-09-08 18:50:53 +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
Vishnu Priya Baskaran
0a60d6805f
fix: add reconciliation after submit logic for bank transactions ( #57330 )
...
Co-authored-by: Poovetha <poovethapalanivelu@gmail.com >
(cherry picked from commit c3319d74cf )
2026-09-04 11:36:02 +00:00
Shllokkk
d48bb40969
Merge pull request #58691 from frappe/mergify/bp/version-16-hotfix/pr-58684
...
fix(crm): check read permission on lead in add_lead_to_prospect (backport #58684 )
2026-09-04 16:45:00 +05:30
Mihir Kandoi
82392fa747
revert(manufacturing): remove material coverage changes on version 16 ( #58716 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-04 14:32:47 +05:30
Pandiyan P
2dc2a04522
fix: prevent duplicate Batch messages and Project links ( #58705 )
...
(cherry picked from commit 5895ed0ee9 )
2026-09-04 09:01:37 +00:00
Sagar Vora
48983c5ef0
Merge pull request #58756 from frappe/mergify/bp/version-16-hotfix/pr-58724
...
fix: minor improvements to financial report template validation (backport #58724 )
2026-09-04 14:22:37 +05:30
Abdeali Chharchhodawala
d23b407ec7
fix: minor improvements to financial report template validation ( #58724 )
...
* fix: address review comments on financial report template validation
* refactor: minor fixes
(cherry picked from commit 1b7da82669 )
2026-09-04 08:31:55 +00:00
Sudharsanan Ashok
770726d8f5
Merge pull request #58754 from frappe/mergify/bp/version-16-hotfix/pr-58740
...
fix: check material request price list permission (backport #58740 )
2026-09-04 13:07:14 +05:30
Pandiyan P
e5b1ff667d
fix: check material request price list permission ( #58740 )
...
(cherry picked from commit 0b1f1d6851 )
2026-09-04 07:33:18 +00:00
Sudharsanan Ashok
d8236548be
Merge pull request #58749 from frappe/mergify/bp/version-16-hotfix/pr-58736
...
fix(batch): show Expired status only after expiry date has passed (backport #58736 )
2026-09-04 13:00:00 +05:30
mergify[bot]
f75601e9b1
fix(timesheet): handle empty allowed projects (backport #58745 ) ( #58746 )
...
Co-authored-by: Krishna Pramod Shirsath <91021227+krishna-254@users.noreply.github.com >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-04 07:02:33 +00:00
Pandiyan P
0684599bdb
fix(batch): show Expired status only after expiry date has passed ( #58736 )
...
Co-authored-by: Ajish18 <ajishiyappan1@gmail.com >
(cherry picked from commit 00f04fc084 )
2026-09-04 06:51:16 +00:00
mergify[bot]
a1c8dc878d
fix(stock): allow creating stock closing balances (backport #58590 ) ( #58685 )
...
* fix(stock): allow creating stock closing balances (#58590 )
(cherry picked from commit 2918e98a2b )
# Conflicts:
# erpnext/stock/doctype/stock_closing_entry/test_stock_closing_entry.py
* chore: fix conflicts
Removed redundant test cases and cleaned up the test structure for StockClosingEntry.
---------
Co-authored-by: Krishna Pramod Shirsath <91021227+krishna-254@users.noreply.github.com >
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-09-03 10:29:34 +00:00
mergify[bot]
dfb64d7635
fix(setup): strict permissions for transaction deletion record (backport #58687 ) ( #58723 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-03 15:07:48 +05:30
mergify[bot]
b0ddca0455
ci: authenticate github clones in install.sh (backport #58718 ) ( #58720 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-03 09:27:42 +00:00
Frappe PR Bot
0b50853985
chore(release): Bumped to Version 16.34.1
...
## [16.34.1](https://github.com/frappe/erpnext/compare/v16.34.0...v16.34.1 ) (2026-09-02)
### Bug Fixes
* filter cancelled BOMs in BOM Stock Analysis (backport [#58647 ](https://github.com/frappe/erpnext/issues/58647 )) ([#58693 ](https://github.com/frappe/erpnext/issues/58693 )) ([d6f9dde ](d6f9dde3cb ))
* improve message formatting and translation for validation issues ([#58425 ](https://github.com/frappe/erpnext/issues/58425 )) ([a43de7c ](a43de7ce95 ))
* include payment deductions in sales/purchase register ledger bal… (backport [#58437 ](https://github.com/frappe/erpnext/issues/58437 )) ([#58680 ](https://github.com/frappe/erpnext/issues/58680 )) ([4137401 ](41374019ba ))
2026-09-02 12:24:04 +00:00
Sagar Vora
c19ddf187e
Merge pull request #58707 from frappe/version-16-hotfix
...
chore: release v16
2026-09-02 17:51:22 +05:30
Sagar Vora
5f13a04633
Merge pull request #58704 from frappe/mergify/bp/version-16-hotfix/pr-58697
...
fix!: improve validation in financial report template (backport #58697 )
2026-09-02 17:41:50 +05:30
Sagar Vora
7aad59b129
fix!: improve validation in financial report template
2026-09-02 17:31:36 +05:30
Sagar Vora
7c61dfe3e0
Merge pull request #58487 from frappe/mergify/bp/version-16-hotfix/pr-58425
...
fix: improve message formatting and translation for validation issues (backport #58425 )
2026-09-02 17:24:03 +05:30
mergify[bot]
41374019ba
fix: include payment deductions in sales/purchase register ledger bal… (backport #58437 ) ( #58680 )
2026-09-02 17:00:42 +05:30
mergify[bot]
d6f9dde3cb
fix: filter cancelled BOMs in BOM Stock Analysis (backport #58647 ) ( #58693 )
2026-09-02 15:28:17 +05:30
Shllokkk
2cc1a51d9a
fix(crm): check read permission on lead in add_lead_to_prospect
...
(cherry picked from commit 02fcdc0337 )
# Conflicts:
# erpnext/crm/doctype/lead/lead.py
2026-09-02 15:00:56 +05:30
Frappe PR Bot
80c2c9e0e0
chore(release): Bumped to Version 16.34.0
...
# [16.34.0](https://github.com/frappe/erpnext/compare/v16.33.0...v16.34.0 ) (2026-09-02)
### Bug Fixes
* **accounts:** add permission checks on payment entry whitelisted methods ([#58644 ](https://github.com/frappe/erpnext/issues/58644 )) ([c745558 ](c745558168 ))
* **accounts:** added permission checks on `get_available_payment_schedules` (backport [#58588 ](https://github.com/frappe/erpnext/issues/58588 )) ([#58595 ](https://github.com/frappe/erpnext/issues/58595 )) ([765a773 ](765a7736ed ))
* **accounts:** guard get_gl_dict for v16 and drop unused base_gl_composer ([abf311e ](abf311e8ca ))
* **accounts:** prevent child table doctypes as accounting dimensions ([6dbaa50 ](6dbaa5048e ))
* **accounts:** resolve subscription plans for any reference doctype in Payment Request (backport [#58438 ](https://github.com/frappe/erpnext/issues/58438 )) ([#58450 ](https://github.com/frappe/erpnext/issues/58450 )) ([3c63fff ](3c63fffcb6 ))
* **accounts:** set pos profile on invoices respecting user permissions (backport [#58508 ](https://github.com/frappe/erpnext/issues/58508 )) ([#58519 ](https://github.com/frappe/erpnext/issues/58519 )) ([23290a6 ](23290a60da ))
* add missing perm checks on various whitelisted methods (backport [#58652 ](https://github.com/frappe/erpnext/issues/58652 )) ([#58654 ](https://github.com/frappe/erpnext/issues/58654 )) ([86e9480 ](86e9480362 ))
* add type hints to make_request_for_quotation ([4435f16 ](4435f166ea ))
* clarify duplicate internal party messages ([#58469 ](https://github.com/frappe/erpnext/issues/58469 )) ([f0e603a ](f0e603aec5 ))
* **company:** throw if linked to demo_company field ([9f3dd7e ](9f3dd7eabd ))
* correct is_frozen description on customer and supplier ([#58168 ](https://github.com/frappe/erpnext/issues/58168 )) ([9e00888 ](9e00888d67 ))
* **crm:** add missing permission validation on `get_contract_template` (backport [#58621 ](https://github.com/frappe/erpnext/issues/58621 )) ([#58623 ](https://github.com/frappe/erpnext/issues/58623 )) ([30f0cd9 ](30f0cd9c95 ))
* **crm:** check write permission in edit_note ([c2261f6 ](c2261f6129 ))
* **crm:** validate contact email before saving an email campaign (backport [#58667 ](https://github.com/frappe/erpnext/issues/58667 )) ([#58672 ](https://github.com/frappe/erpnext/issues/58672 )) ([f22f84a ](f22f84a58a ))
* do not map the same row twice in "Get Items From" (backport [#58617 ](https://github.com/frappe/erpnext/issues/58617 )) ([#58619 ](https://github.com/frappe/erpnext/issues/58619 )) ([f3379b4 ](f3379b4694 ))
* explain missing fields when loading party details or taxes (backport [#58627 ](https://github.com/frappe/erpnext/issues/58627 )) ([#58628 ](https://github.com/frappe/erpnext/issues/58628 )) ([8a8bafd ](8a8bafd6cb ))
* filter fully ordered items when creating RFQ from Material Request ([9b1d907 ](9b1d907b6a ))
* handle BOM price list currency update (backport [#58638 ](https://github.com/frappe/erpnext/issues/58638 )) ([#58639 ](https://github.com/frappe/erpnext/issues/58639 )) ([fb74a03 ](fb74a030de ))
* **manufacturing:** account for pending job card qty ([#58466 ](https://github.com/frappe/erpnext/issues/58466 )) ([7b9cdb4 ](7b9cdb4926 ))
* **manufacturing:** classify MRP items without a BOM as Purchase (backport [#58509 ](https://github.com/frappe/erpnext/issues/58509 )) ([#58513 ](https://github.com/frappe/erpnext/issues/58513 )) ([ee3b224 ](ee3b22403d ))
* **manufacturing:** handle duplicate root BOM items (backport [#58614 ](https://github.com/frappe/erpnext/issues/58614 )) ([#58616 ](https://github.com/frappe/erpnext/issues/58616 )) ([22755c4 ](22755c4ad6 ))
* **manufacturing:** preserve job card qty in mr transfer (backport [#58482 ](https://github.com/frappe/erpnext/issues/58482 )) ([#58499 ](https://github.com/frappe/erpnext/issues/58499 )) ([76d0cb3 ](76d0cb382d ))
* **manufacturing:** use item warehouses in production plan work orders ([#58663 ](https://github.com/frappe/erpnext/issues/58663 )) ([ec392a7 ](ec392a7bcf ))
* **manufacturing:** use packed row delivery date ([#58570 ](https://github.com/frappe/erpnext/issues/58570 )) ([e64fddf ](e64fddfad5 ))
* persist redistributed additional costs during stock entry repost (backport [#58433 ](https://github.com/frappe/erpnext/issues/58433 )) ([#58533 ](https://github.com/frappe/erpnext/issues/58533 )) ([629bc20 ](629bc20e90 ))
* **pos:** add permission checks on `get_invoices` (backport [#58591 ](https://github.com/frappe/erpnext/issues/58591 )) ([#58597 ](https://github.com/frappe/erpnext/issues/58597 )) ([d95eeb0 ](d95eeb0f6a ))
* **projects:** check read permission on source in create_duplicate_project ([bd35957 ](bd35957582 ))
* **projects:** ignore cancelled invoices in timesheet portal (backport [#58501 ](https://github.com/frappe/erpnext/issues/58501 )) ([#58504 ](https://github.com/frappe/erpnext/issues/58504 )) ([d732d06 ](d732d06e25 ))
* round party balances to currency precision in Trial Balance for Party ([956a6ed ](956a6ed407 ))
* **selling:** check quotation write permission before marking lost ([#58493 ](https://github.com/frappe/erpnext/issues/58493 )) ([4e74831 ](4e74831a08 ))
* **selling:** check sales order permission before work order creation (backport [#58492 ](https://github.com/frappe/erpnext/issues/58492 )) ([#58497 ](https://github.com/frappe/erpnext/issues/58497 )) ([2b8e12e ](2b8e12ef44 ))
* **sms_settings:** add patch to pre-fill roles into SMS Settings Roles Table ([4b89ddf ](4b89ddffde ))
* **stock:** auto-select batch no before saving transaction records (backport [#58536 ](https://github.com/frappe/erpnext/issues/58536 )) ([#58539 ](https://github.com/frappe/erpnext/issues/58539 )) ([eb4c327 ](eb4c327a2b ))
* **stock:** ignore cancelled batch entries in valuation (backport [#58659 ](https://github.com/frappe/erpnext/issues/58659 )) ([#58660 ](https://github.com/frappe/erpnext/issues/58660 )) ([f4ed4ca ](f4ed4cae64 ))
* **stock:** keep pick list links when refetching stock entry items ([01e0844 ](01e0844d40 ))
* **stock:** load available serial no report (backport [#58558 ](https://github.com/frappe/erpnext/issues/58558 )) ([#58562 ](https://github.com/frappe/erpnext/issues/58562 )) ([06758f2 ](06758f2792 ))
* **stock:** preserve exchange gain loss journals in lcv ([#58505 ](https://github.com/frappe/erpnext/issues/58505 )) ([1242316 ](124231681a ))
* **stock:** validate serial inventory dimensions ([#58394 ](https://github.com/frappe/erpnext/issues/58394 )) ([a1aabaf ](a1aabaff18 ))
* sum item and its alternate transferred qty on work order required items ([1411835 ](1411835507 ))
* sync translations from crowdin (version-16-hotfix) ([#58455 ](https://github.com/frappe/erpnext/issues/58455 )) ([c924de3 ](c924de3c55 ))
* **taxes:** skip tax addition for invoice created from opening invoice tool ([bfbc13d ](bfbc13d147 ))
* **timesheet:** scoping whitelisted methods output to projects and timesheets that are acccessible to users (backport [#58267 ](https://github.com/frappe/erpnext/issues/58267 )) ([#58577 ](https://github.com/frappe/erpnext/issues/58577 )) ([4f409e5 ](4f409e5ccf ))
* translate doctype in map msg (backport [#58515 ](https://github.com/frappe/erpnext/issues/58515 )) ([#58517 ](https://github.com/frappe/erpnext/issues/58517 )) ([f0d2d40 ](f0d2d40d35 ))
* translate label in party validation (backport [#58624 ](https://github.com/frappe/erpnext/issues/58624 )) ([#58626 ](https://github.com/frappe/erpnext/issues/58626 )) ([9bb8d4f ](9bb8d4ff93 ))
* validate items against source Sales Order in Material Request ([6546646 ](65466464df ))
* validate POS Settings invoice and search fields on the server (backport [#58611 ](https://github.com/frappe/erpnext/issues/58611 )) ([#58620 ](https://github.com/frappe/erpnext/issues/58620 )) ([f8c2927 ](f8c29274a5 ))
* Work Order picks wrong Delivery Date when Sales Order has the same item in multiple rows ([#58526 ](https://github.com/frappe/erpnext/issues/58526 )) ([cb4ec72 ](cb4ec72370 ))
### Features
* **analytics:** filter sales and purchase analytics by entity ([#58402 ](https://github.com/frappe/erpnext/issues/58402 )) ([655ed81 ](655ed81575 ))
* **manufacturing:** add multi-currency support to Blanket Orders (backport [#58472 ](https://github.com/frappe/erpnext/issues/58472 )) ([#58630 ](https://github.com/frappe/erpnext/issues/58630 )) ([ff656b9 ](ff656b9ad2 ))
* valuation type for BOM secondary items (backport [#58431 ](https://github.com/frappe/erpnext/issues/58431 )) ([#58632 ](https://github.com/frappe/erpnext/issues/58632 )) ([1b44df4 ](1b44df480f ))
2026-09-02 07:13:39 +00:00
Diptanil Saha
600cbf36af
Merge pull request #58645 from frappe/version-16-hotfix
...
chore: release v16
2026-09-02 12:42:03 +05:30
mergify[bot]
3c63fffcb6
fix(accounts): resolve subscription plans for any reference doctype in Payment Request (backport #58438 ) ( #58450 )
...
Co-authored-by: jatin3128 <jatinsarna64@gmail.com >
2026-09-02 12:18:17 +05:30
Sudharsanan Ashok
d3b8324819
Merge pull request #58665 from frappe/mergify/bp/version-16-hotfix/pr-58663
...
fix(manufacturing): use item warehouses in production plan work orders (backport #58663 )
2026-09-02 12:05:04 +05:30
Sudharsanan Ashok
46db04ecf8
Merge pull request #58675 from frappe/mergify/bp/version-16-hotfix/pr-58505
...
fix(stock): preserve exchange gain loss journals in lcv (backport #58505 )
2026-09-02 12:03:51 +05:30
Shllokkk
75356265be
Merge pull request #58535 from Shllokkk/mr-rfq-filter-pending-qty-v16
...
fix: filter fully ordered items when creating RFQ from Material Request
2026-09-02 11:46:07 +05:30
Pandiyan P
124231681a
fix(stock): preserve exchange gain loss journals in lcv ( #58505 )
...
(cherry picked from commit 2b54a581f8 )
2026-09-02 06:15:05 +00:00
mergify[bot]
f22f84a58a
fix(crm): validate contact email before saving an email campaign (backport #58667 ) ( #58672 )
...
Co-authored-by: kaulith <64089478+kaulith@users.noreply.github.com >
2026-09-02 11:42:32 +05:30
Shllokkk
5af60cf2e3
test: set schedule date on PO before insert
2026-09-02 11:33:03 +05:30
Shllokkk
4435f166ea
fix: add type hints to make_request_for_quotation
2026-09-02 11:33:03 +05:30
Shllokkk
5adcb28b3c
test: RFQ from Material Request skips fully ordered items
2026-09-02 11:33:02 +05:30
Shllokkk
9b1d907b6a
fix: filter fully ordered items when creating RFQ from Material Request
2026-09-02 11:33:02 +05:30
pandiyan
ec392a7bcf
fix(manufacturing): use item warehouses in production plan work orders ( #58663 )
...
(cherry picked from commit e74ab38eeb )
# Conflicts:
# erpnext/manufacturing/doctype/production_plan/services/work_order_planning.py
2026-09-02 10:36:32 +05:30
mergify[bot]
f4ed4cae64
fix(stock): ignore cancelled batch entries in valuation (backport #58659 ) ( #58660 )
...
fix(stock): ignore cancelled batch entries in valuation (#58659 )
(cherry picked from commit a9b857bdfe )
# Conflicts:
# erpnext/stock/serial_batch_bundle.py
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-09-01 16:08:38 +00:00
mergify[bot]
2b8e12ef44
fix(selling): check sales order permission before work order creation (backport #58492 ) ( #58497 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-09-01 21:30:33 +05:30
mergify[bot]
86e9480362
fix: add missing perm checks on various whitelisted methods (backport #58652 ) ( #58654 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-01 14:01:40 +00:00
mergify[bot]
4f409e5ccf
fix(timesheet): scoping whitelisted methods output to projects and timesheets that are acccessible to users (backport #58267 ) ( #58577 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-01 12:09:00 +00:00
Shllokkk
01fecfe093
Merge pull request #58649 from frappe/mergify/bp/version-16-hotfix/pr-58607
...
fix: round party balances to currency precision in Trial Balance for Party (backport #58607 )
2026-09-01 16:42:57 +05:30
Shllokkk
956a6ed407
fix: round party balances to currency precision in Trial Balance for Party
...
(cherry picked from commit b1c7657dfa )
2026-09-01 09:49:43 +00:00
Diptanil Saha
c745558168
fix(accounts): add permission checks on payment entry whitelisted methods ( #58644 )
2026-09-01 09:24:40 +00:00
mergify[bot]
fb74a030de
fix: handle BOM price list currency update (backport #58638 ) ( #58639 )
...
fix: handle BOM price list currency update (#58638 )
(cherry picked from commit db52e465d0 )
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-09-01 13:40:51 +05:30
Aarol D'Souza
de28957008
Merge pull request #58637 from frappe/mergify/bp/version-16-hotfix/pr-58586
...
fix(sms_settings): add patch to pre-fill roles into SMS Settings Role Table (backport #58586 )
2026-09-01 13:05:22 +05:30
AarDG10
9ee421424f
chore: resolve conflicts
2026-09-01 12:51:04 +05:30
AarDG10
4b89ddffde
fix(sms_settings): add patch to pre-fill roles into SMS Settings Roles Table
...
(cherry picked from commit 3501beb2bd )
# Conflicts:
# erpnext/patches.txt
2026-09-01 07:18:30 +00:00
Mihir Kandoi
1b44df480f
feat: valuation type for BOM secondary items (backport #58431 ) ( #58632 )
2026-09-01 11:45:52 +05:30
Mihir Kandoi
ff656b9ad2
feat(manufacturing): add multi-currency support to Blanket Orders (backport #58472 ) ( #58630 )
2026-09-01 11:39:26 +05:30
mergify[bot]
22755c4ad6
fix(manufacturing): handle duplicate root BOM items (backport #58614 ) ( #58616 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-09-01 02:54:09 +00:00
mergify[bot]
8a8bafd6cb
fix: explain missing fields when loading party details or taxes (backport #58627 ) ( #58628 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-09-01 01:53:59 +02:00
mergify[bot]
9bb8d4ff93
fix: translate label in party validation (backport #58624 ) ( #58626 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-09-01 00:54:12 +02:00
mergify[bot]
30f0cd9c95
fix(crm): add missing permission validation on get_contract_template (backport #58621 ) ( #58623 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-31 19:40:50 +00:00
mergify[bot]
f8c29274a5
fix: validate POS Settings invoice and search fields on the server (backport #58611 ) ( #58620 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-09-01 00:08:37 +05:30
mergify[bot]
f3379b4694
fix: do not map the same row twice in "Get Items From" (backport #58617 ) ( #58619 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-08-31 19:40:59 +02:00
Lakshit Jain
2390d48c01
Merge pull request #58602 from frappe/mergify/bp/version-16-hotfix/pr-58483
...
fix(taxes): skip tax addition for invoice created from opening invoice tool (backport #58483 )
2026-08-31 18:38:56 +05:30
mergify[bot]
765a7736ed
fix(accounts): added permission checks on get_available_payment_schedules (backport #58588 ) ( #58595 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-31 17:14:27 +05:30
mergify[bot]
d95eeb0f6a
fix(pos): add permission checks on get_invoices (backport #58591 ) ( #58597 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-31 17:14:16 +05:30
ljain112
32393caa39
chore: resolve conflicts
2026-08-31 16:54:30 +05:30
mergify[bot]
c7582e986d
fix/payment-request-subscription-plans-population (backport #57494 ) ( #58430 )
...
* fix(payment-request): populate subscription plans (#57494 )
* fix(payment-request): populate subscription plans
* test: add coverage for subscription plans in payment request
---------
Co-authored-by: Dharanidharan2813 <dharanidharans1328@gmail.com >
(cherry picked from commit 1b81db4754 )
# Conflicts:
# erpnext/accounts/doctype/payment_request/payment_request.py
# erpnext/accounts/doctype/payment_request/test_payment_request.py
* fix(payment-request): resolve cherry-pick conflicts for version-16-hotfix backport
---------
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
Co-authored-by: ervishnucs <ervishnucs369@gmail.com >
Co-authored-by: Jatin3128 <140256508+Jatin3128@users.noreply.github.com >
2026-08-31 16:28:20 +05:30
ljain112
bfbc13d147
fix(taxes): skip tax addition for invoice created from opening invoice tool
...
(cherry picked from commit e08a166281 )
# Conflicts:
# erpnext/accounts/services/taxes.py
2026-08-31 09:35:42 +00:00
Nishka Gosalia
40fe739c9e
Merge pull request #58592 from frappe/mergify/bp/version-16-hotfix/pr-58325
...
fix(projects): check read permission on source in create_duplicate_project (backport #58325 )
2026-08-31 14:17:07 +05:30
Shllokkk
bd35957582
fix(projects): check read permission on source in create_duplicate_project
...
(cherry picked from commit 8c8b282a2e )
2026-08-31 07:10:45 +00:00
ervishnucs
6e22947c2c
test(stock): cover accounting dimensions on landed cost vouchers
2026-08-30 22:59:38 +05:30
ervishnucs
0c7be311b8
fix(stock): carry accounting dimensions from landed cost voucher charges into gl entries
2026-08-30 22:59:36 +05:30
Mihir Kandoi
e64fddfad5
fix(manufacturing): use packed row delivery date ( #58570 )
2026-08-30 11:06:06 +00:00
MochaMind
ac61e6ac0d
chore: update POT file ( #58567 )
2026-08-30 13:01:08 +02:00
Henil Maru
cb4ec72370
fix: Work Order picks wrong Delivery Date when Sales Order has the same item in multiple rows ( #58526 )
2026-08-30 15:56:28 +05:30
mergify[bot]
06758f2792
fix(stock): load available serial no report (backport #58558 ) ( #58562 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-08-29 14:56:27 +00:00
mergify[bot]
01a398f263
refactor(stock): remove dead warehouse_condition branch on get_stock_ledger_entries (backport #58552 ) ( #58554 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-29 17:55:34 +05:30
Shllokkk
446b5375e4
Merge pull request #58544 from frappe/mergify/bp/version-16-hotfix/pr-58324
...
fix(crm): check write permission in edit_note (backport #58324 )
2026-08-29 13:27:56 +05:30
Shllokkk
c6082617ec
chore: resolving conflicts
2026-08-29 13:03:59 +05:30
Shllokkk
c2261f6129
fix(crm): check write permission in edit_note
...
(cherry picked from commit eb49f51d29 )
# Conflicts:
# erpnext/crm/utils.py
2026-08-28 15:05:24 +00:00
mergify[bot]
eb4c327a2b
fix(stock): auto-select batch no before saving transaction records (backport #58536 ) ( #58539 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-28 12:06:38 +00:00
mergify[bot]
629bc20e90
fix: persist redistributed additional costs during stock entry repost (backport #58433 ) ( #58533 )
...
fix: persist redistributed additional costs during stock entry repost (#58433 )
* fix: persist redistributed additional costs during stock entry repost
* test: cover additional cost persistence on stock entry recalculation
(cherry picked from commit 074c84e880 )
Co-authored-by: Afsal Syed <146159709+Afsalsyed@users.noreply.github.com >
2026-08-28 10:34:20 +00:00
Sudharsanan Ashok
cc73c3b879
Merge pull request #58495 from frappe/mergify/bp/version-16-hotfix/pr-58493
...
fix(selling): check quotation write permission before marking lost (backport #58493 )
2026-08-28 13:11:58 +05:30
pandiyan
4e74831a08
fix(selling): check quotation write permission before marking lost ( #58493 )
...
(cherry picked from commit 5f99a3418d )
# Conflicts:
# erpnext/selling/doctype/quotation/quotation.py
2026-08-28 13:01:15 +05:30
mergify[bot]
23290a60da
fix(accounts): set pos profile on invoices respecting user permissions (backport #58508 ) ( #58519 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-28 06:48:18 +00:00
mergify[bot]
ee3b22403d
fix(manufacturing): classify MRP items without a BOM as Purchase (backport #58509 ) ( #58513 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-08-27 17:37:09 +00:00
mergify[bot]
f0d2d40d35
fix: translate doctype in map msg (backport #58515 ) ( #58517 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-08-27 19:25:51 +02:00
Sudharsanan Ashok
60252cacdd
Merge pull request #58521 from frappe/revert-58489-mergify/bp/version-16-hotfix/pr-58486
...
Revert "refactor(stock): use db.count for the empty ledger check (backport #58486 )"
2026-08-27 22:46:17 +05:30
Sudharsanan Ashok
8287906a71
Revert "refactor(stock): use db.count for the empty ledger check (backport #58486 )"
2026-08-27 22:34:55 +05:30
mergify[bot]
d732d06e25
fix(projects): ignore cancelled invoices in timesheet portal (backport #58501 ) ( #58504 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-27 13:04:09 +00:00
Shllokkk
4538689e5f
Merge pull request #58502 from Shllokkk/work-order-transferred-qty-sum-alternate-items-v16
...
fix: sum item and its alternate transferred qty on work order
2026-08-27 18:27:56 +05:30
Shllokkk
7464f6c76e
test: transferred qty sums item and its alternate
2026-08-27 18:07:57 +05:30
Shllokkk
1411835507
fix: sum item and its alternate transferred qty on work order required items
2026-08-27 18:07:57 +05:30
Mihir Kandoi
76d0cb382d
fix(manufacturing): preserve job card qty in mr transfer (backport #58482 ) ( #58499 )
2026-08-27 12:19:33 +00:00
Sudharsanan Ashok
eedf991b43
Merge pull request #58489 from frappe/mergify/bp/version-16-hotfix/pr-58486
...
refactor(stock): use db.count for the empty ledger check (backport #58486 )
2026-08-27 16:50:09 +05:30
Sudharsanan Ashok
38aaceafc6
refactor(stock): use db.count for the empty ledger check ( #58486 )
...
Align the existence check in `reset_bin_without_stock_ledger_entries()` with
the version-15-hotfix backport in #58434 , per review feedback there.
(cherry picked from commit 2866be2816 )
2026-08-27 11:07:21 +00:00
Abdeali Chharchhodawala
a43de7ce95
fix: improve message formatting and translation for validation issues ( #58425 )
...
(cherry picked from commit 6842ebb186 )
2026-08-27 10:57:38 +00:00
Sudharsanan Ashok
f7f34ffd3b
Merge pull request #58467 from frappe/mergify/bp/version-16-hotfix/pr-58466
...
fix(manufacturing): account for pending job card qty (backport #58466 )
2026-08-27 16:13:54 +05:30
Sudharsanan Ashok
f19450858c
Merge pull request #58475 from frappe/mergify/bp/version-16-hotfix/pr-58469
...
fix: clarify duplicate internal party messages (backport #58469 )
2026-08-27 16:13:28 +05:30
Sudharsanan Ashok
8dc3bc3485
Merge pull request #58429 from frappe/mergify/bp/version-16-hotfix/pr-58402
...
feat(analytics): filter sales and purchase analytics by entity (backport #58402 )
2026-08-27 16:12:20 +05:30
pandiyan
7b9cdb4926
fix(manufacturing): account for pending job card qty ( #58466 )
...
(cherry picked from commit 0d90608bc1 )
# Conflicts:
# erpnext/manufacturing/doctype/job_card/job_card.py
# erpnext/manufacturing/doctype/job_card/test_job_card.py
2026-08-27 14:03:00 +05:30
pandiyan
f0e603aec5
fix: clarify duplicate internal party messages ( #58469 )
...
(cherry picked from commit 4d4cf034b5 )
# Conflicts:
# erpnext/selling/doctype/customer/customer.py
2026-08-27 13:57:12 +05:30
Shllokkk
bfb27039ed
Merge pull request #58470 from Shllokkk/material-request-validate-with-so-v16
...
fix: validate items against source Sales Order in Material Request
2026-08-27 13:06:38 +05:30
Shllokkk
07f8250e40
test: block item change on Sales Order-sourced Material Request row
2026-08-27 12:48:45 +05:30
Shllokkk
65466464df
fix: validate items against source Sales Order in Material Request
2026-08-27 12:48:45 +05:30
Diptanil Saha
60599ec692
ci: crowdin actions to upload main.pot file ( #58461 )
2026-08-26 18:31:04 +00:00
Aarol D'Souza
6093316ba3
Merge pull request #58427 from frappe/mergify/bp/version-16-hotfix/pr-58351
...
fix(company): throw if linked to demo_company field (backport #58351 )
2026-08-26 23:14:32 +05:30
mergify[bot]
cabecd2527
ci: ignore python tests on update of **.po (backport #58457 ) ( #58459 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-26 20:43:42 +05:30
MochaMind
c924de3c55
fix: sync translations from crowdin (version-16-hotfix) ( #58455 )
...
Co-authored-by: Crowdin Bot <support+bot@crowdin.com >
2026-08-26 18:31:46 +05:30
Sudharsanan Ashok
655ed81575
feat(analytics): filter sales and purchase analytics by entity ( #58402 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
(cherry picked from commit 3f29cdf8d2 )
# Conflicts:
# erpnext/buying/report/purchase_analytics/test_purchase_analytics.py
# erpnext/selling/report/sales_analytics/test_sales_analytics.py
2026-08-26 07:33:42 +00:00
AarDG10
9f3dd7eabd
fix(company): throw if linked to demo_company field
...
Throws an error msg if user is deleting demo company directly.
(cherry picked from commit aaa3100efc )
2026-08-26 07:24:12 +00:00
Sudharsanan Ashok
2cd865fffc
Merge pull request #58405 from aerele/fix/pick-list-transfer-qty-lost-v16
...
fix(stock): keep pick list links when refetching stock entry items (backport #58374 )
2026-08-26 12:45:46 +05:30
Sudharsanan Ashok
e32a8f008e
Merge pull request #58422 from frappe/mergify/bp/version-16-hotfix/pr-58168
...
fix: correct is_frozen description on customer and supplier (backport #58168 )
2026-08-26 12:39:35 +05:30
Pandiyan P
9e00888d67
fix: correct is_frozen description on customer and supplier ( #58168 )
...
(cherry picked from commit cc60c80e68 )
# Conflicts:
# erpnext/buying/doctype/supplier/supplier.json
# erpnext/selling/doctype/customer/customer.json
2026-08-26 12:08:14 +05:30
Sudharsanan Ashok
5b92dff1df
Merge pull request #58419 from frappe/mergify/bp/version-16-hotfix/pr-58394
...
fix(stock): validate serial inventory dimensions (backport #58394 )
2026-08-26 11:51:09 +05:30
Pandiyan P
a1aabaff18
fix(stock): validate serial inventory dimensions ( #58394 )
...
* fix(stock): validate serial inventory dimensions
* test(stock): cover serial inventory dimensions
(cherry picked from commit c940bd1e66 )
# Conflicts:
# erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
2026-08-26 11:37:57 +05:30
Khushi Rawat
1a3e02ee5b
Merge pull request #58414 from frappe/mergify/bp/version-16-hotfix/pr-58412
...
fix(accounts): prevent child table doctypes as accounting dimensions (backport #58412 )
2026-08-26 11:35:41 +05:30
khushi8112
abf311e8ca
fix(accounts): guard get_gl_dict for v16 and drop unused base_gl_composer
2026-08-26 11:05:19 +05:30
khushi8112
fe98974cb6
test(accounts): cover single doctype and non-scalar dimension safeguards
...
(cherry picked from commit 55dd11f977 )
2026-08-25 19:18:25 +00:00
khushi8112
6dbaa5048e
fix(accounts): prevent child table doctypes as accounting dimensions
...
(cherry picked from commit 7b32d07d1c )
# Conflicts:
# erpnext/accounts/services/base_gl_composer.py
2026-08-25 19:18:24 +00:00
Frappe PR Bot
b24c9eba55
chore(release): Bumped to Version 16.33.0
...
# [16.33.0](https://github.com/frappe/erpnext/compare/v16.32.3...v16.33.0 ) (2026-08-25)
### Bug Fixes
* **accounts:** allocate drop-ship cost by invoice quantity (backport [#58226 ](https://github.com/frappe/erpnext/issues/58226 )) ([#58263 ](https://github.com/frappe/erpnext/issues/58263 )) ([a62a949 ](a62a949b2a ))
* **accounts:** disallow reversing a reverse journal entry ([8a26834 ](8a26834704 ))
* **accounts:** match returns to source invoice items (backport [#58250 ](https://github.com/frappe/erpnext/issues/58250 )) ([#58264 ](https://github.com/frappe/erpnext/issues/58264 )) ([9b0db26 ](9b0db26c25 ))
* **accounts:** supplier group filter not applied on accounts payable report ([d23b919 ](d23b9197d5 ))
* aggregate child warehouses in Stock Qty vs Serial No Count report (backport [#58134 ](https://github.com/frappe/erpnext/issues/58134 )) ([#58366 ](https://github.com/frappe/erpnext/issues/58366 )) ([abe4c0a ](abe4c0a6b7 ))
* apply Sales Person user permissions in Accounts Receivable ([956be58 ](956be58c9c ))
* **assets:** split FIFO/LIFO rate across grouped stock item rows ([98bef1c ](98bef1cac8 ))
* **bank_statement_import:** add missing permission check on `get_import_status` (backport [#58217 ](https://github.com/frappe/erpnext/issues/58217 )) ([#58219 ](https://github.com/frappe/erpnext/issues/58219 )) ([2b685ed ](2b685ed982 ))
* **bank_statement_import:** add missing permission check on multiple whitelisted methods (backport [#58221 ](https://github.com/frappe/erpnext/issues/58221 )) ([#58224 ](https://github.com/frappe/erpnext/issues/58224 )) ([81461ea ](81461ea56c ))
* block disabled/frozen party on Opportunity and Request for Quotation (backport [#57983 ](https://github.com/frappe/erpnext/issues/57983 )) ([#58035 ](https://github.com/frappe/erpnext/issues/58035 )) ([9f99ba6 ](9f99ba6ddc ))
* **buying:** allow purchase returns against a closed purchase order ([#58139 ](https://github.com/frappe/erpnext/issues/58139 )) ([61b5499 ](61b549960e ))
* conflicts ([cbe7931 ](cbe7931b3b ))
* correct Item Group doctype name in item tax template dashboard (backport [#58192 ](https://github.com/frappe/erpnext/issues/58192 )) ([#58213 ](https://github.com/frappe/erpnext/issues/58213 )) ([56ac872 ](56ac87292f ))
* correct to and from date filters in timesheet billing summary re… (backport [#58317 ](https://github.com/frappe/erpnext/issues/58317 )) ([#58318 ](https://github.com/frappe/erpnext/issues/58318 )) ([2077e84 ](2077e844d4 ))
* **crm_settings:** create custom fields for Frappe CRM on enabling synchronization ([795cf85 ](795cf8544c ))
* describe stale exchange rate settings ([1ec2a2c ](1ec2a2cd5d ))
* don't set work order status to In Process only due to skip material transfer ([#58245 ](https://github.com/frappe/erpnext/issues/58245 )) ([dd4d108 ](dd4d10862d ))
* drop removed Restaurant doctype from sales tax template dashboard (backport [#58191 ](https://github.com/frappe/erpnext/issues/58191 )) ([#58211 ](https://github.com/frappe/erpnext/issues/58211 )) ([c3cf7f2 ](c3cf7f2e91 ))
* **email_digest:** added permission check for `get_msg_html` (backport [#58197 ](https://github.com/frappe/erpnext/issues/58197 )) ([#58200 ](https://github.com/frappe/erpnext/issues/58200 )) ([32ebd69 ](32ebd69abc ))
* escape interpolated values in portal, print and desk templates (backport [#58273 ](https://github.com/frappe/erpnext/issues/58273 )) ([#58278 ](https://github.com/frappe/erpnext/issues/58278 )) ([6b7b479 ](6b7b4796b4 ))
* escape interpolated values in text positions across portal and desk templates (backport [#58286 ](https://github.com/frappe/erpnext/issues/58286 )) ([#58288 ](https://github.com/frappe/erpnext/issues/58288 )) ([d357310 ](d3573105c4 ))
* escape on status image for workstations in production status (backport [#58279 ](https://github.com/frappe/erpnext/issues/58279 )) ([#58281 ](https://github.com/frappe/erpnext/issues/58281 )) ([9e2173e ](9e2173e4c2 ))
* filter available batch report by company (backport [#57995 ](https://github.com/frappe/erpnext/issues/57995 )) ([#58077 ](https://github.com/frappe/erpnext/issues/58077 )) ([5933476 ](5933476778 ))
* get items from sales order in sales invoice ([#58163 ](https://github.com/frappe/erpnext/issues/58163 )) ([0255314 ](0255314ea7 ))
* hide rfq status in supplier portal ([#58368 ](https://github.com/frappe/erpnext/issues/58368 )) ([8a2109e ](8a2109e62a ))
* hide supplier name in rfq portal (backport [#58373 ](https://github.com/frappe/erpnext/issues/58373 )) ([#58376 ](https://github.com/frappe/erpnext/issues/58376 )) ([2329ef6 ](2329ef6424 ))
* ignore historical negative batch stock in outward validation (backport [#58148 ](https://github.com/frappe/erpnext/issues/58148 )) ([#58151 ](https://github.com/frappe/erpnext/issues/58151 )) ([c18881b ](c18881b37d ))
* Ignore permission while deleting user permission (backport [#57296 ](https://github.com/frappe/erpnext/issues/57296 )) ([#57760 ](https://github.com/frappe/erpnext/issues/57760 )) ([98d69b2 ](98d69b2ae3 ))
* include time logs ending at midnight in timesheet billing summary (backport [#58355 ](https://github.com/frappe/erpnext/issues/58355 )) ([#58357 ](https://github.com/frappe/erpnext/issues/58357 )) ([0bf34c0 ](0bf34c054a ))
* **italy:** handle none price_list_rate in e-invoice xml generation (backport [#58242 ](https://github.com/frappe/erpnext/issues/58242 )) ([#58370 ](https://github.com/frappe/erpnext/issues/58370 )) ([feb51a4 ](feb51a475a ))
* keep Currency and Price List section open for foreign currency (backport [#58074 ](https://github.com/frappe/erpnext/issues/58074 )) ([#58113 ](https://github.com/frappe/erpnext/issues/58113 )) ([a3a6efb ](a3a6efbcea ))
* **manufacturing:** derive material transfers from actual coverage ([#58115 ](https://github.com/frappe/erpnext/issues/58115 )) ([2a9e430 ](2a9e4304a2 ))
* **manufacturing:** fall back to item group defaults for work order w… ([#58237 ](https://github.com/frappe/erpnext/issues/58237 )) ([861fb26 ](861fb26b2c ))
* **manufacturing:** keep MRP chart dates distinct ([1b37fd2 ](1b37fd2edc ))
* **Material Requirements Planning Report:** detailed-view chart timescale ([de06cb7 ](de06cb7f45 )), closes [#52632 ](https://github.com/frappe/erpnext/issues/52632 )
* new docs should refetch incoming rates (backport [#58097 ](https://github.com/frappe/erpnext/issues/58097 )) ([#58295 ](https://github.com/frappe/erpnext/issues/58295 )) ([edb9b33 ](edb9b33264 ))
* patch to delete the `crm_deal` custom fields ([d66dc14 ](d66dc143e3 ))
* prevent duplicate supplier quotations from portal ([39e15c7 ](39e15c7b2d ))
* prevent TimestampMismatchError resolving Dunning with multiple overdue installments ([5764d1d ](5764d1d173 ))
* **projects:** respect permissions in timesheet billing summary (backport [#58320 ](https://github.com/frappe/erpnext/issues/58320 )) ([#58322 ](https://github.com/frappe/erpnext/issues/58322 )) ([647c933 ](647c93321b ))
* Qty and UOM not fetched when adding Item in Material Request ([#58118 ](https://github.com/frappe/erpnext/issues/58118 )) ([aecc551 ](aecc551b5e ))
* renaming the overdue billing checkbox (backport [#58165 ](https://github.com/frappe/erpnext/issues/58165 )) ([#58166 ](https://github.com/frappe/erpnext/issues/58166 )) ([1ea1d5d ](1ea1d5d6a5 ))
* render missing terms before printing ([#58358 ](https://github.com/frappe/erpnext/issues/58358 )) ([f56cdac ](f56cdac45f ))
* resolve backport conflicts ([3fd3f94 ](3fd3f9485b ))
* respect zero currency precision ([#58395 ](https://github.com/frappe/erpnext/issues/58395 )) ([6b61146 ](6b61146d2f ))
* rewriting the description of the overdue billing checkbox (backport [#58172 ](https://github.com/frappe/erpnext/issues/58172 )) ([#58174 ](https://github.com/frappe/erpnext/issues/58174 )) ([4bb7799 ](4bb7799919 ))
* run set_missing_values before creating Purchase Order from MRP report ([72114fa ](72114fa738 ))
* **selling:** read overdue amount from payment ledger, not gl tags (backport [#57786 ](https://github.com/frappe/erpnext/issues/57786 )) ([#58026 ](https://github.com/frappe/erpnext/issues/58026 )) ([29f6a5b ](29f6a5b9cf ))
* send auto reorder email to all managers in single company setup ([ac1c692 ](ac1c6921da ))
* skip covered rows when ordering from the mrp report ([#58249 ](https://github.com/frappe/erpnext/issues/58249 )) ([#58312 ](https://github.com/frappe/erpnext/issues/58312 )) ([dfc2301 ](dfc2301f08 ))
* **stock:** confirm before changing item qty from the batch selector (backport [#58123 ](https://github.com/frappe/erpnext/issues/58123 )) ([#58125 ](https://github.com/frappe/erpnext/issues/58125 )) ([4f3ffd3 ](4f3ffd3820 ))
* **stock:** fetch item stock UOM in stock reconciliation (backport [#58284 ](https://github.com/frappe/erpnext/issues/58284 )) ([#58291 ](https://github.com/frappe/erpnext/issues/58291 )) ([1f21c0b ](1f21c0b0af ))
* **stock:** honour pick serial / batch based on in the batch selector (backport [#58176 ](https://github.com/frappe/erpnext/issues/58176 )) ([#58182 ](https://github.com/frappe/erpnext/issues/58182 )) ([d3a4d47 ](d3a4d476eb ))
* **stock:** preserve item UOM conversion factor (backport [#58299 ](https://github.com/frappe/erpnext/issues/58299 )) ([#58304 ](https://github.com/frappe/erpnext/issues/58304 )) ([53b61e5 ](53b61e5ac6 ))
* **stock:** reset bin when no stock ledger entries remain ([#58362 ](https://github.com/frappe/erpnext/issues/58362 )) ([37a1fd1 ](37a1fd11e9 ))
* stop doubling totals in timesheet billing summary (backport [#58311 ](https://github.com/frappe/erpnext/issues/58311 )) ([#58315 ](https://github.com/frappe/erpnext/issues/58315 )) ([c3313f5 ](c3313f5b34 ))
* use user data fields hook (backport [#58274 ](https://github.com/frappe/erpnext/issues/58274 )) ([#58283 ](https://github.com/frappe/erpnext/issues/58283 )) ([94b6622 ](94b6622d9d ))
* validation for task end date check ([7b0df4b ](7b0df4b28b ))
* work order finish dialog with process loss qty from job card (backport [#58256 ](https://github.com/frappe/erpnext/issues/58256 )) ([#58262 ](https://github.com/frappe/erpnext/issues/58262 )) ([27a04d8 ](27a04d8e08 ))
### Features
* **accounts:** opt-in 'Consider Accounting Dimension' filter on General Ledger Report (backport [#58156 ](https://github.com/frappe/erpnext/issues/58156 )) ([#58158 ](https://github.com/frappe/erpnext/issues/58158 )) ([f8c3270 ](f8c3270049 ))
* add status filter to Supplier Quotation Comparison report ([2b84ed7 ](2b84ed78e8 ))
* Belgian Charts of Accounts (commercial + non-profit, FR + NL) (backport [#54679 ](https://github.com/frappe/erpnext/issues/54679 )) ([#58186 ](https://github.com/frappe/erpnext/issues/58186 )) ([d805f4d ](d805f4d3fc ))
* taxable-base resolver hook for custom charge types ([#56175 ](https://github.com/frappe/erpnext/issues/56175 )) ([ea238a9 ](ea238a90ac ))
* validate purchase receipt exchange rate parity on purchase invoice (backport [#58177 ](https://github.com/frappe/erpnext/issues/58177 )) ([#58190 ](https://github.com/frappe/erpnext/issues/58190 )) ([900064e ](900064e395 ))
2026-08-25 17:04:28 +00:00
Diptanil Saha
1a745cd433
Merge pull request #58397 from frappe/version-16-hotfix
...
chore: release v16
2026-08-25 22:21:37 +05:30
Shllokkk
7238ecb306
Merge pull request #58407 from frappe/mergify/bp/version-16-hotfix/pr-58400
...
fix: send auto reorder email to all managers in single company setup (backport #58400 )
2026-08-25 18:30:12 +05:30
Shllokkk
97b2e07d5e
test: auto reorder email reaches managers without company user permission
...
(cherry picked from commit a01cc92184 )
2026-08-25 12:08:44 +00:00
Shllokkk
ac1c6921da
fix: send auto reorder email to all managers in single company setup
...
(cherry picked from commit ae119b1c29 )
2026-08-25 12:08:43 +00:00
Sudharsanan11
01e0844d40
fix(stock): keep pick list links when refetching stock entry items
2026-08-25 17:05:23 +05:30
Sudharsanan Ashok
c9550023f8
Merge pull request #58399 from frappe/mergify/bp/version-16-hotfix/pr-58395
...
fix: respect zero currency precision (backport #58395 )
2026-08-25 16:45:34 +05:30
Pandiyan P
6b61146d2f
fix: respect zero currency precision ( #58395 )
...
(cherry picked from commit ce23fcc055 )
2026-08-25 10:06:39 +00:00
Sudharsanan Ashok
9209912374
Merge pull request #58353 from frappe/mergify/bp/version-16-hotfix/pr-58179
...
fix(accounts): supplier group filter not applied on accounts payable … (backport #58179 )
2026-08-25 13:04:52 +05:30
Sudharsanan Ashok
f1181fa1e3
Merge pull request #58391 from frappe/mergify/bp/version-16-hotfix/pr-58362
...
fix(stock): reset bin when no stock ledger entries remain (backport #58362 )
2026-08-25 12:46:31 +05:30
Sudharsanan Ashok
37a1fd11e9
fix(stock): reset bin when no stock ledger entries remain ( #58362 )
...
* fix(stock): reset bin when no stock ledger entries remain
update_bin() only writes bins reachable through prev_sle_dict, and that
dict is empty once the last live sle for an item and warehouse is
cancelled or deleted. actual_qty is still recomputed, but stock_value
and valuation_rate stay stale and a repost cannot heal them, so bin
totals drift permanently from the stock balance.
zero those bins after the normal update, guarded by a re-check that no
live sle exists. also drop the prev_sle_dict seeding added earlier in
initialize_previous_data, which never took effect because
initialize_reposting() discards the dict before update_bin() reads it.
* test(stock): cover bin reset when ledger is empty
three cases that all leave an item and warehouse with no live sle:
cancelling the only voucher, deleting it with delete_linked_ledger_entries
on, and reposting over an already emptied ledger. each asserts actual_qty,
valuation_rate and stock_value are all zero.
(cherry picked from commit 6fbcfade6c )
2026-08-25 06:10:18 +00:00
Sudharsanan Ashok
f71bc4d3ef
Merge pull request #58384 from aerele/backport-58377-version-16-hotfix
...
fix: prevent duplicate supplier quotations from portal (backport #58377 )
2026-08-25 11:12:10 +05:30
pandiyan
efe5571ca7
test: verify duplicate supplier quotations are rejected
2026-08-24 23:57:59 +05:30
pandiyan
39e15c7b2d
fix: prevent duplicate supplier quotations from portal
2026-08-24 23:57:59 +05:30
mergify[bot]
2329ef6424
fix: hide supplier name in rfq portal (backport #58373 ) ( #58376 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-08-24 12:11:31 +00:00
mergify[bot]
83cc51a5d2
Fix/return qty validation different uom (backport #58298 ) ( #58364 )
...
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
Co-authored-by: Afsal Syed <afsalsyed12@gmail.com >
2026-08-24 17:39:41 +05:30
mergify[bot]
feb51a475a
fix(italy): handle none price_list_rate in e-invoice xml generation (backport #58242 ) ( #58370 )
...
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
2026-08-24 17:39:16 +05:30
mergify[bot]
5933476778
fix: filter available batch report by company (backport #57995 ) ( #58077 )
...
Co-authored-by: Krishna Shirsath <shirsathkrishna19@gmail.com >
2026-08-24 11:19:45 +00:00
Sudharsanan Ashok
fb9edb3bf8
Merge pull request #58361 from frappe/mergify/bp/version-16-hotfix/pr-58358
...
fix: render missing terms before printing (backport #58358 )
2026-08-24 16:37:06 +05:30
Sudharsanan Ashok
9d9d9f09fd
Merge pull request #58372 from frappe/mergify/bp/version-16-hotfix/pr-58368
...
fix: hide rfq status in supplier portal (backport #58368 )
2026-08-24 16:36:08 +05:30
Pandiyan P
8a2109e62a
fix: hide rfq status in supplier portal ( #58368 )
...
(cherry picked from commit 75d6183bb6 )
2026-08-24 11:00:24 +00:00
mergify[bot]
abe4c0a6b7
fix: aggregate child warehouses in Stock Qty vs Serial No Count report (backport #58134 ) ( #58366 )
...
Co-authored-by: Mohd Haris <haris@frappe.io >
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-24 10:24:40 +00:00
Pandiyan P
f56cdac45f
fix: render missing terms before printing ( #58358 )
...
(cherry picked from commit 59d80b29c4 )
2026-08-24 09:24:08 +00:00
mergify[bot]
0bf34c054a
fix: include time logs ending at midnight in timesheet billing summary (backport #58355 ) ( #58357 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-24 14:46:46 +05:30
ervishnucs
d23b9197d5
fix(accounts): supplier group filter not applied on accounts payable report
...
(cherry picked from commit 513f19924d )
2026-08-24 07:09:12 +00:00
mergify[bot]
8dbe4bd7fa
ci: bump po-review-action (backport #58346 ) ( #58348 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-08-23 18:22:37 +00:00
MochaMind
d321eb4a8a
chore: update POT file ( #58344 )
2026-08-23 13:33:34 +02:00
Mihir Kandoi
a1520d06ee
chore: rename type field to secondary_item_type (backport #55469 ) ( #58342 )
2026-08-23 14:07:59 +05:30
mergify[bot]
647c93321b
fix(projects): respect permissions in timesheet billing summary (backport #58320 ) ( #58322 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-20 15:48:55 +05:30
mergify[bot]
2077e844d4
fix: correct to and from date filters in timesheet billing summary re… (backport #58317 ) ( #58318 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-20 11:13:42 +05:30
mergify[bot]
c3313f5b34
fix: stop doubling totals in timesheet billing summary (backport #58311 ) ( #58315 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-20 03:03:06 +00:00
Pandiyan P
dfc2301f08
fix: skip covered rows when ordering from the mrp report ( #58249 ) ( #58312 )
2026-08-20 07:43:16 +05:30
mergify[bot]
53b61e5ac6
fix(stock): preserve item UOM conversion factor (backport #58299 ) ( #58304 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-19 12:01:42 +00:00
mergify[bot]
a3a6efbcea
fix: keep Currency and Price List section open for foreign currency (backport #58074 ) ( #58113 )
...
* fix: keep Currency and Price List section open for foreign currency (#58074 )
The section is marked collapsible with no condition, so it always
rendered collapsed. When the transaction currency differs from the
company currency the exchange rate is relevant and was hidden behind
a click.
Adds collapsible_depends_on so the section starts expanded whenever
the transaction currency differs from the company currency, and stays
collapsed otherwise.
(cherry picked from commit 4a8342496e )
# Conflicts:
# erpnext/accounts/doctype/pos_invoice/pos_invoice.json
# erpnext/accounts/doctype/sales_invoice/sales_invoice.json
# erpnext/stock/doctype/delivery_note/delivery_note.json
* fix: resolve unresolved cherry-pick conflict markers in modified timestamps
Mergify's automatic cherry-pick of #58074 left conflict markers
committed on the modified field, breaking JSON parsing.
---------
Co-authored-by: Jatin3128 <140256508+Jatin3128@users.noreply.github.com >
Co-authored-by: Jatin3128 <jatinsarna8@gmail.com >
2026-08-19 16:59:07 +05:30
mergify[bot]
9f99ba6ddc
fix: block disabled/frozen party on Opportunity and Request for Quotation (backport #57983 ) ( #58035 )
...
* fix: block disabled/frozen customers on Opportunity
Opportunity inherits TransactionBase instead of AccountsController, so
it never ran validate_party_frozen_disabled like Quotation, Sales Order
and Sales Invoice do. A disabled Customer could be saved as an
Opportunity's party and only get caught later at Quotation stage.
Also fixes the party_name Link query on the client: it referenced
erpnext.queries.customer, which was never defined, so disabled
customers showed up in the picker.
(cherry picked from commit 90937ce6d9 )
* fix: block disabled/frozen suppliers on Request for Quotation
Request for Quotation overrides validate() entirely and never calls
super().validate(), so it never goes through AccountsController's
party validation. Suppliers also sit in a child table, so the shared
PartyValidator wouldn't have caught it anyway (it only checks a single
top-level party field). A disabled or frozen Supplier could be added
to an RFQ and the RFQ submitted without any warning.
Also filters the suppliers grid's supplier Link field to disabled=0,
matching the same client-side fix applied to Opportunity's party_name.
(cherry picked from commit 4bf65ffc1d )
# Conflicts:
# erpnext/buying/doctype/request_for_quotation/request_for_quotation.py
# erpnext/buying/doctype/request_for_quotation/test_request_for_quotation.py
* fix: scope Opportunity party validation to Customer only
validate_party_frozen_disabled only enforces Customer/Supplier/Employee,
so passing opportunity_from straight through silently no-op'd for Lead
and Prospect. Made the Customer-only scope explicit instead of relying
on that implicit fallthrough.
Lead.disabled is not enforced anywhere else in the codebase (lead_query,
the picker used for this same field, only filters status/docstatus), so
deliberately not extending validation to Lead-sourced Opportunities.
(cherry picked from commit 8c0a945417 )
* refactor: move RFQ supplier disabled filter to link_filters
Static filters with no doc-dependent values belong on the field
definition, not in JS. Matches the existing pattern used for
Warehouse/Item link_filters elsewhere (e.g. job_card_item.json,
product_bundle_item.json).
(cherry picked from commit 6b35c51ff1 )
* fix: resolve backport conflicts for disabled/frozen party validation
The automated backport left unresolved merge conflict markers committed
in request_for_quotation.py and test_request_for_quotation.py.
Dropped test_duplicate_supplier_rejected, test_rfq_blocked_for_supplier_with_prevent_rfqs
and test_rfq_status_lifecycle from the conflict resolution, they don't exist on
this branch and aren't part of this backport.
---------
Co-authored-by: Jatin3128 <jatinsarna8@gmail.com >
2026-08-19 16:57:42 +05:30
mergify[bot]
1f21c0b0af
fix(stock): fetch item stock UOM in stock reconciliation (backport #58284 ) ( #58291 )
...
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-19 10:09:44 +00:00
Khushi Rawat
f813774f63
Merge pull request #57771 from frappe/mergify/bp/version-16-hotfix/pr-57539
...
fix: prevent TimestampMismatchError resolving Dunning with multiple overdue installments (backport #57539 )
2026-08-19 15:05:36 +05:30
mergify[bot]
98d69b2ae3
fix: Ignore permission while deleting user permission (backport #57296 ) ( #57760 )
...
Co-authored-by: Deepesh Garg <deepeshgarg6@gmail.com >
2026-08-19 14:49:33 +05:30
mergify[bot]
29f6a5b9cf
fix(selling): read overdue amount from payment ledger, not gl tags (backport #57786 ) ( #58026 )
...
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
2026-08-19 14:41:47 +05:30
mergify[bot]
edb9b33264
fix: new docs should refetch incoming rates (backport #58097 ) ( #58295 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-19 07:19:06 +00:00
mergify[bot]
94b6622d9d
fix: use user data fields hook (backport #58274 ) ( #58283 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-19 10:25:55 +05:30
mergify[bot]
d3573105c4
fix: escape interpolated values in text positions across portal and desk templates (backport #58286 ) ( #58288 )
2026-08-19 02:43:18 +05:30
mergify[bot]
9e2173e4c2
fix: escape on status image for workstations in production status (backport #58279 ) ( #58281 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-19 00:17:17 +05:30
mergify[bot]
6b7b4796b4
fix: escape interpolated values in portal, print and desk templates (backport #58273 ) ( #58278 )
...
Co-authored-by: diptanilsaha <diptanil@frappe.io >
2026-08-19 00:16:52 +05:30
Frappe PR Bot
11e0ba0a1c
chore(release): Bumped to Version 16.32.3
...
## [16.32.3](https://github.com/frappe/erpnext/compare/v16.32.2...v16.32.3 ) (2026-08-18)
### Bug Fixes
* Qty and UOM not fetched when adding Item in Material Request (backport [#58118 ](https://github.com/frappe/erpnext/issues/58118 )) ([#58266 ](https://github.com/frappe/erpnext/issues/58266 )) ([f01f741 ](f01f7415e1 ))
2026-08-18 09:57:04 +00:00
mergify[bot]
f01f7415e1
fix: Qty and UOM not fetched when adding Item in Material Request (backport #58118 ) ( #58266 )
2026-08-18 15:25:21 +05:30
rohitwaghchaure
27a04d8e08
fix: work order finish dialog with process loss qty from job card (backport #58256 ) ( #58262 )
...
* fix(manufacturing): cap job card completed qty by previous operation and show process loss on finish dialog
* fix: avoid double booking process loss on partial manufacture entries
2026-08-18 09:47:32 +00:00
mergify[bot]
9b0db26c25
fix(accounts): match returns to source invoice items (backport #58250 ) ( #58264 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-18 09:08:31 +00:00
mergify[bot]
a62a949b2a
fix(accounts): allocate drop-ship cost by invoice quantity (backport #58226 ) ( #58263 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-18 08:41:58 +00:00
Frappe PR Bot
5412ea0b8c
chore(release): Bumped to Version 16.32.2
...
## [16.32.2](https://github.com/frappe/erpnext/compare/v16.32.1...v16.32.2 ) (2026-08-18)
### Bug Fixes
* get items from sales order in sales invoice (backport [#58163 ](https://github.com/frappe/erpnext/issues/58163 )) ([#58258 ](https://github.com/frappe/erpnext/issues/58258 )) ([204f979 ](204f979f33 ))
2026-08-18 07:29:42 +00:00
mergify[bot]
204f979f33
fix: get items from sales order in sales invoice (backport #58163 ) ( #58258 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-08-18 07:27:23 +00:00
rohitwaghchaure
dd4d10862d
fix: don't set work order status to In Process only due to skip material transfer ( #58245 )
2026-08-17 18:28:46 +05:30
Pandiyan P
861fb26b2c
fix(manufacturing): fall back to item group defaults for work order w… ( #58237 )
2026-08-17 15:26:15 +05:30
mergify[bot]
56ac87292f
fix: correct Item Group doctype name in item tax template dashboard (backport #58192 ) ( #58213 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-08-17 10:52:42 +05:30
mergify[bot]
81461ea56c
fix(bank_statement_import): add missing permission check on multiple whitelisted methods (backport #58221 ) ( #58224 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-16 18:03:24 +00:00
mergify[bot]
2b685ed982
fix(bank_statement_import): add missing permission check on get_import_status (backport #58217 ) ( #58219 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-16 15:04:21 +00:00
mergify[bot]
6a0b9e1c70
fix(crm)!: remove unused get_last_interaction endpoint (backport #58214 ) ( #58216 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-16 14:16:29 +00:00
MochaMind
28fe021d79
chore: update POT file ( #58207 )
2026-08-16 18:03:26 +05:30
mergify[bot]
c3cf7f2e91
fix: drop removed Restaurant doctype from sales tax template dashboard (backport #58191 ) ( #58211 )
2026-08-16 17:28:32 +05:30
Shllokkk
832a0bd1ed
Merge pull request #58208 from Shllokkk/supplier-quotation-comparison-status-filter-v16
...
feat: add status filter to Supplier Quotation Comparison report
2026-08-16 15:52:17 +05:30
Shllokkk
2b84ed78e8
feat: add status filter to Supplier Quotation Comparison report
2026-08-16 15:34:10 +05:30
mergify[bot]
32ebd69abc
fix(email_digest): added permission check for get_msg_html (backport #58197 ) ( #58200 )
...
Co-authored-by: diptanilsaha <diptanil@frappe.io >
2026-08-15 16:40:09 +00:00
mergify[bot]
900064e395
feat: validate purchase receipt exchange rate parity on purchase invoice (backport #58177 ) ( #58190 )
...
feat: validate purchase receipt exchange rate parity on purchase invoice (#58177 )
(cherry picked from commit 70a8a2d0c5 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-08-15 15:20:17 +05:30
mergify[bot]
d805f4d3fc
feat: Belgian Charts of Accounts (commercial + non-profit, FR + NL) (backport #54679 ) ( #58186 )
...
Co-authored-by: Antoine Maas <antoine.maas@okte.io >
Co-authored-by: Claude <noreply@anthropic.com >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-08-14 16:57:25 +00:00
mergify[bot]
d3a4d476eb
fix(stock): honour pick serial / batch based on in the batch selector (backport #58176 ) ( #58182 )
...
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
2026-08-14 13:58:07 +00:00
mergify[bot]
4bb7799919
fix: rewriting the description of the overdue billing checkbox (backport #58172 ) ( #58174 )
...
fix: rewriting the description of the overdue billing checkbox (#58172 )
fix: rewritting the description of the overdue billing checkbox
(cherry picked from commit cbf8f61101 )
Co-authored-by: Jatin3128 <140256508+Jatin3128@users.noreply.github.com >
2026-08-14 17:43:14 +05:30
Nishka Gosalia
c15d5d1a0b
Merge pull request #58171 from frappe/mergify/bp/version-16-hotfix/pr-58167
...
fix: validation for task end date check (backport #58167 )
2026-08-14 16:36:33 +05:30
nishkagosalia
7b0df4b28b
fix: validation for task end date check
...
(cherry picked from commit 7c6da80f98 )
2026-08-14 10:53:06 +00:00
mergify[bot]
1ea1d5d6a5
fix: renaming the overdue billing checkbox (backport #58165 ) ( #58166 )
...
fix: renaming the overdue billing checkbox (#58165 )
(cherry picked from commit 917badb82b )
Co-authored-by: Jatin3128 <140256508+Jatin3128@users.noreply.github.com >
2026-08-14 16:05:22 +05:30
Smit Vora
aa03ddc8e6
Merge pull request #58161 from frappe/mergify/bp/version-16-hotfix/pr-56175
...
feat: taxable-base resolver hook for custom charge types (backport #56175 )
2026-08-14 15:16:39 +05:30
Mihir Kandoi
0255314ea7
fix: get items from sales order in sales invoice ( #58163 )
2026-08-14 09:20:10 +00:00
mergify[bot]
f8c3270049
feat(accounts): opt-in 'Consider Accounting Dimension' filter on General Ledger Report (backport #58156 ) ( #58158 )
2026-08-14 08:25:09 +00:00
Smit Vora
ea238a90ac
feat: taxable-base resolver hook for custom charge types ( #56175 )
...
(cherry picked from commit 986cea2331 )
2026-08-14 08:19:48 +00:00
Khushi Rawat
f03b7ba40b
Merge pull request #58155 from frappe/mergify/bp/version-16-hotfix/pr-58092
...
fix(accounts): disallow reversing a reverse journal entry (backport #58092 )
2026-08-14 13:20:43 +05:30
Frappe PR Bot
21d1873020
chore(release): Bumped to Version 16.32.1
...
## [16.32.1](https://github.com/frappe/erpnext/compare/v16.32.0...v16.32.1 ) (2026-08-14)
### Bug Fixes
* ignore historical negative batch stock in outward validation (backport [#58148 ](https://github.com/frappe/erpnext/issues/58148 )) (backport [#58151 ](https://github.com/frappe/erpnext/issues/58151 )) ([#58153 ](https://github.com/frappe/erpnext/issues/58153 )) ([e79b4ab ](e79b4abe9d ))
2026-08-14 06:20:44 +00:00
mergify[bot]
e79b4abe9d
fix: ignore historical negative batch stock in outward validation (backport #58148 ) (backport #58151 ) ( #58153 )
...
fix: ignore historical negative batch stock in outward validation (backport #58148 ) (#58151 )
fix: ignore historical negative batch stock in outward validation (#58148 )
(cherry picked from commit 9239d1c2a3 )
(cherry picked from commit c18881b37d )
Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-08-14 11:48:55 +05:30
pandiyan
8a26834704
fix(accounts): disallow reversing a reverse journal entry
...
check read permission on the source entry before the guards run, so the
reversal relationship is not disclosed to a user who cannot read it.
(cherry picked from commit 9dd37d5f32 )
2026-08-14 11:37:06 +05:30
pandiyan
271d22fff1
test(accounts): cover reversal of a reverse journal entry
...
also assert that a user without read access on the entry gets a permission error instead of the reversal relationship.
(cherry picked from commit 80422d2108 )
2026-08-14 06:01:39 +00:00
mergify[bot]
c18881b37d
fix: ignore historical negative batch stock in outward validation (backport #58148 ) ( #58151 )
...
fix: ignore historical negative batch stock in outward validation (#58148 )
(cherry picked from commit 9239d1c2a3 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-08-14 11:18:50 +05:30
Pandiyan P
61b549960e
fix(buying): allow purchase returns against a closed purchase order ( #58139 )
2026-08-14 09:00:55 +05:30
Diptanil Saha
ea52ab36d1
Merge pull request #58143 from frappe/mergify/bp/version-16-hotfix/pr-58141
...
fix(crm_settings): create `crm_deal` fields on enabling frappe crm data synchronization (backport #58141 )
2026-08-13 23:20:41 +05:30
diptanilsaha
d66dc143e3
fix: patch to delete the crm_deal custom fields
...
(cherry picked from commit 9613d72d81 )
2026-08-13 17:40:12 +00:00
diptanilsaha
795cf8544c
fix(crm_settings): create custom fields for Frappe CRM on enabling synchronization
...
(cherry picked from commit be2dea0ba2 )
2026-08-13 17:40:12 +00:00
mergify[bot]
4f3ffd3820
fix(stock): confirm before changing item qty from the batch selector (backport #58123 ) ( #58125 )
2026-08-13 19:37:31 +05:30
mergify[bot]
f9fd3bc526
chore(deps): update eslint in banking app (backport #58129 ) ( #58137 )
...
chore(deps): update eslint in banking app (#58129 )
(cherry picked from commit 0bbaf4da3e )
Co-authored-by: Nikhil Kothari <nik.kothari22@live.com >
2026-08-13 13:30:40 +00:00
mergify[bot]
5afaffe7b4
chore: update deps in banking app (backport #57971 ) ( #58130 )
...
chore: update deps in banking app (#57971 )
(cherry picked from commit 5b2952aa23 )
Co-authored-by: Nikhil Kothari <nik.kothari22@live.com >
2026-08-13 12:32:12 +00:00
Khushi Rawat
569ad8e89b
Merge pull request #58122 from frappe/mergify/bp/version-16-hotfix/pr-58120
...
fix: describe stale exchange rate settings (backport #58120 )
2026-08-13 15:33:29 +05:30
Khushi Rawat
cbe7931b3b
fix: conflicts
2026-08-13 15:22:38 +05:30
Lakshit Jain
03124b9560
Merge pull request #58027 from frappe/mergify/bp/version-16-hotfix/pr-57965
...
fix: run set_missing_values before creating Purchase Order from MRP report (backport #57965 )
2026-08-13 15:21:11 +05:30
khushi8112
1ec2a2cd5d
fix: describe stale exchange rate settings
...
(cherry picked from commit 84cdd0daf0 )
# Conflicts:
# erpnext/accounts/doctype/accounts_settings/accounts_settings.json
2026-08-13 09:41:37 +00:00
Mihir Kandoi
2a9e4304a2
fix(manufacturing): derive material transfers from actual coverage ( #58115 )
2026-08-13 15:06:14 +05:30
Henil Maru
aecc551b5e
fix: Qty and UOM not fetched when adding Item in Material Request ( #58118 )
2026-08-13 14:46:05 +05:30
ljain112
72114fa738
fix: run set_missing_values before creating Purchase Order from MRP report
...
(cherry picked from commit 94d363851f )
2026-08-13 14:12:53 +05:30
Lakshit Jain
e51df54439
Merge pull request #57120 from frappe/mergify/bp/version-16-hotfix/pr-56912
...
refactor: move functionality in postprocess for mapped doc (backport #56912 )
2026-08-13 14:06:27 +05:30
Khushi Rawat
cf6c058f53
Merge pull request #58104 from frappe/mergify/bp/version-16-hotfix/pr-58078
...
fix: apply Sales Person user permissions in Accounts Receivable (backport #58078 )
2026-08-13 12:28:49 +05:30
khushi8112
3fd3f9485b
fix: resolve backport conflicts
2026-08-13 11:52:26 +05:30
Khushi Rawat
007748346c
Merge pull request #58089 from frappe/mergify/bp/version-16-hotfix/pr-57820
...
fix(assets): split fifo/lifo rate across grouped stock item rows (backport #57820 )
2026-08-13 11:49:15 +05:30
khushi8112
956be58c9c
fix: apply Sales Person user permissions in Accounts Receivable
...
The report only narrowed by sales person when the filter was set, so a user
restricted to a Sales Person saw every row once the filter was cleared.
Resolve the permitted Sales Persons from user permissions and apply them on
top of the filter. Each Sales Team parent type is matched against its own
applicable_for scope, so a permission scoped to one doctype cannot authorise
rows through the other. Descendants are already expanded by
get_user_permissions, so Hide Descendants is respected. Gated to Receivable,
since the class is shared with Accounts Payable.
(cherry picked from commit 8b09ba429e )
# Conflicts:
# erpnext/accounts/report/accounts_receivable/accounts_receivable.py
2026-08-13 06:16:07 +00:00
mergify[bot]
0fe5436a13
Fix/item description in the item price list (backport #58084 ) ( #58102 )
...
Co-authored-by: Mohsin Akhtar <167299936+akhtarmohsin@users.noreply.github.com >
2026-08-13 04:23:10 +00:00
ervishnucs
c014e01144
test(assets): cover grouped stock item rows splitting FIFO rate
...
(cherry picked from commit 2cbc5b89d6 )
2026-08-12 09:05:15 +00:00
ervishnucs
98bef1cac8
fix(assets): split FIFO/LIFO rate across grouped stock item rows
...
(cherry picked from commit a05ec49062 )
2026-08-12 09:05:15 +00:00
Frappe PR Bot
81a6f97566
chore(release): Bumped to Version 16.32.0
...
# [16.32.0](https://github.com/frappe/erpnext/compare/v16.31.1...v16.32.0 ) (2026-08-11)
### Bug Fixes
* add raw material to its operation even when another operation uses the item ([35f9bec ](35f9bec988 ))
* add type hints to conversion factor API ([dbfe7e1 ](dbfe7e199e ))
* allow non-admin roles to import chart of accounts (backport [#57454 ](https://github.com/frappe/erpnext/issues/57454 )) ([#58060 ](https://github.com/frappe/erpnext/issues/58060 )) ([a707c82 ](a707c82c0c ))
* allow selecting a warehouse for new items in the update items dialog ([#57876 ](https://github.com/frappe/erpnext/issues/57876 )) ([c9977be ](c9977be5d4 ))
* cap a manufacture entry at the job card's pending production ([79ad410 ](79ad410cc1 ))
* clear deferred revenue/expense fields on uncheck (backport [#57140 ](https://github.com/frappe/erpnext/issues/57140 )) ([7e72e70 ](7e72e70cc1 ))
* **coa_importer:** added server-side validations for importing chart of accounts (backport [#58065 ](https://github.com/frappe/erpnext/issues/58065 )) ([#58066 ](https://github.com/frappe/erpnext/issues/58066 )) ([db22fcb](db22fcb157 ))
* condition check with empty object for falsy case ([838fb8e ](838fb8e8df ))
* **consolidated cash flow:** correct totals and labels in section foo… (backport [#57336 ](https://github.com/frappe/erpnext/issues/57336 )) ([#58056 ](https://github.com/frappe/erpnext/issues/58056 )) ([f11d0d5 ](f11d0d5cec ))
* **controllers:** correct negative rate settings link ([51aecec ](51aecec598 ))
* convert hours to minutes in workstation complete_job ([822e6d8 ](822e6d8924 ))
* declare precision 9 on all conversion_factor fields ([db49b03 ](db49b03913 ))
* derive operation FG items before material expansion, keep the final one the BOM's item ([3e0d0b2 ](3e0d0b2d68 ))
* don't demand raw material transfer for semi FG job cards on submit ([99d9d84 ](99d9d845bd ))
* escape `customer_details` on lead creation from appointment (backport [#57947 ](https://github.com/frappe/erpnext/issues/57947 )) ([#57949 ](https://github.com/frappe/erpnext/issues/57949 )) ([dff4ec6 ](dff4ec6a74 ))
* field validation and perm checks on `get_stock_reservation_entries_for_voucher` (backport [#57968 ](https://github.com/frappe/erpnext/issues/57968 )) ([#57970 ](https://github.com/frappe/erpnext/issues/57970 )) ([0a9b632 ](0a9b632925 ))
* generate the next manufacture entry net of booked process loss ([2548751 ](2548751673 ))
* guard reconciliation table deletes when tables are missing ([21fbfa5 ](21fbfa541d ))
* handling negative grand total ([e657a7f ](e657a7f19f ))
* incorrect batch-wise valuation rate for entries with same posting datetime (backport [#57794 ](https://github.com/frappe/erpnext/issues/57794 )) ([#57797 ](https://github.com/frappe/erpnext/issues/57797 )) ([adfa676 ](adfa6768c9 ))
* incorrect entry detection in Stock Ledger Invariant Check ([#57886 ](https://github.com/frappe/erpnext/issues/57886 )) ([f7bae88 ](f7bae888cf ))
* item property updates in POS and transactions and add styling (backport [#57189 ](https://github.com/frappe/erpnext/issues/57189 )) ([#58058 ](https://github.com/frappe/erpnext/issues/58058 )) ([5f43c89 ](5f43c89c45 ))
* **job_card:** apply the completion dialog's qty to manufacture ([#57685 ](https://github.com/frappe/erpnext/issues/57685 )) ([d97cf13 ](d97cf131a1 ))
* **job_card:** leave the pending qty out of the job card's own output ([#57686 ](https://github.com/frappe/erpnext/issues/57686 )) ([0c79194 ](0c7919429e ))
* **job_card:** reject a completion split that cannot add up ([#57687 ](https://github.com/frappe/erpnext/issues/57687 )) ([3907d93 ](3907d93f9f ))
* **job_card:** require the previous operation to be manufactured ([#57684 ](https://github.com/frappe/erpnext/issues/57684 )) ([a22a7fd ](a22a7fddba ))
* **journal_entry:** validate blocked purchase invoices ([04718e1 ](04718e15c9 ))
* **journal_entry:** validation message for blocked purchase invoice ([#57896 ](https://github.com/frappe/erpnext/issues/57896 )) ([f0adbd2 ](f0adbd2bd3 ))
* keep asset repair downtime in sync with entered dates ([ca5418e ](ca5418e2c9 ))
* keep job card actions visible for corrective job cards ([4ee276d ](4ee276d3db ))
* keep source rate on re-fetch when maintain same rate is enabled (backport [#57479 ](https://github.com/frappe/erpnext/issues/57479 )) ([#57792 ](https://github.com/frappe/erpnext/issues/57792 )) ([ee5316e ](ee5316ecd0 ))
* keep Target Warehouse optional for work orders tracking semi finished goods ([c598cf9 ](c598cf9010 ))
* keep the transfer qty check for legacy semi FG cards without an FG item ([f810d78 ](f810d780c0 ))
* **manufacturing:** adapt version 16 compatibility ([a8060d5 ](a8060d5e99 ))
* **manufacturing:** align quantity split rounding ([317dd18 ](317dd18ce5 ))
* **manufacturing:** avoid child BOM cache lookups ([fb87751 ](fb877515ca ))
* **manufacturing:** correct nested BOM quantities ([b4929e2 ](b4929e2737 ))
* **manufacturing:** keep item code searchable when a barcode matches the same text ([87c4009 ](87c4009572 ))
* **manufacturing:** type whitelisted BOM arguments ([87b456f ](87b456faa2 ))
* mirror rounding adjustment on distributed_discount_amount (backport [#58047 ](https://github.com/frappe/erpnext/issues/58047 )) ([#58055 ](https://github.com/frappe/erpnext/issues/58055 )) ([d680115 ](d680115fcb ))
* optimize product bundle item search ([2934971 ](29349711e4 ))
* preserve custom title on new JV (backport [#57987 ](https://github.com/frappe/erpnext/issues/57987 )) ([#57989 ](https://github.com/frappe/erpnext/issues/57989 )) ([4a2163e ](4a2163ebf8 ))
* preserve original operation idx in manually created Job Cards ([fee003a ](fee003a82d ))
* purchase return of batchwise valuation batch valued at original receipt rate instead of batch avg rate (version-16-hotfix) ([#57836 ](https://github.com/frappe/erpnext/issues/57836 )) ([aa70d9b ](aa70d9bbc3 ))
* re-check future sle before queuing repost on submit ([#57664 ](https://github.com/frappe/erpnext/issues/57664 )) ([#57961 ](https://github.com/frappe/erpnext/issues/57961 )) ([2b020c2 ](2b020c2fcf ))
* reflect in-invoice receivable settlements in Sales Register ledger view ([a90907f ](a90907fda6 ))
* **regional:** rename Italy's duplicate Customer name fields ([f56867d ](f56867d843 )), closes [#46281 ](https://github.com/frappe/erpnext/issues/46281 ) [#50915 ](https://github.com/frappe/erpnext/issues/50915 ) [#57215 ](https://github.com/frappe/erpnext/issues/57215 ) [#50921 ](https://github.com/frappe/erpnext/issues/50921 ) [#53409 ](https://github.com/frappe/erpnext/issues/53409 )
* repost read stale sibling SLE rate for moving average returns ([ffa65b0 ](ffa65b0c48 ))
* require FG / Semi FG Item on operations when tracking semi finished goods ([03eeb83 ](03eeb839fb ))
* require material transfer before job card start and completion ([a7f75de ](a7f75de1aa ))
* require WIP warehouse for work orders tracking semi finished goods ([24cd5f2 ](24cd5f22b5 ))
* roll up process loss to the work order for semi finished goods ([27130d8 ](27130d8e49 ))
* round computed conversion factors to field precision ([206ed28 ](206ed28924 ))
* round production plan mr_items quantity to field precision ([2d056ae ](2d056aee3d ))
* **sales-invoice:** respect Customize Form hidden setting on Update Stock ([#57819 ](https://github.com/frappe/erpnext/issues/57819 )) ([0e26f9b ](0e26f9b1db ))
* scale generated raw materials to the manufacture entry's production share ([acba994 ](acba9945b0 ))
* scope manufacture entry process loss to its own job card ([a0b370b ](a0b370b2e9 )), closes [frappe/erpnext#57892 ](https://github.com/frappe/erpnext/issues/57892 )
* **selling:** bill re-delivered sales order quantities ([6fb09b1 ](6fb09b1e21 ))
* **selling:** preserve explicit UOM during item selection ([218397e ](218397e78d ))
* **selling:** read overdue amount from payment ledger, not gl tags (backport [#57786 ](https://github.com/frappe/erpnext/issues/57786 )) ([#58057 ](https://github.com/frappe/erpnext/issues/58057 )) ([b89229a ](b89229a93d ))
* **selling:** reset stale item details on item change ([b5d727f ](b5d727fb81 ))
* set `restrict_globals=True` in `frappe.render_template` (backport [#57899 ](https://github.com/frappe/erpnext/issues/57899 )) ([#57902 ](https://github.com/frappe/erpnext/issues/57902 )) ([6b45002 ](6b45002abc ))
* **setup:** fetch driver address by supplier link ([62a851b ](62a851bebb ))
* skip incoming rate calc when serial no qty is zero (backport [#57427 ](https://github.com/frappe/erpnext/issues/57427 )) ([#57957 ](https://github.com/frappe/erpnext/issues/57957 )) ([a4d9411 ](a4d9411345 ))
* skip PO items with invoice-created receipts in billing repair patch ([9139994 ](9139994686 ))
* skip the pending production check on update-after-submit saves ([491f9fa ](491f9fa3fe ))
* **stock:** drop call to confirm_if_drafts_exist missing on v16 ([#57833 ](https://github.com/frappe/erpnext/issues/57833 )) ([626e351 ](626e35135f ))
* **stock:** handle multi-item opening balance in Stock Ledger report (backport [#57591 ](https://github.com/frappe/erpnext/issues/57591 )) ([#57796 ](https://github.com/frappe/erpnext/issues/57796 )) ([af3184c ](af3184c8b4 ))
* **stock:** repair duplicated purchase receipt billing ([fa733e6 ](fa733e691b ))
* **stock:** validate new warehouse inventory account after naming ([fce0eb1 ](fce0eb1577 ))
* **stock:** validate warehouse accounts when used ([0dfa54f ](0dfa54f812 ))
* stop asking for a manufacturing entry when process loss explains the shortfall ([104c8df ](104c8df765 ))
* **subscription:** don't reactivate a cancelled subscription (backport [#57774 ](https://github.com/frappe/erpnext/issues/57774 )) ([eeb3cd2 ](eeb3cd238e )), closes [#57761 ](https://github.com/frappe/erpnext/issues/57761 ) [#56796 ](https://github.com/frappe/erpnext/issues/56796 ) [#56796 ](https://github.com/frappe/erpnext/issues/56796 ) [#57780 ](https://github.com/frappe/erpnext/issues/57780 )
* sync open reference forms after Quality Inspection updates them ([33eb619 ](33eb6199d9 ))
* sync translations from crowdin ([#57841 ](https://github.com/frappe/erpnext/issues/57841 )) ([a9d139a ](a9d139ae6b ))
* sync translations from crowdin ([#58069 ](https://github.com/frappe/erpnext/issues/58069 )) ([f697b02 ](f697b024db ))
* tolerate floating-point drift in sales team allocated percentage ([39f15bb ](39f15bb3e9 ))
* use stock settings for warehouse defaults ([d8bbe86 ](d8bbe865a8 ))
* validate webform for project ([8d98fe8 ](8d98fe8187 ))
* zero-rate repost fallback could still read sibling SLE ([81f81ff ](81f81fff32 ))
### Features
* **job_card:** print quantities with their stock uom ([#57689 ](https://github.com/frappe/erpnext/issues/57689 )) ([eb90186 ](eb90186d3f ))
* stock validations in Period Closing Voucher and snapshot-seeded batch valuation (backport [#57811 ](https://github.com/frappe/erpnext/issues/57811 )) ([#57816 ](https://github.com/frappe/erpnext/issues/57816 )) ([243266f ](243266f5ef ))
* sync serial no status from stock ledger in Stock Qty vs Serial No Count report (version-16-hotfix) ([#57864 ](https://github.com/frappe/erpnext/issues/57864 )) ([ea5cbb1 ](ea5cbb116c ))
2026-08-11 23:39:40 +00:00
Diptanil Saha
b27bc42d51
Merge pull request #58024 from frappe/version-16-hotfix
...
chore: release v16
2026-08-12 05:08:00 +05:30
Frappe PR Bot
22247ab7c5
chore(release): Bumped to Version 16.31.1
...
## [16.31.1](https://github.com/frappe/erpnext/compare/v16.31.0...v16.31.1 ) (2026-08-06)
### Bug Fixes
* **stock:** drop call to confirm_if_drafts_exist missing on v16 ([#57833 ](https://github.com/frappe/erpnext/issues/57833 )) ([e834910 ](e834910bfd ))
2026-08-06 08:12:42 +00:00
Mihir Kandoi
f8b19f7376
Merge pull request #57834 from frappe/mergify/bp/version-16/pr-57833
...
fix(stock): drop call to confirm_if_drafts_exist missing on v16 (backport #57833 )
2026-08-06 13:40:55 +05:30
Mihir Kandoi
e834910bfd
fix(stock): drop call to confirm_if_drafts_exist missing on v16 ( #57833 )
...
(cherry picked from commit 626e35135f )
2026-08-06 08:09:41 +00:00
ljain112
b412266e18
chore: resolve conflicts
2026-08-05 17:01:39 +05:30
ljain112
3141387949
chore: resolve conflicts
2026-08-05 12:33:01 +05:30
ljain112
6bee70596b
refactor: move functionality in postprocess for mapped doc
...
(cherry picked from commit 0691c7c7bc )
# Conflicts:
# erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py
2026-08-05 12:31:22 +05:30
Frappe PR Bot
68ea583a1f
chore(release): Bumped to Version 16.31.0
...
# [16.31.0](https://github.com/frappe/erpnext/compare/v16.30.0...v16.31.0 ) (2026-08-04)
### Bug Fixes
* **accounts receivable:** made territory field multi select (backport [#57322 ](https://github.com/frappe/erpnext/issues/57322 )) ([#57346 ](https://github.com/frappe/erpnext/issues/57346 )) ([9b452f1 ](9b452f12b7 ))
* **accounts:** fetch deferred invoice docs on non-empty `sales_docs` or `purchase_docs` in repost accounting ledger ([#57753 ](https://github.com/frappe/erpnext/issues/57753 )) ([6153202 ](6153202231 ))
* **accounts:** skip party dashboard without invoice permission ([ee6955d ](ee6955d56c ))
* **accounts:** update AU standard chart of accounts (backport [#57145 ](https://github.com/frappe/erpnext/issues/57145 )) ([#57608 ](https://github.com/frappe/erpnext/issues/57608 )) ([1ea1ce1 ](1ea1ce15d0 ))
* allow custom remark on reversal journal entry ([b4dfca9 ](b4dfca9ef1 ))
* apply the supplier selection to this branch's own mapper module ([e5f8d0c ](e5f8d0c84b ))
* **assets:** add permission checks on whitelisted methods on `asset_capitalization` ([99f249b ](99f249b1a0 ))
* **banking:** fetch company list from DB instead of boot (backport [#57731 ](https://github.com/frappe/erpnext/issues/57731 )) ([#57739 ](https://github.com/frappe/erpnext/issues/57739 )) ([ca60653 ](ca6065398c ))
* do not fetch a random inventory account when multiple inventory accounts exist (backport [#57626 ](https://github.com/frappe/erpnext/issues/57626 )) ([#57632 ](https://github.com/frappe/erpnext/issues/57632 )) ([34cbd3c ](34cbd3c8d5 ))
* drop row prefix in reserve stock message when row is unknown ([684ae4d ](684ae4d762 ))
* escape data in multiple templates (backport [#57742 ](https://github.com/frappe/erpnext/issues/57742 )) ([#57770 ](https://github.com/frappe/erpnext/issues/57770 )) ([824ae57 ](824ae57e44 ))
* escape item code and UOM in the supplier dialog errors ([06a753f ](06a753faf3 ))
* exclude transferred and consumed qty from dashboard reserved stock ([46317b0 ](46317b063a ))
* filter Accounts Receivable by invoice sales partner (backport [#57628 ](https://github.com/frappe/erpnext/issues/57628 )) ([#57648 ](https://github.com/frappe/erpnext/issues/57648 )) ([0e46937 ](0e46937f60 ))
* guard against None row in get_stock_balance_for (backport [#57567 ](https://github.com/frappe/erpnext/issues/57567 )) ([283ee6e ](283ee6e07b ))
* guard scio row lookup in stock entry items_add ([fb6c87d ](fb6c87dd0c ))
* **italy:** skip e-invoicing for opening invoices ([5e584d1 ](5e584d1cfb ))
* **item_variant:** added permission checks on `enqueue_multiple_variant_creation` ([c7cf9d8 ](c7cf9d868b ))
* keep the bulk supplier field to half the supplier selection dialog ([2c9db13 ](2c9db13041 ))
* label the items table in the supplier selection dialog ([187840b ](187840b559 ))
* let Purchase Receipt cancel defer to Frappe's linked-document check (backport [#57592 ](https://github.com/frappe/erpnext/issues/57592 )) ([#57597 ](https://github.com/frappe/erpnext/issues/57597 )) ([16be0f0 ](16be0f0944 ))
* link the item and spell out the unit in the supplier dialog errors ([810b9ae ](810b9ae28f ))
* list the Purchase Orders created per supplier instead of opening one ([d2fe4b6 ](d2fe4b623c ))
* **manufacturing:** reach the whole configurator from tree toolbar actions ([281e92f ](281e92fb6e )), closes [#57773 ](https://github.com/frappe/erpnext/issues/57773 )
* open the Purchase Order when the supplier selection creates only one ([e71cef0 ](e71cef02b3 ))
* **opportunity:** add validation for positive item quantities ([a9f969e ](a9f969e942 ))
* **payment reconciliation:** correct supplier gain/loss posting ([dc907ad ](dc907add40 ))
* **payment_request:** added permission checks on `resend_payment_email` ([fcbbb25 ](fcbbb251cf ))
* **plant_floor:** add missing perm check on `get_stock_summary` (backport [#57667 ](https://github.com/frappe/erpnext/issues/57667 )) ([#57670 ](https://github.com/frappe/erpnext/issues/57670 )) ([7bc0475 ](7bc04752fc ))
* **pos:** don't double-escape Item Group names in get_item_groups ([#57673 ](https://github.com/frappe/erpnext/issues/57673 )) ([a5544d0 ](a5544d0bfb ))
* preserve UOM conversion factor precision in transactions ([e5999b2 ](e5999b22c7 ))
* prevent duplicate shipping charges without cost center ([666b616 ](666b6167a1 ))
* **projects:** add project filter ([3ba8313 ](3ba83134af ))
* **projects:** include on hold status in project filters and reports ([d104d8e ](d104d8e723 ))
* **purchase:** reject purchase returns where every item has zero quantity ([032b922 ](032b922f0c ))
* **quotation:** carry forward communications from opportunity at after_insert (backport [#57639 ](https://github.com/frappe/erpnext/issues/57639 )) ([#57643 ](https://github.com/frappe/erpnext/issues/57643 )) ([624a236 ](624a236f88 ))
* reject the same Material Request item twice in one supplier selection ([ea770f6 ](ea770f6a8e ))
* resolve version 16 backport conflicts ([e98471d ](e98471d9c9 ))
* resolve version-16 backport conflicts ([697f68d ](697f68d1d2 ))
* respect child warehouse account override in Stock and Account Value Comparison ([#57552 ](https://github.com/frappe/erpnext/issues/57552 )) ([ca657d2 ](ca657d2629 ))
* respect quantity precision in material transfer validation ([eb969a5 ](eb969a5866 ))
* **sales:** reject sales returns where every item has zero quantity ([aa71cd6 ](aa71cd695b ))
* seed standard Item Groups under the existing tree root ([4ffa950 ](4ffa950aa3 )), closes [#57581 ](https://github.com/frappe/erpnext/issues/57581 )
* **selling:** don't require cancel and delete perms to remove items via Update Items (backport [#57419 ](https://github.com/frappe/erpnext/issues/57419 )) ([#57601 ](https://github.com/frappe/erpnext/issues/57601 )) ([04e1ca8 ](04e1ca8226 ))
* set Required By on Purchase Orders created per supplier ([f99d66d ](f99d66d578 ))
* set reservation voucher_qty to voucher demand not reserved qty ([ecccedf ](ecccedf0ed ))
* source manually created asset value from valuation rate ([b556b01 ](b556b012f0 ))
* **stock:** accept every number a reading can be written as ([fccf122 ](fccf1220f6 ))
* **stock:** correct secondary item valuation across stock entry purposes ([4ed0374 ](4ed03748fe )), closes [#57732 ](https://github.com/frappe/erpnext/issues/57732 ) [#57735 ](https://github.com/frappe/erpnext/issues/57735 ) [#57736 ](https://github.com/frappe/erpnext/issues/57736 ) [#57737 ](https://github.com/frappe/erpnext/issues/57737 ) [#57738 ](https://github.com/frappe/erpnext/issues/57738 )
* **stock:** keep manufactured item rate at zero when inputs are free (backport [#57334 ](https://github.com/frappe/erpnext/issues/57334 )) ([#57513 ](https://github.com/frappe/erpnext/issues/57513 )) ([49924dd ](49924ddd1d ))
* **stock:** read quality inspection readings in the user's number format ([3b7fb68 ](3b7fb6851a ))
* **stock:** resolve backport conflict in quality inspection imports ([656db1c ](656db1c2fe ))
* **stock:** scope over deliver/receive role check to delivery and receipt overflow ([4713ddd ](4713ddd55b ))
* **stock:** validate only the variant attributes that changed ([0013908 ](00139081f6 ))
* **stock:** validate over delivery/receipt allowance in stock settings ([3f3292c ](3f3292ca4a ))
* **stock:** value batched packed-item returns from the original bundle (backport [#57327 ](https://github.com/frappe/erpnext/issues/57327 )) ([#57511 ](https://github.com/frappe/erpnext/issues/57511 )) ([c0ac8aa ](c0ac8aaf86 ))
* sync translations from crowdin ([#57741 ](https://github.com/frappe/erpnext/issues/57741 )) ([285aec3 ](285aec3164 ))
* update stock variance account logic which defaults to default expense ([#57656 ](https://github.com/frappe/erpnext/issues/57656 )) ([d09c04a ](d09c04a623 ))
* use payment entry posting date for received amount exchange rate (backport [#57660 ](https://github.com/frappe/erpnext/issues/57660 )) ([#57663 ](https://github.com/frappe/erpnext/issues/57663 )) ([5595d1e ](5595d1ed2f ))
* validate account frozen date ([17aeb0b ](17aeb0b55b ))
* warn about existing draft orders before the supplier selection creates more ([93331a1 ](93331a1cf0 ))
### Features
* adjust the ordered quantity in the supplier selection dialog ([2c8c375 ](2c8c375ca6 ))
* alert when Required By falls back to today ([1adeb66 ](1adeb66bdc ))
* auto-fill subscription accounting dimensions from plan with item fallback (backport [#57615 ](https://github.com/frappe/erpnext/issues/57615 )) ([#57622 ](https://github.com/frappe/erpnext/issues/57622 )) ([ebba4e9 ](ebba4e9958 ))
* order only the items ticked in the supplier selection dialog ([d6ee543 ](d6ee5436b8 ))
* select a supplier per item when creating Purchase Orders from Material Request ([95f7810 ](95f7810948 ))
* set one supplier across every item in the supplier selection dialog ([9b647be ](9b647bed5c ))
* show the UOM alongside the quantity in the supplier selection dialog ([5aaefec ](5aaefec747 ))
* status based bar colors in Work Order gantt view (backport [#57634 ](https://github.com/frappe/erpnext/issues/57634 )) ([#57636 ](https://github.com/frappe/erpnext/issues/57636 )) ([2d03d80 ](2d03d80269 ))
2026-08-04 20:30:34 +00:00
Diptanil Saha
2769a8c69e
Merge pull request #57781 from frappe/version-16-hotfix
...
chore: release v16
2026-08-05 01:58:06 +05:30
Mohd Haris
5764d1d173
fix: prevent TimestampMismatchError resolving Dunning with multiple overdue installments
...
`get_linked_dunnings_as_per_state` joins Dunning to its Overdue Payment child
table without DISTINCT. When a Sales Invoice has more than one overdue
installment, its Dunning holds one Overdue Payment row per installment, so the
query returns the same Dunning name once per row.
`update_linked_dunnings` then loads that Dunning name into a separate document
object for each duplicate row and saves each one. The first save bumps the
`modified` timestamp, so the second (now stale) save fails with
`TimestampMismatchError` ("Document has been modified after you have opened
it"). The error is raised on the Dunning while the user is submitting a Payment
Entry, making it confusing, and payments for such invoices cannot be posted at
all.
Add DISTINCT so each linked Dunning is returned (and saved) exactly once.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit 06bfc23436 )
2026-08-04 07:34:27 +00:00
Frappe PR Bot
8378b6e203
chore(release): Bumped to Version 16.30.0
...
# [16.30.0](https://github.com/frappe/erpnext/compare/v16.29.0...v16.30.0 ) (2026-07-28)
### Bug Fixes
* add permission check for `get_item_details` (backport [#57515 ](https://github.com/frappe/erpnext/issues/57515 )) ([#57551 ](https://github.com/frappe/erpnext/issues/57551 )) ([7a606ab ](7a606ab91c ))
* bump item doctype modified timestamp so description change syncs on migrate ([2471c5c ](2471c5ccbb ))
* **crm:** align Opportunity status checks with Quotation statuses (backport [#57489 ](https://github.com/frappe/erpnext/issues/57489 )) ([#57491 ](https://github.com/frappe/erpnext/issues/57491 )) ([ad9870a ](ad9870acc1 ))
* **crm:** clarify the reason why an opportunity cannot be declared as lost (backport [#57495 ](https://github.com/frappe/erpnext/issues/57495 )) ([#57498 ](https://github.com/frappe/erpnext/issues/57498 )) ([3ea19d8 ](3ea19d8eb1 ))
* detect the currency column by fieldtype in trends total row ([a30aac8 ](a30aac87bf ))
* enable the 'Include Zero Stock Items' filter by default to show zero-stock items in the Stock Balance report (backport [#57458 ](https://github.com/frappe/erpnext/issues/57458 )) ([#57460 ](https://github.com/frappe/erpnext/issues/57460 )) ([a0af717 ](a0af717234 ))
* enhance growth view filtering by validating period keys ([3f87836 ](3f87836536 ))
* force-delete repost data file during cleanup (backport [#57245 ](https://github.com/frappe/erpnext/issues/57245 )) ([32baf6a ](32baf6a47c ))
* get reserved batch qty precision from settings ([95de237 ](95de2374ed ))
* guard against missing is_your_company_address custom field on address ([2e6b4b5 ](2e6b4b5838 ))
* Incorrect creation time at the time cancelling an entry causing an issue especially same posting datetime (backport [#57380 ](https://github.com/frappe/erpnext/issues/57380 )) ([#57397 ](https://github.com/frappe/erpnext/issues/57397 )) ([84813d7 ](84813d7f46 ))
* **item:** correct description on deferred revenue/expense ([ee12f8d ](ee12f8d2d4 ))
* **manufacturing:** exclude corrective job cards from semi-FG aggregate ([ebc8482 ](ebc8482310 ))
* **manufacturing:** fall back to UOM Conversion Factor in Production Plan (backport [#57553 ](https://github.com/frappe/erpnext/issues/57553 )) ([#57554 ](https://github.com/frappe/erpnext/issues/57554 )) ([8f36753 ](8f36753705 ))
* **manufacturing:** scope BOM Creator tree children to the parent row ([339bb0b ](339bb0b4ea )), closes [#57311 ](https://github.com/frappe/erpnext/issues/57311 )
* **manufacturing:** sum semi-FG qty across split job cards ([c411b8e ](c411b8e471 ))
* **manufacturing:** update cost of BOMs created via BOM Creator ([f1a0a5e ](f1a0a5e1bf ))
* map MT940 per-transaction reference from :61: customer_reference ([b9c4f79 ](b9c4f790bd ))
* map pick list customer to delivery note when no sales order ([3f6501b ](3f6501b4ff )), closes [#57412 ](https://github.com/frappe/erpnext/issues/57412 )
* migrate stored AR/AP ageing filter to renamed field ([2e5fc38 ](2e5fc38179 ))
* pool batch slot values on every run, not only when negative ([5763378 ](5763378ee1 ))
* **quotation:** carry forward communications from opportunity (backport [#57507 ](https://github.com/frappe/erpnext/issues/57507 )) ([#57509 ](https://github.com/frappe/erpnext/issues/57509 )) ([f9b3e42 ](f9b3e42dcd ))
* rebalance batch slot values at the pooled rate when driven negative ([8a50572 ](8a50572786 ))
* recalculate operating cost on hour rate change in routing ([c182b40 ](c182b4085b ))
* recover failed POS closings (backport [#57203 ](https://github.com/frappe/erpnext/issues/57203 )) ([#57572 ](https://github.com/frappe/erpnext/issues/57572 )) ([9c946eb ](9c946eb168 ))
* rename misleading filter labels in AR/AP reports ([6d856fa ](6d856fa632 ))
* resolve backport conflicts in item doctype ([0ce5040 ](0ce50407f9 ))
* respect selected BOM when creating work order for variant item ([#57359 ](https://github.com/frappe/erpnext/issues/57359 )) ([1132eb1 ](1132eb1a0f ))
* respect user permissions in party dashboard company list ([c79f2e4 ](c79f2e45a8 )), closes [frappe/erpnext#57428 ](https://github.com/frappe/erpnext/issues/57428 )
* **setup:** scope manufacturing warehouse filters to company ([f05e8ed ](f05e8ed0ce ))
* skip stock expense GL entries for non-stock items ([#57518 ](https://github.com/frappe/erpnext/issues/57518 )) ([861c50e ](861c50e727 ))
* **stock:** narrow legacy serial ledger lookup by item (backport [#57499 ](https://github.com/frappe/erpnext/issues/57499 )) ([#57506 ](https://github.com/frappe/erpnext/issues/57506 )) ([59efe72 ](59efe7299a ))
* stop storing raw title template on subcontracting orders ([0863c1e ](0863c1e05c ))
* **subcontracting:** release raw-material reservation when closing a subcontracting order ([ee75fac ](ee75fac9d7 ))
* **test:** flaky test in exchange rate revaluation ([484ff8e ](484ff8e349 ))
* typeerror in get_batches_by_oldest for mixed batch expiry ([bbe7580 ](bbe7580c9d ))
* update formatting of growth view for FS report ([da3844c ](da3844c4df ))
* update operating cost when propagating workstation hour rate to routing ([#57504 ](https://github.com/frappe/erpnext/issues/57504 )) ([39d5fd8 ](39d5fd84db ))
* use company currency instead of global default in report (backport [#56561 ](https://github.com/frappe/erpnext/issues/56561 )) ([9e5f77b ](9e5f77b57c ))
### Features
* block sales invoice submit when customer overdue exceeds threshold (backport [#57230 ](https://github.com/frappe/erpnext/issues/57230 ), [#57298 ](https://github.com/frappe/erpnext/issues/57298 )) ([#57438 ](https://github.com/frappe/erpnext/issues/57438 )) ([d3c5e86 ](d3c5e866f0 )), closes [#52960 ](https://github.com/frappe/erpnext/issues/52960 )
* book Expenses Added To Stock GL entries (backport [#57190 ](https://github.com/frappe/erpnext/issues/57190 ) + [#57475 ](https://github.com/frappe/erpnext/issues/57475 )) ([#57503 ](https://github.com/frappe/erpnext/issues/57503 )) ([68caa60 ](68caa60dfa ))
* make Shipping Rule Cost Center optional with company default fallback (backport [#57355 ](https://github.com/frappe/erpnext/issues/57355 )) ([#57385 ](https://github.com/frappe/erpnext/issues/57385 )) ([bbd942c ](bbd942c600 ))
2026-07-28 23:31:26 +00:00
Diptanil Saha
eaf95e5c36
Merge pull request #57548 from frappe/version-16-hotfix
...
chore: release v16
2026-07-29 04:59:39 +05:30
Frappe PR Bot
a5de60c357
chore(release): Bumped to Version 16.29.0
...
# [16.29.0](https://github.com/frappe/erpnext/compare/v16.28.0...v16.29.0 ) (2026-07-22)
### Bug Fixes
* add fetch from in production plan material request child table ([2852671 ](2852671cd5 ))
* added missing validations for `Dunning Type` (backport [#57224 ](https://github.com/frappe/erpnext/issues/57224 )) ([#57227 ](https://github.com/frappe/erpnext/issues/57227 )) ([3948951 ](3948951904 ))
* allow delivery when a batch is reserved across multiple sales orders (backport [#57169 ](https://github.com/frappe/erpnext/issues/57169 )) ([56bbca0 ](56bbca0203 ))
* block changing Stock account type when stock ledger entries exist (backport [#57283 ](https://github.com/frappe/erpnext/issues/57283 )) ([#57285 ](https://github.com/frappe/erpnext/issues/57285 )) ([a26296c ](a26296ca50 ))
* consider min order qty in the purchase/transfer flow of production plan (backport [#57204 ](https://github.com/frappe/erpnext/issues/57204 )) ([cbd4f93 ](cbd4f93f3d ))
* correct typo in allow_negative_stock parameter ([e2be05e ](e2be05e48b ))
* dont overwrite rate with 0 if not found ([aa08f75 ](aa08f753b4 ))
* exclude fully-delivered reservations from the conflict message ([555c607 ](555c607f2f ))
* exclude transferred_qty from work order item to pick list item mapping ([c466b49 ](c466b49d09 )), closes [#57253 ](https://github.com/frappe/erpnext/issues/57253 ) [#57236 ](https://github.com/frappe/erpnext/issues/57236 ) [#56596 ](https://github.com/frappe/erpnext/issues/56596 )
* hide job card field in purchase order item ([20f6ac8 ](20f6ac81b9 ))
* keep Standard Cost stock value in step with the standard rate ([fe65882 ](fe65882e59 ))
* name every conflicting voucher in the reserved batch error ([839fd5e ](839fd5e3b6 ))
* parallel reposting stalls between scheduler ticks (backport [#57220 ](https://github.com/frappe/erpnext/issues/57220 )) ([#57248 ](https://github.com/frappe/erpnext/issues/57248 )) ([a3bfded ](a3bfdede06 ))
* pass ctx keys get_price_list_rate_for reads, skip rate update on insert ([c3aea9c ](c3aea9ca9c ))
* **payments:** ensure `payments` app installed on the site in `payment_app_import_guard` (backport [#57342 ](https://github.com/frappe/erpnext/issues/57342 )) ([#57344 ](https://github.com/frappe/erpnext/issues/57344 )) ([2c8c076 ](2c8c076f6e ))
* permission issue (backport [#57112 ](https://github.com/frappe/erpnext/issues/57112 )) (backport [#57142 ](https://github.com/frappe/erpnext/issues/57142 )) ([#57184 ](https://github.com/frappe/erpnext/issues/57184 )) ([0817d10 ](0817d1064c ))
* project % complete field allowing modification when manual method (backport [#57274 ](https://github.com/frappe/erpnext/issues/57274 )) ([#57276 ](https://github.com/frappe/erpnext/issues/57276 )) ([0d53f1a ](0d53f1adb7 ))
* **project:** improved access control for project users (backport [#56675 ](https://github.com/frappe/erpnext/issues/56675 )) ([#57181 ](https://github.com/frappe/erpnext/issues/57181 )) ([b1adec7 ](b1adec7e9e ))
* **report:** handle nonetype error in timesheet billing summary grouping logic ([b7cf3bf ](b7cf3bf641 ))
* rescale batch FIFO slot values on stock reconciliation ([6b3b03f ](6b3b03fcd8 ))
* rescale stock ageing FIFO slot values on stock reconciliation ([c9394c0 ](c9394c030f ))
* resolve float precision before streaming stock ledger entries ([0f25254 ](0f252542c3 ))
* restrict jinja globals in process statement of accounts templates (backport [#56458 ](https://github.com/frappe/erpnext/issues/56458 )) ([#57232 ](https://github.com/frappe/erpnext/issues/57232 )) ([5f6952b ](5f6952b15c ))
* revalue batch reco slots only when the entry covers the full batch ([a4bf506 ](a4bf50656a ))
* round outstanding qty guard consistently with the conflict gate ([f3e1b3f ](f3e1b3fca7 ))
* set correct currency in supplier quotation net rate field ([e24ef84 ](e24ef847dc ))
* show transaction currency symbol in Payment Request schedule dialog and reference table (backport [#57050 ](https://github.com/frappe/erpnext/issues/57050 )) ([#57312 ](https://github.com/frappe/erpnext/issues/57312 )) ([429b58b ](429b58b833 ))
* **stock:** correct stock ageing value for moving average and lifo items ([#56693 ](https://github.com/frappe/erpnext/issues/56693 )) ([02549ef ](02549ef8c4 ))
* strip account number when building account name in COA importer ([e1ebfa7 ](e1ebfa7163 ))
* sync process loss percentage when fg qty changes ([beeffee ](beeffee8f9 ))
* sync translations from crowdin ([#57187 ](https://github.com/frappe/erpnext/issues/57187 )) ([827831a ](827831a247 ))
* use system float precision for batch qty comparison ([92217b2 ](92217b2c45 ))
* validate buying price list on material request and update item rates on change ([025b2f2 ](025b2f2922 ))
### Features
* add on hold status to project ([57a49ce ](57a49ce168 ))
* recalculate valuation rate and stock value from Bin ([a38cbfc ](a38cbfc88e ))
* **stock:** automatically link portal users to their associated contact profiles for customers and suppliers ([134d63d ](134d63de78 ))
* **stock:** expose all Bin qty fields in Stock Summary and Stock Projected Qty ([0bdf258 ](0bdf258888 ))
2026-07-22 00:17:03 +00:00
Diptanil Saha
264bfa188b
Merge pull request #57324 from frappe/version-16-hotfix
...
chore: release v16
2026-07-22 05:45:21 +05:30
Frappe PR Bot
de591661b9
chore(release): Bumped to Version 16.28.0
...
# [16.28.0](https://github.com/frappe/erpnext/compare/v16.27.0...v16.28.0 ) (2026-07-15)
### Bug Fixes
* **accounts:** added permission checks on `get_account_balances_coa` (backport [#57107 ](https://github.com/frappe/erpnext/issues/57107 )) ([#57122 ](https://github.com/frappe/erpnext/issues/57122 )) ([e8a5325 ](e8a532587d ))
* allow barcode scan to add and increment items in pick list ([00a646a ](00a646ac25 ))
* apply precision fix inline for v16-hotfix, drop develop-only asset_service refactor ([d3a8e91 ](d3a8e91cda ))
* **asset:** allow asset repair creation for fully depreciated assets ([8658039 ](8658039e9a ))
* **budget-variance:** correct month shift in comparison chart ([703e9a7](703e9a728c ))
* guard company logo lookup in default letterheads ([7b54314 ](7b543142a2 ))
* **journal-entry:** fetch outstanding on foreign currency ([ec782ee ](ec782ee20d ))
* **manufacturing:** preserve job card transferred quantity ([d7e9321 ](d7e9321746 ))
* match depreciation schedule rows at currency precision to avoid duplicate JEs ([a1fae95 ](a1fae959ed ))
* prevent duplicate material request items in purchase order ([4d951c1 ](4d951c1cf8 ))
* set explicit table and logo widths in grey letterhead ([0d80fef ](0d80fef3bf ))
* **stock:** fix sqlparse token limit in get_bundle_wise_serial_nos ([5a99dd6 ](5a99dd6016 ))
* **stock:** set stock_uom on transferred Stock Reservation Entries ([5991ecf ](5991ecfa3d ))
* **stock:** show qty (company) and qty (warehouse) in sales transactions ([0d9ace7 ](0d9ace7ab8 ))
* **tnc:** `get_terms_and_conditions` render_template with `safe_exec` (backport [#56944 ](https://github.com/frappe/erpnext/issues/56944 )) ([#56977 ](https://github.com/frappe/erpnext/issues/56977 )) ([40c85a0 ](40c85a0087 ))
### Features
* **balance-sheet:** implement execute_synced_report with full parity to normal report ([636bcbe ](636bcbedc0 ))
* **general-ledger:** implement execute_synced_report with full parity to normal report ([19ec095 ](19ec095ff8 ))
* **profit-and-loss:** implement execute_synced_report with full parity to normal report ([21ddb00 ](21ddb00e20 ))
* **trial-balance:** implement execute_duckdb with full parity to normal report ([228418b ](228418b05f ))
* weekly auto-repost of incorrect stock valuation entries (backport [#56637 ](https://github.com/frappe/erpnext/issues/56637 )) ([#56700 ](https://github.com/frappe/erpnext/issues/56700 )) ([bf1b7f2 ](bf1b7f2bea ))
2026-07-15 02:24:51 +00:00
ruthra kumar
9a7e796fd2
Merge pull request #57161 from frappe/version-16-hotfix
...
chore: release v16
2026-07-15 06:17:14 +05:30
Frappe PR Bot
9d5c7605b8
chore(release): Bumped to Version 16.27.0
...
# [16.27.0](https://github.com/frappe/erpnext/compare/v16.26.2...v16.27.0 ) (2026-07-13)
### Bug Fixes
* **`frappe_crm_api`:** handle failure for `after_app_install` and `after_app_uninstall` ([eac3afc ](eac3afcd88 ))
* **accounts:** clear clearance date when amending reconciled voucher ([6f28135 ](6f281356a6 )), closes [#54909 ](https://github.com/frappe/erpnext/issues/54909 )
* **accounts:** retain invoice table on opening invoice creation error (backport [#56353 ](https://github.com/frappe/erpnext/issues/56353 )) ([#57058 ](https://github.com/frappe/erpnext/issues/57058 )) ([4136ca5 ](4136ca55a7 ))
* add page numbers to print format footer ([0371e8e ](0371e8eaf0 ))
* added permission checks on various whitelisted functions (backport [#56745 ](https://github.com/frappe/erpnext/issues/56745 )) ([#56946 ](https://github.com/frappe/erpnext/issues/56946 )) ([7ce1289 ](7ce1289c10 ))
* address review comments ([056195c ](056195ce07 ))
* auto fetch serial no from previous operation output (backport to v16) ([#56861 ](https://github.com/frappe/erpnext/issues/56861 )) ([17f2de4 ](17f2de42f3 ))
* **banking:** allow negative balance in bank statement import (backport [#56959 ](https://github.com/frappe/erpnext/issues/56959 )) ([#57054 ](https://github.com/frappe/erpnext/issues/57054 )) ([835e32c ](835e32cec7 ))
* **banking:** handle blank password protected PDFs and negative amounts in CR/DR columns (backport [#56690 ](https://github.com/frappe/erpnext/issues/56690 )) ([#56694 ](https://github.com/frappe/erpnext/issues/56694 )) ([19c318d ](19c318df68 ))
* **banking:** use custom renderer for translated strings and parser for rules (backport [#56643 ](https://github.com/frappe/erpnext/issues/56643 )) ([#56647 ](https://github.com/frappe/erpnext/issues/56647 )) ([2cb577b ](2cb577b912 ))
* block serialized to non-serialized item change when SABB exists (backport [#56773 ](https://github.com/frappe/erpnext/issues/56773 )) ([#56775 ](https://github.com/frappe/erpnext/issues/56775 )) ([19d03fe ](19d03fee46 ))
* clear stray permission message when item dashboard has no warehouse access ([a39753e ](a39753ee08 ))
* **company:** ignore user permissions for link fields having link to `Account` and `Cost Center` (backport [#56748 ](https://github.com/frappe/erpnext/issues/56748 )) ([#56795 ](https://github.com/frappe/erpnext/issues/56795 )) ([003b655 ](003b6554c4 ))
* correct filter handling in Sales Person-wise Transaction Summary + tests (backport [#56783 ](https://github.com/frappe/erpnext/issues/56783 )) ([#56908 ](https://github.com/frappe/erpnext/issues/56908 )) ([24f0989 ](24f0989ac1 ))
* **crm_settings:** skip allowed users check when frappe crm is installed locally ([dfe4d5a ](dfe4d5ab73 ))
* display outstanding amount using company default currency (backport [#56785 ](https://github.com/frappe/erpnext/issues/56785 )) ([#57009 ](https://github.com/frappe/erpnext/issues/57009 )) ([bdba4c8 ](bdba4c8091 ))
* don't attempt to create SABB for non-serialized / non-batch items (backport [#56627 ](https://github.com/frappe/erpnext/issues/56627 )) ([#56803 ](https://github.com/frappe/erpnext/issues/56803 )) ([8c56a5a ](8c56a5ac0c ))
* don't treat batch slot at FIFO queue head as qty slot ([20f6dd0 ](20f6dd0224 ))
* enforce read permission on ledger preview endpoints ([#57039 ](https://github.com/frappe/erpnext/issues/57039 )) ([5642359 ](5642359c10 ))
* fetch payment entry reference amounts from invoice (backport [#56928 ](https://github.com/frappe/erpnext/issues/56928 )) ([#57042 ](https://github.com/frappe/erpnext/issues/57042 )) ([67c85ef ](67c85ef0af ))
* FIFO queue checks and incorrect entries filter in stock ledger reports ([3571512 ](3571512101 )), closes [#43619 ](https://github.com/frappe/erpnext/issues/43619 )
* **financial_statement:** render columnar financial statements instea… (backport [#56921 ](https://github.com/frappe/erpnext/issues/56921 )) ([#57053 ](https://github.com/frappe/erpnext/issues/57053 )) ([e6a6c13 ](e6a6c13355 ))
* for purchases do voucher based reposting (backport [#56601 ](https://github.com/frappe/erpnext/issues/56601 )) ([#56608 ](https://github.com/frappe/erpnext/issues/56608 )) ([e1e6176 ](e1e6176ddc ))
* guard against missing DocType in onboarding steps patch ([#56804 ](https://github.com/frappe/erpnext/issues/56804 )) ([f72289e ](f72289e27c ))
* **item-attribute:** clear attribute values when marking numeric ([374b340 ](374b340e73 ))
* **item:** error on uncommitted input and escape values in variant dialog ([04c834d ](04c834d6a9 ))
* **item:** rework multiple variant dialog for large numeric ranges ([025d0cd ](025d0cd7f3 ))
* make represents company field in purchase invoice ignore user permissions ([4aed77d ](4aed77df0c ))
* make trend report based-on and group-by column labels translatable ([b8199d8 ](b8199d88b6 ))
* map stock_qty in apply_price_list_on_item (backport [#56869 ](https://github.com/frappe/erpnext/issues/56869 )) ([#57052 ](https://github.com/frappe/erpnext/issues/57052 )) ([240fb2c ](240fb2c4b8 ))
* partial delivery note against pick list (backport [#56985 ](https://github.com/frappe/erpnext/issues/56985 )) ([#57006 ](https://github.com/frappe/erpnext/issues/57006 )) ([20255a8 ](20255a8a7f ))
* **patch:** moved create_company_custom_fields from `pre_model_sync` to `post_model_sync` (backport [#56962 ](https://github.com/frappe/erpnext/issues/56962 )) ([#56965 ](https://github.com/frappe/erpnext/issues/56965 )) ([14efd14 ](14efd14384 ))
* **payment reconciliation:** honour user permissions on accounting di… ([#56560 ](https://github.com/frappe/erpnext/issues/56560 )) ([8eb92b8 ](8eb92b8b18 ))
* precision issue causing reconciliation error ([#54043 ](https://github.com/frappe/erpnext/issues/54043 )) ([20df15b ](20df15b3ac ))
* prevent repeatable read related concurrency errors ([019b02a ](019b02adcd ))
* race condition and repeatable read in process pcv ([6d9f5fa ](6d9f5fac76 ))
* recompute transferred qty before deciding work order status ([bc952f4 ](bc952f40d9 ))
* remove company default on cost center in stock entry detail ([a1fe6ce ](a1fe6cee5d ))
* remove incorrect Payable account_type from Customer Deposits in Philippines CoA (backport [#57018 ](https://github.com/frappe/erpnext/issues/57018 )) ([#57061 ](https://github.com/frappe/erpnext/issues/57061 )) ([edfbc71 ](edfbc71135 ))
* rename variant item_code/item_name when attribute abbreviation changes ([97cd1e7 ](97cd1e7144 ))
* render letter head footer in print formats ([fa4d32d ](fa4d32dcdb ))
* replay immutable SLE qty for serial/batch bundle valuation (backport [#56814 ](https://github.com/frappe/erpnext/issues/56814 )) ([#56835 ](https://github.com/frappe/erpnext/issues/56835 )) ([2264e25 ](2264e25cc6 ))
* resolve conflicts ([3aad7fe ](3aad7fee24 ))
* restore Save button on reverse journal entry (backport [#56770 ](https://github.com/frappe/erpnext/issues/56770 )) ([#56772 ](https://github.com/frappe/erpnext/issues/56772 )) ([4573cd1 ](4573cd15a9 ))
* **selling:** update sales order per billed on credit note submission ([224cf19 ](224cf19f33 ))
* set conversion_rate on quotation created from customer ([26905bc ](26905bc142 ))
* show only template items in Variant Of filter ([bebe011 ](bebe011636 ))
* skip item prices tab render for users without item price read access ([c964811 ](c964811293 ))
* skip stock reservation for opted-out production plans ([17598e2 ](17598e2626 )), closes [#56798 ](https://github.com/frappe/erpnext/issues/56798 )
* **stock:** backfill transferred qty for existing pick lists ([903d78c ](903d78cc43 ))
* **stock:** link job card in stock entry created from pick list (backport [#57031 ](https://github.com/frappe/erpnext/issues/57031 )) ([755b9cc ](755b9ccbc3 ))
* **stock:** pick list serial batch posting date ([#57015 ](https://github.com/frappe/erpnext/issues/57015 )) ([7e46be2 ](7e46be2a33 )), closes [#56951 ](https://github.com/frappe/erpnext/issues/56951 )
* **stock:** propagate project from job card to stock entry ([51d2077 ](51d2077eed ))
* **stock:** support quality inspection for stock entry by purpose (backport [#56446 ](https://github.com/frappe/erpnext/issues/56446 )) ([40ca3b5 ](40ca3b5e5d ))
* update BOM operations when routing is changed ([b2e6a39 ](b2e6a39743 ))
* update events order by date asc (backport [#56963 ](https://github.com/frappe/erpnext/issues/56963 )) ([#57056 ](https://github.com/frappe/erpnext/issues/57056 )) ([e2fd061 ](e2fd061b3d ))
* update modified timestamp in item.json ([f602ee0 ](f602ee0e73 ))
* use live source warehouse valuation for internal transfer purchase receipts (backport [#56431 ](https://github.com/frappe/erpnext/issues/56431 )) ([#56677 ](https://github.com/frappe/erpnext/issues/56677 )) ([1da28f2 ](1da28f2278 ))
* validate planned end date is not before planned start date in work order ([745baad ](745baad0d1 ))
* validate reverse GL entries on current date under immutable ledger (backport [#56709 ](https://github.com/frappe/erpnext/issues/56709 )) ([#56752 ](https://github.com/frappe/erpnext/issues/56752 )) ([eea4756 ](eea4756ce9 ))
* validate template and its variant in the same Pricing Rule ([159a253 ](159a2538da ))
### Features
* capture user persona during setup (backport [#56705 ](https://github.com/frappe/erpnext/issues/56705 )) ([#56707 ](https://github.com/frappe/erpnext/issues/56707 )) ([d9aa449 ](d9aa4491f1 ))
* **crm_settings:** auto-update crm sync settings on frappe crm install and uninstall ([cb2a930 ](cb2a930a32 ))
* explain FIFO allocation of fixed Discount Amount on Sales Order ([#56436 ](https://github.com/frappe/erpnext/issues/56436 )) ([62fed1d ](62fed1d562 ))
* **manufacturing:** create material request for raw materials from work order ([#56980 ](https://github.com/frappe/erpnext/issues/56980 )) ([144f92d ](144f92d58e ))
* **sla:** filter service level agreement link by document type (backport [#56954 ](https://github.com/frappe/erpnext/issues/56954 )) ([#56956 ](https://github.com/frappe/erpnext/issues/56956 )) ([393b5d1 ](393b5d1f74 ))
* **stock:** support partial transfer from pick list ([af495ed ](af495ed253 ))
### Performance Improvements
* avoid per-row Warehouse doc fetches in auto reorder job ([39b5e12 ](39b5e12305 ))
* batch bin lookups in delivery note stock update ([697e2c0 ](697e2c0b66 ))
2026-07-13 07:41:31 +00:00
Diptanil Saha
f94eee3197
Merge pull request #56931 from frappe/version-16-hotfix
...
chore: release v16
2026-07-13 12:09:52 +05:30