Commit Graph

59114 Commits

Author SHA1 Message Date
mergify[bot]
01a398f263 refactor(stock): remove dead warehouse_condition branch on get_stock_ledger_entries (backport #58552) (#58554)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-08-29 17:55:34 +05:30
Shllokkk
446b5375e4 Merge pull request #58544 from frappe/mergify/bp/version-16-hotfix/pr-58324
fix(crm): check write permission in edit_note (backport #58324)
2026-08-29 13:27:56 +05:30
Shllokkk
c6082617ec chore: resolving conflicts 2026-08-29 13:03:59 +05:30
Shllokkk
c2261f6129 fix(crm): check write permission in edit_note
(cherry picked from commit eb49f51d29)

# Conflicts:
#	erpnext/crm/utils.py
2026-08-28 15:05:24 +00:00
mergify[bot]
eb4c327a2b fix(stock): auto-select batch no before saving transaction records (backport #58536) (#58539)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-08-28 12:06:38 +00:00
mergify[bot]
629bc20e90 fix: persist redistributed additional costs during stock entry repost (backport #58433) (#58533)
fix: persist redistributed additional costs during stock entry repost (#58433)

* fix: persist redistributed additional costs during stock entry repost

* test: cover additional cost persistence on stock entry recalculation

(cherry picked from commit 074c84e880)

Co-authored-by: Afsal Syed <146159709+Afsalsyed@users.noreply.github.com>
2026-08-28 10:34:20 +00:00
Sudharsanan Ashok
cc73c3b879 Merge pull request #58495 from frappe/mergify/bp/version-16-hotfix/pr-58493
fix(selling): check quotation write permission before marking lost (backport #58493)
2026-08-28 13:11:58 +05:30
pandiyan
4e74831a08 fix(selling): check quotation write permission before marking lost (#58493)
(cherry picked from commit 5f99a3418d)

# Conflicts:
#	erpnext/selling/doctype/quotation/quotation.py
2026-08-28 13:01:15 +05:30
mergify[bot]
23290a60da fix(accounts): set pos profile on invoices respecting user permissions (backport #58508) (#58519)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-08-28 06:48:18 +00:00
mergify[bot]
ee3b22403d fix(manufacturing): classify MRP items without a BOM as Purchase (backport #58509) (#58513)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2026-08-27 17:37:09 +00:00
mergify[bot]
f0d2d40d35 fix: translate doctype in map msg (backport #58515) (#58517)
Co-authored-by: Raffael Meyer <14891507+barredterra@users.noreply.github.com>
2026-08-27 19:25:51 +02:00
Sudharsanan Ashok
60252cacdd Merge pull request #58521 from frappe/revert-58489-mergify/bp/version-16-hotfix/pr-58486
Revert "refactor(stock): use db.count for the empty ledger check (backport #58486)"
2026-08-27 22:46:17 +05:30
Sudharsanan Ashok
8287906a71 Revert "refactor(stock): use db.count for the empty ledger check (backport #58486)" 2026-08-27 22:34:55 +05:30
mergify[bot]
d732d06e25 fix(projects): ignore cancelled invoices in timesheet portal (backport #58501) (#58504)
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
2026-08-27 13:04:09 +00:00
Shllokkk
4538689e5f Merge pull request #58502 from Shllokkk/work-order-transferred-qty-sum-alternate-items-v16
fix: sum item and its alternate transferred qty on work order
2026-08-27 18:27:56 +05:30
Shllokkk
7464f6c76e test: transferred qty sums item and its alternate 2026-08-27 18:07:57 +05:30
Shllokkk
1411835507 fix: sum item and its alternate transferred qty on work order required items 2026-08-27 18:07:57 +05:30
Mihir Kandoi
76d0cb382d fix(manufacturing): preserve job card qty in mr transfer (backport #58482) (#58499) 2026-08-27 12:19:33 +00:00
Sudharsanan Ashok
eedf991b43 Merge pull request #58489 from frappe/mergify/bp/version-16-hotfix/pr-58486
refactor(stock): use db.count for the empty ledger check (backport #58486)
2026-08-27 16:50:09 +05:30
Sudharsanan Ashok
38aaceafc6 refactor(stock): use db.count for the empty ledger check (#58486)
Align the existence check in `reset_bin_without_stock_ledger_entries()` with
the version-15-hotfix backport in #58434, per review feedback there.

(cherry picked from commit 2866be2816)
2026-08-27 11:07:21 +00:00
Abdeali Chharchhodawala
a43de7ce95 fix: improve message formatting and translation for validation issues (#58425)
(cherry picked from commit 6842ebb186)
2026-08-27 10:57:38 +00:00
Sudharsanan Ashok
f7f34ffd3b Merge pull request #58467 from frappe/mergify/bp/version-16-hotfix/pr-58466
fix(manufacturing): account for pending job card qty (backport #58466)
2026-08-27 16:13:54 +05:30
Sudharsanan Ashok
f19450858c Merge pull request #58475 from frappe/mergify/bp/version-16-hotfix/pr-58469
fix: clarify duplicate internal party messages (backport #58469)
2026-08-27 16:13:28 +05:30
Sudharsanan Ashok
8dc3bc3485 Merge pull request #58429 from frappe/mergify/bp/version-16-hotfix/pr-58402
feat(analytics): filter sales and purchase analytics by entity  (backport #58402)
2026-08-27 16:12:20 +05:30
pandiyan
7b9cdb4926 fix(manufacturing): account for pending job card qty (#58466)
(cherry picked from commit 0d90608bc1)

# Conflicts:
#	erpnext/manufacturing/doctype/job_card/job_card.py
#	erpnext/manufacturing/doctype/job_card/test_job_card.py
2026-08-27 14:03:00 +05:30
pandiyan
f0e603aec5 fix: clarify duplicate internal party messages (#58469)
(cherry picked from commit 4d4cf034b5)

# Conflicts:
#	erpnext/selling/doctype/customer/customer.py
2026-08-27 13:57:12 +05:30
Shllokkk
bfb27039ed Merge pull request #58470 from Shllokkk/material-request-validate-with-so-v16
fix: validate items against source Sales Order in Material Request
2026-08-27 13:06:38 +05:30
Shllokkk
07f8250e40 test: block item change on Sales Order-sourced Material Request row 2026-08-27 12:48:45 +05:30
Shllokkk
65466464df fix: validate items against source Sales Order in Material Request 2026-08-27 12:48:45 +05:30
Diptanil Saha
60599ec692 ci: crowdin actions to upload main.pot file (#58461) 2026-08-26 18:31:04 +00:00
Aarol D'Souza
6093316ba3 Merge pull request #58427 from frappe/mergify/bp/version-16-hotfix/pr-58351
fix(company): throw if linked to demo_company field (backport #58351)
2026-08-26 23:14:32 +05:30
mergify[bot]
cabecd2527 ci: ignore python tests on update of **.po (backport #58457) (#58459)
Co-authored-by: Diptanil Saha <diptanil@frappe.io>
2026-08-26 20:43:42 +05:30
MochaMind
c924de3c55 fix: sync translations from crowdin (version-16-hotfix) (#58455)
Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
2026-08-26 18:31:46 +05:30
Sudharsanan Ashok
655ed81575 feat(analytics): filter sales and purchase analytics by entity (#58402)
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
(cherry picked from commit 3f29cdf8d2)

# Conflicts:
#	erpnext/buying/report/purchase_analytics/test_purchase_analytics.py
#	erpnext/selling/report/sales_analytics/test_sales_analytics.py
2026-08-26 07:33:42 +00:00
AarDG10
9f3dd7eabd fix(company): throw if linked to demo_company field
Throws an error msg if user is deleting demo company directly.

(cherry picked from commit aaa3100efc)
2026-08-26 07:24:12 +00:00
Sudharsanan Ashok
2cd865fffc Merge pull request #58405 from aerele/fix/pick-list-transfer-qty-lost-v16
fix(stock): keep pick list links when refetching stock entry items (backport #58374)
2026-08-26 12:45:46 +05:30
Sudharsanan Ashok
e32a8f008e Merge pull request #58422 from frappe/mergify/bp/version-16-hotfix/pr-58168
fix: correct is_frozen description on customer and supplier (backport #58168)
2026-08-26 12:39:35 +05:30
Pandiyan P
9e00888d67 fix: correct is_frozen description on customer and supplier (#58168)
(cherry picked from commit cc60c80e68)

# Conflicts:
#	erpnext/buying/doctype/supplier/supplier.json
#	erpnext/selling/doctype/customer/customer.json
2026-08-26 12:08:14 +05:30
Sudharsanan Ashok
5b92dff1df Merge pull request #58419 from frappe/mergify/bp/version-16-hotfix/pr-58394
fix(stock): validate serial inventory dimensions (backport #58394)
2026-08-26 11:51:09 +05:30
Pandiyan P
a1aabaff18 fix(stock): validate serial inventory dimensions (#58394)
* fix(stock): validate serial inventory dimensions

* test(stock): cover serial inventory dimensions

(cherry picked from commit c940bd1e66)

# Conflicts:
#	erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
2026-08-26 11:37:57 +05:30
Khushi Rawat
1a3e02ee5b Merge pull request #58414 from frappe/mergify/bp/version-16-hotfix/pr-58412
fix(accounts): prevent child table doctypes as accounting dimensions (backport #58412)
2026-08-26 11:35:41 +05:30
khushi8112
abf311e8ca fix(accounts): guard get_gl_dict for v16 and drop unused base_gl_composer 2026-08-26 11:05:19 +05:30
khushi8112
fe98974cb6 test(accounts): cover single doctype and non-scalar dimension safeguards
(cherry picked from commit 55dd11f977)
2026-08-25 19:18:25 +00:00
khushi8112
6dbaa5048e fix(accounts): prevent child table doctypes as accounting dimensions
(cherry picked from commit 7b32d07d1c)

# Conflicts:
#	erpnext/accounts/services/base_gl_composer.py
2026-08-25 19:18:24 +00:00
Frappe PR Bot
b24c9eba55 chore(release): Bumped to Version 16.33.0
# [16.33.0](https://github.com/frappe/erpnext/compare/v16.32.3...v16.33.0) (2026-08-25)

### Bug Fixes

* **accounts:** allocate drop-ship cost by invoice quantity (backport [#58226](https://github.com/frappe/erpnext/issues/58226)) ([#58263](https://github.com/frappe/erpnext/issues/58263)) ([a62a949](a62a949b2a))
* **accounts:** disallow reversing a reverse journal entry ([8a26834](8a26834704))
* **accounts:** match returns to source invoice items (backport [#58250](https://github.com/frappe/erpnext/issues/58250)) ([#58264](https://github.com/frappe/erpnext/issues/58264)) ([9b0db26](9b0db26c25))
* **accounts:** supplier group filter not applied on accounts payable report ([d23b919](d23b9197d5))
* aggregate child warehouses in Stock Qty vs Serial No Count report (backport [#58134](https://github.com/frappe/erpnext/issues/58134)) ([#58366](https://github.com/frappe/erpnext/issues/58366)) ([abe4c0a](abe4c0a6b7))
* apply Sales Person user permissions in Accounts Receivable ([956be58](956be58c9c))
* **assets:** split FIFO/LIFO rate across grouped stock item rows ([98bef1c](98bef1cac8))
* **bank_statement_import:** add missing permission check on `get_import_status` (backport [#58217](https://github.com/frappe/erpnext/issues/58217)) ([#58219](https://github.com/frappe/erpnext/issues/58219)) ([2b685ed](2b685ed982))
* **bank_statement_import:** add missing permission check on multiple whitelisted methods (backport [#58221](https://github.com/frappe/erpnext/issues/58221)) ([#58224](https://github.com/frappe/erpnext/issues/58224)) ([81461ea](81461ea56c))
* block disabled/frozen party on Opportunity and Request for Quotation (backport [#57983](https://github.com/frappe/erpnext/issues/57983)) ([#58035](https://github.com/frappe/erpnext/issues/58035)) ([9f99ba6](9f99ba6ddc))
* **buying:** allow purchase returns against a closed purchase order ([#58139](https://github.com/frappe/erpnext/issues/58139)) ([61b5499](61b549960e))
* conflicts ([cbe7931](cbe7931b3b))
* correct Item Group doctype name in item tax template dashboard  (backport [#58192](https://github.com/frappe/erpnext/issues/58192)) ([#58213](https://github.com/frappe/erpnext/issues/58213)) ([56ac872](56ac87292f))
* correct to and from date filters in timesheet billing summary re… (backport [#58317](https://github.com/frappe/erpnext/issues/58317)) ([#58318](https://github.com/frappe/erpnext/issues/58318)) ([2077e84](2077e844d4))
* **crm_settings:** create custom fields for Frappe CRM on enabling synchronization ([795cf85](795cf8544c))
* describe stale exchange rate settings ([1ec2a2c](1ec2a2cd5d))
* don't set work order status to In Process only due to skip material transfer ([#58245](https://github.com/frappe/erpnext/issues/58245)) ([dd4d108](dd4d10862d))
* drop removed Restaurant doctype from sales tax template dashboard  (backport [#58191](https://github.com/frappe/erpnext/issues/58191)) ([#58211](https://github.com/frappe/erpnext/issues/58211)) ([c3cf7f2](c3cf7f2e91))
* **email_digest:** added permission check for `get_msg_html` (backport [#58197](https://github.com/frappe/erpnext/issues/58197)) ([#58200](https://github.com/frappe/erpnext/issues/58200)) ([32ebd69](32ebd69abc))
* escape interpolated values in portal, print and desk templates (backport [#58273](https://github.com/frappe/erpnext/issues/58273)) ([#58278](https://github.com/frappe/erpnext/issues/58278)) ([6b7b479](6b7b4796b4))
* escape interpolated values in text positions across portal and desk templates (backport [#58286](https://github.com/frappe/erpnext/issues/58286)) ([#58288](https://github.com/frappe/erpnext/issues/58288)) ([d357310](d3573105c4))
* escape on status image for workstations in production status (backport [#58279](https://github.com/frappe/erpnext/issues/58279)) ([#58281](https://github.com/frappe/erpnext/issues/58281)) ([9e2173e](9e2173e4c2))
* filter available batch report by company (backport [#57995](https://github.com/frappe/erpnext/issues/57995)) ([#58077](https://github.com/frappe/erpnext/issues/58077)) ([5933476](5933476778))
* get items from sales order in sales invoice ([#58163](https://github.com/frappe/erpnext/issues/58163)) ([0255314](0255314ea7))
* hide rfq status in supplier portal ([#58368](https://github.com/frappe/erpnext/issues/58368)) ([8a2109e](8a2109e62a))
* hide supplier name in rfq portal (backport [#58373](https://github.com/frappe/erpnext/issues/58373)) ([#58376](https://github.com/frappe/erpnext/issues/58376)) ([2329ef6](2329ef6424))
* ignore historical negative batch stock in outward validation (backport [#58148](https://github.com/frappe/erpnext/issues/58148)) ([#58151](https://github.com/frappe/erpnext/issues/58151)) ([c18881b](c18881b37d))
* Ignore permission while deleting user permission (backport [#57296](https://github.com/frappe/erpnext/issues/57296)) ([#57760](https://github.com/frappe/erpnext/issues/57760)) ([98d69b2](98d69b2ae3))
* include time logs ending at midnight in timesheet billing summary (backport [#58355](https://github.com/frappe/erpnext/issues/58355)) ([#58357](https://github.com/frappe/erpnext/issues/58357)) ([0bf34c0](0bf34c054a))
* **italy:** handle none price_list_rate in e-invoice xml generation (backport [#58242](https://github.com/frappe/erpnext/issues/58242)) ([#58370](https://github.com/frappe/erpnext/issues/58370)) ([feb51a4](feb51a475a))
* keep Currency and Price List section open for foreign currency (backport [#58074](https://github.com/frappe/erpnext/issues/58074)) ([#58113](https://github.com/frappe/erpnext/issues/58113)) ([a3a6efb](a3a6efbcea))
* **manufacturing:** derive material transfers from actual coverage ([#58115](https://github.com/frappe/erpnext/issues/58115)) ([2a9e430](2a9e4304a2))
* **manufacturing:** fall back to item group defaults for work order w… ([#58237](https://github.com/frappe/erpnext/issues/58237)) ([861fb26](861fb26b2c))
* **manufacturing:** keep MRP chart dates distinct ([1b37fd2](1b37fd2edc))
* **Material Requirements Planning Report:** detailed-view chart timescale ([de06cb7](de06cb7f45)), closes [#52632](https://github.com/frappe/erpnext/issues/52632)
* new docs should refetch incoming rates (backport [#58097](https://github.com/frappe/erpnext/issues/58097)) ([#58295](https://github.com/frappe/erpnext/issues/58295)) ([edb9b33](edb9b33264))
* patch to delete the `crm_deal` custom fields ([d66dc14](d66dc143e3))
* prevent duplicate supplier quotations from portal ([39e15c7](39e15c7b2d))
* prevent TimestampMismatchError resolving Dunning with multiple overdue installments ([5764d1d](5764d1d173))
* **projects:** respect permissions in timesheet billing summary (backport [#58320](https://github.com/frappe/erpnext/issues/58320)) ([#58322](https://github.com/frappe/erpnext/issues/58322)) ([647c933](647c93321b))
* Qty and UOM not fetched when adding Item in Material Request ([#58118](https://github.com/frappe/erpnext/issues/58118)) ([aecc551](aecc551b5e))
* renaming the overdue billing checkbox (backport [#58165](https://github.com/frappe/erpnext/issues/58165)) ([#58166](https://github.com/frappe/erpnext/issues/58166)) ([1ea1d5d](1ea1d5d6a5))
* render missing terms before printing ([#58358](https://github.com/frappe/erpnext/issues/58358)) ([f56cdac](f56cdac45f))
* resolve backport conflicts ([3fd3f94](3fd3f9485b))
* respect zero currency precision ([#58395](https://github.com/frappe/erpnext/issues/58395)) ([6b61146](6b61146d2f))
* rewriting the description of the overdue billing checkbox (backport [#58172](https://github.com/frappe/erpnext/issues/58172)) ([#58174](https://github.com/frappe/erpnext/issues/58174)) ([4bb7799](4bb7799919))
* run set_missing_values before creating Purchase Order from MRP report ([72114fa](72114fa738))
* **selling:** read overdue amount from payment ledger, not gl tags  (backport [#57786](https://github.com/frappe/erpnext/issues/57786)) ([#58026](https://github.com/frappe/erpnext/issues/58026)) ([29f6a5b](29f6a5b9cf))
* send auto reorder email to all managers in single company setup ([ac1c692](ac1c6921da))
* skip covered rows when ordering from the mrp report ([#58249](https://github.com/frappe/erpnext/issues/58249)) ([#58312](https://github.com/frappe/erpnext/issues/58312)) ([dfc2301](dfc2301f08))
* **stock:** confirm before changing item qty from the batch selector (backport [#58123](https://github.com/frappe/erpnext/issues/58123)) ([#58125](https://github.com/frappe/erpnext/issues/58125)) ([4f3ffd3](4f3ffd3820))
* **stock:** fetch item stock UOM in stock reconciliation (backport [#58284](https://github.com/frappe/erpnext/issues/58284)) ([#58291](https://github.com/frappe/erpnext/issues/58291)) ([1f21c0b](1f21c0b0af))
* **stock:** honour pick serial / batch based on in the batch selector (backport [#58176](https://github.com/frappe/erpnext/issues/58176)) ([#58182](https://github.com/frappe/erpnext/issues/58182)) ([d3a4d47](d3a4d476eb))
* **stock:** preserve item UOM conversion factor (backport [#58299](https://github.com/frappe/erpnext/issues/58299)) ([#58304](https://github.com/frappe/erpnext/issues/58304)) ([53b61e5](53b61e5ac6))
* **stock:** reset bin when no stock ledger entries remain ([#58362](https://github.com/frappe/erpnext/issues/58362)) ([37a1fd1](37a1fd11e9))
* stop doubling totals in timesheet billing summary (backport [#58311](https://github.com/frappe/erpnext/issues/58311)) ([#58315](https://github.com/frappe/erpnext/issues/58315)) ([c3313f5](c3313f5b34))
* use user data fields hook (backport [#58274](https://github.com/frappe/erpnext/issues/58274)) ([#58283](https://github.com/frappe/erpnext/issues/58283)) ([94b6622](94b6622d9d))
* validation for task end date check ([7b0df4b](7b0df4b28b))
* work order finish dialog with process loss qty from job card (backport [#58256](https://github.com/frappe/erpnext/issues/58256)) ([#58262](https://github.com/frappe/erpnext/issues/58262)) ([27a04d8](27a04d8e08))

### Features

* **accounts:** opt-in 'Consider Accounting Dimension' filter on General Ledger Report (backport [#58156](https://github.com/frappe/erpnext/issues/58156)) ([#58158](https://github.com/frappe/erpnext/issues/58158)) ([f8c3270](f8c3270049))
* add status filter to Supplier Quotation Comparison report ([2b84ed7](2b84ed78e8))
* Belgian Charts of Accounts (commercial + non-profit, FR + NL) (backport [#54679](https://github.com/frappe/erpnext/issues/54679)) ([#58186](https://github.com/frappe/erpnext/issues/58186)) ([d805f4d](d805f4d3fc))
* taxable-base resolver hook for custom charge types ([#56175](https://github.com/frappe/erpnext/issues/56175)) ([ea238a9](ea238a90ac))
* validate purchase receipt exchange rate parity on purchase invoice (backport [#58177](https://github.com/frappe/erpnext/issues/58177)) ([#58190](https://github.com/frappe/erpnext/issues/58190)) ([900064e](900064e395))
v16.33.0
2026-08-25 17:04:28 +00:00
Diptanil Saha
1a745cd433 Merge pull request #58397 from frappe/version-16-hotfix
chore: release v16
2026-08-25 22:21:37 +05:30
Shllokkk
7238ecb306 Merge pull request #58407 from frappe/mergify/bp/version-16-hotfix/pr-58400
fix: send auto reorder email to all managers in single company setup (backport #58400)
2026-08-25 18:30:12 +05:30
Shllokkk
97b2e07d5e test: auto reorder email reaches managers without company user permission
(cherry picked from commit a01cc92184)
2026-08-25 12:08:44 +00:00
Shllokkk
ac1c6921da fix: send auto reorder email to all managers in single company setup
(cherry picked from commit ae119b1c29)
2026-08-25 12:08:43 +00:00
Sudharsanan11
01e0844d40 fix(stock): keep pick list links when refetching stock entry items 2026-08-25 17:05:23 +05:30