Frappe PR Bot
e6b4799b1a
chore(release): Bumped to Version 15.118.0
...
# [15.118.0](https://github.com/frappe/erpnext/compare/v15.117.0...v15.118.0 ) (2026-07-22)
### Bug Fixes
* add fetch from in production plan material request child table ([6ffd759 ](6ffd759968 ))
* added missing validations for `Dunning Type` (backport [#57224 ](https://github.com/frappe/erpnext/issues/57224 )) ([#57226 ](https://github.com/frappe/erpnext/issues/57226 )) ([fd01171 ](fd01171df5 ))
* apply default accounting dimensions reliably on new documents ([88abe11 ](88abe119c3 ))
* apply user permissions via build_match_conditions ([202f522 ](202f52271c ))
* block changing Stock account type when stock ledger entries exist (backport [#57283 ](https://github.com/frappe/erpnext/issues/57283 )) ([#57284 ](https://github.com/frappe/erpnext/issues/57284 )) ([2cd531d ](2cd531d099 ))
* consider min order qty in the purchase/transfer flow of production plan (backport [#57204 ](https://github.com/frappe/erpnext/issues/57204 )) ([#57209 ](https://github.com/frappe/erpnext/issues/57209 )) ([77ec644 ](77ec6447c3 ))
* correct typo in allow_negative_stock parameter ([f24e09c ](f24e09cc97 ))
* dont overwrite rate with 0 if not found ([74e9718 ](74e9718871 ))
* pass ctx keys get_price_list_rate_for reads, skip rate update on insert ([302cbbe ](302cbbe5d8 ))
* **payments:** ensure `payments` app installed on the site in `payment_app_import_guard` (backport [#57342 ](https://github.com/frappe/erpnext/issues/57342 )) ([#57343 ](https://github.com/frappe/erpnext/issues/57343 )) ([3efddfd ](3efddfd270 ))
* permission issue (backport [#57112 ](https://github.com/frappe/erpnext/issues/57112 )) ([#57142 ](https://github.com/frappe/erpnext/issues/57142 )) ([6b23b00 ](6b23b007a4 ))
* project % complete field allowing modification when manual method (backport [#57274 ](https://github.com/frappe/erpnext/issues/57274 )) ([#57275 ](https://github.com/frappe/erpnext/issues/57275 )) ([21e5620 ](21e5620e92 ))
* **project:** improved access control for project users (backport [#56675 ](https://github.com/frappe/erpnext/issues/56675 )) ([#57180 ](https://github.com/frappe/erpnext/issues/57180 )) ([ff6c8bb ](ff6c8bbb44 ))
* read serial and batch flags from Item in Stock Balance's SLE query ([e7f0461 ](e7f0461b57 ))
* rescale batch FIFO slot values on stock reconciliation ([72b3210 ](72b3210cbb ))
* rescale stock ageing FIFO slot values on stock reconciliation ([d51f907 ](d51f9076b5 ))
* resolve float precision before streaming stock ledger entries ([b9ff5be ](b9ff5be43e ))
* resolve merge conflicts ([81e865f ](81e865f6c7 ))
* restrict jinja globals in process statement of accounts templates (backport [#56458 ](https://github.com/frappe/erpnext/issues/56458 )) ([#57231 ](https://github.com/frappe/erpnext/issues/57231 )) ([88443e4 ](88443e4a97 ))
* revalue batch reco slots only when the entry covers the full batch ([2673029 ](2673029bd4 ))
* set correct currency in supplier quotation net rate field ([30ab2db ](30ab2dba6e ))
* strip account number when building account name in COA importer ([314dd16 ](314dd16aa3 ))
* sync process loss percentage when fg qty changes ([f0e24e2 ](f0e24e2f53 ))
* use account currency in Bank Reconciliation Statement print ([d6f797d ](d6f797d077 ))
* use system float precision for batch qty comparison ([1679bde ](1679bdecdc ))
* validate buying price list on material request and update item rates on change ([96dc408 ](96dc408484 ))
### Features
* add on hold status to project ([5e2e154 ](5e2e15436d ))
* **stock:** automatically link portal users to their associated contact profiles for customers and suppliers ([4f9ea98 ](4f9ea989c4 ))
* **stock:** expose all Bin qty fields in Stock Summary and Stock Projected Qty ([90009a4 ](90009a4687 ))
2026-07-22 00:17:40 +00:00
Diptanil Saha
49eb2366cd
Merge pull request #57323 from frappe/version-15-hotfix
...
chore: release v15
2026-07-22 05:45:46 +05:30
mergify[bot]
3efddfd270
fix(payments): ensure payments app installed on the site in payment_app_import_guard (backport #57342 ) ( #57343 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-21 21:40:17 +00:00
mergify[bot]
0249e0dfbe
chore: remove apiclient (backport #57339 ) ( #57340 )
...
* chore: remove `apiclient` (#57339 )
(cherry picked from commit 6d31af3a52 )
# Conflicts:
# pyproject.toml
* chore: resolve conflict
* chore: bump python-youtube to 0.9.9
---------
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-21 20:41:06 +00:00
Shllokkk
588b7c8f03
Merge pull request #57325 from frappe/mergify/bp/version-15-hotfix/pr-57321
...
fix: sync process loss percentage when fg qty changes (backport #57321 )
2026-07-21 17:37:16 +05:30
Mihir Kandoi
a77919eeb2
Merge pull request #57326 from mihir-kandoi/fix-stock-balance-ageing-batch-flag-v15
...
fix: read serial and batch flags from Item in Stock Balance's SLE query
2026-07-21 17:18:38 +05:30
Shllokkk
81e865f6c7
fix: resolve merge conflicts
2026-07-21 17:03:41 +05:30
Mihir Kandoi
e7f0461b57
fix: read serial and batch flags from Item in Stock Balance's SLE query
...
Stock Balance builds stock ageing by passing its own SLE rows into
FIFOSlots, whose gates read row.has_batch_no and row.has_serial_no.
The query never selected has_batch_no at all, and read has_serial_no
from the SLE column, which is unset on rows predating v15's bundle
migration (no backfill patch exists). With the flags falsy, incoming
batch/serial stock was queued as plain qty slots while outgoing was
consumed batch/serial-wise, so the shapes never consume each other,
and bundle-based rows resolved no batch details, letting the plain
consume path overwrite batch slots in place (flt(batch_no) reads as
qty 0). Besides wrong ageing figures, sorting the resulting queue
crashed with TypeError: '<' not supported between 'int' and
'datetime.date'.
Select both flags from Item, matching Stock Ageing's own query. Only
this report is affected; develop dropped the sle_entries pass-in in
#44489 .
2026-07-21 17:02:29 +05:30
Shllokkk
f0e24e2f53
fix: sync process loss percentage when fg qty changes
...
(cherry picked from commit beeffee8f9 )
# Conflicts:
# erpnext/stock/doctype/stock_entry/test_stock_entry.py
2026-07-21 10:55:17 +00:00
Mihir Kandoi
1b992b85bb
Merge pull request #57318 from mihir-kandoi/fix-stock-ageing-reco-revaluation-v15
...
fix: rescale stock ageing FIFO slot values on stock reconciliation (backport #57316 )
2026-07-21 15:46:07 +05:30
Mihir Kandoi
b9ff5be43e
fix: resolve float precision before streaming stock ledger entries
...
get_single_value inside _revalue_reconciled_batch_slots runs while
rows stream through the unbuffered cursor on MariaDB, killing the
active iterator. Resolve it once in generate() with the other
prefetches.
2026-07-21 14:34:15 +05:30
Mihir Kandoi
1679bdecdc
fix: use system float precision for batch qty comparison
2026-07-21 14:18:28 +05:30
Mihir Kandoi
2673029bd4
fix: revalue batch reco slots only when the entry covers the full batch
...
stock_value_difference / qty equals the new batch rate only when the
reco entry carries the entire batch, as the split out/in reco SLEs and
batches reconciled from zero do. Partial direct-batch_no entries mix a
qty delta with existing stock, so their slots keep prior values.
Plain items need no such guard: the valuation engine collapses the
FIFO stack to qty_after * valuation_rate on every reconciliation, so
rescaling remaining slots at the reco rate matches the ledger. Lock
that with a test.
2026-07-21 14:09:36 +05:30
Mihir Kandoi
72b3210cbb
fix: rescale batch FIFO slot values on stock reconciliation
...
Batch items take the batch-slot path, which mirrors the same value
arithmetic: the reco's incoming entry dumps the revaluation remainder
on one slot. Rescale each reconciled batch's slots at its post-reco
rate (stock_value_difference / qty of the incoming bundle entry).
2026-07-21 13:49:45 +05:30
Mihir Kandoi
d51f9076b5
fix: rescale stock ageing FIFO slot values on stock reconciliation
...
A reconciliation's stock_value_difference includes the revaluation of
stock already in the FIFO queue, but the whole amount was attached to
the qty-delta slot while older slots kept pre-revaluation values. A
downward revaluation therefore produced negative bucket values in the
Stock Ageing report, and repeated recos let the queue total drift away
from Stock Balance.
Re-derive every slot value as qty * valuation_rate after processing a
reco SLE, since a reconciliation values the entire balance at its rate.
Covers both single-SLE recos and the zero-out/re-add pair that flows
through the transfer bucket.
2026-07-21 13:45:03 +05:30
Khushi Rawat
fbde3212e2
Merge pull request #57309 from khushi8112/fix/default-accounting-dimension-new-documents
...
fix: apply default accounting dimensions reliably on new documents
2026-07-21 12:34:51 +05:30
khushi8112
88abe119c3
fix: apply default accounting dimensions reliably on new documents
...
Default accounting dimensions were applied from the `company` client
trigger, which reads dimension data fetched asynchronously in
`setup_dimension_filters`. When the trigger fired before that fetch
returned, new documents were left without their default dimensions, and
Sales Order never called `update_dimension` at all.
- Apply defaults from the fetch callback in dimension_tree_filter.js so
they no longer depend on `company`-trigger timing. This fixes the race
for Sales Invoice, Purchase Invoice and Payment Entry, and populates
defaults on new Sales Orders.
- Add a `company()` override on SalesOrderController so the default is
re-applied when the company changes, matching the sibling doctypes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-21 11:39:05 +05:30
mergify[bot]
319841d59c
refactor: rework appointment booking lifecycle and portal verification (backport #57270 ) ( #57294 )
...
Co-authored-by: Claude Fable 5 <noreply@anthropic.com >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-21 03:23:32 +05:30
mergify[bot]
2cd531d099
fix: block changing Stock account type when stock ledger entries exist (backport #57283 ) ( #57284 )
...
fix: block changing Stock account type when stock ledger entries exist (#57283 )
(cherry picked from commit 4cdaa8dba6 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-07-20 22:58:36 +05:30
Mihir Kandoi
91f085c8e3
Merge pull request #57303 from frappe/mergify/bp/version-15-hotfix/pr-57301
...
feat(stock): expose all Bin qty fields in Stock Summary and Stock Projected Qty (backport #57301 )
2026-07-20 20:39:33 +05:30
Mihir Kandoi
90009a4687
feat(stock): expose all Bin qty fields in Stock Summary and Stock Projected Qty
...
Stock Summary's sort selector only offered 5 of Bin's 10 qty fields; add
the rest (ordered, requested, planned, reserved for production plan,
reserved stock) and extend get_data's or_filters so bins whose only
nonzero qty is one of the new fields show up when sorted by it. Sort
labels now mirror Bin field labels.
Stock Projected Qty report had a column for every Bin qty field except
reserved_stock; add it.
(cherry picked from commit 59c0c15c2e )
2026-07-20 14:48:04 +00:00
Mihir Kandoi
fd1fcd8e58
Merge pull request #57281 from frappe/mergify/bp/version-15-hotfix/pr-57273
...
fix: correct typo in allow_negative_stock parameter (backport #57273 )
2026-07-20 17:52:16 +05:30
ruthra kumar
b521cb9b40
Merge pull request #57278 from harisansari008/fix/bank-reco-print-currency-hotfix
...
fix: use account currency in Bank Reconciliation Statement print/PDF
2026-07-20 13:14:40 +05:30
Afsal Syed
f24e09cc97
fix: correct typo in allow_negative_stock parameter
2026-07-20 13:08:37 +05:30
mergify[bot]
21e5620e92
fix: project % complete field allowing modification when manual method (backport #57274 ) ( #57275 )
...
Co-authored-by: nishkagosalia <nishka.gosalia@gmail.com >
2026-07-20 12:29:21 +05:30
Mohd Haris
d6f797d077
fix: use account currency in Bank Reconciliation Statement print
...
The custom print template formatted debit/credit amounts with
format_currency() without passing a currency, so it fell back to the
company/system default currency (e.g. INR) instead of the selected bank
account's currency. The on-screen report already formats correctly via
the column's account_currency option.
Pass each row's account_currency to format_currency() so the printed/PDF
output matches the on-screen currency.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-20 12:02:24 +05:30
Mihir Kandoi
75dd6e12a4
Merge pull request #57251 from frappe/mergify/bp/version-15-hotfix/pr-57249
...
fix: add fetch from in production plan material request child table (backport #57249 )
2026-07-18 07:40:37 +05:30
Mihir Kandoi
6ffd759968
fix: add fetch from in production plan material request child table
...
(cherry picked from commit dfc2a411e1 )
2026-07-17 22:25:30 +05:30
Mihir Kandoi
09aaaac388
Merge pull request #57246 from frappe/mergify/bp/version-15-hotfix/pr-57241
...
fix: validate buying price list on material request and update item rates on change (backport #57241 )
2026-07-17 22:04:07 +05:30
Mihir Kandoi
1fabf78dea
chore: remove unneccessary flt
2026-07-17 21:43:19 +05:30
Mihir Kandoi
74e9718871
fix: dont overwrite rate with 0 if not found
2026-07-17 21:43:19 +05:30
Mihir Kandoi
302cbbe5d8
fix: pass ctx keys get_price_list_rate_for reads, skip rate update on insert
...
update_item_rates passed price_not_uom_dependent, a key
get_price_list_rate_for never reads, and omitted conversion_factor, so a
stock-UOM price was never converted to the row UOM. The function's
(historically misnamed) price_list_uom_dependant ctx key carries the
Price List's price_not_uom_dependent value: truthy returns the found
rate as-is, falsy multiplies by conversion_factor.
Also guard on_update with is_new(): has_value_changed returns True when
there is no doc_before_save, so every first save re-wrote item rates.
2026-07-17 21:43:19 +05:30
Mihir Kandoi
96dc408484
fix: validate buying price list on material request and update item rates on change
2026-07-17 21:43:19 +05:30
mergify[bot]
88443e4a97
fix: restrict jinja globals in process statement of accounts templates (backport #56458 ) ( #57231 )
...
Co-authored-by: Shllokkk <shllokosan23@gmail.com >
2026-07-17 08:25:47 +00:00
Diptanil Saha
5e539643ec
chore: bump frappe dependency from 15.40.4 to 15.111.0 ( #57229 )
2026-07-17 13:35:04 +05:30
mergify[bot]
fd01171df5
fix: added missing validations for Dunning Type (backport #57224 ) ( #57226 )
...
Co-authored-by: diptanilsaha <diptanil@frappe.io >
2026-07-17 13:34:30 +05:30
Shllokkk
4148d32ea5
Merge pull request #57218 from frappe/mergify/bp/version-15-hotfix/pr-57198
...
fix: strip account number when building account name in COA importer (backport #57198 )
2026-07-17 11:38:48 +05:30
Mihir Kandoi
74dd90faa6
Merge pull request #57210 from frappe/mergify/bp/version-15-hotfix/pr-57179
...
feat(stock): automatically link portal users to their associated contact profiles for customers and suppliers (backport #57179 )
2026-07-17 07:48:34 +05:30
Afsal Syed
9414230671
chore: fix test case user context
2026-07-17 00:21:48 +05:30
Afsal Syed
1b6ff72f0f
test(stock): add portal user contact link verification for customer and supplier
...
test(stock): add portal user contact link verification for customer and supplier
2026-07-16 23:21:47 +05:30
Shllokkk
314dd16aa3
fix: strip account number when building account name in COA importer
...
(cherry picked from commit cbe406ee2a )
2026-07-16 15:21:32 +00:00
mergify[bot]
b1e47eb97e
refactor(dunning): converted get_dunning_letter_text to doc method and restrict_globals on render_template (backport #57205 ) ( #57213 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-16 11:21:28 +00:00
Afsal Syed
4f9ea989c4
feat(stock): automatically link portal users to their associated contact profiles for customers and suppliers
...
(cherry picked from commit 337a06dfb6 )
2026-07-16 15:49:45 +05:30
Mihir Kandoi
77ec6447c3
fix: consider min order qty in the purchase/transfer flow of production plan (backport #57204 ) ( #57209 )
...
* fix: consider min order qty in the purchase/transfer flow of production plan (backport #57204 )
The transfer flow ignored Consider Minimum Order Qty twice: the JS
handler force-reset the checkbox before fetching items, and the
purchase remainder left after allocating transfers from other
warehouses was never raised to min_order_qty (the check runs on the
total requirement before the split).
Drop the JS reset and apply min order qty to the purchase remainder,
in stock UOM before the purchase UOM conversion.
* test: do not set ignore_existing_ordered_qty; v15 gates the transfer split on it being unset
2026-07-16 08:34:37 +00:00
mergify[bot]
ff6c8bbb44
fix(project): improved access control for project users (backport #56675 ) ( #57180 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-15 15:38:46 +05:30
Mihir Kandoi
93931ac91b
Merge pull request #57043 from aerele/fix/apply-user-permissions-via-build-match-conditions
...
fix: apply user permissions via build_match_conditions
2026-07-15 14:37:21 +05:30
mergify[bot]
6b23b007a4
fix: permission issue (backport #57112 ) ( #57142 )
...
* fix: permission issue (#57112 )
(cherry picked from commit 1fd2faa68d )
# Conflicts:
# erpnext/controllers/stock_controller.py
* chore: fix conflicts
---------
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-07-15 14:34:44 +05:30
ervishnucs
202f52271c
fix: apply user permissions via build_match_conditions
2026-07-15 13:16:30 +05:30
mergify[bot]
654890dce8
Revert "chore: remove unused whitelisted method from project" (backport #56660 ) ( #57177 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-15 07:18:42 +00:00
Mihir Kandoi
218f783a26
Merge pull request #57172 from frappe/mergify/bp/version-15-hotfix/pr-57137
...
feat: add on hold status to project (backport #57137 )
2026-07-15 11:35:07 +05:30
Poovitha Palanivelu
5e2e15436d
feat: add on hold status to project
...
(cherry picked from commit 672fadaa78 )
2026-07-15 05:47:00 +00:00
Mihir Kandoi
f179c91036
Merge pull request #57167 from frappe/mergify/bp/version-15-hotfix/pr-57164
...
fix: set correct currency in supplier quotation net rate field (backport #57164 )
2026-07-15 11:04:57 +05:30
Mihir Kandoi
30ab2dba6e
fix: set correct currency in supplier quotation net rate field
...
(cherry picked from commit 27672851cd )
2026-07-15 05:16:55 +00:00
Frappe PR Bot
fb2a4e5f98
chore(release): Bumped to Version 15.117.0
...
# [15.117.0](https://github.com/frappe/erpnext/compare/v15.116.0...v15.117.0 ) (2026-07-15)
### Bug Fixes
* allow barcode scan to add and increment items in pick list ([bb5be10 ](bb5be10372 ))
* **asset:** allow asset repair creation for fully depreciated assets (backport [#55276 ](https://github.com/frappe/erpnext/issues/55276 )) ([e4d2a96 ](e4d2a960d2 ))
* **journal-entry:** fetch outstanding on foreign currency ([ace51fc ](ace51fccfa ))
* **manufacturing:** preserve job card transferred quantity ([fc4ac7a ](fc4ac7a441 ))
* **stock:** fix sqlparse token limit in get_bundle_wise_serial_nos ([cc45743 ](cc457433fe ))
* **stock:** show qty (company) and qty (warehouse) in sales transactions ([8086542 ](8086542885 ))
### Features
* faster (synced) financial statements using duckdb (backport [#56304 ](https://github.com/frappe/erpnext/issues/56304 )) ([#57093 ](https://github.com/frappe/erpnext/issues/57093 )) ([a6a887f ](a6a887f833 ))
2026-07-15 02:28:29 +00:00
ruthra kumar
0ce7917648
Merge pull request #57160 from frappe/version-15-hotfix
...
chore: release v15
2026-07-15 06:25:15 +05:30
Mihir Kandoi
82f2af3a0e
Merge pull request #57128 from frappe/mergify/bp/version-15-hotfix/pr-57126
...
fix(manufacturing): preserve job card transferred quantity (backport #57126 )
2026-07-14 13:59:48 +05:30
Sudharsanan11
1bbeec6bfa
test(manufacturing): cover transferred quantity across job cards
...
(cherry picked from commit fd6c9a71cd )
2026-07-14 08:11:06 +00:00
Sudharsanan11
fc4ac7a441
fix(manufacturing): preserve job card transferred quantity
...
(cherry picked from commit d7e9321746 )
2026-07-14 08:11:06 +00:00
Mihir Kandoi
3913b9631f
Merge pull request #57104 from frappe/mergify/bp/version-15-hotfix/pr-57091
...
fix(stock): show qty (company) and qty (warehouse) in sales transactions (backport #57091 )
2026-07-14 12:43:29 +05:30
Mihir Kandoi
9de9228cb9
Merge pull request #57117 from frappe/mergify/bp/version-15-hotfix/pr-57116
...
fix(stock): fix sqlparse token limit in get_bundle_wise_serial_nos (backport #57116 )
2026-07-14 12:33:51 +05:30
Afsal Syed
dcff9164c4
test(stock): add unit test for get_bundle_wise_serial_nos query
...
(cherry picked from commit e748bf512b )
2026-07-14 12:09:41 +05:30
Sudharsanan11
aa4cc4c97d
test(stock): assert qty (company) and qty (warehouse) on item details
2026-07-14 11:51:54 +05:30
Sudharsanan11
8086542885
fix(stock): show qty (company) and qty (warehouse) in sales transactions
2026-07-14 11:51:54 +05:30
Afsal Syed
cc457433fe
fix(stock): fix sqlparse token limit in get_bundle_wise_serial_nos
...
(cherry picked from commit 4544a6c935 )
2026-07-14 05:59:56 +00:00
Khushi Rawat
687fed031b
Merge pull request #57110 from khushi8112/backport-55276-to-v15-hotfix
...
fix(asset): allow asset repair creation for fully depreciated assets (backport #55276 )
2026-07-14 00:48:06 +05:30
Khushi Rawat
e4d2a960d2
fix(asset): allow asset repair creation for fully depreciated assets (backport #55276 )
2026-07-14 00:30:06 +05:30
Mihir Kandoi
ce62ef3e2e
Merge pull request #57102 from frappe/mergify/bp/version-15-hotfix/pr-57089
...
fix: allow barcode scan to add and increment items in pick list (backport #57089 )
2026-07-13 21:28:03 +05:30
pandiyan
bb5be10372
fix: allow barcode scan to add and increment items in pick list
...
- allow new rows on scan when pick manually is enabled, since only
then are scanned rows not subject to being overridden by
set_item_locations on save
- stop capping picked qty at the default demand qty (1) for rows
added by the scanner itself, so repeat scans of the same barcode
keep incrementing the row instead of failing with "maximum
quantity scanned"
- ignore barcode uom when matching an existing row if new rows
aren't allowed, since there's no alternate-uom row to fall back to
(cherry picked from commit 3ece4a615d )
2026-07-13 15:32:46 +00:00
ruthra kumar
fcd0350652
refactor: rename synced to snapshot report (backport #56706 ) ( #57094 )
...
* refactor: rename execute_synced_report to execute_snapshot_report
Match the framework rename of the standard report entry point in the
trial balance, P&L, balance sheet, and general ledger reports.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
(cherry picked from commit ba7b6a47c5 )
* refactor: rename feature toggle in report master
(cherry picked from commit 981e90e4da )
# Conflicts:
# erpnext/accounts/report/accounts_payable/accounts_payable.json
# erpnext/accounts/report/accounts_receivable/accounts_receivable.json
# erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.json
# erpnext/accounts/report/trial_balance/trial_balance.json
---------
Co-authored-by: ruthra kumar <ruthra@erpnext.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-07-13 16:36:35 +05:30
ruthra kumar
1489258ea0
refactor: rename feature toggle in report master
...
(cherry picked from commit 981e90e4da )
# Conflicts:
# erpnext/accounts/report/accounts_payable/accounts_payable.json
# erpnext/accounts/report/accounts_receivable/accounts_receivable.json
# erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.json
# erpnext/accounts/report/trial_balance/trial_balance.json
2026-07-13 16:08:50 +05:30
ruthra kumar
674704cbfd
refactor: rename execute_synced_report to execute_snapshot_report
...
Match the framework rename of the standard report entry point in the
trial balance, P&L, balance sheet, and general ledger reports.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
(cherry picked from commit ba7b6a47c5 )
2026-07-13 10:35:28 +00:00
mergify[bot]
a6a887f833
feat: faster (synced) financial statements using duckdb (backport #56304 ) ( #57093 )
...
* refactor: reports on duckdb
(cherry picked from commit adb768505a )
* feat(trial-balance): implement execute_duckdb with full parity to normal report
Replaces the placeholder stub with 8 focused functions that mirror the
normal execute() flow using parameterized DuckDB SQL queries: account
fetch, period GL entries, opening balances (with Period Closing Voucher
path), and all filters (cost center, project, finance book, accounting
dimensions). Reuses existing pure-Python processing functions unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit b1c8e2cb5c )
* refactor(trial-balance): execute_duckdb only reads GL Entry from duckdb
Replaces the previous over-engineered stub with 7 short functions.
Account data, Account Closing Balance, and all metadata come from
frappe.db as normal; only tabGL Entry is read from the duckdb_conn.
Reuses get_opening_balance() for Account Closing Balance unchanged,
reuses all downstream compute helpers (calculate_values, prepare_data,
etc.) unchanged.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 55862f98f4 )
* refactor: maintain sync dependency in report master
(cherry picked from commit 5c536b8ad1 )
# Conflicts:
# erpnext/accounts/report/accounts_payable/accounts_payable.json
# erpnext/accounts/report/accounts_receivable/accounts_receivable.json
# erpnext/accounts/report/general_ledger/general_ledger.json
# erpnext/accounts/report/trial_balance/trial_balance.json
* refactor: DB agnostic method names
(cherry picked from commit f40cd41801 )
* feat(general-ledger): implement execute_synced_report with full parity to normal report
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 6b4895bcc9 )
# Conflicts:
# erpnext/accounts/report/general_ledger/general_ledger.json
* feat(balance-sheet): implement execute_synced_report with full parity to normal report
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit bb19540816 )
# Conflicts:
# erpnext/accounts/report/balance_sheet/balance_sheet.json
* feat(profit-and-loss): implement execute_synced_report with full parity to normal report
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 6a93baacf0 )
# Conflicts:
# erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.json
* refactor: synced reports should be enabled on sites based on requirements
(cherry picked from commit 963bbc8729 )
# Conflicts:
# erpnext/accounts/report/general_ledger/general_ledger.json
* chore: resolve conflicts
---------
Co-authored-by: ruthra kumar <ruthra@erpnext.com >
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-07-13 16:03:26 +05:30
Frappe PR Bot
41038979ec
chore(release): Bumped to Version 15.116.0
...
# [15.116.0](https://github.com/frappe/erpnext/compare/v15.115.0...v15.116.0 ) (2026-07-13)
### Bug Fixes
* **`frappe_crm_api`:** handle failure for `after_app_install` and `after_app_uninstall` ([983ec56 ](983ec5660c ))
* **accounts:** clear clearance date when amending reconciled voucher (backport [#55947 ](https://github.com/frappe/erpnext/issues/55947 )) ([5f14f2c ](5f14f2ccd6 )), closes [#55972 ](https://github.com/frappe/erpnext/issues/55972 )
* **accounts:** retain invoice table on opening invoice creation error (backport [#56353 ](https://github.com/frappe/erpnext/issues/56353 )) ([#57057 ](https://github.com/frappe/erpnext/issues/57057 )) ([cfc546c](cfc546cf3f ))
* added permission checks on various whitelisted functions (backport [#56745 ](https://github.com/frappe/erpnext/issues/56745 )) ([#56945 ](https://github.com/frappe/erpnext/issues/56945 )) ([55e0d10 ](55e0d106c9 ))
* address review comments ([3c47adb ](3c47adb021 ))
* block serialized to non-serialized item change when SABB exists (backport [#56773 ](https://github.com/frappe/erpnext/issues/56773 )) ([#56774 ](https://github.com/frappe/erpnext/issues/56774 )) ([44a7013 ](44a7013ab4 ))
* **company:** ignore user permissions for link fields having link to `Account` and `Cost Center` (backport [#56748 ](https://github.com/frappe/erpnext/issues/56748 )) ([#56794 ](https://github.com/frappe/erpnext/issues/56794 )) ([5666fd1 ](5666fd1334 ))
* **crm_settings:** skip allowed users check when frappe crm is installed locally ([95b3bd4 ](95b3bd4e1d ))
* disallow editing on reversal journals ([ac2e69f ](ac2e69fbfd ))
* display outstanding amount using company default currency (backport [#56785 ](https://github.com/frappe/erpnext/issues/56785 )) ([#57008 ](https://github.com/frappe/erpnext/issues/57008 )) ([8688f1f ](8688f1f51a ))
* don't attempt to create SABB for non-serialized / non-batch items (backport [#56627 ](https://github.com/frappe/erpnext/issues/56627 )) ([#56802 ](https://github.com/frappe/erpnext/issues/56802 )) ([b0446b6 ](b0446b6a09 ))
* don't treat batch slot at FIFO queue head as qty slot ([a9330e8 ](a9330e8900 ))
* fetch asset category expense account on purchase receipt ([b7e0331 ](b7e0331d56 ))
* fetch payment entry reference amounts from invoice (backport [#56928 ](https://github.com/frappe/erpnext/issues/56928 )) ([#57041 ](https://github.com/frappe/erpnext/issues/57041 )) ([0f6b2b6 ](0f6b2b68fa ))
* FIFO queue checks and incorrect entries filter in stock ledger reports ([19fc8b8 ](19fc8b8e6f )), closes [#43619 ](https://github.com/frappe/erpnext/issues/43619 )
* for purchases do voucher based reposting (backport [#56601 ](https://github.com/frappe/erpnext/issues/56601 )) ([#56607 ](https://github.com/frappe/erpnext/issues/56607 )) ([6b022a5 ](6b022a5a7e ))
* **inactive_customers:** add allowlist for doctype filter and migrate to qb ([29dd6e6 ](29dd6e6681 ))
* incorrect import path for FrappeTestCase ([cecfcf8 ](cecfcf82e0 ))
* **journal entry:** validate opening entry against pcv on save ([2ed7c84 ](2ed7c84d0a ))
* make represents company field in purchase invoice ignore user permissions ([b7f2769 ](b7f276989d ))
* make trend report based-on and group-by column labels translatable ([d2d5fae ](d2d5fae033 ))
* **manufacturing:** update work order status on partial pick-list transfer (backport [#56800 ](https://github.com/frappe/erpnext/issues/56800 )) ([afa7288 ](afa72884bb )), closes [56836/#57001](https://github.com/frappe/erpnext/issues/57001 )
* map stock_qty in apply_price_list_on_item (backport [#56869 ](https://github.com/frappe/erpnext/issues/56869 )) ([#57051 ](https://github.com/frappe/erpnext/issues/57051 )) ([3e2a734 ](3e2a734414 ))
* partial delivery note against pick list ([#56985 ](https://github.com/frappe/erpnext/issues/56985 )) ([53af4d5 ](53af4d53ef ))
* **patch:** moved create_company_custom_fields from `pre_model_sync` to `post_model_sync` ([#56962 ](https://github.com/frappe/erpnext/issues/56962 )) ([d0f2940 ](d0f29405d0 ))
* precision issue causing reconciliation error ([#54043 ](https://github.com/frappe/erpnext/issues/54043 )) ([d62831d ](d62831d885 ))
* prevent repeatable read related concurrency errors ([1ee8904 ](1ee8904a94 ))
* race condition and repeatable read in process pcv ([ae43f47 ](ae43f47c39 ))
* remove company default on cost center in stock entry detail ([b170913 ](b170913880 ))
* remove incorrect Payable account_type from Customer Deposits in Philippines CoA (backport [#57018 ](https://github.com/frappe/erpnext/issues/57018 )) ([#57060 ](https://github.com/frappe/erpnext/issues/57060 )) ([bd62699 ](bd6269918f ))
* rename variant item_code/item_name when attribute abbreviation changes ([99bdef6 ](99bdef6baf ))
* replay immutable SLE qty for serial/batch bundle valuation (backport [#56814 ](https://github.com/frappe/erpnext/issues/56814 )) ([#56834 ](https://github.com/frappe/erpnext/issues/56834 )) ([1cf94f5 ](1cf94f5501 ))
* resolve conflicts ([da623eb ](da623eb124 ))
* **selling:** update sales order per billed on credit note submission ([63e85c6 ](63e85c6551 ))
* set customer group in inactive customers report test setup ([ede2a68 ](ede2a68afd ))
* show only template items in Variant Of filter ([fde7cd5 ](fde7cd5345 ))
* **stock:** backfill transferred qty for existing pick lists ([cd61243 ](cd612434a4 ))
* **stock:** correct stock ageing value for moving average and lifo items (backport [#56693 ](https://github.com/frappe/erpnext/issues/56693 )) ([#57016 ](https://github.com/frappe/erpnext/issues/57016 )) ([9d654b7 ](9d654b7890 ))
* **stock:** pick list serial batch posting date ([#56957 ](https://github.com/frappe/erpnext/issues/56957 )) ([#57014 ](https://github.com/frappe/erpnext/issues/57014 )) ([4091188 ](4091188908 )), closes [#56951 ](https://github.com/frappe/erpnext/issues/56951 )
* **stock:** set stock received but not billed account for purchase ([#55149 ](https://github.com/frappe/erpnext/issues/55149 )) ([38b7042 ](38b7042481 ))
* update BOM operations when routing is changed ([de0c75b ](de0c75bcba ))
* update events order by date asc (backport [#56963 ](https://github.com/frappe/erpnext/issues/56963 )) ([#57055 ](https://github.com/frappe/erpnext/issues/57055 )) ([1cb4307 ](1cb4307578 ))
* update modified timestamp in item.json ([902a3c5 ](902a3c5c55 ))
* use change_settings decorator matching version-15-hotfix test utils ([5cedc50 ](5cedc50c55 ))
* use correct import ([db4136b ](db4136b258 ))
* use live source warehouse valuation for internal transfer purchse receipts ([#56812 ](https://github.com/frappe/erpnext/issues/56812 )) ([ece1c98 ](ece1c9872f ))
* validate planned end date is not before planned start date in work order ([de6a157 ](de6a157773 ))
* validate reverse GL entries on current date under immutable ledger (backport [#56709 ](https://github.com/frappe/erpnext/issues/56709 )) ([#56751 ](https://github.com/frappe/erpnext/issues/56751 )) ([71a2d6e ](71a2d6e43d ))
* validate template and its variant in the same Pricing Rule ([3df52c7 ](3df52c7fc6 ))
### Features
* **crm_settings:** auto-update crm sync settings on frappe crm install and uninstall ([0a5daee ](0a5daeed57 ))
* **opening invoice creation tool:** add project to opening invoice child row (backport [#54662 ](https://github.com/frappe/erpnext/issues/54662 )) ([#56400 ](https://github.com/frappe/erpnext/issues/56400 )) ([808109a ](808109abc0 ))
* **sla:** filter service level agreement link by document type (backport [#56954 ](https://github.com/frappe/erpnext/issues/56954 )) ([#56955 ](https://github.com/frappe/erpnext/issues/56955 )) ([5166950 ](51669501ab ))
* **stock:** support partial transfer from pick list ([02168b7 ](02168b7b3d ))
### Performance Improvements
* avoid per-row Warehouse doc fetches in auto reorder job ([c10b86d ](c10b86d538 ))
* batch bin lookups in delivery note stock update ([989a6b5 ](989a6b507d ))
2026-07-13 07:37:49 +00:00
ruthra kumar
e8cdad1c6b
Merge pull request #57082 from frappe/mergify/bp/version-15-hotfix/pr-56628
...
fix(journal-entry): fetch outstanding on foreign currency (backport #56628 )
2026-07-13 13:05:57 +05:30
Diptanil Saha
88b6779062
Merge pull request #56930 from frappe/version-15-hotfix
...
chore: release v15
2026-07-13 13:04:19 +05:30
mergify[bot]
808109abc0
feat(opening invoice creation tool): add project to opening invoice child row (backport #54662 ) ( #56400 )
...
Co-authored-by: Ravibharathi <131471282+ravibharathi656@users.noreply.github.com >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-13 07:08:33 +00:00
SowmyaArunachalam
ace51fccfa
fix(journal-entry): fetch outstanding on foreign currency
...
(cherry picked from commit 07f641c48c )
2026-07-13 07:07:36 +00:00
Mihir Kandoi
8bd35d2255
Merge pull request #57074 from frappe/mergify/bp/version-15-hotfix/pr-57073
...
fix: make represents company field in purchase invoice ignore user pe… (backport #57073 )
2026-07-13 12:13:49 +05:30
Mihir Kandoi
80548a1282
Merge pull request #56986 from frappe/mergify/bp/version-15-hotfix/pr-56915
...
feat(stock): support partial transfer from pick list (backport #56915 )
2026-07-13 11:57:34 +05:30
Mihir Kandoi
94d1fd6c42
chore: resolve conflicts
2026-07-13 11:54:45 +05:30
Sudharsanan11
001f3a36ab
chore(stock): merge version-15-hotfix into pick list partial-transfer backport
2026-07-13 09:11:06 +05:30
Mihir Kandoi
b7f276989d
fix: make represents company field in purchase invoice ignore user permissions
...
(cherry picked from commit 6729a53fee )
# Conflicts:
# erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
2026-07-12 18:39:09 +00:00
Shllokkk
2e72d22328
Merge pull request #55720 from frappe/mergify/bp/version-15-hotfix/pr-55627
...
fix(inactive_customers): add allowlist for doctype filter and migrate… (backport #55627 )
2026-07-12 13:44:24 +05:30
mergify[bot]
cfc546cf3f
fix(accounts): retain invoice table on opening invoice creation error (backport #56353 ) ( #57057 )
...
Co-authored-by: diptanilsaha <diptanil@frappe.io >
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
2026-07-12 07:46:00 +00:00
Shllokkk
ede2a68afd
fix: set customer group in inactive customers report test setup
2026-07-12 12:56:41 +05:30
Shllokkk
29179240cf
Merge branch 'version-15-hotfix' into mergify/bp/version-15-hotfix/pr-55627
2026-07-12 10:53:10 +05:30
mergify[bot]
bd6269918f
fix: remove incorrect Payable account_type from Customer Deposits in Philippines CoA (backport #57018 ) ( #57060 )
...
Co-authored-by: Raghav Ruia <168326921+raghavisruia@users.noreply.github.com >
2026-07-11 17:58:53 +00:00
mergify[bot]
1cb4307578
fix: update events order by date asc (backport #56963 ) ( #57055 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
Co-authored-by: nareshkannasln <nareshkannashanmugam@gmail.com >
2026-07-11 18:45:22 +05:30
mergify[bot]
3e2a734414
fix: map stock_qty in apply_price_list_on_item (backport #56869 ) ( #57051 )
...
* fix: map stock_qty in apply_price_list_on_item (#56869 )
(cherry picked from commit 199eeff22c )
# Conflicts:
# erpnext/stock/get_item_details.py
* chore: resolve conflicts
---------
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
Co-authored-by: diptanilsaha <diptanil@frappe.io >
2026-07-11 10:13:42 +00:00
mergify[bot]
0f6b2b68fa
fix: fetch payment entry reference amounts from invoice (backport #56928 ) ( #57041 )
...
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
2026-07-10 11:50:22 +00:00
mergify[bot]
8688f1f51a
fix: display outstanding amount using company default currency (backport #56785 ) ( #57008 )
...
Co-authored-by: S Sakthivel Murugan <s.sakthivelmurugan2003@gmail.com >
Co-authored-by: Vishnu Priya Baskaran <145791817+ervishnucs@users.noreply.github.com >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-10 10:25:47 +00:00
mergify[bot]
9d654b7890
fix(stock): correct stock ageing value for moving average and lifo items (backport #56693 ) ( #57016 )
...
fix(stock): correct stock ageing value for moving average and lifo items (#56693 )
* fix(stock): recompute moving average item slots
* test(stock): add test to validate the stock value of moving average items
* fix(stock): support lifo valuation in stock ageing report
lifo items were aged as fifo (oldest consumed first), so the report kept the
newest lots on hand and reported the wrong stock value and average age. prefetch
each item's valuation method (it can't be resolved mid-stream without breaking the
unbuffered cursor) and consume from the tail for lifo items. also reuse that shared
lookup in the moving average revaluation pass. scoped to plain items; batch, serial
and same-voucher repack legs stay on fifo.
* test(stock): add test for lifo consumption in stock ageing report
(cherry picked from commit 9cb6610b9e )
# Conflicts:
# erpnext/stock/report/stock_ageing/stock_ageing.py
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
2026-07-10 15:44:39 +05:30
ruthra kumar
755e151764
Merge pull request #57022 from frappe/mergify/bp/version-15-hotfix/pr-56801
...
refactor: reversing exchange rate revaluation journals (backport #56801 )
2026-07-10 13:19:01 +05:30
Mihir Kandoi
f14615e826
Merge pull request #57027 from aerele/backport-56913-version-15-hotfix
...
fix: make trend report based-on and group-by column labels translatable
2026-07-10 12:44:09 +05:30
Mihir Kandoi
12b826484b
Merge pull request #57021 from aerele/backport-56923-version-15-hotfix
...
perf: avoid per-row Warehouse doc fetches in auto reorder job
2026-07-10 12:44:02 +05:30
Mihir Kandoi
9c0ea9ffbb
Merge pull request #57019 from aerele/backport-56932-version-15-hotfix
...
fix: validate planned end date is not before planned start date in wo…
2026-07-10 12:43:01 +05:30
ruthra kumar
c89f9720bc
chore: resolve conflicts
2026-07-10 12:33:53 +05:30
pandiyan
d2d5fae033
fix: make trend report based-on and group-by column labels translatable
...
based_wise_columns_query() and group_wise_column() built column labels as
raw strings, so headers like Item, Item Name, Customer, Supplier, and
Territory never went through the _() translation function and stayed in
English regardless of the user's language, while period and total columns
translated fine. Build these as column dicts with an explicit _()-wrapped
label instead, so they're translated the same way as the rest of the report.
(cherry picked from commit 015fa68fc0 )
2026-07-10 12:01:56 +05:30
Pandiyan P
4091188908
fix(stock): pick list serial batch posting date ( #56957 ) ( #57014 )
...
Pick List has no posting_date/posting_time fields, so creating or updating a
Serial and Batch Bundle from a Pick List row crashed with
"TypeError: combine() argument 1 must be datetime.date, not None". Fall back
to today/now when the parent voucher doesn't carry its own posting date.
Fixes #56951
The whitelisted add_serial_batch_ledgers only converted child_row into an
attribute-accessible frappe._dict when it arrived as a JSON string, and doc's
type hint only allowed Document | str. Frappe's JSON API delivers both as
plain dicts (see frappe.app.make_form_dict, which parses the request body
with orjson and only wraps the top-level dict, not nested values), so every
real request was rejected before the handler body ever ran: first with a
FrappeTypeError on doc, and once that's fixed, with an AttributeError on
child_row.serial_and_batch_bundle. parse_json already wraps a plain dict in
frappe._dict (and leaves a real Document instance untouched), so routing
child_row through it unconditionally fixes both.
(cherry picked from commit 8b3caeb578 )
2026-07-10 11:51:03 +05:30
ruthra kumar
0f688a1841
refactor(test): for reverse journals as well
...
(cherry picked from commit 65775e59a1 )
# Conflicts:
# erpnext/accounts/doctype/exchange_rate_revaluation/test_exchange_rate_revaluation.py
2026-07-10 06:20:33 +00:00
mergify[bot]
6b022a5a7e
fix: for purchases do voucher based reposting (backport #56601 ) ( #56607 )
...
* fix: for purchases do voucher based reposting (#56601 )
(cherry picked from commit 5523c15ab8 )
* chore: fix type hints
* chore: fix test case
* chore: fix linters issue
---------
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-07-10 06:20:32 +00:00
ruthra kumar
3c18b172a4
refactor: handle reverse ERR journals in AR / AP report
...
(cherry picked from commit 6838242063 )
2026-07-10 06:20:32 +00:00
ruthra kumar
d239273ce5
refactor: reversal capability on exchange rate revaluation
...
(cherry picked from commit a0b14c0607 )
# Conflicts:
# erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py
# erpnext/accounts/doctype/journal_entry/journal_entry_list.js
2026-07-10 06:20:26 +00:00
ruthra kumar
4c8a51d54d
refactor: add payment ledger to ignore link
...
(cherry picked from commit 6a4c5b6062 )
2026-07-10 06:20:25 +00:00
pandiyan
c10b86d538
perf: avoid per-row Warehouse doc fetches in auto reorder job
...
get_item_warehouse_projected_qty() called frappe.get_doc("Warehouse", ...)
inside the per-bin loop to walk up the warehouse hierarchy, re-fetching the
same parent warehouses over and over on sites with nested warehouses. Preload
the warehouse-to-parent mapping with a single query and walk it in-memory
instead, cutting the DB round-trips from O(bins * hierarchy depth) to one
query.
(cherry picked from commit 6beb3d2509 )
2026-07-10 11:41:43 +05:30
pandiyan
de6a157773
fix: validate planned end date is not before planned start date in work order
...
Work Order allowed saving with a Planned End Date earlier than the Planned
Start Date without any validation. Add a validate_dates check that throws
when the planned end date precedes the planned start date.
(cherry picked from commit 2ec780cb35 )
2026-07-10 11:36:05 +05:30
Mihir Kandoi
8bfba5fcf3
Merge pull request #57003 from aerele/backport-57001
...
fix(manufacturing): update work order status on partial pick-list tra…
2026-07-09 21:57:38 +05:30
rohitwaghchaure
53af4d53ef
fix: partial delivery note against pick list ( #56985 )
2026-07-09 16:17:10 +00:00
pandiyan
afa72884bb
fix(manufacturing): update work order status on partial pick-list transfer (backport #56800 )
...
Backport of frappe/erpnext#56800 (via #56836/#57001). When a Pick List
transfers only some of the required raw materials, the min-fraction
rule keeps material_transferred_for_manufacturing at 0, leaving the
Work Order stuck at "Not Started" even though material is already in
WIP. Treat any submitted pick-list-linked Material Transfer stock
entry as evidence the order has started.
2026-07-09 21:33:01 +05:30
Mihir Kandoi
cb65b55568
Merge pull request #56987 from frappe/mergify/bp/version-15-hotfix/pr-56909
...
fix(stock): rename variant item_code/item_name when attribute abbreviation changes (backport #56909 )
2026-07-09 21:23:40 +05:30
Mihir Kandoi
62ce6c2129
Merge pull request #56993 from frappe/mergify/bp/version-15-hotfix/pr-56925
...
perf: batch bin lookups in delivery note stock update (backport #56925 )
2026-07-09 21:22:59 +05:30
Mihir Kandoi
6484f0de54
Merge pull request #56999 from frappe/mergify/bp/version-15-hotfix/pr-56255
...
Fix Variant Of filter to show only template items (backport #56255 )
2026-07-09 21:11:59 +05:30
Mihir Kandoi
1824c59624
Merge pull request #56997 from frappe/mergify/bp/version-15-hotfix/pr-56979
...
fix: update BOM operations when routing is changed (backport #56979 )
2026-07-09 20:48:41 +05:30
Mihir Kandoi
cef69b05a9
chore: resolve conflicts
2026-07-09 20:44:57 +05:30
Mohsin Akhtar
902a3c5c55
fix: update modified timestamp in item.json
...
(cherry picked from commit 54da9fc27a )
# Conflicts:
# erpnext/stock/doctype/item/item.json
2026-07-09 15:12:41 +00:00
Mohsin Akhtar
fde7cd5345
fix: show only template items in Variant Of filter
...
(cherry picked from commit 2433129850 )
2026-07-09 15:12:39 +00:00
Mohd Haris
de0c75bcba
fix: update BOM operations when routing is changed
...
The routing field handler only fetched operations from the routing when
the operations table was empty. When a new BOM version is created (via
"New Version"), operations are copied from the source BOM, so selecting a
different routing left the old operations in place - both in the form and
after saving.
Drop the `!frm.doc.operations.length` guard from the routing handler so
that (re)selecting a routing always refetches the operations from that
routing via the existing get_routing method, which clears and repopulates
the operations table.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit 758a837de4 )
2026-07-09 15:11:43 +00:00
Mihir Kandoi
7f4c68c1da
Merge pull request #56924 from frappe/revert-56429-mergify/bp/version-15-hotfix/pr-55191
...
Revert "refactor(sales_person_wise_transaction_summary): Replace SQL with que… (backport #55191 )"
2026-07-09 20:38:24 +05:30
pandiyan
989a6b507d
perf: batch bin lookups in delivery note stock update
...
update_current_stock() in delivery_note.py used to call
frappe.db.get_value("Bin", ...) separately for every row in items and
every row in packed_items - so a delivery note with 200 items and 200
packed items made 400 separate database calls on every save.
now it groups item codes by warehouse and fetches bin data with one
query per distinct warehouse, then assigns actual_qty/projected_qty to
each row from that result - same values as before, far fewer database
calls, and no cross-product over-fetch across warehouses.
(cherry picked from commit 5da878d25f )
2026-07-09 15:06:35 +00:00
pandiyan
f119080eb3
test: cover variant item_code/item_name rename on abbreviation change
...
Add regression coverage for the new abbreviation-rename propagation:
a simple item_code rename, item_name derived from a template whose
item_name differs from its item_code, and a manually customized
item_name getting rebuilt rather than left stale.
(cherry picked from commit e718a70b26 )
2026-07-09 15:03:29 +00:00
pandiyan
99bdef6baf
fix: rename variant item_code/item_name when attribute abbreviation changes
...
Item Attribute abbreviations only got baked into a variant's item_code
and item_name at creation time (make_variant_item_code returns early
once item_code is set). Renaming an abbreviation afterwards left every
existing variant stuck with the stale code, silently out of sync with
its own attribute.
Detect abbreviation renames on Item Attribute save, find every variant
using the affected value, and rebuild+rename its item_code via
frappe.rename_doc so linked records follow along. item_name is rebuilt
in lockstep from the template's item_name, even if it had since been
customized, since both fields are meant to be derived from the same
abbreviation.
(cherry picked from commit c0cfe5f363 )
2026-07-09 15:03:28 +00:00
Sudharsanan11
cd612434a4
fix(stock): backfill transferred qty for existing pick lists
...
Pick Lists transferred before this feature have transferred_qty = 0 and
their Stock Entry rows carry no pick_list_item link, so the new
is_fully_transferred check would never fire and, with the old
duplicate-entry guard removed, they could be transferred again. Set
transferred_qty = picked_qty for non-Delivery submitted pick lists that
already have a linked Stock Entry so they stay completed and locked.
(cherry picked from commit 903d78cc43 )
2026-07-09 15:01:37 +00:00
Sudharsanan11
4a036b6a0b
test(stock): add test for partial transfer status from pick list
...
(cherry picked from commit 6ecbe6fd4b )
# Conflicts:
# erpnext/stock/doctype/pick_list/test_pick_list.py
2026-07-09 15:01:36 +00:00
Sudharsanan11
02168b7b3d
feat(stock): support partial transfer from pick list
...
Creating a Stock Entry from a Pick List blocked any further entry
(stock_entry_exists) and flipped the pick list to Completed as soon as
one entry existed, so picked stock could not be transferred in parts.
Track transferred_qty per Pick List Item (summed from submitted Stock
Entry rows via a new pick_list_item link, mirroring delivered_qty), add
a Partially Transferred status, and map each new Stock Entry from the
remaining qty so transfers can continue until fully transferred.
(cherry picked from commit af495ed253 )
# Conflicts:
# erpnext/stock/doctype/pick_list/pick_list.json
# erpnext/stock/doctype/stock_entry/stock_entry.py
2026-07-09 15:01:35 +00:00
mergify[bot]
55e0d106c9
fix: added permission checks on various whitelisted functions (backport #56745 ) ( #56945 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-09 16:00:19 +05:30
Diptanil Saha
2ed6f25d94
Merge pull request #56968 from frappe/mergify/bp/version-15-hotfix/pr-56674
...
fix(crm_settings): skip allowed users check when frappe crm is installed locally (backport #56674 )
2026-07-09 15:51:58 +05:30
diptanilsaha
0924773856
chore: patch to clear out allowed users on crm_settings if frappe crm is installed on the site
...
(cherry picked from commit 0f987d7135 )
2026-07-09 10:01:55 +00:00
diptanilsaha
983ec5660c
fix(frappe_crm_api): handle failure for after_app_install and after_app_uninstall
...
(cherry picked from commit 2de423e225 )
2026-07-09 10:01:54 +00:00
diptanilsaha
0a5daeed57
feat(crm_settings): auto-update crm sync settings on frappe crm install and uninstall
...
(cherry picked from commit c86aa2d6fe )
2026-07-09 10:01:54 +00:00
diptanilsaha
95b3bd4e1d
fix(crm_settings): skip allowed users check when frappe crm is installed locally
...
(cherry picked from commit 41badb3d74 )
2026-07-09 10:01:53 +00:00
Diptanil Saha
d0f29405d0
fix(patch): moved create_company_custom_fields from pre_model_sync to post_model_sync ( #56962 )
2026-07-09 08:13:08 +00:00
Shllokkk
8b4bc37a32
Merge pull request #56939 from frappe/mergify/bp/version-15-hotfix/pr-56926
...
fix: validate template and its variant in the same Pricing Rule (backport #56926 )
2026-07-09 01:04:02 +05:30
mergify[bot]
51669501ab
feat(sla): filter service level agreement link by document type (backport #56954 ) ( #56955 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-07-08 17:29:42 +02:00
ruthra kumar
1239986756
Merge pull request #56937 from frappe/mergify/bp/version-15-hotfix/pr-54043
...
fix: precision issue causing reconciliation error (backport #54043 )
2026-07-07 22:24:48 +05:30
Shllokkk
3df52c7fc6
fix: validate template and its variant in the same Pricing Rule
...
(cherry picked from commit a88048b378 )
2026-07-07 14:29:54 +00:00
Dany Robert
d62831d885
fix: precision issue causing reconciliation error ( #54043 )
...
* fix: precision issue causing reconciliation error
* chore: code styling changes
* test: precision causing reconciliation failure
* fix: enhance payment reconciliation tests for floating-point precision
* fix(test): incorrect assertion on status
---------
Co-authored-by: ruthra kumar <ruthra@erpnext.com >
(cherry picked from commit be10c8ced9 )
2026-07-07 14:28:57 +00:00
Vishnu Priya Baskaran
1fe9d569d6
Revert "refactor(sales_person_wise_transaction_summary): Replace SQL with que… (backport #55191 )"
2026-07-07 12:21:12 +05:30
Shllokkk
6165d2fa94
Merge pull request #56096 from frappe/mergify/bp/version-15-hotfix/pr-56088
...
fix(journal entry): validate opening entry against pcv on save (backport #56088 )
2026-07-06 15:24:17 +05:30
ruthra kumar
ec1ca6ba95
Merge pull request #56875 from frappe/mergify/bp/version-15-hotfix/pr-56852
...
fix: race condition in process pcv (backport #56852 )
2026-07-04 16:44:37 +05:30
ruthra kumar
dcea09ea8f
chore: linter fix
...
(cherry picked from commit a9ffdac806 )
2026-07-04 16:26:19 +05:30
ruthra kumar
6945e1292b
refactor: prevent whole table scan while scheduling next date
...
- helps in concurrency isolation
(cherry picked from commit 21f4603144 )
2026-07-04 16:26:10 +05:30
ruthra kumar
1ee8904a94
fix: prevent repeatable read related concurrency errors
...
Process Period Closing Voucher and Process Period Closing Voucher
Details are trackers how the jobs are processed. Keep transactions on
them very short.
(cherry picked from commit 7e4045e828 )
2026-07-04 10:53:02 +00:00
ruthra kumar
ae43f47c39
fix: race condition and repeatable read in process pcv
...
- Update using child table name to avoid scanning whole table, which
eventually leads to mariadb 1020 (REPEATABLE READ).
- Avoid race condition in final summarization
(cherry picked from commit ff6881764b )
2026-07-04 10:53:02 +00:00
Pandiyan P
75a814de36
Merge pull request #56862 from frappe/mergify/bp/version-15-hotfix/pr-56837
...
fix: remove company default on cost center in stock entry detail (backport #56837 )
2026-07-04 13:10:47 +05:30
pandiyan
5cedc50c55
fix: use change_settings decorator matching version-15-hotfix test utils
...
ERPNextTestSuite doesn't exist on this branch; the cherry-picked test
used the develop-branch decorator style, breaking ruff (F821) in CI.
2026-07-04 12:53:57 +05:30
Pandiyan P
da623eb124
fix: resolve conflicts
2026-07-04 12:45:09 +05:30
Shllokkk
ece1c9872f
fix: use live source warehouse valuation for internal transfer purchse receipts ( #56812 )
...
fix: use live source warehouse valuation for internal transfer purchase receipts
2026-07-03 22:49:33 +05:30
Mihir Kandoi
47121cecb3
Merge pull request #56838 from frappe/mergify/bp/version-15-hotfix/pr-56826
...
fix: FIFO queue checks and incorrect entries filter in stock ledger reports (backport #56826 )
2026-07-03 21:59:18 +05:30
Mihir Kandoi
93f33cc5cf
test: fresh item per test, v15 only rolls back at class teardown
2026-07-03 21:42:58 +05:30
Mihir Kandoi
0ab94a929a
chore: formatting
2026-07-03 21:20:32 +05:30
Mihir Kandoi
cecfcf82e0
fix: incorrect import path for FrappeTestCase
2026-07-03 21:14:43 +05:30
pandiyan
1a52c58666
test: cover cost center fallback to item group default in manufacture entry
...
the existing test_cost_center_for_manufacture only checks a raw material
row against an item-level override, which is set independently of the
":company" default guard and never exercised the bug.
(cherry picked from commit a168bb7ea4 )
2026-07-03 15:42:58 +00:00
pandiyan
b170913880
fix: remove company default on cost center in stock entry detail
...
the ":company" default pre-filled every row before set_default_cost_center()
ran, so its "if not row.cost_center" guard was always false and the
project/item group/brand priority chain in get_default_cost_center()
never ran.
(cherry picked from commit edfa0a7a1d )
# Conflicts:
# erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
2026-07-03 15:42:58 +00:00
Khushi Rawat
3e6a5b3a0b
Merge pull request #56797 from Jatin3128/fix/asset-expense-account-purchase-receipt
...
fix: fetch asset category expense account on purchase receipt
2026-07-03 17:31:26 +05:30
Mihir Kandoi
db4136b258
fix: use correct import
2026-07-03 13:54:07 +05:30
Mihir Kandoi
f3dd90bb0a
test: drop redundant cleanup, db rolls back after each test
...
(cherry picked from commit 3b1e57966e )
2026-07-03 07:50:02 +00:00
Mihir Kandoi
3c47adb021
fix: address review comments
...
- restore mutated SLE after test via addCleanup
- explicit return False in has_difference
- comment the fifo_stock_diff guard for non-queue predecessors
(cherry picked from commit ef5f47fafd )
2026-07-03 07:50:02 +00:00
Mihir Kandoi
19fc8b8e6f
fix: FIFO queue checks and incorrect entries filter in stock ledger reports
...
- 'Show Incorrect Entries' always returned an empty result (regression
from #43619 ); now returns entries from one row before the first
incorrect one
- FIFO queue columns were computed for serialized/batched SLEs that
don't maintain a stock queue, showing false differences; left empty
for such rows
- compare value/valuation differences at currency precision, qty at
float precision
(cherry picked from commit 94ab09e4a3 )
# Conflicts:
# erpnext/stock/report/stock_ledger_invariant_check/test_stock_ledger_invariant_check.py
2026-07-03 07:50:01 +00:00
mergify[bot]
1cf94f5501
fix: replay immutable SLE qty for serial/batch bundle valuation (backport #56814 ) ( #56834 )
...
fix: replay immutable SLE qty for serial/batch bundle valuation (#56814 )
(cherry picked from commit ecc8ec672b )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-07-03 12:37:11 +05:30
mergify[bot]
b0446b6a09
fix: don't attempt to create SABB for non-serialized / non-batch items (backport #56627 ) ( #56802 )
...
* fix: don't attempt to create SABB for non-serialized / non-batch items (#56627 )
* fix: don't attempt to create SABB for non-serialized / non-batch items
* fix(stock): skip serial batch lookup for rows without item code
(cherry picked from commit 5b738b7b0d )
# Conflicts:
# erpnext/stock/services/serial_batch_bundle_service.py
* chore: resolve conflicts
---------
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-07-03 10:35:17 +05:30
mergify[bot]
5666fd1334
fix(company): ignore user permissions for link fields having link to Account and Cost Center (backport #56748 ) ( #56794 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-07-02 13:02:09 +00:00
jatin3128
b7e0331d56
fix: fetch asset category expense account on purchase receipt
...
Backport of #41024 . Fixed-asset items now resolve expense_account from
the asset category (CWIP account when CWIP accounting is enabled,
otherwise the fixed asset account) for Purchase Receipt, Purchase Order
and Material Request, matching v16 behavior. v15 previously did this only
for Purchase Invoice.
2026-07-02 16:38:02 +05:30
ruthra kumar
16b90ab20f
Merge pull request #56776 from frappe/mergify/bp/version-15-hotfix/pr-54783
...
fix: disallow editing on reversal journals (backport #54783 )
2026-07-02 14:57:21 +05:30
mergify[bot]
44a7013ab4
fix: block serialized to non-serialized item change when SABB exists (backport #56773 ) ( #56774 )
...
* fix: block serialized to non-serialized item change when SABB exists (#56773 )
(cherry picked from commit 0e8ae7548d )
# Conflicts:
# erpnext/stock/doctype/item/item.py
# erpnext/stock/doctype/item/test_item.py
* chore: fix conflicts
* chore: fix conflicts
Remove test for variant UOM mismatch and related logic.
---------
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-07-02 09:26:04 +00:00
ruthra kumar
ac2e69fbfd
fix: disallow editing on reversal journals
...
(cherry picked from commit 26ca7445eb )
2026-07-02 09:07:45 +00:00
Nabin Hait
080b8d5183
Merge pull request #56768 from frappe/backport/clear-clearance-date-amend-v15
...
fix(accounts): clear clearance date when amending reconciled voucher (backport #55947 )
2026-07-02 13:31:07 +05:30
Mihir Kandoi
7f2fb78d94
Merge pull request #56763 from frappe/mergify/bp/version-15-hotfix/pr-56757
...
fix: don't treat batch slot at FIFO queue head as qty slot (backport #56757 )
2026-07-02 13:19:20 +05:30
Nabin Hait
5f14f2ccd6
fix(accounts): clear clearance date when amending reconciled voucher (backport #55947 )
...
When a reconciled voucher (Payment Entry / Journal Entry / Purchase
Invoice / Sales Invoice) is cancelled, amended and resubmitted, the
stale clearance date was carried into the amended draft because the
framework ignores `no_copy` while amending.
Add a shared `before_insert` hook on AccountsController that clears
`clearance_date` (top-level field and Sales Invoice `payments` rows)
on amendment. Reconciliation still sets the value post-submit via
`frappe.db.set_value`, which bypasses this path.
Manual backport of #55947 to version-15-hotfix (Mergify's auto-backport
#55972 committed conflict markers; this replaces it).
2026-07-02 12:54:27 +05:30
Mihir Kandoi
4a6587b48e
test: assert full negative batch slot in ageing regression test
...
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
(cherry picked from commit 8928b42d5d )
2026-07-02 07:14:14 +00:00
Mihir Kandoi
a9330e8900
fix: don't treat batch slot at FIFO queue head as qty slot
...
An incoming SLE without resolvable serial/batch details hit the
negative-head branch in _compute_incoming_stock even when the head was
a batch slot, because flt() on the batch number string returns 0.0.
_add_to_negative_fifo_head then crashed with
"TypeError: can only concatenate str (not 'float') to str".
Guard the branch with is_qty_slot, mirroring the existing check in
_add_transfer_slot_to_fifo_queue.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
(cherry picked from commit c47a95a4d2 )
2026-07-02 07:14:14 +00:00
mergify[bot]
71a2d6e43d
fix: validate reverse GL entries on current date under immutable ledger (backport #56709 ) ( #56751 )
...
* fix: validate reverse GL entries on current date under immutable ledger (#56709 )
* fix: validate reverse GL entries on current date under immutable ledger
When Immutable Ledger is enabled, the reverse GL entry is posted on the
current date, but the closed-period checks in make_reverse_gl_entries still
validate against the original (backdated) posting date. This blocks cancelling
a backdated voucher, such as a suspense Journal Entry for a migrated NPA loan,
with a books-closed error even though the reverse entry lands in an open period.
Validate both check_freezing_date and validate_against_pcv against the current
date when Immutable Ledger is enabled. When it is disabled, behaviour is
unchanged.
Follow-up to #55268 .
* test: reset frozen till date after reverse entry test
The freeze date set on the company was not reset, so it leaked into the next
test which posts entries in that period. Reset it in a finally block.
* fix: prefer explicit posting_date under immutable ledger
Prefer the posting_date argument before frappe.form_dict and getdate, at both
the validation and the GL entry site, so an explicit date passed by the caller
is honoured and validation still matches the posted date.
(cherry picked from commit cab1b129c0 )
# Conflicts:
# erpnext/accounts/general_ledger.py
* fix: resolved conflicts
Removed outdated check for freezing date in general ledger validation.
* fix: Update check_freezing_date function call parameters
* fix: accounts_frozen_till_date to acc_frozen_upto
* test: acc_frozen_upto setting in test_period_closing_voucher
---------
Co-authored-by: Nihantra C. Patel <141945075+Nihantra-Patel@users.noreply.github.com >
2026-07-02 12:27:20 +05:30
ruthra kumar
a0b527d019
refactor: update title for process statement of accounts (backport #56754 ) ( #56755 )
...
refactor: update title for process statement of accounts
(cherry picked from commit 04468c3c33 )
Co-authored-by: ruthra kumar <ruthra@erpnext.com >
2026-07-02 12:17:01 +05:30
ruthra kumar
f139466851
refactor: update title for process statement of accounts
...
(cherry picked from commit 04468c3c33 )
2026-07-02 06:42:36 +00:00
Mihir Kandoi
9d3f9cce36
Merge pull request #56692 from aerele/backport-55585
...
fix(stock): set stock received but not billed account for purchase (#…
2026-07-01 13:55:00 +05:30
Pandiyan P
38b7042481
fix(stock): set stock received but not billed account for purchase ( #55149 )
...
(cherry picked from commit c4d28a2612 )
2026-07-01 13:21:31 +05:30
Mihir Kandoi
5ee3a183b3
Merge pull request #56682 from frappe/mergify/bp/version-15-hotfix/pr-56671
...
fix(selling): update sales order per billed on credit note submission (backport #56671 )
2026-07-01 12:44:58 +05:30
Sudharsanan11
a6d790f321
test(selling): add test to validate the per billed after credit note submission
...
(cherry picked from commit 710e021638 )
2026-07-01 09:59:36 +05:30
Sudharsanan11
63e85c6551
fix(selling): update sales order per billed on credit note submission
...
(cherry picked from commit 224cf19f33 )
2026-07-01 03:59:59 +00:00
Frappe PR Bot
b5f784612d
chore(release): Bumped to Version 15.115.0
...
# [15.115.0](https://github.com/frappe/erpnext/compare/v15.114.0...v15.115.0 ) (2026-07-01)
### Bug Fixes
* add permission checks in whitelisted functions (backport [#53103 ](https://github.com/frappe/erpnext/issues/53103 )) ([#56668 ](https://github.com/frappe/erpnext/issues/56668 )) ([3455877 ](345587754f ))
* allow rename for Quality Inspection Parameter ([9e6edea ](9e6edea818 ))
* carry item-level project to Purchase Receipt GL entries (backport [#56568 ](https://github.com/frappe/erpnext/issues/56568 )) ([#56618 ](https://github.com/frappe/erpnext/issues/56618 )) ([83e8d1e ](83e8d1eb2f ))
* **company:** using `String.prototype.bold` method instead of `frappe.utils.bold` on company deletion prompt ([#56441 ](https://github.com/frappe/erpnext/issues/56441 )) ([414b366 ](414b3665c1 ))
* **controllers:** fix supplier-RFQ portal list query (wrong column + Postgres DISTINCT) ([9125ab6 ](9125ab6c77 ))
* **crm:** using `get_list` instead of `get_all` in `get_opportunities` (backport [#56463 ](https://github.com/frappe/erpnext/issues/56463 )) ([#56465 ](https://github.com/frappe/erpnext/issues/56465 )) ([28e4bca ](28e4bca4f2 ))
* do not allow closing the accounting period for future dates (backport [#56551 ](https://github.com/frappe/erpnext/issues/56551 )) ([#56576 ](https://github.com/frappe/erpnext/issues/56576 )) ([54fcd09 ](54fcd09995 ))
* extract stock ageing data helper in stock balance (backport [#55774 ](https://github.com/frappe/erpnext/issues/55774 )) ([8abc278 ](8abc27863a )), closes [#55776 ](https://github.com/frappe/erpnext/issues/55776 )
* gross profit calculation with rate adjustment entries ([17733a5 ](17733a5641 ))
* handle missing serial and batch bundle in print format ([9adfab1 ](9adfab19dc ))
* ignored posting time 00:00:00 in RIV (backport [#56571 ](https://github.com/frappe/erpnext/issues/56571 )) ([#56572 ](https://github.com/frappe/erpnext/issues/56572 )) ([5ed946b ](5ed946b3b9 ))
* **lead:** added missing read permission check on `get_lead_details` (backport [#56272 ](https://github.com/frappe/erpnext/issues/56272 )) ([#56273 ](https://github.com/frappe/erpnext/issues/56273 )) ([afddf70 ](afddf70905 ))
* negative stock issue ([#56616 ](https://github.com/frappe/erpnext/issues/56616 )) ([ab98d19 ](ab98d19f26 ))
* precision issue causing COGS in inter transfer PR (backport [#56420 ](https://github.com/frappe/erpnext/issues/56420 )) ([#56424 ](https://github.com/frappe/erpnext/issues/56424 )) ([db8a26a ](db8a26a3af ))
* remove dead bundle helper call from purchase receipt print format ([0f9429f ](0f9429fd3d ))
* remove frappe.utils from jinja context in process statement of accounts ([b176fb2 ](b176fb292b ))
* reserve projected stock for production plan based on BOM qty ([d3df0bf ](d3df0bf387 ))
* set mr status to received when per_received is 100 even if per_ordered < 100 ([53bdcce ](53bdccee5f ))
* skip qty over-allowance check for non-stock items only ([bba7fe9 ](bba7fe9831 ))
* **stock:** value batch/serial return from ledger when original receipt has no bundle (backport [#56631 ](https://github.com/frappe/erpnext/issues/56631 )) ([#56645 ](https://github.com/frappe/erpnext/issues/56645 )) ([3479d65 ](3479d65bd4 ))
* sync Stock Reconciliation difference amount with GL after reposting (backport [#56574 ](https://github.com/frappe/erpnext/issues/56574 )) ([#56584 ](https://github.com/frappe/erpnext/issues/56584 )) ([5625635 ](562563553c ))
* update qty in future SLEs when cancelling documents (backport [#56638 ](https://github.com/frappe/erpnext/issues/56638 )) ([#56644 ](https://github.com/frappe/erpnext/issues/56644 )) ([2576452 ](25764520c2 ))
* update_qty_in_future_sle skips SLEs with same posting datetime ([#56615 ](https://github.com/frappe/erpnext/issues/56615 )) ([f50e529 ](f50e529f8a ))
* Use correct doctype name for PCV perm-check (backport [#56606 ](https://github.com/frappe/erpnext/issues/56606 )) ([#56610 ](https://github.com/frappe/erpnext/issues/56610 )) ([52d04ad ](52d04ad834 ))
* use correct variable to fetch valuation method ([c2b7718 ](c2b7718455 ))
### Features
* **accounts:** add configurable job timeout for Process Period Closing Voucher ([c97be8a ](c97be8abe1 ))
2026-07-01 03:40:41 +00:00
Diptanil Saha
457424f7a4
Merge pull request #56651 from frappe/version-15-hotfix
...
chore: release v15
2026-07-01 09:08:59 +05:30
Diptanil Saha
3b1bc7e916
Merge pull request #56679 from frappe/mergify/bp/version-15-hotfix/pr-56678
...
fix(gross_profit): correct GP calculation for rate adjustment debit notes (backport #56678 )
2026-07-01 08:49:35 +05:30
diptanilsaha
fa82da509b
test(gross_profit): added test cases for rate adjustment entry
...
(cherry picked from commit 17ef5d6034 )
2026-07-01 03:02:28 +00:00
diptanilsaha
17733a5641
fix: gross profit calculation with rate adjustment entries
...
(cherry picked from commit b9f330a158 )
2026-07-01 03:02:27 +00:00
Mihir Kandoi
f5df9f7948
Merge pull request #56663 from frappe/mergify/bp/version-15-hotfix/pr-56662
...
fix: use correct variable to fetch valuation method (backport #56662 )
2026-06-30 22:54:55 +05:30
mergify[bot]
345587754f
fix: add permission checks in whitelisted functions (backport #53103 ) ( #56668 )
...
* fix: add permission checks in whitelisted functions (#53103 )
(cherry picked from commit a6e78c2eea )
# Conflicts:
# erpnext/stock/report/stock_qty_vs_batch_qty/stock_qty_vs_batch_qty.py
* chore: resolve conflict
---------
Co-authored-by: Priyal Rawal <135015851+Priyal208@users.noreply.github.com >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-30 16:43:26 +00:00
Diptanil Saha
b5735531c1
refactor: port bulk_transaction_log existence check to the query builder ( #56667 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
2026-06-30 16:16:03 +00:00
Mihir Kandoi
04a6831645
chore: resolve conflicts
2026-06-30 20:35:44 +05:30
Mihir Kandoi
c2b7718455
fix: use correct variable to fetch valuation method
...
(cherry picked from commit 1492c9fbc3 )
# Conflicts:
# erpnext/controllers/sales_and_purchase_return.py
2026-06-30 15:04:27 +00:00
Mihir Kandoi
1d24e1ef62
Merge pull request #56653 from aerele/backport-56635
...
fix: set mr status to received when per_received is 100 even if per_o…
2026-06-30 20:16:16 +05:30
pandiyan
53bdccee5f
fix: set mr status to received when per_received is 100 even if per_ordered < 100
2026-06-30 16:37:41 +05:30
mergify[bot]
3479d65bd4
fix(stock): value batch/serial return from ledger when original receipt has no bundle (backport #56631 ) ( #56645 )
...
fix(stock): value batch/serial return from ledger when original receipt has no bundle (#56631 )
* fix(stock): value batch/serial return from ledger when original receipt has no bundle
* test(stock): add test to validate the valuation of serial/batch for return when original receipt has no bundle
(cherry picked from commit 6184c057db )
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
2026-06-30 15:33:00 +05:30
mergify[bot]
25764520c2
fix: update qty in future SLEs when cancelling documents (backport #56638 ) ( #56644 )
...
fix: update qty in future SLEs when cancelling documents (#56638 )
(cherry picked from commit 01374db8da )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-06-30 14:47:33 +05:30
Mihir Kandoi
1e241b8463
Merge pull request #56603 from frappe/mergify/bp/version-15-hotfix/pr-56231
...
fix(controllers): fix supplier-RFQ portal list query (wrong column + Postgres DISTINCT) (backport #56231 )
2026-06-30 12:02:24 +05:30
Mihir Kandoi
9125ab6c77
fix(controllers): fix supplier-RFQ portal list query (wrong column + Postgres DISTINCT)
...
rfq_transaction_list had two defects introduced when it was converted to the query
builder:
1. `party.supplier == party[0]` compared supplier to a column literally named "0"
(a stray index on the DocType, not the intended `parties[0]` value). This renders
as `supplier = \`0\`` / `supplier = "0"` and errors on BOTH engines
(MariaDB: Unknown column '0'; Postgres: column "0" does not exist), so the
supplier portal RFQ list was completely broken.
2. SELECT DISTINCT ordered by `creation`, which is not in the select list. Postgres
rejects this ("for SELECT DISTINCT, ORDER BY expressions must appear in select list").
Compare against `parties[0]` and add `creation` to the select list.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com >
(cherry picked from commit a7d9078bf4 )
# Conflicts:
# erpnext/controllers/tests/test_website_list_for_contact.py
2026-06-29 23:14:45 +05:30
mergify[bot]
83e8d1eb2f
fix: carry item-level project to Purchase Receipt GL entries (backport #56568 ) ( #56618 )
...
fix: carry item-level project to Purchase Receipt GL entries (#56568 )
Purchase Receipt stock and asset GL lines used the item row's cost center
but always fell back to the document-level project, unlike Purchase Invoice
which uses the item-level project. add_gl_entry accepted a project argument
but never wrote it to the GL dict, so the inward, Stock Received But Not
Billed, landed cost, divisional loss, sub-contracting and exchange rate
lines dropped the row's project.
Write project into the GL dict and pass project=item.project on the entries
that were missing it, so project behaves like cost center and matches
Purchase Invoice.
Ticket: 72523
(cherry picked from commit 6f97c7199c )
Co-authored-by: Jatin3128 <140256508+Jatin3128@users.noreply.github.com >
2026-06-29 23:12:20 +05:30
Mihir Kandoi
5278cb44ae
Merge pull request #56589 from aerele/fix-production-plan-reservation
...
fix: reserve projected stock for production plan based on BOM qty
2026-06-29 20:54:57 +05:30
mergify[bot]
52d04ad834
fix: Use correct doctype name for PCV perm-check (backport #56606 ) ( #56610 )
...
fix: Use correct doctype name for PCV perm-check (#56606 )
closes https://github.com/frappe/erpnext/issues/56593
(cherry picked from commit 747374e767 )
Co-authored-by: Ankush Menat <ankush@frappe.io >
2026-06-29 19:04:44 +05:30
rohitwaghchaure
f50e529f8a
fix: update_qty_in_future_sle skips SLEs with same posting datetime ( #56615 )
2026-06-29 17:21:17 +05:30
rohitwaghchaure
ab98d19f26
fix: negative stock issue ( #56616 )
2026-06-29 17:20:12 +05:30
Mihir Kandoi
926e4cfba6
Merge pull request #56613 from frappe/backport/55774-stock-balance
...
fix: backport stock balance changes from #55774
2026-06-29 15:23:56 +05:30
Mihir Kandoi
8abc27863a
fix: extract stock ageing data helper in stock balance (backport #55774 )
...
The v15 backport (#55776 ) of #55774 dropped the stock_balance.py changes.
A separate backport left an inline version that sorts/filters the FIFO queue
by itemgetter(1) *before* normalizing, so for batchwise valuation slots
itemgetter(1) reads the count flag instead of the posting date. The queue is
then ordered wrong and earliest_age/latest_age come out swapped.
Extract get_stock_ageing_data, which normalizes before sorting/filtering so
itemgetter(1) is always the posting date, and add the regression test.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-29 15:06:21 +05:30
Mihir Kandoi
43496ac3ca
Merge pull request #56434 from aerele/backport-56375
...
fix: skip over-allowance qty validation for non-stock items (backport #56335 )
2026-06-28 19:39:20 +05:30
mergify[bot]
562563553c
fix: sync Stock Reconciliation difference amount with GL after reposting (backport #56574 ) ( #56584 )
...
* fix: sync Stock Reconciliation difference amount with GL after reposting (#56574 )
* fix: sync Stock Reconciliation difference amount with GL after reposting
* fix: placement of recalculate differece amount function
(cherry picked from commit c7ef42ef98 )
# Conflicts:
# erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
# erpnext/stock/stock_ledger.py
* chore: fix conflicts
Removed unused imports and fixed import structure.
* chore: fix conflicts
Refactor update_rate_on_stock_reconciliation method to use recalculation from ledger instead of manual updates for stock reconciliation items.
* chore: fix conflicts
---------
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-06-28 12:16:40 +05:30
pandiyan
3f00a0ffa9
test: add tests for non stock item over billing against so/po
2026-06-28 00:23:04 +05:30
pandiyan
bba7fe9831
fix: skip qty over-allowance check for non-stock items only
2026-06-28 00:23:04 +05:30
pandiyan
b39024e0e3
test: update cascading test to assert zero-qty reservation for stock-covered items
2026-06-27 23:59:31 +05:30
pandiyan
d3df0bf387
fix: reserve projected stock for production plan based on BOM qty
2026-06-27 23:20:11 +05:30
mergify[bot]
d992f6f5c8
chore(crm_settings): remove unused delete_custom_fields import (backport #56558 ) ( #56582 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-27 11:13:07 +00:00
mergify[bot]
54fcd09995
fix: do not allow closing the accounting period for future dates (backport #56551 ) ( #56576 )
...
fix: do not allow closing the accounting period for future dates (#56551 )
(cherry picked from commit 5e60e4faa7 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-06-27 12:04:38 +05:30
mergify[bot]
afddf70905
fix(lead): added missing read permission check on get_lead_details (backport #56272 ) ( #56273 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(lead): added missing read permission check on `get_lead_details` (#56272 )
2026-06-27 02:37:22 +05:30
Diptanil Saha
257b4225ec
ci: separate job for semgrep ( #56580 )
2026-06-26 21:04:24 +00:00
mergify[bot]
af05b8a30d
chore: removing controllers from pre-commit eslint hooks exclude list (backport #56575 ) ( #56578 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-27 02:31:22 +05:30
Mihir Kandoi
99a1ad1706
Merge pull request #56564 from frappe/mergify/bp/version-15-hotfix/pr-56559
...
fix: remove dead bundle helper call from purchase receipt print format (backport #56559 )
2026-06-26 21:02:42 +05:30
mergify[bot]
5ed946b3b9
fix: ignored posting time 00:00:00 in RIV (backport #56571 ) ( #56572 )
...
fix: ignored posting time 00:00:00 in RIV (#56571 )
(cherry picked from commit 31f89b72b4 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-06-26 19:42:28 +05:30
mergify[bot]
4aedf98c7c
ci: bump pre-commit actions to v3.0.1 (backport #56562 ) ( #56566 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-26 17:06:34 +05:30
Shllokkk
0f9429fd3d
fix: remove dead bundle helper call from purchase receipt print format
...
(cherry picked from commit b9f5a77fa7 )
2026-06-26 16:44:42 +05:30
Shllokkk
43ff69429f
Merge branch 'version-15-hotfix' into mergify/bp/version-15-hotfix/pr-55627
2026-06-26 14:41:07 +05:30
Mihir Kandoi
b95c8584bd
Merge pull request #56549 from frappe/mergify/bp/version-15-hotfix/pr-56127
...
fix: allow rename for Quality Inspection Parameter (backport #56127 )
2026-06-26 14:18:45 +05:30
Mihir Kandoi
f2b7319462
chore: resolve conflicts
2026-06-26 13:46:30 +05:30
Mohd Haris
9e6edea818
fix: allow rename for Quality Inspection Parameter
...
The Quality Inspection Parameter DocType did not have `allow_rename`
enabled, so the "Rename" action was hidden from the form's menu
(the 3-dots / ⋮ options). Since the DocType is auto-named from the
`parameter` field (`autoname: field:parameter`), users had no way to
correct or change a parameter's name once created.
Enable `allow_rename` so users can rename a Quality Inspection
Parameter from the form menu.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit adfef48a65 )
# Conflicts:
# erpnext/stock/doctype/quality_inspection_parameter/quality_inspection_parameter.json
2026-06-26 08:14:57 +00:00
Mihir Kandoi
b982935c56
Merge pull request #56511 from frappe/revert-56499-mergify/bp/version-15-hotfix/pr-56497
...
Revert "fix: handle missing serial and batch bundle in print format (backport #56497 )"
2026-06-26 10:25:38 +05:30
Mihir Kandoi
3365373ec9
Revert "fix: handle missing serial and batch bundle in print format (backport #56497 )"
2026-06-26 10:08:10 +05:30
Shllokkk
29d8a67619
Merge pull request #56462 from frappe/mergify/bp/version-15-hotfix/pr-56460
...
fix: remove frappe.utils from jinja context in process statement of accounts (backport #56460 )
2026-06-25 20:48:42 +05:30
Shllokkk
339e11ef18
Merge pull request #56499 from frappe/mergify/bp/version-15-hotfix/pr-56497
...
fix: handle missing serial and batch bundle in print format (backport #56497 )
2026-06-25 19:51:34 +05:30
Shllokkk
9adfab19dc
fix: handle missing serial and batch bundle in print format
...
(cherry picked from commit 548d90df4f )
2026-06-25 13:52:55 +00:00
mergify[bot]
28e4bca4f2
fix(crm): using get_list instead of get_all in get_opportunities (backport #56463 ) ( #56465 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(crm): using `get_list` instead of `get_all` in `get_opportunities` (#56463 )
2026-06-25 10:41:41 +00:00
Shllokkk
b176fb292b
fix: remove frappe.utils from jinja context in process statement of accounts
...
(cherry picked from commit 37ec2d0edd )
2026-06-25 09:48:03 +00:00
Diptanil Saha
414b3665c1
fix(company): using String.prototype.bold method instead of frappe.utils.bold on company deletion prompt ( #56441 )
2026-06-25 00:49:27 +05:30
mergify[bot]
db8a26a3af
fix: precision issue causing COGS in inter transfer PR (backport #56420 ) ( #56424 )
...
fix: precision issue causing COGS in inter transfer PR (#56420 )
(cherry picked from commit 9b0e1b61f2 )
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com >
2026-06-24 18:30:14 +05:30
Mihir Kandoi
b80fb47d6e
Merge pull request #56429 from frappe/mergify/bp/version-15-hotfix/pr-55191
...
refactor(sales_person_wise_transaction_summary): Replace SQL with que… (backport #55191 )
2026-06-24 16:43:17 +05:30
Loic Oberle
2585712500
refactor(sales_person_wise_transaction_summary): Replace SQL with que… ( #55191 )
...
(cherry picked from commit df3d0859a1 )
2026-06-24 10:44:17 +00:00
Frappe PR Bot
25ee3695f0
chore(release): Bumped to Version 15.114.0
...
# [15.114.0](https://github.com/frappe/erpnext/compare/v15.113.0...v15.114.0 ) (2026-06-24)
### Features
* **accounts:** add configurable job timeout for Process Period Closing Voucher ([82a8581 ](82a85818c2 ))
2026-06-24 10:25:43 +00:00
ruthra kumar
ff205da810
Merge pull request #56426 from frappe/mergify/bp/version-15/pr-56418
...
refactor: configurable timeout on process pcv (backport #56417 ) (backport #56418 )
2026-06-24 15:48:58 +05:30
ruthra kumar
2980171007
chore: resolve conflicts
...
(cherry picked from commit df3c821f98 )
2026-06-24 09:56:59 +00:00
ruthra kumar
c6c4815e8d
refactor: patch, display depends on and json changes
...
(cherry picked from commit 3da7eefebb )
# Conflicts:
# erpnext/accounts/doctype/accounts_settings/accounts_settings.json
# erpnext/accounts/doctype/accounts_settings/accounts_settings.py
# erpnext/patches.txt
(cherry picked from commit c33d7e5d7b )
2026-06-24 09:56:59 +00:00
ruthra kumar
82a85818c2
feat(accounts): add configurable job timeout for Process Period Closing Voucher
...
Adds a `pcv_job_timeout` Int field (default 3600s) to Accounts Settings
so admins can tune the enqueue timeout for PCV background jobs without
a code change. All three `frappe.enqueue` calls in
`process_period_closing_voucher.py` now read this value at runtime.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 13b6c4a165 )
# Conflicts:
# erpnext/accounts/doctype/accounts_settings/accounts_settings.json
(cherry picked from commit c97be8abe1 )
2026-06-24 09:56:58 +00:00
ruthra kumar
6d12a2aaf7
Merge pull request #56418 from frappe/mergify/bp/version-15-hotfix/pr-56417
...
refactor: configurable timeout on process pcv (backport #56417 )
2026-06-24 15:26:17 +05:30
ruthra kumar
df3c821f98
chore: resolve conflicts
2026-06-24 15:05:41 +05:30
ruthra kumar
c33d7e5d7b
refactor: patch, display depends on and json changes
...
(cherry picked from commit 3da7eefebb )
# Conflicts:
# erpnext/accounts/doctype/accounts_settings/accounts_settings.json
# erpnext/accounts/doctype/accounts_settings/accounts_settings.py
# erpnext/patches.txt
2026-06-24 07:58:30 +00:00
ruthra kumar
c97be8abe1
feat(accounts): add configurable job timeout for Process Period Closing Voucher
...
Adds a `pcv_job_timeout` Int field (default 3600s) to Accounts Settings
so admins can tune the enqueue timeout for PCV background jobs without
a code change. All three `frappe.enqueue` calls in
`process_period_closing_voucher.py` now read this value at runtime.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 13b6c4a165 )
# Conflicts:
# erpnext/accounts/doctype/accounts_settings/accounts_settings.json
2026-06-24 07:58:30 +00:00
Frappe PR Bot
57a2be6b56
chore(release): Bumped to Version 15.113.0
...
# [15.113.0](https://github.com/frappe/erpnext/compare/v15.112.0...v15.113.0 ) (2026-06-23)
### Bug Fixes
* add dynamic links for customer and supplier dashboards ([690adf1 ](690adf1051 ))
* Add likely missing escapes (backport [#55574 ](https://github.com/frappe/erpnext/issues/55574 )) ([#55580 ](https://github.com/frappe/erpnext/issues/55580 )) ([ce8fce7 ](ce8fce78f1 ))
* add partially transferred status and fix button visibility for partial material transfer on job card ([1f5283d ](1f5283da58 ))
* add validation and tests for set_status ([7bea925 ](7bea925230 ))
* apply docstatus filter to exclude cancelled Work Orders in Serial No ([90fd057 ](90fd057fb3 ))
* attribute error because of missing margin_type field in Supplier Quotation (backport [#48089 ](https://github.com/frappe/erpnext/issues/48089 )) ([506658c ](506658c3a6 ))
* **budget:** ambiguous error message for budget assignment validation (backport [#56390 ](https://github.com/frappe/erpnext/issues/56390 )) ([#56391 ](https://github.com/frappe/erpnext/issues/56391 )) ([53a1122 ](53a11229ec ))
* clear stale payment rows on non-POS returns so they don't surface in bank reconciliation (backport [#55903 ](https://github.com/frappe/erpnext/issues/55903 )) ([#56169 ](https://github.com/frappe/erpnext/issues/56169 )) ([37d2622 ](37d26222d7 ))
* disable is_debit_note while creating credit note ([e4370ab ](e4370ab332 ))
* **err:** add missing permission check on `get_account_details` ([041a9ad ](041a9adbbf ))
* escape user image url on various templates (backport [#56269 ](https://github.com/frappe/erpnext/issues/56269 )) ([#56270 ](https://github.com/frappe/erpnext/issues/56270 )) ([42af4ce ](42af4ce7b0 ))
* **manufacturing:** make item_code mandatory in Job Card Item ([1b4da9d ](1b4da9dc96 ))
* **payment_entry:** recompute base amount when exchange rate changes (backport [#56136 ](https://github.com/frappe/erpnext/issues/56136 )) ([#56397 ](https://github.com/frappe/erpnext/issues/56397 )) ([cef608d ](cef608d043 ))
* **pos:** remove redundant opening balance dialog onchange handler (backport [#54591 ](https://github.com/frappe/erpnext/issues/54591 )) ([#56402 ](https://github.com/frappe/erpnext/issues/56402 )) ([334a0b2 ](334a0b2137 ))
* preserve stock ageing on non-serial reconciliation ([1991312 ](19913127a7 ))
* **report_utils:** remove unnecessary whitelist decorator on `get_invoiced_item_gross_margin` ([0efebf5 ](0efebf5d8c ))
* resolve backport conflict in accounting dashboard number cards ([f106513 ](f106513005 )), closes [#55548 ](https://github.com/frappe/erpnext/issues/55548 ) [#55484 ](https://github.com/frappe/erpnext/issues/55484 )
* set a fallback value if no fiscal year set ([da1ccc2 ](da1ccc2b62 ))
* show contextual balance label on party dashboard for net balances ([9b6adc4 ](9b6adc42b6 ))
* simplify get_round_off_applicable_accounts function signature ([42121f2 ](42121f2e36 ))
* **stock:** allow partial raw material picking/transfer from work order ([a858d77 ](a858d77461 ))
* **stock:** apply precision to the additional cost amount in stock entry ([acc1444 ](acc1444c03 ))
* **stock:** propagate renamed attribute values to variant items ([27d574d ](27d574dad5 ))
* **stock:** update transfer status for mixed transfer flows ([3f9a88a ](3f9a88a5e2 ))
* **stock:** update variant attributes on value rename ([c7acd88 ](c7acd88742 ))
* **stock:** update voucher valuaion rate in sle (backport [#55960 ](https://github.com/frappe/erpnext/issues/55960 )) ([#56262 ](https://github.com/frappe/erpnext/issues/56262 )) ([37f847e ](37f847e730 ))
* tax.base_tax_amount as none when payment entry created using API ([37dffa7 ](37dffa7273 ))
* update reference doctype mapping and field visibility in bank guarantee ([e556cbb ](e556cbbe6a ))
* update round off account functions to accept document context for regional overrides ([#55758 ](https://github.com/frappe/erpnext/issues/55758 )) ([eef075a ](eef075a2ba ))
* use fiscal year instead of calendar year in accounting dashboard number cards ([81ce5fb ](81ce5fbee9 ))
### Features
* add batch-level option to allow negative stock for batch ([5c4f19e ](5c4f19ebdc ))
2026-06-23 21:37:17 +00:00
Diptanil Saha
47f54a4725
Merge pull request #56360 from frappe/version-15-hotfix
...
chore: release v15
2026-06-24 03:05:42 +05:30
Diptanil Saha
a38da57c9e
Merge branch 'version-15' into version-15-hotfix
2026-06-24 02:41:55 +05:30
mergify[bot]
334a0b2137
fix(pos): remove redundant opening balance dialog onchange handler (backport #54591 ) ( #56402 )
...
Co-authored-by: Ravibharathi <131471282+ravibharathi656@users.noreply.github.com >
fix(pos): remove redundant opening balance dialog onchange handler (#54591 )
2026-06-24 02:24:29 +05:30
mergify[bot]
cef608d043
fix(payment_entry): recompute base amount when exchange rate changes (backport #56136 ) ( #56397 )
...
Co-authored-by: Ravibharathi <131471282+ravibharathi656@users.noreply.github.com >
Co-authored-by: ervishnucs <ervishnucs369@gmail.com >
fix(payment_entry): recompute base amount when exchange rate changes (#56136 )
2026-06-24 02:10:54 +05:30
mergify[bot]
53a11229ec
fix(budget): ambiguous error message for budget assignment validation (backport #56390 ) ( #56391 )
...
Co-authored-by: Wolfram Schmidt <wolfram.schmidt@phamos.eu >
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(budget): ambiguous error message for budget assignment validation (#56390 )
2026-06-23 19:49:07 +00:00
Shllokkk
094bdf2d3e
Merge pull request #56385 from frappe/mergify/bp/version-15-hotfix/pr-56337
...
fix: show contextual balance label on party dashboard for net balances (backport #56337 )
2026-06-23 23:31:19 +05:30
mergify[bot]
66d0a60140
feat(crm_settings)!: enable frappe crm data synchronization (backport #56268 ) ( #56383 )
...
* feat(crm_settings): enable frappe crm data synchronization (#56268 )
(cherry picked from commit 0ab812c3ec )
# Conflicts:
# erpnext/crm/frappe_crm_api.py
* chore: resolve conflicts
---------
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-23 22:02:47 +05:30
Shllokkk
9b6adc42b6
fix: show contextual balance label on party dashboard for net balances
...
(cherry picked from commit 3251b40365 )
2026-06-23 15:53:02 +00:00
Mihir Kandoi
e5894b67bc
Merge pull request #56373 from frappe/mergify/bp/version-15-hotfix/pr-56364
...
fix(manufacturing): make item_code mandatory in Job Card Item (backport #56364 )
2026-06-23 19:36:33 +05:30
pandiyan
1b4da9dc96
fix(manufacturing): make item_code mandatory in Job Card Item
...
The item_code field in the Job Card Item child table was optional,
allowing job cards to be saved without a raw material item linked.
Set reqd=1 in the JSON and update the Python type annotation accordingly.
(cherry picked from commit d7e9a97f8a )
2026-06-23 13:32:41 +00:00
Khushi Rawat
f75e7a3dc8
Merge pull request #55548 from frappe/mergify/bp/version-15-hotfix/pr-55484
...
fix: use fiscal year instead of calendar year in accounting dashboard number cards (backport #55484 )
2026-06-23 16:50:55 +05:30
khushi8112
f106513005
fix: resolve backport conflict in accounting dashboard number cards
...
Resolved Mergify backport conflicts (PR #55548 / backport of #55484 ) by
taking the final upstream state: fiscal-year posting_date Between filter
with calendar-year fallback, Timespan filter removed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-23 16:32:16 +05:30
mergify[bot]
506658c3a6
fix: attribute error because of missing margin_type field in Supplier Quotation (backport #48089 )
...
* fix: add missing margin related fields
(cherry picked from commit 67f96c66e4 )
# Conflicts:
# erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
* chore: fix conflict
---------
Co-authored-by: iamkhanraheel <raheel@frappe.io >
Co-authored-by: Sagar Vora <16315650+sagarvora@users.noreply.github.com >
2026-06-23 14:49:58 +05:30
Lakshit Jain
4048f0666e
Merge pull request #55770 from frappe/mergify/bp/version-15-hotfix/pr-55758
...
fix: update round off account functions to accept document context for regional overrides (backport #55758 )
2026-06-22 18:13:50 +05:30
ljain112
42121f2e36
fix: simplify get_round_off_applicable_accounts function signature
2026-06-22 17:40:57 +05:30
Mihir Kandoi
94d7d8f9d6
Merge pull request #56287 from aerele/backport-56203
...
fix: add partially transferred status and fix button visibility for p…
2026-06-22 16:48:04 +05:30
ruthra kumar
5ca37b8c37
Merge pull request #56298 from frappe/mergify/bp/version-15-hotfix/pr-55488
...
fix: add validation and tests for set_status (backport #55488 )
2026-06-22 13:58:43 +05:30
Shllokkk
7bea925230
fix: add validation and tests for set_status
...
(cherry picked from commit b5a84c5e65 )
2026-06-22 07:50:39 +00:00
pandiyan
1f5283da58
fix: add partially transferred status and fix button visibility for partial material transfer on job card
2026-06-22 11:51:33 +05:30
mergify[bot]
37d26222d7
fix: clear stale payment rows on non-POS returns so they don't surface in bank reconciliation (backport #55903 ) ( #56169 )
...
fix: clear stale payment rows on non-POS returns so they don't surface in bank reconciliation (#55903 )
(cherry picked from commit 322d4dff25 )
# Conflicts:
# erpnext/accounts/doctype/sales_invoice/sales_invoice.py
# erpnext/accounts/doctype/sales_invoice/services/pos.py
Co-authored-by: Jatin3128 <140256508+Jatin3128@users.noreply.github.com >
2026-06-22 05:17:49 +05:30
mergify[bot]
42af4ce7b0
fix: escape user image url on various templates (backport #56269 ) ( #56270 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix: escape user image url on various templates (#56269 )
2026-06-22 03:00:50 +05:30
Mihir Kandoi
67925bde42
Merge pull request #56264 from frappe/mergify/bp/version-15-hotfix/pr-56206
...
fix(stock): allow partial raw material picking/transfer from work order (backport #56206 )
2026-06-22 01:12:01 +05:30
Sudharsanan11
e6d45e35c7
test(stock): add test to validate the partial transfer of raw material
...
(cherry picked from commit 4d055d374a )
2026-06-21 23:36:43 +05:30
Sudharsanan11
a858d77461
fix(stock): allow partial raw material picking/transfer from work order
...
(cherry picked from commit 8e3fbab94a )
# Conflicts:
# erpnext/manufacturing/doctype/work_order/work_order.py
2026-06-21 23:36:43 +05:30
mergify[bot]
37f847e730
fix(stock): update voucher valuaion rate in sle (backport #55960 ) ( #56262 )
...
fix(stock): update voucher valuaion rate in sle (#55960 )
(cherry picked from commit 130c2594e1 )
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
2026-06-21 22:07:38 +05:30
Mihir Kandoi
3d46ae7cbc
Merge pull request #56248 from frappe/mergify/bp/version-15-hotfix/pr-56201
...
fix(stock): apply precision to the additional cost amount in stock entry (backport #56201 )
2026-06-21 14:01:45 +05:30
Sudharsanan11
deb11745e5
test(stock): add test to validate the precision for additional cost amount
...
(cherry picked from commit 20b14395e3 )
2026-06-21 08:14:47 +00:00
Sudharsanan11
acc1444c03
fix(stock): apply precision to the additional cost amount in stock entry
...
(cherry picked from commit 6ac699d3bb )
2026-06-21 08:14:47 +00:00
Diptanil Saha
a0c062af90
Merge pull request #56193 from frappe/mergify/bp/version-15-hotfix/pr-56191
...
fix: added missing permission validation on whitelisted function and removed unnecessary whitelisted decorator (backport #56191 )
2026-06-20 20:19:27 +05:30
diptanilsaha
7a04f031d9
chore: resolve conflicts
2026-06-20 20:00:29 +05:30
diptanilsaha
0efebf5d8c
fix(report_utils): remove unnecessary whitelist decorator on get_invoiced_item_gross_margin
...
(cherry picked from commit e29535f29c )
# Conflicts:
# erpnext/accounts/report/utils.py
2026-06-20 20:00:29 +05:30
diptanilsaha
041a9adbbf
fix(err): add missing permission check on get_account_details
...
(cherry picked from commit 9bf1e847d2 )
2026-06-20 20:00:23 +05:30
ruthra kumar
7b6dd42aa1
Merge pull request #56158 from frappe/mergify/bp/version-15-hotfix/pr-55265
...
fix: update reference doctype mapping and field visibility in bank guarantee (backport #55265 )
2026-06-19 17:54:27 +05:30
nareshkannasln
e556cbbe6a
fix: update reference doctype mapping and field visibility in bank guarantee
...
(cherry picked from commit b1de654dfd )
# Conflicts:
# erpnext/accounts/doctype/bank_guarantee/bank_guarantee.json
2026-06-19 16:57:18 +05:30
Mihir Kandoi
ad9c16073e
Merge pull request #56035 from aerele/fix/dashboard-party-dynamic-links
2026-06-19 11:09:39 +05:30
Smit Vora
ce2560e2fe
Merge pull request #56122 from frappe/mergify/bp/version-15-hotfix/pr-56104
...
fix: base_tax_amount as none when payment entry created using API (backport #56104 )
2026-06-19 09:25:41 +05:30
vorasmit
37dffa7273
fix: tax.base_tax_amount as none when payment entry created using API
...
(cherry picked from commit b9b402f2ec )
2026-06-19 03:17:39 +00:00
Shllokkk
2ed7c84d0a
fix(journal entry): validate opening entry against pcv on save
...
(cherry picked from commit f8aa4c730c )
# Conflicts:
# erpnext/accounts/doctype/journal_entry/journal_entry.py
# erpnext/accounts/general_ledger.py
2026-06-19 01:06:49 +05:30
Mihir Kandoi
3ef6475249
Merge pull request #56114 from frappe/mergify/bp/version-15-hotfix/pr-56055
...
fix: disable is_debit_note while creating credit note (backport #56055 )
2026-06-18 22:53:32 +05:30
Mihir Kandoi
6deff470d8
Merge pull request #56065 from barredterra/item-update-attribute-value
...
fix(stock): propagate renamed attribute values to variant items
2026-06-18 22:35:17 +05:30
Mihir Kandoi
03cda066a5
Merge pull request #56116 from frappe/mergify/bp/version-15-hotfix/pr-56098
...
fix: apply docstatus filter to exclude cancelled Work Orders in Seria… (backport #56098 )
2026-06-18 22:30:44 +05:30
pandiyan
90fd057fb3
fix: apply docstatus filter to exclude cancelled Work Orders in Serial No
...
(cherry picked from commit 3ba8f690a4 )
2026-06-18 16:56:24 +00:00
pandiyan
e4370ab332
fix: disable is_debit_note while creating credit note
...
(cherry picked from commit 279c8dea06 )
2026-06-18 16:54:01 +00:00
mergify[bot]
ce8fce78f1
fix: Add likely missing escapes (backport #55574 ) ( #55580 )
...
* fix: Add likely missing escaps (#55574 )
(cherry picked from commit b72cde73ba )
# Conflicts:
# erpnext/accounts/doctype/budget/budget.py
# erpnext/controllers/website_list_for_contact.py
* chore: conflicts
---------
Co-authored-by: Ankush Menat <ankush@frappe.io >
2026-06-18 11:32:54 +00:00
rohitwaghchaure
f3334eb2d3
Merge pull request #56080 from rohitwaghchaure/allow-negative-stock-for-batch-v15
...
feat: allow negative stock at batch level (backport to v15)
2026-06-18 14:31:21 +05:30
Rohit Waghchaure
5c4f19ebdc
feat: add batch-level option to allow negative stock for batch
2026-06-18 14:00:25 +05:30
rohitwaghchaure
80de914b55
Merge pull request #56076 from frappe/mergify/bp/version-15/pr-56072
...
refactor: posting datetime for SABB (backport #49710 + #50248 ) (backport #56072 )
2026-06-18 11:49:23 +05:30
rohitwaghchaure
1444837653
refactor: posting datetime for SABB (backport #49710 + #50248 ) ( #56072 )
...
* refactor: posting datetime for SABB (backport #49710 + #50248 )
Backport of #49710 "refactor: posting datetime for SABB" to
version-15-hotfix, including the regression fix #50248
"fix: missed refactoring code".
Replaces Serial and Batch Bundle's `posting_date`/`posting_time` with a
single `posting_datetime` field and updates all readers/writers; adds a
patch to populate `posting_datetime` from the linked Stock Ledger Entry
and drop the now-unused single-column indexes.
Adapted to version-15-hotfix where the surrounding stock code had already
moved to `posting_datetime` (SLE) and diverged from develop.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* chore: fix conflicts
* chore: fixed formatting
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
(cherry picked from commit 98caefea88 )
2026-06-18 05:58:57 +00:00
rohitwaghchaure
98caefea88
refactor: posting datetime for SABB (backport #49710 + #50248 ) ( #56072 )
...
* refactor: posting datetime for SABB (backport #49710 + #50248 )
Backport of #49710 "refactor: posting datetime for SABB" to
version-15-hotfix, including the regression fix #50248
"fix: missed refactoring code".
Replaces Serial and Batch Bundle's `posting_date`/`posting_time` with a
single `posting_datetime` field and updates all readers/writers; adds a
patch to populate `posting_datetime` from the linked Stock Ledger Entry
and drop the now-unused single-column indexes.
Adapted to version-15-hotfix where the surrounding stock code had already
moved to `posting_datetime` (SLE) and diverged from develop.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
* chore: fix conflicts
* chore: fixed formatting
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-18 05:51:13 +00:00
barredterra
c7acd88742
fix(stock): update variant attributes on value rename
2026-06-17 17:55:27 +02:00
barredterra
60f5de7ab8
test(stock): add cleanup for item attribute value changes in tests
2026-06-17 17:34:42 +02:00
barredterra
27d574dad5
fix(stock): propagate renamed attribute values to variant items
2026-06-17 17:04:58 +02:00
Mihir Kandoi
5c4220ee77
Merge pull request #56052 from aerele/backport-56002
...
fix(stock): update transfer status for mixed transfer flows
2026-06-17 17:42:07 +05:30
pandiyan
c13567228e
test(stock): validate completed status for mixed transfer methods
2026-06-17 17:22:53 +05:30
pandiyan
3f9a88a5e2
fix(stock): update transfer status for mixed transfer flows
2026-06-17 17:22:48 +05:30
Mihir Kandoi
8b2204ce69
Merge pull request #56044 from mihir-kandoi/codex/fix-stock-ageing-reco-ageing-v15
...
fix: preserve stock ageing on non-serial reconciliation
2026-06-17 16:19:17 +05:30
Mihir Kandoi
19913127a7
fix: preserve stock ageing on non-serial reconciliation
2026-06-17 15:58:47 +05:30
S Sakthivel Murugan
690adf1051
fix: add dynamic links for customer and supplier dashboards
2026-06-17 12:51:35 +05:30
Frappe PR Bot
e27016339f
chore(release): Bumped to Version 15.112.0
...
# [15.112.0](https://github.com/frappe/erpnext/compare/v15.111.0...v15.112.0 ) (2026-06-16)
### Bug Fixes
* **accounts:** removed whitelist on `get_balance_on` (backport [#55956 ](https://github.com/frappe/erpnext/issues/55956 )) ([#55964 ](https://github.com/frappe/erpnext/issues/55964 )) ([64bbc01 ](64bbc019ad ))
* Add authorization checks on internal functions (backport [#55709 ](https://github.com/frappe/erpnext/issues/55709 )) (backport [#55726 ](https://github.com/frappe/erpnext/issues/55726 )) ([#55736 ](https://github.com/frappe/erpnext/issues/55736 )) ([8c7a313 ](8c7a313a38 ))
* added doctype filter validation for sales person wise transaction summary report (backport [#55812 ](https://github.com/frappe/erpnext/issues/55812 )) ([#55817 ](https://github.com/frappe/erpnext/issues/55817 )) ([f1fc9e3 ](f1fc9e3261 ))
* apply user permissions to receivable/payable reports ([c03a66a ](c03a66a1bf ))
* BOM Creator by removing redundant permissions ([08d9b82 ](08d9b8275d ))
* **bom:** fetch routing operations when Routing is selected ([#55813 ](https://github.com/frappe/erpnext/issues/55813 )) ([02e38e8 ](02e38e80a7 ))
* **budget:** add root_type filter on account field ([#55934 ](https://github.com/frappe/erpnext/issues/55934 )) ([e1fbf78 ](e1fbf78409 ))
* clearance date update with permission checks ([46b3e0c ](46b3e0c385 ))
* **company:** replaced "this company" with company name on delete transactions dialog (backport [#56021 ](https://github.com/frappe/erpnext/issues/56021 )) ([#56022 ](https://github.com/frappe/erpnext/issues/56022 )) ([8a9461f ](8a9461ff45 ))
* converted whitelist non class methods to class methods ([7c78aa6 ](7c78aa6e5d ))
* **get_exchange_rate:** using get_single_value to fetch `disabled` value from `currency_exchange_settings` ([9405b49 ](9405b49e93 ))
* **Lead:** stop storing Gravatar image URLs for Leads (backport [#55880 ](https://github.com/frappe/erpnext/issues/55880 )) ([#55881 ](https://github.com/frappe/erpnext/issues/55881 )) ([8b3a0fe ](8b3a0fe045 ))
* **manufacturing:** fetch raw materials from work order ([7e9c1ef ](7e9c1efab7 ))
* multiple issues related to BOM Creator ([f4e6f14 ](f4e6f14342 ))
* opportunity creation from contact us page (backport [#55841 ](https://github.com/frappe/erpnext/issues/55841 )) ([#55866 ](https://github.com/frappe/erpnext/issues/55866 )) ([d460577 ](d4605771da ))
* pass source cost center to target cost center ([209977f ](209977f6a3 ))
* pemission for whitelist functions ([559c95c ](559c95c8a8 ))
* permission in bom compare tool ([ef3046d ](ef3046dca2 ))
* permissions in workstation file ([808ca06](808ca06801 ))
* prefetch batchwise valuations before streaming SLEs in stock ageing ([c617650 ](c6176500d2 ))
* prevent exchange rate flow from transaction to payment ([72c7b79 ](72c7b79933 ))
* provision to recalculate valuation rate during reposting ([df0c8ee ](df0c8ee21e ))
* recalculate incoming rate in SLE for purchase documents during repost ([081887b ](081887bec5 ))
* regression issues related to security fixes (backport [#55902 ](https://github.com/frappe/erpnext/issues/55902 )) ([#55925 ](https://github.com/frappe/erpnext/issues/55925 )) ([1f47b24 ](1f47b2417b ))
* restricting currency_exchange_settings write permission only to system manager ([7b65206 ](7b6520664c ))
* show company name in delete transactions confirmation dialog ([3356583 ](3356583865 ))
* show user disable audit log ([559585f ](559585fb7b ))
* **stock:** enable quality inspection for all Stock Entry purposes ([1ffef19 ](1ffef19957 )), closes [#55830 ](https://github.com/frappe/erpnext/issues/55830 ) [#70945 ](https://github.com/frappe/erpnext/issues/70945 )
* **stock:** make uom mandatory in item uom table ([c3a3eb3 ](c3a3eb3df3 ))
* **stock:** show only batched items in batch item selector ([7f30a2c ](7f30a2cfb6 ))
* **stock:** update stock value calculation in stock balance report ([18ad323 ](18ad323828 ))
* sync employee user status after save ([e40999c ](e40999c879 ))
* update system manager permissions ([81e05fc ](81e05fc1f6 ))
* updated role based permission for terms and conditions doctype (backport [#55674 ](https://github.com/frappe/erpnext/issues/55674 )) ([#55675 ](https://github.com/frappe/erpnext/issues/55675 )) ([5f5b2a6 ](5f5b2a6ae2 ))
* use frankfurter v2 by default for new install ([d62985d ](d62985d9a7 ))
### Features
* **currency exchange settings:** frankfurter v2 support ([70628c0 ](70628c06c9 ))
2026-06-16 21:53:42 +00:00
Diptanil Saha
4cf507fd68
Merge pull request #55980 from frappe/version-15-hotfix
...
chore: release v15
2026-06-17 03:21:59 +05:30
mergify[bot]
8c7a313a38
fix: Add authorization checks on internal functions (backport #55709 ) (backport #55726 ) ( #55736 )
...
Co-authored-by: Ankush Menat <ankush@frappe.io >
fix: Add authorization checks on internal functions (backport #55709 ) (#55726 )
fix: Add authorization checks on internal functions (#55709 )
2026-06-16 21:34:10 +00:00
mergify[bot]
5f5b2a6ae2
fix: updated role based permission for terms and conditions doctype (backport #55674 ) ( #55675 )
...
* fix: updated role based permission for terms and conditions doctype (#55674 )
(cherry picked from commit 0ba2961103 )
# Conflicts:
# erpnext/setup/doctype/terms_and_conditions/terms_and_conditions.json
* chore: resolve conflicts
---------
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-16 21:30:22 +00:00
mergify[bot]
8a9461ff45
fix(company): replaced "this company" with company name on delete transactions dialog (backport #56021 ) ( #56022 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(company): replaced "this company" with company name on delete transactions dialog (#56021 )
2026-06-17 02:14:05 +05:30
mergify[bot]
64bbc019ad
fix(accounts): removed whitelist on get_balance_on (backport #55956 ) ( #55964 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(accounts): removed whitelist on `get_balance_on` (#55956 )
2026-06-16 22:46:15 +05:30
Mihir Kandoi
797e740aea
Merge pull request #56001 from aerele/fix/qi-stock-entry-inspection-v15
...
fix(stock): enable quality inspection for all Stock Entry purposes
2026-06-16 21:27:22 +05:30
Mihir Kandoi
8f2bd2b77e
Merge pull request #55991 from frappe/mergify/bp/version-15-hotfix/pr-55985
...
fix(stock): show only batched items in batch item selector (backport #55985 )
2026-06-16 21:27:06 +05:30
Mihir Kandoi
776031b277
Merge pull request #56004 from frappe/mergify/bp/version-15-hotfix/pr-55978
...
fix: update system manager permissions (backport #55978 )
2026-06-16 21:20:14 +05:30
nareshkannasln
81e05fc1f6
fix: update system manager permissions
...
(cherry picked from commit 501c8087cb )
2026-06-16 20:42:53 +05:30
Mihir Kandoi
ebdb23bdda
chore: resolve conflicts
2026-06-16 20:37:19 +05:30
Mihir Kandoi
75a8b9097c
Merge pull request #55553 from aerele/fix/support-#69882
...
fix(manufacturing): fetch raw materials from work order
2026-06-16 20:35:15 +05:30
Sudharsanan11
1ffef19957
fix(stock): enable quality inspection for all Stock Entry purposes
...
Backport of #55830 to version-15.
Allow creating a Quality Inspection from Stock Entries of any purpose
(not just Manufacture). check_item_quality_inspection now returns the
items for Stock Entry, and the inspection type is resolved as "Incoming"
for Manufacture / Material Receipt and "Outgoing" otherwise.
Ref: #70945
2026-06-16 20:26:21 +05:30
rohitwaghchaure
8a59385b22
Merge pull request #55995 from frappe/mergify/bp/version-15-hotfix/pr-55986
...
chore: removed redundant validation in SCR (backport #55986 )
2026-06-16 19:40:59 +05:30
rohitwaghchaure
b15b2e1b2a
Merge pull request #55990 from rohitwaghchaure/fixed-recalculate-valuation-rate-in-pr-v15
...
fix: provision to recalculate valuation rate during reposting
2026-06-16 19:38:50 +05:30
Rohit Waghchaure
df0c8ee21e
fix: provision to recalculate valuation rate during reposting
2026-06-16 19:09:07 +05:30
Rohit Waghchaure
71c7045b98
chore: removed redundant validation in SCR
...
(cherry picked from commit 1b4487450c )
2026-06-16 13:38:27 +00:00
Dharanidharan2813
7f30a2cfb6
fix(stock): show only batched items in batch item selector
...
(cherry picked from commit 62f6d18143 )
# Conflicts:
# erpnext/stock/doctype/batch/batch.json
2026-06-16 13:00:51 +00:00
Sudharsanan Ashok
ab8b74e3d8
Merge pull request #55975 from frappe/mergify/bp/version-15-hotfix/pr-55943
...
refactor: ignore cancelled GLE's while looking for account (backport #55943 )
2026-06-16 16:59:18 +05:30
Sudharsanan11
b22096a640
test(manufacturing): add test to validate the transferred raw materials from work order
2026-06-16 16:55:31 +05:30
ervishnucs
9546ab72e0
refactor: ignore cancelled GLE's while looking for account
...
(cherry picked from commit 40942401df )
2026-06-16 11:08:16 +00:00
Diptanil Saha
8f23f1f180
Revert "fix(budget): add root_type filter on account field (backport #55934 )" ( #55966 )
2026-06-16 15:30:51 +05:30
ruthra kumar
a3a945a12f
Merge pull request #55961 from frappe/mergify/bp/version-15-hotfix/pr-53152
...
fix: prevent exchange rate flow from transaction to payment (backport #53152 )
2026-06-16 14:38:29 +05:30
ruthra kumar
48bcfc78ea
Merge pull request #55954 from frappe/mergify/bp/version-15-hotfix/pr-55934
...
fix(budget): add root_type filter on account field (backport #55934 )
2026-06-16 14:10:04 +05:30
ervishnucs
df823432d1
test: resolve failed testcases for exchage rate
...
(cherry picked from commit 3b5a203d61 )
2026-06-16 08:33:20 +00:00
ervishnucs
72c7b79933
fix: prevent exchange rate flow from transaction to payment
...
(cherry picked from commit 934abe5c6d )
2026-06-16 08:33:19 +00:00
Shllokkk
e1fbf78409
fix(budget): add root_type filter on account field ( #55934 )
...
(cherry picked from commit 52b406f5f1 )
# Conflicts:
# erpnext/accounts/doctype/budget/budget.js
2026-06-16 06:17:24 +00:00
Sudharsanan Ashok
2c2adffacf
Merge pull request #55939 from frappe/mergify/bp/version-15-hotfix/pr-55928
...
fix(stock): update stock value calculation in stock balance report (backport #55928 )
2026-06-15 19:27:28 +05:30
Sudharsanan11
18ad323828
fix(stock): update stock value calculation in stock balance report
...
(cherry picked from commit 2492dfa558 )
2026-06-15 12:40:51 +00:00
rohitwaghchaure
4c6667ec30
Merge pull request #55932 from frappe/mergify/bp/version-15-hotfix/pr-55926
...
fix: recalculate incoming rate in SLE for purchase documents during repost (backport #55926 )
2026-06-15 17:52:50 +05:30
Rohit Waghchaure
081887bec5
fix: recalculate incoming rate in SLE for purchase documents during repost
...
(cherry picked from commit 867ee484b9 )
2026-06-15 11:34:14 +00:00
mergify[bot]
1f47b2417b
fix: regression issues related to security fixes (backport #55902 ) ( #55925 )
...
* fix: regression issues related to security fixes
(cherry picked from commit be1aa0e5eb )
# Conflicts:
# erpnext/controllers/subcontracting_inward_controller.py
# erpnext/selling/doctype/sales_order/sales_order.py
# erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py
* refactor: consolidate duplicate get_party_bank_account into bank_account.py
(cherry picked from commit ede13cb3bd )
* chore: fix conflicts
Removed duplicate import of get_party_bank_account and consolidated imports.
* chore: fix conflicts
Removed the update_subcontracting_order_status method to address regression issues related to security fixes.
---------
Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com >
2026-06-15 11:23:08 +00:00
Diptanil Saha
b4be0834f2
Merge pull request #55918 from frappe/mergify/bp/version-15-hotfix/pr-55755
...
feat(currency exchange settings): frankfurter v2 support (backport #55755 )
2026-06-15 15:23:53 +05:30
Diptanil Saha
80741ceb67
chore: resolve conflicts
2026-06-15 14:39:29 +05:30
diptanilsaha
9405b49e93
fix(get_exchange_rate): using get_single_value to fetch disabled value from currency_exchange_settings
...
(cherry picked from commit abb579e2db )
2026-06-15 08:53:17 +00:00
diptanilsaha
7b6520664c
fix: restricting currency_exchange_settings write permission only to system manager
...
(cherry picked from commit 0c2d5488a6 )
# Conflicts:
# erpnext/accounts/doctype/currency_exchange_settings/currency_exchange_settings.json
2026-06-15 08:53:17 +00:00
diptanilsaha
64fc3ac309
test: fixed currency exchange test for frankfurter v2 api
...
(cherry picked from commit 138f683a68 )
2026-06-15 08:53:16 +00:00
diptanilsaha
d62985d9a7
fix: use frankfurter v2 by default for new install
...
(cherry picked from commit 479f9f63c9 )
2026-06-15 08:53:16 +00:00
diptanilsaha
70628c06c9
feat(currency exchange settings): frankfurter v2 support
...
(cherry picked from commit 56bfe6b6a6 )
# Conflicts:
# erpnext/accounts/doctype/currency_exchange_settings/currency_exchange_settings.json
2026-06-15 08:53:16 +00:00
Mihir Kandoi
75d40651d1
Merge pull request #55907 from frappe/mergify/bp/version-15-hotfix/pr-55906
...
fix: show company name in delete transactions confirmation dialog (backport #55906 )
2026-06-15 11:00:32 +05:30
Raghav Ruia
3356583865
fix: show company name in delete transactions confirmation dialog
...
Display the actual company name in bold within the confirmation dialog
label so users immediately know which company they must type to confirm,
reducing the risk of accidental data loss.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
(cherry picked from commit 87d26a2d67 )
2026-06-15 04:20:25 +00:00
Sudharsanan11
7e9c1efab7
fix(manufacturing): fetch raw materials from work order
2026-06-15 01:03:00 +05:30
mergify[bot]
fe3f44f643
ci: set disabledLabels and context for greptile (backport #55883 ) ( #55884 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-06-13 19:03:30 +00:00
mergify[bot]
8b3a0fe045
fix(Lead): stop storing Gravatar image URLs for Leads (backport #55880 ) ( #55881 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
fix(Lead): stop storing Gravatar image URLs for Leads (#55880 )
2026-06-13 18:19:13 +00:00
Mihir Kandoi
3d6a4eebee
Merge pull request #55864 from frappe/mergify/bp/version-15-hotfix/pr-55853
...
fix: pass source cost center to target cost center (backport #55853 )
2026-06-13 23:43:10 +05:30
rohitwaghchaure
0a3c53b16d
Merge pull request #55875 from frappe/mergify/bp/version-15-hotfix/pr-55874
...
fix: permission in bom compare tool (backport #55874 )
2026-06-13 19:40:36 +05:30
Rohit Waghchaure
ef3046dca2
fix: permission in bom compare tool
...
(cherry picked from commit e6fdb3702a )
2026-06-13 13:41:00 +00:00
rohitwaghchaure
5addc66301
Merge pull request #55873 from frappe/mergify/bp/version-15-hotfix/pr-55872
...
fix: pemission for whitelist functions (backport #55872 )
2026-06-13 19:03:18 +05:30
rohitwaghchaure
08d9b8275d
fix: BOM Creator by removing redundant permissions
...
Removed unnecessary permission checks for whitelist functions and cleaned up the code.
2026-06-13 18:46:40 +05:30
rohitwaghchaure
46b3e0c385
fix: clearance date update with permission checks
...
Refactor update_clearance_date to check permissions for payment documents before processing entries.
2026-06-13 18:43:12 +05:30
Rohit Waghchaure
559c95c8a8
fix: pemission for whitelist functions
...
(cherry picked from commit dd56e80512 )
# Conflicts:
# erpnext/accounts/doctype/bank_clearance/bank_clearance.py
# erpnext/manufacturing/doctype/bom_creator/bom_creator.py
# erpnext/subcontracting/doctype/subcontracting_inward_order/subcontracting_inward_order.py
2026-06-13 12:45:31 +00:00
mergify[bot]
d4605771da
fix: opportunity creation from contact us page (backport #55841 ) ( #55866 )
...
* fix: opportunity creation from contact us page (#55841 )
(cherry picked from commit c933e34914 )
# Conflicts:
# erpnext/crm/doctype/crm_settings/crm_settings.json
# erpnext/templates/utils.py
* chore: resolve conflict (crm_settings.json)
* chore: resolve conflicts (send_message)
---------
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-13 09:08:30 +00:00
SandraFrappe
209977f6a3
fix: pass source cost center to target cost center
...
(cherry picked from commit 9ea766fc10 )
2026-06-12 15:27:54 +00:00
rohitwaghchaure
eec11ac7b2
Merge pull request #55828 from rohitwaghchaure/fixed-bom-creator-security-issues-v15
...
fix: multiple issues related to BOM Creator
2026-06-12 19:52:19 +05:30
Rohit Waghchaure
7c78aa6e5d
fix: converted whitelist non class methods to class methods
2026-06-12 19:37:41 +05:30
Rohit Waghchaure
f4e6f14342
fix: multiple issues related to BOM Creator
2026-06-12 19:01:56 +05:30
rohitwaghchaure
48886467ec
Merge pull request #55861 from frappe/mergify/bp/version-15-hotfix/pr-55858
...
fix: permissions in workstation file (backport #55844 ) (backport #55858 )
2026-06-12 19:00:06 +05:30
rohitwaghchaure
baafb95e74
chore: fix conflicts
2026-06-12 18:36:53 +05:30
rohitwaghchaure
f4630273ad
chore: fix linters issue
...
(cherry picked from commit 11c7a35eae )
2026-06-12 12:29:08 +00:00
rohitwaghchaure
a65629da1a
chore: fix conflicts
...
(cherry picked from commit d04965b6b2 )
2026-06-12 12:29:08 +00:00
Rohit Waghchaure
808ca06801
fix: permissions in workstation file
...
(cherry picked from commit cf127e8900 )
# Conflicts:
# erpnext/manufacturing/doctype/workstation/workstation.py
(cherry picked from commit 0fea93388d )
# Conflicts:
# erpnext/manufacturing/doctype/workstation/workstation.py
2026-06-12 12:29:08 +00:00
Mihir Kandoi
74da3b8775
Merge pull request #55839 from frappe/mergify/bp/version-15-hotfix/pr-55838
...
fix(stock): make uom mandatory in item uom table (backport #55838 )
2026-06-12 07:34:20 +05:30
pandiyan
c3a3eb3df3
fix(stock): make uom mandatory in item uom table
...
(cherry picked from commit a0177fdbe8 )
2026-06-12 07:17:08 +05:30
Mihir Kandoi
d4baf0aeba
Merge pull request #55833 from frappe/mergify/bp/version-15-hotfix/pr-55820
...
fix: show user disable audit log (backport #55820 )
2026-06-11 21:50:07 +05:30
Mihir Kandoi
e40999c879
fix: sync employee user status after save
2026-06-11 20:58:35 +05:30
pandiyan
559585fb7b
fix: show user disable audit log
...
(cherry picked from commit 73d1852773 )
2026-06-11 15:01:32 +00:00
Mihir Kandoi
ee3f502538
Merge pull request #55814 from frappe/mergify/bp/version-15-hotfix/pr-55813
...
fix(bom): fetch routing operations when Routing is selected (backport #55813 )
2026-06-11 20:30:35 +05:30
Mihir Kandoi
f37727d399
chore: resolve conflicts
2026-06-11 20:28:55 +05:30
Mihir Kandoi
b8d507e496
chore: resolve conflicts
2026-06-11 20:28:31 +05:30
ruthra kumar
11359b0ac2
Merge pull request #55819 from frappe/mergify/bp/version-15-hotfix/pr-55696
...
fix: apply user permissions to receivable/payable reports (backport #55696 )
2026-06-11 16:59:48 +05:30
Kaushal Shriwas
7639a3360e
test: clean up receivable entries to avoid cross-report leakage
2026-06-11 16:43:05 +05:30
mergify[bot]
f1fc9e3261
fix: added doctype filter validation for sales person wise transaction summary report (backport #55812 ) ( #55817 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix: added doctype filter validation for sales person wise transaction summary report (#55812 )
2026-06-11 07:08:59 +00:00
Kaushal Shriwas
b9a694bb37
test: cover user permission scoping in receivable report
...
(cherry picked from commit 4200d17c9b )
2026-06-11 06:58:06 +00:00
Kaushal Shriwas
c03a66a1bf
fix: apply user permissions to receivable/payable reports
...
(cherry picked from commit b05abbc53b )
2026-06-11 06:58:06 +00:00
Mohammad Umair Sayed
02e38e80a7
fix(bom): fetch routing operations when Routing is selected ( #55813 )
...
fix(bom): fetch routing operations when routing is selected
frm.doc.operations is always an array in Frappe, so !frm.doc.operations
was always false (empty array [] is truthy in JS), causing get_routing()
to never fire when a Routing is selected on a BOM with no existing
operations.
Changed the guard to !frm.doc.operations.length so the fetch triggers
correctly when the operations table is empty.
Also wired the same fetch into the with_operations handler so that
enabling the checkbox after a Routing is already set will populate
operations without requiring the user to re-select the Routing.
Co-authored-by: Umair Sayed <umairsayed@Umairs-MacBook-Air-2.local >
(cherry picked from commit 9249fa89aa )
# Conflicts:
# erpnext/manufacturing/doctype/bom/bom.js
2026-06-11 06:25:34 +00:00
Nabin Hait
2905669af4
Merge pull request #55794 from frappe/mergify/bp/version-15-hotfix/pr-55789
...
fix: prefetch batchwise valuations before streaming SLEs in stock ageing (backport #55789 )
2026-06-10 12:14:37 +05:30
Mihir Kandoi
c6176500d2
fix: prefetch batchwise valuations before streaming SLEs in stock ageing
...
Stock Ageing iterates stock ledger entries through an unbuffered
(streaming) cursor. _get_batchwise_valuation() lazily queried
Batch.use_batchwise_valuation from inside that loop whenever a row
carried the legacy batch_no field, and the nested query invalidated
the active streaming result set — crashing the report (or silently
dropping the remaining rows, depending on the driver version).
Resolve the valuation flags in a single query before entering the
unbuffered cursor block; the lazy lookup now only serves callers that
pass stock ledger entries in directly, where no streaming is active.
Fixes https://github.com/frappe/erpnext/issues/55786
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
(cherry picked from commit 060a5c4eeb )
2026-06-10 06:07:48 +00:00
ruthra kumar
bd41e741be
test(inactive customers): use FrappeTestCase
2026-06-10 10:16:32 +05:30
Frappe PR Bot
2b3e3dfd83
chore(release): Bumped to Version 15.111.0
...
# [15.111.0](https://github.com/frappe/erpnext/compare/v15.110.0...v15.111.0 ) (2026-06-10)
### Bug Fixes
* **accounts:** include asset items in purchase receipt validation ([#55150 ](https://github.com/frappe/erpnext/issues/55150 )) ([611849f ](611849f953 ))
* add permission checks in accounts whitelisted methods ([2d1c0dc ](2d1c0dcb53 ))
* bypass project permission check when updating consumed material … (backport [#55645 ](https://github.com/frappe/erpnext/issues/55645 )) ([#55706 ](https://github.com/frappe/erpnext/issues/55706 )) ([cedd0a1 ](cedd0a1903 ))
* **cheque_print_template:** print format creation from cheque print template requires system manager (backport [#55708 ](https://github.com/frappe/erpnext/issues/55708 )) ([#55711 ](https://github.com/frappe/erpnext/issues/55711 )) ([2f5b93e ](2f5b93e308 ))
* correct field order in Address and Contacts report ([bde46cf](bde46cffd0 ))
* correct field order in Address and Contacts report ([08f3cf9 ](08f3cf98f9 ))
* do not allow to make changes in SABB after submit ([07b6111 ](07b61113af ))
* drop ignore_permissions handling from add_ac ([2d0e3fd ](2d0e3fd9af ))
* duplicating a Customer/Supplier shouldn't inherit the source's primary contact and address (backport [#55421 ](https://github.com/frappe/erpnext/issues/55421 )) ([#55608 ](https://github.com/frappe/erpnext/issues/55608 )) ([013bd1a ](013bd1a566 ))
* handle multi-select stock ageing filters ([#55776 ](https://github.com/frappe/erpnext/issues/55776 )) ([95f46df ](95f46dfc01 ))
* **item:** format integer numeric variant attributes without decimals (backport [#55561 ](https://github.com/frappe/erpnext/issues/55561 )) ([#55563 ](https://github.com/frappe/erpnext/issues/55563 )) ([4772799 ](4772799db2 ))
* naming series issue ([e7eaa87 ](e7eaa87a77 ))
* persist main item code for MR plan items ([#55623 ](https://github.com/frappe/erpnext/issues/55623 )) ([e8e0514 ](e8e0514a30 ))
* prevent leakage of party-derived fields in cross doctype transactions (backport [#55336 ](https://github.com/frappe/erpnext/issues/55336 )) ([#55578 ](https://github.com/frappe/erpnext/issues/55578 )) ([0e64acb ](0e64acb0fa ))
* prevent selling items from sample retention warehouse (backport [#55613 ](https://github.com/frappe/erpnext/issues/55613 )) ([#55633 ](https://github.com/frappe/erpnext/issues/55633 )) ([c15012c ](c15012cd51 ))
* **process statement of accounts:** validate pdf_name and validate permission before triggering send_auto_email (backport [#55781 ](https://github.com/frappe/erpnext/issues/55781 )) ([#55782 ](https://github.com/frappe/erpnext/issues/55782 )) ([18ca96c ](18ca96c36b ))
* remove item name from update items dialog item code column (backport [#55718 ](https://github.com/frappe/erpnext/issues/55718 )) ([#55722 ](https://github.com/frappe/erpnext/issues/55722 )) ([09453f8 ](09453f883b ))
* resolve conflict ([271ddb6 ](271ddb6add ))
* restrict already invoiced qty in intercompany purchase invoice ([#55754 ](https://github.com/frappe/erpnext/issues/55754 )) ([a5c23a3 ](a5c23a3d16 ))
* **selling:** consider delivered qty (backport [#55597 ](https://github.com/frappe/erpnext/issues/55597 )) ([#55606 ](https://github.com/frappe/erpnext/issues/55606 )) ([e8267e3 ](e8267e3237 ))
* simplify New Zealand sales accounts ([eebb37f ](eebb37f9fd ))
* sql injection ([a94e362 ](a94e362b8c ))
* **stock:** add validation for work order seial nos and batch nos ([6d3f9d3 ](6d3f9d3c6f ))
* update items respects workflow "Only Allow Edit For" role (backport [#55667 ](https://github.com/frappe/erpnext/issues/55667 )) ([#55705 ](https://github.com/frappe/erpnext/issues/55705 )) ([7852ea6 ](7852ea65af ))
* use new_doc with field allowlist in CRM integration endpoints ([45b232d ](45b232d369 ))
* validate fg and materials qty in the disassemble entry ([ba19a24 ](ba19a24526 ))
* work order status should be in process if material transfer is skipped (backport [#55641 ](https://github.com/frappe/erpnext/issues/55641 ) to version-15-hotfix) ([#55643 ](https://github.com/frappe/erpnext/issues/55643 )) ([55b0715 ](55b0715310 ))
### Features
* add New Zealand chart of accounts ([f8a123e ](f8a123e79d ))
### Performance Improvements
* **transaction:** exit early before backend query (backport [#55556 ](https://github.com/frappe/erpnext/issues/55556 )) ([#55557 ](https://github.com/frappe/erpnext/issues/55557 )) ([ccbca57 ](ccbca57420 ))
2026-06-10 00:24:00 +00:00
Mihir Kandoi
316bb13853
Merge pull request #55763 from frappe/version-15-hotfix
2026-06-10 05:52:23 +05:30
mergify[bot]
18ca96c36b
fix(process statement of accounts): validate pdf_name and validate permission before triggering send_auto_email (backport #55781 ) ( #55782 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(process statement of accounts): validate pdf_name and validate permission before triggering send_auto_email (#55781 )
2026-06-09 19:10:24 +00:00
Mihir Kandoi
95f46dfc01
fix: handle multi-select stock ageing filters ( #55776 )
2026-06-09 13:45:52 +00:00
mergify[bot]
0e64acb0fa
fix: prevent leakage of party-derived fields in cross doctype transactions (backport #55336 ) ( #55578 )
...
Co-authored-by: Nabin Hait <nabinhait@gmail.com >
Co-authored-by: Lakshit Jain <ljain112@gmail.com >
fix: prevent leakage of party-derived fields in cross doctype transactions (#55336 )
2026-06-09 13:23:49 +00:00
ljain112
5629056ec2
chore: resolve conflicts
2026-06-09 18:12:53 +05:30
Lakshit Jain
eef075a2ba
fix: update round off account functions to accept document context for regional overrides ( #55758 )
...
(cherry picked from commit 08129ff71c )
# Conflicts:
# erpnext/controllers/taxes_and_totals.py
# erpnext/controllers/tests/test_taxes_and_totals.py
# erpnext/public/js/controllers/taxes_and_totals.js
2026-06-09 12:24:31 +00:00
Pandiyan P
a5c23a3d16
fix: restrict already invoiced qty in intercompany purchase invoice ( #55754 )
2026-06-09 13:13:23 +05:30
mergify[bot]
2f5b93e308
fix(cheque_print_template): print format creation from cheque print template requires system manager (backport #55708 ) ( #55711 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(cheque_print_template): print format creation from cheque print template requires system manager (#55708 )
2026-06-09 13:01:40 +05:30
rohitwaghchaure
aeed6a459f
Merge pull request #55751 from frappe/mergify/bp/version-15-hotfix/pr-55748
...
fix: sql injection (backport #55748 )
2026-06-09 09:49:16 +05:30
rohitwaghchaure
c0f56cd284
chore: fix conflicts
...
Removed conflicting code related to date_field assignment based on filters.
2026-06-09 09:31:58 +05:30
Rohit Waghchaure
a94e362b8c
fix: sql injection
...
(cherry picked from commit bd0acf4413 )
# Conflicts:
# erpnext/accounts/report/inactive_sales_items/inactive_sales_items.py
2026-06-09 03:58:13 +00:00
rohitwaghchaure
a121048f9b
Merge pull request #55741 from frappe/mergify/bp/version-15-hotfix/pr-55740
...
fix: validate fg and materials qty in the disassemble entry (backport #55740 )
2026-06-08 22:45:45 +05:30
mergify[bot]
cedd0a1903
fix: bypass project permission check when updating consumed material … (backport #55645 ) ( #55706 )
...
* fix: bypass project permission check when updating consumed material cost
(cherry picked from commit 4b0b7adeee )
# Conflicts:
# erpnext/stock/doctype/stock_entry/stock_entry.py
* chore: resolve conflicts
* chore: resolve conflicts
---------
Co-authored-by: pandiyan <pandiyanpalani37@gmail.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-06-08 14:22:54 +00:00
rohitwaghchaure
8bccc25b1a
chore: fix conflicts
...
Removed unused test cases related to sample retention stock entry.
2026-06-08 19:45:39 +05:30
rohitwaghchaure
335173c5ba
chore: fix conflicts
...
Reintroduce the _qty_tolerance function to handle float rounding.
2026-06-08 19:44:48 +05:30
Rohit Waghchaure
ba19a24526
fix: validate fg and materials qty in the disassemble entry
...
(cherry picked from commit 4453c1072a )
# Conflicts:
# erpnext/stock/doctype/stock_entry/stock_entry.py
# erpnext/stock/doctype/stock_entry/test_stock_entry.py
2026-06-08 14:01:31 +00:00
rohitwaghchaure
2c4b89d1df
Merge pull request #55734 from frappe/mergify/bp/version-15-hotfix/pr-55716
...
fix: do not allow to make changes in SABB after submit (backport #55716 )
2026-06-08 16:02:35 +05:30
ruthra kumar
14bafe9dfd
Merge pull request #55728 from frappe/mergify/bp/version-15-hotfix/pr-55486
...
Validations in CRM-api endpoints (backport #55486 )
2026-06-08 15:50:23 +05:30
ruthra kumar
77d9849d16
Merge pull request #55730 from frappe/mergify/bp/version-15-hotfix/pr-55487
...
fix: add validations in accounts whitelisted methods (backport #55487 )
2026-06-08 15:49:34 +05:30
mergify[bot]
09453f883b
fix: remove item name from update items dialog item code column (backport #55718 ) ( #55722 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
Co-authored-by: Abdullah <frappe@LAPTOP-4E788RM4.localdomain >
fix: remove item name from update items dialog item code column (#55718 )
2026-06-08 15:42:09 +05:30
rohitwaghchaure
dc1fb3f804
chore: fix conflicts
...
Removed unused methods related to stock ledger entries and negative stock handling.
2026-06-08 15:28:44 +05:30
Rohit Waghchaure
07b61113af
fix: do not allow to make changes in SABB after submit
...
(cherry picked from commit e36426e235 )
# Conflicts:
# erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
2026-06-08 09:56:01 +00:00
Shllokkk
2d1c0dcb53
fix: add permission checks in accounts whitelisted methods
...
(cherry picked from commit 5dbf3fdde0 )
# Conflicts:
# erpnext/accounts/doctype/payment_entry/payment_entry.py
2026-06-08 15:17:26 +05:30
Shllokkk
45b232d369
fix: use new_doc with field allowlist in CRM integration endpoints
...
(cherry picked from commit e460e83516 )
2026-06-08 09:41:05 +00:00
Nabin Hait
30efbf8c9b
test(inactive_customers): remove non-positive days test case
...
(cherry picked from commit 601f39dda7 )
2026-06-08 07:50:34 +00:00
Nabin Hait
1cba32eb1a
refactor(inactive_customers): rename sales alias to sales_doctype
...
(cherry picked from commit 8d7edafc99 )
2026-06-08 07:50:34 +00:00
Nabin Hait
ebb7b37558
refactor(inactive_customers): use descriptive aliases and add tests
...
Rename single-letter query-builder aliases (C, DT) to readable names
(customer, sales) and add report tests covering the column contract,
validation guards, and the days-since-last-order threshold.
(cherry picked from commit 8f15dd4d5d )
2026-06-08 07:50:33 +00:00
Shllokkk
29dd6e6681
fix(inactive_customers): add allowlist for doctype filter and migrate to qb
...
(cherry picked from commit 2ecf8b0466 )
2026-06-08 07:50:33 +00:00
mergify[bot]
7852ea65af
fix: update items respects workflow "Only Allow Edit For" role (backport #55667 ) ( #55705 )
...
* fix: update items respects workflow "Only Allow Edit For" role (#55667 )
(cherry picked from commit 76b9b6a34e )
# Conflicts:
# erpnext/controllers/accounts_controller.py
* chore: resolve conflicts
---------
Co-authored-by: kaulith <64089478+kaulith@users.noreply.github.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-06-08 06:59:05 +00:00
ruthra kumar
999cfef619
Merge pull request #55703 from frappe/mergify/bp/version-15-hotfix/pr-55665
...
fix: drop ignore_permissions handling from add_ac (backport #55665 )
2026-06-08 12:01:48 +05:30
Shllokkk
2d0e3fd9af
fix: drop ignore_permissions handling from add_ac
...
(cherry picked from commit 37d2adc74b )
2026-06-08 06:14:59 +00:00
mergify[bot]
4c9c2911a6
chore: remove unused whitelisted method from project (backport #55648 ) ( #55672 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-06-07 23:15:42 +05:30
rohitwaghchaure
e0a0b3eafc
Merge pull request #55663 from frappe/mergify/bp/version-15-hotfix/pr-55661
...
fix: naming series issue (backport #55661 )
2026-06-05 21:04:00 +05:30
rohitwaghchaure
8c9168595f
chore: fix conflicts
...
Removed unused import of DateTimeLikeObject.
2026-06-05 20:48:19 +05:30
Rohit Waghchaure
e7eaa87a77
fix: naming series issue
...
(cherry picked from commit 3a50056968 )
# Conflicts:
# erpnext/stock/doctype/batch/batch.py
2026-06-05 15:14:02 +00:00
Mihir Kandoi
ffb36cff78
[codex] Show in-transit status for add-to-transit Stock Entries (backport #55644 to version-15-hotfix) ( #55659 )
...
[codex] Show in-transit status for add-to-transit Stock Entries (#55644 )
(cherry picked from commit df03524b19 )
2026-06-05 11:32:33 +00:00
Khushi Rawat
4fadc4aab6
Merge pull request #55652 from khushi8112/address-contacts-report-field-order
...
fix: correct field order in Address and Contacts report
2026-06-05 16:13:24 +05:30
khushi8112
bde46cffd0
fix: correct field order in Address and Contacts report
2026-06-05 15:33:39 +05:30
khushi8112
08f3cf98f9
fix: correct field order in Address and Contacts report
2026-06-05 15:31:43 +05:30
Mihir Kandoi
55b0715310
fix: work order status should be in process if material transfer is skipped (backport #55641 to version-15-hotfix) ( #55643 )
...
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-05 05:36:10 +00:00
mergify[bot]
c15012cd51
fix: prevent selling items from sample retention warehouse (backport #55613 ) ( #55633 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
fix: prevent selling items from sample retention warehouse (#55613 )
2026-06-04 16:48:59 +00:00
Mihir Kandoi
e8e0514a30
fix: persist main item code for MR plan items ( #55623 )
2026-06-04 21:38:35 +05:30
mergify[bot]
ddaf75a60d
refactor: convert rfq_transaction_list to query builder (backport #55497 ) ( #55629 )
...
* refactor: convert rfq_transaction_list to query builder (#55497 )
(cherry picked from commit 9cecf2e6f9 )
# Conflicts:
# erpnext/controllers/website_list_for_contact.py
* chore: resolve conflicts
---------
Co-authored-by: Shllokkk <140623894+Shllokkk@users.noreply.github.com >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-06-04 14:26:49 +00:00
mergify[bot]
013bd1a566
fix: duplicating a Customer/Supplier shouldn't inherit the source's primary contact and address (backport #55421 ) ( #55608 )
...
Co-authored-by: Nabin Hait <nabinhait@gmail.com >
Co-authored-by: Antoine Maas <antoine.maas@okte.io >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
fix: duplicating a Customer/Supplier shouldn't inherit the source's primary contact and address (#55421 )
2026-06-03 16:04:25 +00:00
mergify[bot]
e8267e3237
fix(selling): consider delivered qty (backport #55597 ) ( #55606 )
...
Co-authored-by: Pandiyan P <pandiyanpalani37@gmail.com >
fix(selling): consider delivered qty (#55597 )
2026-06-03 15:37:00 +00:00
rohitwaghchaure
d5477b096d
Merge pull request #55604 from aerele/backport-54785
...
fix(stock): add validation for work order seial nos and batch nos
2026-06-03 19:12:49 +05:30
pandiyan
6d3f9d3c6f
fix(stock): add validation for work order seial nos and batch nos
2026-06-03 18:39:22 +05:30
Khushi Rawat
f65b56d73f
Merge pull request #55587 from frappe/mergify/bp/version-15-hotfix/pr-55150
...
fix(accounts): include asset items in purchase receipt validation (backport #55150 )
2026-06-03 15:35:52 +05:30
Khushi Rawat
271ddb6add
fix: resolve conflict
2026-06-03 14:22:59 +05:30
mergify[bot]
9095c5a3c2
regional(setup): add 0% and 6% VAT rates for Belgium (backport #54719 ) ( #55582 )
...
Co-authored-by: Antoine Maas <antoine.maas@okte.io >
2026-06-03 14:11:51 +05:30
mergify[bot]
0a7c3581da
Avoid status updation for purchase invoice from paid to unpaid by issuing a paid debit note against it (backport #54382 ) ( #55575 )
...
Co-authored-by: Shllokkk <140623894+Shllokkk@users.noreply.github.com >
2026-06-03 14:11:12 +05:30
Pandiyan P
611849f953
fix(accounts): include asset items in purchase receipt validation ( #55150 )
...
(cherry picked from commit d0d9411700 )
# Conflicts:
# erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
2026-06-03 07:43:14 +00:00
ruthra kumar
5a80de43fa
Merge pull request #55478 from IMS94/feat-new-zealand-chart-of-accounts-v15
...
feat: add New Zealand chart of accounts
2026-06-03 11:17:01 +05:30
mergify[bot]
4772799db2
fix(item): format integer numeric variant attributes without decimals (backport #55561 ) ( #55563 )
...
* fix(item): format integer numeric variant attributes without decimals (#55561 )
(cherry picked from commit 016b64df6d )
# Conflicts:
# erpnext/stock/doctype/item/item.js
* chore: resolve conflicts
---------
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-06-02 22:59:43 +02:00
mergify[bot]
ccbca57420
perf(transaction): exit early before backend query (backport #55556 ) ( #55557 )
...
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com >
2026-06-02 21:41:47 +02:00
Frappe PR Bot
d6b2fb2f96
chore(release): Bumped to Version 15.110.0
...
# [15.110.0](https://github.com/frappe/erpnext/compare/v15.109.3...v15.110.0 ) (2026-06-02)
### Bug Fixes
* billing address does not belongs to the company error ([5c392d6 ](5c392d6123 ))
* **book_appointment:** when scheduling is disabled, block API endpoints (backport [#55455 ](https://github.com/frappe/erpnext/issues/55455 )) ([#55456 ](https://github.com/frappe/erpnext/issues/55456 )) ([2a12ae1 ](2a12ae1afe ))
* check perm for account (backport [#55479 ](https://github.com/frappe/erpnext/issues/55479 )) ([#55482 ](https://github.com/frappe/erpnext/issues/55482 )) ([1238aeb ](1238aeb30a ))
* **issue:** check permission before issue status modification (backport [#55458 ](https://github.com/frappe/erpnext/issues/55458 )) ([#55459 ](https://github.com/frappe/erpnext/issues/55459 )) ([338feb3 ](338feb31e1 ))
* **je:** preserve account on duplicate row when party row exists (backport [#55180 ](https://github.com/frappe/erpnext/issues/55180 )) ([#55513 ](https://github.com/frappe/erpnext/issues/55513 )) ([741216d ](741216d3eb ))
* **manufacturing:** allow to edit batch size while creating a work order ([#55332 ](https://github.com/frappe/erpnext/issues/55332 )) ([41bf2f3 ](41bf2f32fd ))
* material transfer in transit issue (backport [#55320 ](https://github.com/frappe/erpnext/issues/55320 )) ([#55324 ](https://github.com/frappe/erpnext/issues/55324 )) ([067c23f ](067c23f20e ))
* new bom version should not recalculate operations through routing (backport [#55370 ](https://github.com/frappe/erpnext/issues/55370 )) ([#55371 ](https://github.com/frappe/erpnext/issues/55371 )) ([4669ff2 ](4669ff295f ))
* pick correct name when creating user from RFQ (backport [#55468 ](https://github.com/frappe/erpnext/issues/55468 )) ([#55471 ](https://github.com/frappe/erpnext/issues/55471 )) ([e429e60 ](e429e608c2 ))
* **pos:** escape html output in pos page templates (backport [#55527 ](https://github.com/frappe/erpnext/issues/55527 )) ([#55528 ](https://github.com/frappe/erpnext/issues/55528 )) ([689a3f5 ](689a3f50ae ))
* **pos:** escape item data on pos item selector (backport [#55503 ](https://github.com/frappe/erpnext/issues/55503 )) ([#55523 ](https://github.com/frappe/erpnext/issues/55523 )) ([96bd97d ](96bd97dd6d ))
* **pos:** preserve contacts and enforce permissions in set_customer_info (backport [#55463 ](https://github.com/frappe/erpnext/issues/55463 )) ([#55465 ](https://github.com/frappe/erpnext/issues/55465 )) ([0353262 ](03532624b8 ))
* **ppr:** make default_advance_account optional ([aa94c3f ](aa94c3ff22 ))
* **quotation:** made customer contact column visible (backport [#55433 ](https://github.com/frappe/erpnext/issues/55433 )) ([#55434 ](https://github.com/frappe/erpnext/issues/55434 )) ([a2d924c ](a2d924c48f ))
* **regional:** Japanese CT Rate (backport [#54998 ](https://github.com/frappe/erpnext/issues/54998 )) ([#55437 ](https://github.com/frappe/erpnext/issues/55437 )) ([2a52ea6 ](2a52ea6850 ))
* replace get_query with get_list for permission-aware queries in v15 ([ad511b8 ](ad511b80c0 ))
* stock reco for legacy serial nos ([93dcba4 ](93dcba40ec ))
* **stock:** add warning message to notify the user to configure the inspection ([42e2fd5 ](42e2fd5fc9 ))
* **stock:** allow to create quality inspection after purchase/delivery ([10664b7 ](10664b7b95 ))
* **stock:** change qb to qb get_query to fix filter issues (backport [#55443 ](https://github.com/frappe/erpnext/issues/55443 )) ([#55444 ](https://github.com/frappe/erpnext/issues/55444 )) ([75d00ef ](75d00ef173 ))
* **stock:** change valuation rate column label in stock ledger entry/report (backport [#55323 ](https://github.com/frappe/erpnext/issues/55323 )) ([#55393 ](https://github.com/frappe/erpnext/issues/55393 )) ([94fd15e ](94fd15e550 ))
* **stock:** get_actual_qty during cancellations (backport [#55388 ](https://github.com/frappe/erpnext/issues/55388 )) ([#55391 ](https://github.com/frappe/erpnext/issues/55391 )) ([ad6e3a4 ](ad6e3a45d2 ))
* update default_advance_account type ([7200c22 ](7200c22890 ))
* use get_query instead of get_all for data fetching ([264433b ](264433b23d ))
### Features
* **payment-entry:** warn user before cancelling reconciled payment entry ([87c6ad4 ](87c6ad4f85 ))
2026-06-02 16:55:43 +00:00
Mihir Kandoi
a6b7142c18
Merge pull request #55546 from frappe/version-15-hotfix
2026-06-02 22:24:03 +05:30
Khushi Rawat
6796617921
Merge pull request #55542 from frappe/mergify/bp/version-15-hotfix/pr-55539
...
feat(payment-entry): warn user before cancelling reconciled payment entry (backport #55539 )
2026-06-02 17:09:59 +05:30
khushi8112
da1ccc2b62
fix: set a fallback value if no fiscal year set
...
(cherry picked from commit c68918bc18 )
# Conflicts:
# erpnext/accounts/number_card/total_incoming_bills/total_incoming_bills.json
# erpnext/accounts/number_card/total_incoming_payment/total_incoming_payment.json
# erpnext/accounts/number_card/total_outgoing_bills/total_outgoing_bills.json
# erpnext/accounts/number_card/total_outgoing_payment/total_outgoing_payment.json
2026-06-02 11:26:05 +00:00
khushi8112
81ce5fbee9
fix: use fiscal year instead of calendar year in accounting dashboard number cards
...
(cherry picked from commit e8fff2fdad )
# Conflicts:
# erpnext/accounts/number_card/total_incoming_bills/total_incoming_bills.json
# erpnext/accounts/number_card/total_incoming_payment/total_incoming_payment.json
# erpnext/accounts/number_card/total_outgoing_bills/total_outgoing_bills.json
# erpnext/accounts/number_card/total_outgoing_payment/total_outgoing_payment.json
2026-06-02 11:26:05 +00:00
ruthra kumar
c65d768020
Merge pull request #55544 from frappe/mergify/bp/version-15-hotfix/pr-54979
...
fix(ppr): make default_advance_account optional (backport #54979 )
2026-06-02 16:48:42 +05:30
Dany Robert
7200c22890
fix: update default_advance_account type
...
(cherry picked from commit 30b9e11303 )
2026-06-02 10:06:40 +00:00
Dany Robert
aa94c3ff22
fix(ppr): make default_advance_account optional
...
(cherry picked from commit 4b1d369ac6 )
2026-06-02 10:06:39 +00:00
khushi8112
87c6ad4f85
feat(payment-entry): warn user before cancelling reconciled payment entry
...
(cherry picked from commit f0ba54d957 )
2026-06-02 10:00:11 +00:00
Khushi Rawat
35b4ada3e2
Merge pull request #55358 from frappe/mergify/bp/version-15-hotfix/pr-55137
...
fix: use get_query instead of get_all for data fetching (backport #55137 )
2026-06-02 13:19:11 +05:30
khushi8112
ad511b80c0
fix: replace get_query with get_list for permission-aware queries in v15
2026-06-02 12:17:37 +05:30
rohitwaghchaure
ad55c7c372
Merge pull request #55518 from frappe/mergify/bp/version-15-hotfix/pr-55415
...
fix(stock): allow to create quality inspection after purchase/delivery (backport #55415 )
2026-06-02 11:52:05 +05:30
Diptanil Saha
689a3f50ae
fix(pos): escape html output in pos page templates (backport #55527 ) ( #55528 )
...
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-06-02 00:42:59 +05:30
Diptanil Saha
96bd97dd6d
fix(pos): escape item data on pos item selector (backport #55503 ) ( #55523 )
2026-06-01 22:17:44 +05:30
rohitwaghchaure
897722c35f
chore: fixed conflicts
2026-06-01 22:14:46 +05:30
rohitwaghchaure
54cbc91166
chore: fixed conflicts
2026-06-01 22:11:58 +05:30
mergify[bot]
ecf9aa146c
chore(serial_and_batch_bundle): remove update_serial_or_batch method (backport #55481 ) ( #55515 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
2026-06-01 16:40:41 +00:00
Sudharsanan11
42e2fd5fc9
fix(stock): add warning message to notify the user to configure the inspection
...
(cherry picked from commit e003fe4de0 )
# Conflicts:
# erpnext/public/js/controllers/transaction.js
2026-06-01 16:13:51 +00:00
Sudharsanan11
10664b7b95
fix(stock): allow to create quality inspection after purchase/delivery
...
(cherry picked from commit c6a88ab1d2 )
# Conflicts:
# erpnext/controllers/stock_controller.py
# erpnext/public/js/controllers/transaction.js
2026-06-01 16:13:50 +00:00
ruthra kumar
1980307048
Merge pull request #55514 from ruthra-kumar/remove_flaky_process_pcv_test
...
refactor(test): remove flaky test in process pcv
2026-06-01 19:35:07 +05:30
Frappe PR Bot
13eeddd1f6
chore(release): Bumped to Version 15.109.3
...
## [15.109.3](https://github.com/frappe/erpnext/compare/v15.109.2...v15.109.3 ) (2026-06-01)
### Bug Fixes
* only consider non-opening balance for Balance sheet accounts ([4a6af25 ](4a6af25d11 ))
2026-06-01 14:01:43 +00:00
ruthra kumar
dc08b615f1
Merge pull request #55501 from frappe/mergify/bp/version-15/pr-55495
...
fix: opening bal double counting in Process Period Closing Voucher (backport #55495 )
2026-06-01 19:30:03 +05:30
ruthra kumar
ce94f4fd11
refactor(test): remove flaky test in process pcv
2026-06-01 19:15:50 +05:30
ruthra kumar
e314d0cfc5
refactor: color coded status in list view
...
(cherry picked from commit cfeffbb354 )
2026-06-01 19:13:36 +05:30
mergify[bot]
741216d3eb
fix(je): preserve account on duplicate row when party row exists (backport #55180 ) ( #55513 )
...
fix(je): preserve account on duplicate row when party row exists (#55180 )
(cherry picked from commit 57dbac712f )
Co-authored-by: Gajendra Nishad <75714258+gajjug004@users.noreply.github.com >
2026-06-01 18:46:21 +05:30
ruthra kumar
94e15ae9ef
refactor: tabbed view for process period closing voucher
...
(cherry picked from commit 1960c81619 )
2026-06-01 18:09:46 +05:30
ruthra kumar
4a6af25d11
fix: only consider non-opening balance for Balance sheet accounts
...
(cherry picked from commit a2b8334046 )
2026-06-01 18:09:41 +05:30
ruthra kumar
c7fbc133e6
Merge pull request #55498 from frappe/mergify/bp/version-15-hotfix/pr-55495
...
fix: opening bal double counting in Process Period Closing Voucher (backport #55495 )
2026-06-01 17:50:32 +05:30
ruthra kumar
e5aa45cf0d
test: prevent double counting of opening balances
...
(cherry picked from commit 7f2af123ee )
2026-06-01 17:50:10 +05:30
ruthra kumar
3e3689d938
refactor: color coded status in list view
...
(cherry picked from commit cfeffbb354 )
2026-06-01 15:10:00 +05:30
ruthra kumar
d0fc3f029f
refactor: tabbed view for process period closing voucher
...
(cherry picked from commit 1960c81619 )
2026-06-01 15:09:57 +05:30
ruthra kumar
a9cfa22199
refactor: only consider non-opening balance for Balance sheet accounts
...
(cherry picked from commit a2b8334046 )
2026-06-01 09:32:45 +00:00
mergify[bot]
1238aeb30a
fix: check perm for account (backport #55479 ) ( #55482 )
...
fix: check perm for account (#55479 )
(cherry picked from commit dd1d2925d5 )
Co-authored-by: Ankush Menat <ankush@frappe.io >
2026-06-01 14:29:35 +05:30
Imesha Sudasingha
eebb37f9fd
fix: simplify New Zealand sales accounts
2026-06-01 13:22:06 +05:30
Imesha Sudasingha
f8a123e79d
feat: add New Zealand chart of accounts
2026-06-01 12:03:59 +05:30
mergify[bot]
e429e608c2
fix: pick correct name when creating user from RFQ (backport #55468 ) ( #55471 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
fix: pick correct name when creating user from RFQ (#55468 )
2026-06-01 05:52:40 +00:00
mergify[bot]
75d00ef173
fix(stock): change qb to qb get_query to fix filter issues (backport #55443 ) ( #55444 )
...
Co-authored-by: Sudharsanan Ashok <135326972+Sudharsanan11@users.noreply.github.com >
fix(stock): change qb to qb get_query to fix filter issues (#55443 )
2026-06-01 05:33:25 +00:00
mergify[bot]
94fd15e550
fix(stock): change valuation rate column label in stock ledger entry/report (backport #55323 ) ( #55393 )
...
Co-authored-by: Sudharsanan11 <sudharsananashok1975@gmail.com >
2026-06-01 05:10:27 +00:00
mergify[bot]
03532624b8
fix(pos): preserve contacts and enforce permissions in set_customer_info (backport #55463 ) ( #55465 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(pos): preserve contacts and enforce permissions in set_customer_info (#55463 )
2026-06-01 05:18:34 +05:30
mergify[bot]
338feb31e1
fix(issue): check permission before issue status modification (backport #55458 ) ( #55459 )
...
* fix(issue): check permission before issue status modification (#55458 )
(cherry picked from commit 876f403500 )
# Conflicts:
# erpnext/support/doctype/issue/issue.py
* chore: resolve conflicts
---------
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-05-31 19:06:01 +00:00
mergify[bot]
2a805e090c
refactor: task_info portal pages (backport #55448 ) ( #55453 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-05-31 22:07:01 +05:30
mergify[bot]
2a12ae1afe
fix(book_appointment): when scheduling is disabled, block API endpoints (backport #55455 ) ( #55456 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
fix(book_appointment): when scheduling is disabled, block API endpoints (#55455 )
2026-05-31 16:06:25 +00:00
mergify[bot]
715ca39abc
refactor(pos_profile): migrating raw sql to qb in set_defaults (backport #55447 ) ( #55449 )
...
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-05-31 09:40:26 +00:00
Raffael Meyer
cad14ac3e6
chore: mark as out of beta (backport #55439 ) ( #55440 )
2026-05-30 19:09:45 +00:00
mergify[bot]
2a52ea6850
fix(regional): Japanese CT Rate (backport #54998 ) ( #55437 )
...
Co-authored-by: mh35 <mh35jp@gmail.com >
fix(regional): Japanese CT Rate (#54998 )
2026-05-30 22:00:19 +05:30
mergify[bot]
a2d924c48f
fix(quotation): made customer contact column visible (backport #55433 ) ( #55434 )
...
* fix(quotation): made customer contact column visible (#55433 )
(cherry picked from commit 9758eb868d )
# Conflicts:
# erpnext/selling/doctype/quotation/quotation.json
* chore: resolved conflicts
---------
Co-authored-by: Diptanil Saha <diptanil@frappe.io >
2026-05-30 14:20:40 +00:00
rohitwaghchaure
3ad39c987b
Merge pull request #55424 from frappe/mergify/bp/version-15-hotfix/pr-55417
...
fix: billing address does not belongs to the company error (backport #55417 )
2026-05-30 12:43:31 +05:30
Rohit Waghchaure
5c392d6123
fix: billing address does not belongs to the company error
...
(cherry picked from commit 9df07b367a )
2026-05-29 17:23:55 +00:00
mergify[bot]
ad6e3a45d2
fix(stock): get_actual_qty during cancellations (backport #55388 ) ( #55391 )
...
Co-authored-by: archielister <archie.lister@lush.co.uk >
fix(stock): get_actual_qty during cancellations (#55388 )
2026-05-28 22:40:11 +05:30
mergify[bot]
4669ff295f
fix: new bom version should not recalculate operations through routing (backport #55370 ) ( #55371 )
...
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com >
fix: new bom version should not recalculate operations through routing (#55370 )
2026-05-28 16:01:36 +05:30
khushi8112
264433b23d
fix: use get_query instead of get_all for data fetching
...
(cherry picked from commit 1fd99337b3 )
2026-05-27 19:17:02 +00:00
Pandiyan P
41bf2f32fd
fix(manufacturing): allow to edit batch size while creating a work order ( #55332 )
2026-05-27 18:39:59 +05:30
rohitwaghchaure
a6d4bc5c86
Merge pull request #55298 from frappe/mergify/bp/version-15-hotfix/pr-55242
...
fix: stock reco for legacy serial nos (backport #55242 )
2026-05-27 12:15:19 +05:30
Rohit Waghchaure
93dcba40ec
fix: stock reco for legacy serial nos
...
(cherry picked from commit 9d5fd11bcd )
2026-05-27 11:50:30 +05:30
mergify[bot]
067c23f20e
fix: material transfer in transit issue (backport #55320 ) ( #55324 )
...
Co-authored-by: Rohit Waghchaure <rohitw1991@gmail.com >
2026-05-27 11:45:23 +05:30