From 68ea583a1fbd1c533004cabc4294213e9a58716e Mon Sep 17 00:00:00 2001 From: Frappe PR Bot Date: Tue, 4 Aug 2026 20:30:34 +0000 Subject: [PATCH] chore(release): Bumped to Version 16.31.0 # [16.31.0](https://github.com/frappe/erpnext/compare/v16.30.0...v16.31.0) (2026-08-04) ### Bug Fixes * **accounts receivable:** made territory field multi select (backport [#57322](https://github.com/frappe/erpnext/issues/57322)) ([#57346](https://github.com/frappe/erpnext/issues/57346)) ([9b452f1](https://github.com/frappe/erpnext/commit/9b452f12b7dc1d3cb1f16030641fb544895fa462)) * **accounts:** fetch deferred invoice docs on non-empty `sales_docs` or `purchase_docs` in repost accounting ledger ([#57753](https://github.com/frappe/erpnext/issues/57753)) ([6153202](https://github.com/frappe/erpnext/commit/61532022315506c36dd28e2ab4d0bfd17b71e138)) * **accounts:** skip party dashboard without invoice permission ([ee6955d](https://github.com/frappe/erpnext/commit/ee6955d56c4819784b6a78408435503d99d1934a)) * **accounts:** update AU standard chart of accounts (backport [#57145](https://github.com/frappe/erpnext/issues/57145)) ([#57608](https://github.com/frappe/erpnext/issues/57608)) ([1ea1ce1](https://github.com/frappe/erpnext/commit/1ea1ce15d005d665c3c77c7468fd1dd6e32c4e2d)) * allow custom remark on reversal journal entry ([b4dfca9](https://github.com/frappe/erpnext/commit/b4dfca9ef1d180309715ff47faacb05b5cbba73b)) * apply the supplier selection to this branch's own mapper module ([e5f8d0c](https://github.com/frappe/erpnext/commit/e5f8d0c84ba122ddbade75da97d0c4cca553a730)) * **assets:** add permission checks on whitelisted methods on `asset_capitalization` ([99f249b](https://github.com/frappe/erpnext/commit/99f249b1a0522c9a1ab373d3caa47ef368154233)) * **banking:** fetch company list from DB instead of boot (backport [#57731](https://github.com/frappe/erpnext/issues/57731)) ([#57739](https://github.com/frappe/erpnext/issues/57739)) ([ca60653](https://github.com/frappe/erpnext/commit/ca6065398c1c9dfafc8b6b59acfefba39d2f90d3)) * do not fetch a random inventory account when multiple inventory accounts exist (backport [#57626](https://github.com/frappe/erpnext/issues/57626)) ([#57632](https://github.com/frappe/erpnext/issues/57632)) ([34cbd3c](https://github.com/frappe/erpnext/commit/34cbd3c8d5788b861ef7dbb247c4ab513fdc5d3a)) * drop row prefix in reserve stock message when row is unknown ([684ae4d](https://github.com/frappe/erpnext/commit/684ae4d7628b32e4e33f54af47ca36d08b864c37)) * escape data in multiple templates (backport [#57742](https://github.com/frappe/erpnext/issues/57742)) ([#57770](https://github.com/frappe/erpnext/issues/57770)) ([824ae57](https://github.com/frappe/erpnext/commit/824ae57e44e6dd98f3fc4ea2d5e71308dc075ea4)) * escape item code and UOM in the supplier dialog errors ([06a753f](https://github.com/frappe/erpnext/commit/06a753faf309cc237ead9fefd1a74ee9c701ecb0)) * exclude transferred and consumed qty from dashboard reserved stock ([46317b0](https://github.com/frappe/erpnext/commit/46317b063ab589033b7c15c44e881390bb73b6de)) * filter Accounts Receivable by invoice sales partner (backport [#57628](https://github.com/frappe/erpnext/issues/57628)) ([#57648](https://github.com/frappe/erpnext/issues/57648)) ([0e46937](https://github.com/frappe/erpnext/commit/0e46937f606c49209175909b6fc852aa3084adf6)) * guard against None row in get_stock_balance_for (backport [#57567](https://github.com/frappe/erpnext/issues/57567)) ([283ee6e](https://github.com/frappe/erpnext/commit/283ee6e07b61389af81b25a824634683af33ba67)) * guard scio row lookup in stock entry items_add ([fb6c87d](https://github.com/frappe/erpnext/commit/fb6c87dd0c56c72b56731145296e467d7574eb34)) * **italy:** skip e-invoicing for opening invoices ([5e584d1](https://github.com/frappe/erpnext/commit/5e584d1cfb9b88ea0e173caf4a3c8c9c69d0f1f9)) * **item_variant:** added permission checks on `enqueue_multiple_variant_creation` ([c7cf9d8](https://github.com/frappe/erpnext/commit/c7cf9d868b6ba94ade50ca30c9e6cfeea63cb1c0)) * keep the bulk supplier field to half the supplier selection dialog ([2c9db13](https://github.com/frappe/erpnext/commit/2c9db13041928c74edd8faa074cc9514d8ef9d16)) * label the items table in the supplier selection dialog ([187840b](https://github.com/frappe/erpnext/commit/187840b559f3615b9f37baa9e6fcd7f2ec54e76f)) * let Purchase Receipt cancel defer to Frappe's linked-document check (backport [#57592](https://github.com/frappe/erpnext/issues/57592)) ([#57597](https://github.com/frappe/erpnext/issues/57597)) ([16be0f0](https://github.com/frappe/erpnext/commit/16be0f0944c2deb0886dc79a1f547249f1fcd360)) * link the item and spell out the unit in the supplier dialog errors ([810b9ae](https://github.com/frappe/erpnext/commit/810b9ae28f818a130203ca82fe5439a05f8163fb)) * list the Purchase Orders created per supplier instead of opening one ([d2fe4b6](https://github.com/frappe/erpnext/commit/d2fe4b623c8390a2398d3eafc96d49664a26eedf)) * **manufacturing:** reach the whole configurator from tree toolbar actions ([281e92f](https://github.com/frappe/erpnext/commit/281e92fb6e76e52324ba6db3d22e9bbb3ab65f26)), closes [#57773](https://github.com/frappe/erpnext/issues/57773) * open the Purchase Order when the supplier selection creates only one ([e71cef0](https://github.com/frappe/erpnext/commit/e71cef02b3317369ff438176cf683e9176ab4939)) * **opportunity:** add validation for positive item quantities ([a9f969e](https://github.com/frappe/erpnext/commit/a9f969e9427fc74fa7773a41542d5340416083a5)) * **payment reconciliation:** correct supplier gain/loss posting ([dc907ad](https://github.com/frappe/erpnext/commit/dc907add4012b29755e5f12edea2d453bb3a6066)) * **payment_request:** added permission checks on `resend_payment_email` ([fcbbb25](https://github.com/frappe/erpnext/commit/fcbbb251cf13c28117157910fc144bd55782e706)) * **plant_floor:** add missing perm check on `get_stock_summary` (backport [#57667](https://github.com/frappe/erpnext/issues/57667)) ([#57670](https://github.com/frappe/erpnext/issues/57670)) ([7bc0475](https://github.com/frappe/erpnext/commit/7bc04752fc9e47f61a0e20dfd2e3717a2c77645c)) * **pos:** don't double-escape Item Group names in get_item_groups ([#57673](https://github.com/frappe/erpnext/issues/57673)) ([a5544d0](https://github.com/frappe/erpnext/commit/a5544d0bfb0babf6d29eb1af78203d760b44989a)) * preserve UOM conversion factor precision in transactions ([e5999b2](https://github.com/frappe/erpnext/commit/e5999b22c79a71cb1a39735d45ca3aea27b0bece)) * prevent duplicate shipping charges without cost center ([666b616](https://github.com/frappe/erpnext/commit/666b6167a12cd77cd5e5e9a19fcabb34404ac5b3)) * **projects:** add project filter ([3ba8313](https://github.com/frappe/erpnext/commit/3ba83134afa3d502f2867292501b6ddffedcb359)) * **projects:** include on hold status in project filters and reports ([d104d8e](https://github.com/frappe/erpnext/commit/d104d8e723baafa12c4e634d82e704996b3826f0)) * **purchase:** reject purchase returns where every item has zero quantity ([032b922](https://github.com/frappe/erpnext/commit/032b922f0c06ea10a7c5c2af1e86795a72737024)) * **quotation:** carry forward communications from opportunity at after_insert (backport [#57639](https://github.com/frappe/erpnext/issues/57639)) ([#57643](https://github.com/frappe/erpnext/issues/57643)) ([624a236](https://github.com/frappe/erpnext/commit/624a236f885d4ce241ea1818bf400f0963905707)) * reject the same Material Request item twice in one supplier selection ([ea770f6](https://github.com/frappe/erpnext/commit/ea770f6a8ebf7eac468814c8b3c049a88f7cfa17)) * resolve version 16 backport conflicts ([e98471d](https://github.com/frappe/erpnext/commit/e98471d9c9dbf3c52e600e379f74f464dd1a6227)) * resolve version-16 backport conflicts ([697f68d](https://github.com/frappe/erpnext/commit/697f68d1d2cefc3b99927021be67a3e8e31fabc9)) * respect child warehouse account override in Stock and Account Value Comparison ([#57552](https://github.com/frappe/erpnext/issues/57552)) ([ca657d2](https://github.com/frappe/erpnext/commit/ca657d2629fec774df96f7c8f0032826ee44dc8e)) * respect quantity precision in material transfer validation ([eb969a5](https://github.com/frappe/erpnext/commit/eb969a586661834ef118dd97ff21ccc9d62828b9)) * **sales:** reject sales returns where every item has zero quantity ([aa71cd6](https://github.com/frappe/erpnext/commit/aa71cd695b0e042d9432565edd761eed4ec7298b)) * seed standard Item Groups under the existing tree root ([4ffa950](https://github.com/frappe/erpnext/commit/4ffa950aa35fd09e537b0e85210f551936bafd49)), closes [#57581](https://github.com/frappe/erpnext/issues/57581) * **selling:** don't require cancel and delete perms to remove items via Update Items (backport [#57419](https://github.com/frappe/erpnext/issues/57419)) ([#57601](https://github.com/frappe/erpnext/issues/57601)) ([04e1ca8](https://github.com/frappe/erpnext/commit/04e1ca8226d36a363d5ff1735ae98674d2c47742)) * set Required By on Purchase Orders created per supplier ([f99d66d](https://github.com/frappe/erpnext/commit/f99d66d578b198e69cdc11a63f5af8501b7674fd)) * set reservation voucher_qty to voucher demand not reserved qty ([ecccedf](https://github.com/frappe/erpnext/commit/ecccedf0edfeededa8c565285502573a3d04a66a)) * source manually created asset value from valuation rate ([b556b01](https://github.com/frappe/erpnext/commit/b556b012f0a137dc00e584bc3c1ae0f686139c78)) * **stock:** accept every number a reading can be written as ([fccf122](https://github.com/frappe/erpnext/commit/fccf1220f6d1946060871c8d45b6e12885b78266)) * **stock:** correct secondary item valuation across stock entry purposes ([4ed0374](https://github.com/frappe/erpnext/commit/4ed03748fe6adeca30407d0c7ea6a45beac7330a)), closes [#57732](https://github.com/frappe/erpnext/issues/57732) [#57735](https://github.com/frappe/erpnext/issues/57735) [#57736](https://github.com/frappe/erpnext/issues/57736) [#57737](https://github.com/frappe/erpnext/issues/57737) [#57738](https://github.com/frappe/erpnext/issues/57738) * **stock:** keep manufactured item rate at zero when inputs are free (backport [#57334](https://github.com/frappe/erpnext/issues/57334)) ([#57513](https://github.com/frappe/erpnext/issues/57513)) ([49924dd](https://github.com/frappe/erpnext/commit/49924ddd1d19f28b0e389a2730ca9d9461742055)) * **stock:** read quality inspection readings in the user's number format ([3b7fb68](https://github.com/frappe/erpnext/commit/3b7fb6851a1d1d6eeb2a612fd303ca39b81a81ee)) * **stock:** resolve backport conflict in quality inspection imports ([656db1c](https://github.com/frappe/erpnext/commit/656db1c2fe3918811c1b038643a1c822c99f4b8f)) * **stock:** scope over deliver/receive role check to delivery and receipt overflow ([4713ddd](https://github.com/frappe/erpnext/commit/4713ddd55b2c4846b87134e16df1eeec49f60401)) * **stock:** validate only the variant attributes that changed ([0013908](https://github.com/frappe/erpnext/commit/00139081f6a9aa4af29a2846b0db5e51e6ea6587)) * **stock:** validate over delivery/receipt allowance in stock settings ([3f3292c](https://github.com/frappe/erpnext/commit/3f3292ca4aedf48dd356c8a6ca8c6b1ecbac1330)) * **stock:** value batched packed-item returns from the original bundle (backport [#57327](https://github.com/frappe/erpnext/issues/57327)) ([#57511](https://github.com/frappe/erpnext/issues/57511)) ([c0ac8aa](https://github.com/frappe/erpnext/commit/c0ac8aaf86a0918937b805e7c638be45e721f353)) * sync translations from crowdin ([#57741](https://github.com/frappe/erpnext/issues/57741)) ([285aec3](https://github.com/frappe/erpnext/commit/285aec31649036b8c4bb71d8cde1340b038adbdb)) * update stock variance account logic which defaults to default expense ([#57656](https://github.com/frappe/erpnext/issues/57656)) ([d09c04a](https://github.com/frappe/erpnext/commit/d09c04a6230e9b15ce7f7ad21603029aff876fa3)) * use payment entry posting date for received amount exchange rate (backport [#57660](https://github.com/frappe/erpnext/issues/57660)) ([#57663](https://github.com/frappe/erpnext/issues/57663)) ([5595d1e](https://github.com/frappe/erpnext/commit/5595d1ed2f5180d76e662f5469eea34069a3ba6c)) * validate account frozen date ([17aeb0b](https://github.com/frappe/erpnext/commit/17aeb0b55b7fd2b0902a4b72db6c9984464fd7b7)) * warn about existing draft orders before the supplier selection creates more ([93331a1](https://github.com/frappe/erpnext/commit/93331a1cf01e2407c6c943258221398d6f31a503)) ### Features * adjust the ordered quantity in the supplier selection dialog ([2c8c375](https://github.com/frappe/erpnext/commit/2c8c375ca6ec43bf9812a3260effae948ebe1701)) * alert when Required By falls back to today ([1adeb66](https://github.com/frappe/erpnext/commit/1adeb66bdc0e0b46df2e4df8461402c670604ab0)) * auto-fill subscription accounting dimensions from plan with item fallback (backport [#57615](https://github.com/frappe/erpnext/issues/57615)) ([#57622](https://github.com/frappe/erpnext/issues/57622)) ([ebba4e9](https://github.com/frappe/erpnext/commit/ebba4e9958551de926d3410bafd30772ae28f4bb)) * order only the items ticked in the supplier selection dialog ([d6ee543](https://github.com/frappe/erpnext/commit/d6ee5436b8dd36815494d15ff5329b6252e8db3e)) * select a supplier per item when creating Purchase Orders from Material Request ([95f7810](https://github.com/frappe/erpnext/commit/95f78109480cc8abd91ab87b5eadc46c09e0ac35)) * set one supplier across every item in the supplier selection dialog ([9b647be](https://github.com/frappe/erpnext/commit/9b647bed5c77d9ef2d2aff8a8cb589498fe9845b)) * show the UOM alongside the quantity in the supplier selection dialog ([5aaefec](https://github.com/frappe/erpnext/commit/5aaefec7479418650eb58ca8e8cdc17c89afa9d3)) * status based bar colors in Work Order gantt view (backport [#57634](https://github.com/frappe/erpnext/issues/57634)) ([#57636](https://github.com/frappe/erpnext/issues/57636)) ([2d03d80](https://github.com/frappe/erpnext/commit/2d03d80269f7d783da2afcd73b5975ace2862a1a)) --- erpnext/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/erpnext/__init__.py b/erpnext/__init__.py index 4388fefe71e..f42ba059404 100644 --- a/erpnext/__init__.py +++ b/erpnext/__init__.py @@ -6,7 +6,7 @@ import frappe from frappe.model.document import Document from frappe.utils.user import is_website_user -__version__ = "16.30.0" +__version__ = "16.31.0" def get_default_company(user=None):