ERPNext v16.34.0

v16.34.0
Added 3
  • Add an Entity filter to Purchase Analytics and Sales Analytics reports to limit displayed rows and chart data to selected suppliers, customers, items, or groups
  • Add Transaction Currency, Exchange Rate, and buying or selling price lists to Blanket Order, fetching item prices from the selected price list and carrying details into related Sales Order, Quotation, and Purchase Order records
  • Add a Valuation Type field for secondary items in BOM, Stock Entry, and Subcontracting Receipt with Valuation Rate as default and options for percentage-based or manual costing
Changed 1
  • Update the Is Frozen descriptions in Customer and Supplier to clarify that freezing blocks new transactions and ledger entries
Fixed 16
  • Prevent single and child-table document types from being selected as accounting dimensions and reject existing invalid configurations with a clear message
  • Prevent issuing a serialized item from an Inventory Dimension where its serial number is not available, including when negative stock validation is disabled
  • Preserve links between Stock Entry items and their source Pick List so partially transferred items retain their transferred quantities
  • Prevent direct deletion of the company set in the Demo Company field of Global Defaults and direct users to the Delete Demo Data action instead
  • Add validation when a Material Request is created from a Sales Order, rejecting requests whose Company or linked item details no longer match the source order
  • Show the existing internal Customer or Supplier as a clickable link in duplicate-record errors and tell users to disable it before marking another record as internal

From ERPNext

Features
  • Adds an Entity filter to the "Purchase Analytics" and "Sales Analytics" reports so users can limit the displayed rows and chart data to selected suppliers, customers, items, or groups. The filter follows the selected Tree Type and resets when it changes. (https://github.com/frappe/erpnext/pull/58429)
  • Adds Transaction Currency, Exchange Rate, and buying or selling price lists to Blanket Order, and fetches item prices from the selected price list. Carries the agreed currency and pricing details into related Sales Order, Quotation, and Purchase Order records without applying Pricing Rules to the Blanket Order. (https://github.com/frappe/erpnext/pull/58630)
  • Adds a Valuation Type field for secondary items in BOM, Stock Entry, and Subcontracting Receipt, with Valuation Rate as the default and options for percentage-based or manual costing. The selected method determines how the secondary item cost is deducted from material costs, while percentage costing uses the amount remaining after items with their own costs are deducted. (https://github.com/frappe/erpnext/pull/58632)
Bug Fixes
  • Prevents single and child-table document types from being selected as accounting dimensions through the Reference Document Type field, and rejects existing invalid configurations with a clear message. Skips incompatible dimension values when creating ledger entries so these configurations do not block submission. (https://github.com/frappe/erpnext/pull/58414)
  • Prevents issuing a serialized item from an Inventory Dimension where its serial number is not available, including when negative stock validation is disabled. (https://github.com/frappe/erpnext/pull/58419)
  • Updates the Is Frozen descriptions in Customer and Supplier to clarify that freezing blocks new transactions and ledger entries, and that only users with the role configured in Roles Allowed to Set and Edit Frozen Account Entries can transact. (https://github.com/frappe/erpnext/pull/58422)
  • Preserves the links between Stock Entry items and their source Pick List, so partially transferred items retain their transferred quantities and only the remaining quantities are offered in later stock entries. Hides the "Get Items" option for stock entries created from a Pick List and checks read access before creating them. (https://github.com/frappe/erpnext/pull/58405)
  • Prevents direct deletion of the company set in the Demo Company field of Global Defaults and directs users to the "Delete Demo Data" action instead. (https://github.com/frappe/erpnext/pull/58427)
  • Adds validation when a Material Request is created from a Sales Order, rejecting requests whose Company or linked item details—Item Code, UOM, or Conversion Factor—no longer match the source order. (https://github.com/frappe/erpnext/pull/58470)
  • Shows the existing internal Customer or Supplier as a clickable link in duplicate-record errors and tells users to disable it before marking another record as internal for the same company. (https://github.com/frappe/erpnext/pull/58475)
  • Updates Job Card quantity checks to exclude Pending Quantity from the original card, allowing a follow-up Job Card for the remaining units. (https://github.com/frappe/erpnext/pull/58467)
  • Updates Material Request transfers against a Job Card so the resulting Stock Entry calculates FG Completed Qty from the materials included in the transfer, including partial and selected transfers. (https://github.com/frappe/erpnext/pull/58499)
  • Fixes Work Order Transferred Qty values by adding transfers for a required item and its alternate instead of replacing one with the other. (https://github.com/frappe/erpnext/pull/58502)
  • Filters cancelled Sales Invoice records out when the customer portal determines which Timesheet entries a customer can access. It returns no entries if the customer has neither a non-cancelled invoice nor a Project relationship. (https://github.com/frappe/erpnext/pull/58504)
  • Translates the source DocType name in the message shown when users select items from the same source more than once. (https://github.com/frappe/erpnext/pull/58517)
  • Classifies items without a bill of materials as purchase items in the "Material Requirements Planning" report, so they appear correctly in Type of Material and can be processed with "Make Purchase / Work Order". (https://github.com/frappe/erpnext/pull/58513)
  • Limits POS Profile selection and automatic assignment on invoices to profiles the current user is permitted to access. (https://github.com/frappe/erpnext/pull/58519)
  • Checks a user's edit permission before marking a Quotation as Lost, preventing requests from users without access from changing the quotation or related records. (https://github.com/frappe/erpnext/pull/58495)
  • Fixes Stock Entry recalculation with Additional Costs so redistributed costs are saved on all affected item rows instead of only one row. (https://github.com/frappe/erpnext/pull/58533)
  • Fixes automatic batch number selection before saving Sales Invoice and Purchase Invoice records when Update Stock is enabled. (https://github.com/frappe/erpnext/pull/58539)
  • Checks write permission before allowing users to edit notes on Lead and Opportunity records. (https://github.com/frappe/erpnext/pull/58544)
  • Fixes the "Available Serial No" report so it loads its filters and data instead of showing a blank page. (https://github.com/frappe/erpnext/pull/58562)
  • Fixes Work Order Delivery Date selection by using the linked Sales Order row when the same item appears multiple times. (https://github.com/frappe/erpnext/pull/58526)
  • Updates Work Order creation to match packed items with their parent Sales Order row and use its Delivery Date for the Expected Delivery Date, including when product bundle rows are repeated. (https://github.com/frappe/erpnext/pull/58570)
  • Prevents users who cannot view a source Project from duplicating it and copying its linked tasks. (https://github.com/frappe/erpnext/pull/58592)
  • Adds permission checks for POS Profile, Sales Invoice, and, when applicable, POS Invoice before invoices are retrieved for a POS Closing Entry. (https://github.com/frappe/erpnext/pull/58597)
  • Adds a permission check before retrieving available payment schedules, restricting access to users who can view the referenced document. (https://github.com/frappe/erpnext/pull/58595)
  • Skips automatically adding taxes to invoices created through the opening invoice tool, because opening entries already include their tax amounts. (https://github.com/frappe/erpnext/pull/58602)
  • Updates the "Get Items From" action to avoid adding the same source item row twice when copying items between documents, while still adding any remaining quantity. (https://github.com/frappe/erpnext/pull/58619)
  • Adds server-side validation to POS Settings so Invoice Fields match the selected invoice type and Search Fields use valid, searchable, non-excluded Item fields without duplicate field names. Search-field choices now show the label and field name together, while saved invoice fields that do not match the selected type are flagged instead of being silently removed. (https://github.com/frappe/erpnext/pull/58620)
  • Adds a permission check before loading a Contract Template, preventing users without access from retrieving it. (https://github.com/frappe/erpnext/pull/58623)
  • Translates Posting / Transaction Date, Company, and Lead / Customer / Supplier labels in party validation messages. (https://github.com/frappe/erpnext/pull/58626)
  • Updates missing-field messages when loading party details or applying taxes, identifying whether Company, Customer/Supplier, or Posting Date/Transaction Date is missing and telling users to set it before selecting the triggering field again. On Quotation, validation now clears the Party Name field. (https://github.com/frappe/erpnext/pull/58628)
  • Fixes duplicate-item validation in BOM Creator so adding the same item more than once under a parent displays the correct parent in the error message instead of causing a server error. (https://github.com/frappe/erpnext/pull/58616)
  • Pre-fills the Allowed Roles table in SMS Settings with available Sales, Purchase, Stock, and Accounts user and manager roles during migration. (https://github.com/frappe/erpnext/pull/58637)
  • Fixes a browser error that appears when creating a new BOM and selecting an item; price list and currency updates now use the current BOM details. (https://github.com/frappe/erpnext/pull/58639)
  • Adds permission checks before creating Payment Entry or Journal Entry from another document and prevents the new entry from opening when access is denied. (https://github.com/frappe/erpnext/pull/58644)
  • Rounds opening, within-period, and closing party balances in the "Trial Balance for Party" report to the company currency’s precision, so tiny residual amounts appear as zero in the report and Excel export and are removed by the Exclude Zero Balance filter. (https://github.com/frappe/erpnext/pull/58649)
  • Restricts Project and Timesheet results in timesheet-related actions to records the current user can access. (https://github.com/frappe/erpnext/pull/58577)
  • Adds required permission checks to actions in Ledger Merge, Payment Order, Process Period Closing Voucher, Repost Payment Ledger, Project, and Delivery Note. Limits bulk transaction retries to users with the System Manager role. (https://github.com/frappe/erpnext/pull/58654)
  • Requires users to have read access to a Sales Order before creating Work Order records from it. (https://github.com/frappe/erpnext/pull/58497)
  • Ignores cancelled batch entries when calculating available quantity for Stock Entry submissions, so cancelled stock movements no longer reduce the batch quantity available for a new manufacture. (https://github.com/frappe/erpnext/pull/58660)
  • Adds email validation for Contact recipients in Email Campaign, showing an error before saving when the contact has no primary email address. (https://github.com/frappe/erpnext/pull/58672)
  • Updates Request for Quotation creation from a Material Request to exclude fully ordered items and include only the remaining quantities for partially ordered items. (https://github.com/frappe/erpnext/pull/58535)
  • Prevents a Landed Cost Voucher from cancelling linked exchange gain/loss Journal Entry records when it updates a stock-updating Purchase Invoice. (https://github.com/frappe/erpnext/pull/58675)
  • Uses each raw material’s configured default warehouse for its Source Warehouse in Work Orders created from a Production Plan, instead of applying the sub-assembly warehouse to every required item. Keeps the plan’s Sub-assembly Warehouse as the generated work order’s FG Warehouse. (https://github.com/frappe/erpnext/pull/58665)
  • Updates Payment Request to derive subscription status and Subscription Plans from any linked document with a Subscription field, including Purchase Invoice. Restricts these subscription details to users with read access to the linked document. (https://github.com/frappe/erpnext/pull/58450)
Other Changes

Authors: @ljain112, @kaulith, @barredterra, @Jatin3128, @mihir-kandoi, @diptanilsaha, @Henil666, @AarDG10, @Shllokkk, @khushi8112, @Afsalsyed, @ervishnucs, @Pandiyan5273, @Sudharsanan11 Reviewers: @barredterra, @rohitwaghchaure, @Jatin3128, @diptanilsaha, @mihir-kandoi, @nishkagosalia, @AarDG10, @Shllokkk, @vorasmit, @Sudharsanan11

For these release notes, we used an LLM (OpenAI gpt-5.6-luna) to review and summarise the code changes, along with the associated issue and PR descriptions. It may contain typical errors and inaccuracies. You can read the prompt here.

Changes with the following labels were excluded:

  • skip-release-notes

Changes with the following types were excluded:

  • chore
  • style
  • refactor
  • test
  • build
  • docs
  • ci
View original

Upgraded? How did it go?

Discussion