Breaking Changes
- Adds access checks when creating Payment Entry or Journal Entry from another document; users without the required permissions receive an error instead of being taken to a new entry. (#58643)
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. (#58428)
Bug Fixes
- Keeps the Currency and Price List section open in sales and purchase transactions when the transaction currency differs from the company currency, so Exchange Rate is visible without an extra click. The section remains collapsed when the currencies match. (#58112)
- Prevents issuing a serialized item from an Inventory Dimension where its serial number is not available, including when negative stock validation is disabled. (#58418)
- Keeps the source document’s Rate, Discount, and Margin when item details are refreshed with Maintain Same Rate Throughout the Purchase Cycle enabled, instead of replacing them with the latest Item Price. (#58332)
- Keeps Pick List links on a Stock Entry when Finished Good Quantity changes, so partially transferred items retain their remaining quantities when the next stock entry is created. (#58424)
- Clears the hardcoded letterhead setting in the "Incorrect Serial and Batch Bundle" report, so it no longer defaults to a specific letterhead. (#58440)
- 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. (#58473)
- Fixes Period Closing Voucher validation so a voucher whose period end date falls within the frozen accounting period is blocked instead of accepted. (#58477)
- Updates German Item Tax Templates to mark accounts with different tax rates as Not Applicable. (#58462)
- 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. (#58474)
- When reposting finds no active Stock Ledger Entry records for an item and warehouse, the related Bin resets Actual Qty, Stock Value, and Valuation Rate to zero. (#58434)
- 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. (#58498)
- 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. (#58503)
- Translates the source DocType name in the message shown when users select items from the same source more than once. (#58516)
- Limits POS Profile selection and automatic assignment on invoices to profiles the current user is permitted to access. (#58518)
- 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. (#58426)
- Updates Work Order required items to combine transferred quantities for an item and its alternate, instead of replacing one quantity with the other. (#58500)
- Requires users to have read access to a Sales Order before creating Work Order records from it. (#58496)
- 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. (#58494)
- Fixes Stock Entry recalculation with Additional Costs so redistributed costs are saved on all affected item rows instead of only one row. (#58532)
- Checks write permission before allowing users to edit notes on Lead and Opportunity records. (#58543)
- Fixes the "Available Serial No" report so it loads its filters and data instead of showing a blank page. (#58561)
- Fixes the Delivery Date on Work Order records when the same item appears in multiple Sales Order rows by using the date from the linked row. (#58527)
- Sets the Expected Delivery Date on each Work Order using the matching Sales Order row for packed items, so duplicate product bundle rows receive their own delivery dates. (#58569)
- Restricts Project and Timesheet results in timesheet-related actions to records the current user can access. (#58576)
- Prevents users who cannot view a source Project from duplicating it and copying its linked tasks. (#58593)
- Skips automatically adding taxes to invoices created through the opening invoice tool, because opening entries already include their tax amounts. (#58601)
- 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. (#58618)
- 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. (#58612)
- Adds access checks to Bank Statement Import actions, requiring write access to convert statements or start imports and permission to preview templates or download error templates and import logs. (#58223)
- Adds a permission check before loading a Contract Template, preventing users without access from retrieving it. (#58622)
- Translates Posting / Transaction Date, Company, and Lead / Customer / Supplier labels in party validation messages. (#58625)
- Pre-fills the Allowed Roles table in SMS Settings with available Sales, Purchase, Stock, and Accounts user and manager roles during migration. (#58636)
- 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. (#58648)
- 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. (#58653)
- Prevents a Landed Cost Voucher from cancelling linked exchange gain/loss Journal Entry records when it updates a stock-updating Purchase Invoice. (#58674)
- Updates Request for Quotation creation from a Material Request to exclude fully ordered items and include only the remaining quantities for partially ordered items. (#58676)
Other Changes
- Checks for an existing active Stock Ledger Entry before resetting an item's warehouse balance, instead of counting all matching entries. (#58522)
Authors: @AarDG10, @ljain112, @mihir-kandoi, @Jatin3128, @Pandiyan5273, @barredterra, @Afsalsyed, @Shllokkk, @Henil666, @diptanilsaha, @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:
Changes with the following types were excluded:
Reviewers: @rohitwaghchaure, @AarDG10, @mihir-kandoi, @Jatin3128, @vorasmit, @barredterra, @Shllokkk, @nishkagosalia, @diptanilsaha, @Sudharsanan11
AI content