Breaking Changes
- Removes the unused
get_last_interactionCRM endpoint. (#58216)
Features
- Updates Accounts Settings with separate sections for the "General Ledger" and AP/AR reports, and adds a Disable "Consider Accounting Dimension" Filter option that hides the Consider Accounting Dimension filter in the "General Ledger" report when enabled. (#58158)
- Adds support for custom tax charge types that calculate taxes from alternative values, such as an item's MRP instead of its selling price. (#58161)
- Adds four Belgian charts of accounts for commercial entities and associations or foundations, available in French and Dutch with account numbers and classifications for company setup. (#58186)
- Adds a check to Purchase Invoice records linked to Purchase Receipt records: when stock items use different exchange rates in the same currency and Set Landed Cost Based on Purchase Invoice Rate is disabled, saving or submitting the invoice is blocked with a message naming the mismatched receipt and available remedies. (#58190)
- Adds a Status filter to the "Supplier Quotation Comparison" report, defaulting to Submitted quotations and allowing users to view Draft quotations or both statuses. (#58208)
Bug Fixes
- Updates the non-bucket chart in the "Material Requirements Planning Report" to show the full selected date range and use each delivery date correctly, instead of stopping after 10 dates or placing entries under today’s date. Matching dates from different years now appear in separate chart columns. (#58090)
- Updates Asset Capitalization to split FIFO/LIFO valuation rates across repeated stock-item rows for the same item and warehouse, so each row receives its corresponding Valuation Rate and Amount. (#58089)
- Applies Sales Person user permissions to the "Accounts Receivable" report, so clearing the Sales Person filter does not expand results beyond the user's permitted Customer and Sales Invoice records. (#58104)
- Fixes an issue where adding an item to a Material Request did not fetch the item's Qty and UOM values. (#58118)
- Limits material transfer quantities in Stock Entry and Work Order processing to the amount covered by the included raw materials. Adds a repair for affected Work Order records while skipping completed or cancelled orders. (#58115)
- Fixes an issue that prevents users from creating a Purchase Order from the "MRP" report when the India compliance app is installed by filling in required fields before the order is created. (#58027)
- Adds a tooltip to the Allow Stale Exchange Rates setting in Accounts Settings, explaining that it uses the latest saved rate on or before the transaction date, while clearing it ignores rates older than Stale Days and fetches a new rate from the exchange rate provider. (#58122)
- Adds a confirmation prompt when the quantities entered in the batch selector differ from Qty to Fetch, warning that proceeding changes the item quantity before creating the bundle. (#58125)
- Adds the
crm_dealfield to Customer and Quotation when Enable Frappe CRM Data Synchronization is turned on. During an update, removes these fields when synchronization is off and neither Customer nor Quotation contains data in them. (#58143) - Allows Purchase Receipt and Purchase Invoice returns against a closed Purchase Order, while continuing to block new receipts against it. (#58139)
- Allows stock to be issued from a batch when an earlier negative balance has since recovered, while still rejecting issues that would make the batch balance negative at or after the transaction time. (#58151)
- Blocks users from reversing a Journal Entry that is already a reversal, preventing the original transaction from being posted again; the "Reverse Journal Entry" button is hidden and users are directed to cancel the reversal instead. (#58155)
- Fixes an issue that could omit items when creating a Sales Invoice from a Sales Order. (#58163)
- Renames the Restrict Customer Over Billing checkbox in Accounts Settings to Prevent Sales Invoice when Customer is Overdue, clarifying that it blocks new sales invoices for overdue customers. (#58166)
- Adds validation for Task dates against the linked Project's Expected Start Date, rejecting dates before the project starts; validation against the Expected End Date remains in place. (#58171)
- Updates the description of Prevent Sales Invoice when Customer is Overdue in Accounts Settings to clarify that it blocks new Sales Invoice creation when a customer’s overdue limit is set and their overdue amount exceeds it. (#58174)
- Updates the batch selector to use the Pick Serial / Batch Based On setting in Stock Settings for Fetch Based On, instead of defaulting to FIFO. (#58182)
- Checks access permissions before showing an Email Digest message, so users without access cannot view its contents. (#58200)
- Removes the obsolete Restaurant reference from the Sales Taxes and Charges Template dashboard, so the form can load without the Hospitality app installed. (#58211)
- Adds a permission check before displaying the import status for Bank Statement Import records. (#58219)
- 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. (#58224)
- Corrects the Item Group name used by the Item Tax Template Connections dashboard, allowing the form to load its linked records. (#58213)
- Adds item-group default warehouses as fallbacks for the component Source Warehouse and Work Order Target Warehouse; company, work order, and item-specific warehouse settings continue to take priority. (#58237)
- Keeps a submitted Work Order in “Not Started” when only Skip Material Transfer to WIP Warehouse is enabled, changing it to “In Process” after material is transferred. (#58245)
- Updates the "Gross Profit" report to allocate drop-ship purchase costs according to the quantity on each Sales Invoice, so partial invoices and returns show only their corresponding share of the linked Purchase Invoice cost. (#58263)
- Updates the "Gross Profit" report to match returns to their source Sales Invoice item rows, using the correct purchase rate when the same item appears across multiple orders. Prevents oversized returns from being counted twice and preserves the buying amount for rows without returns. (#58264)
- Limits the completed quantity in Job Card to the quantity completed in earlier operations and prevents process loss from being recorded twice for partial manufacturing entries. The Work Order finish dialog now shows process loss recorded against operations and the resulting finished goods quantity. (#58262)
- Handles special characters in item, warehouse, user, project, and document values used in portal pages, print formats, form grids, dashboards, and client-side templates. This keeps links and displayed content from being rendered incorrectly when those values contain special characters. (#58278)
- Escapes the production-status image shown for Workstation records so its contents are displayed as text rather than interpreted as HTML. (#58281)
- Displays free-text values in portal, partner, support, and desk pages as text rather than webpage markup, including party names, item previews, project and task names, addresses, help articles, and event subjects. Safely embeds Request for Quotation data in its page script. (#58288)
- Updates the privacy configuration for Lead and Opportunity to use the current data-protection settings. Their records use Email Id or Contact Email to identify matching data, while specified personal details can be redacted. (#58283)
- New non-standalone sales documents now refresh item cost rates when created, including when a rate is already present. (#58295)
- Updates Customer overdue amount checks to use payment allocations instead of general ledger tags, so invoices fully settled through Payment Reconciliation are not counted toward the overdue limit when Restrict Customer Over Billing is enabled. (#58026)
- The Employee form now adds or removes the assigned user’s access to Employee and Company records even when permission checks would normally block the change. (#57760)
- Fixes
TimestampMismatchErrorwhen submitting a Payment Entry for a Sales Invoice with multiple overdue installments in the same Dunning, allowing the payment to submit and the Dunning Status to change to Resolved. (#57771) - Updates Stock Reconciliation so "Fetch Items from Warehouse" displays each item's Stock UOM instead of applying the default Stock UOM to every row. (#58291)
- Blocks disabled or frozen Customer records from being saved as the party on an Opportunity, and disabled or frozen Supplier records from being added to a Request for Quotation. Disabled customers and suppliers are also hidden from their selection lists. (#58035)
- 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. (#58113)
- Preserves a manually entered Conversion Factor for each unit of measure in Item instead of replacing it with the global value; blank values still use the global conversion factor. Clears the unit-of-measure entries when Stock UOM changes because their conversion factors no longer apply. (#58304)
- Updates the "Material Requirements Planning" report to skip selected items whose needs are already covered by stock or existing orders, while still creating purchase or work orders for other selected items. When all selected items are covered, it displays a message instead of attempting to create orders. (#58312)
- Corrects doubled Working Hours, Billing Hours, and Billing Amount totals in the "Timesheet Billing Summary" report when using the Group By filter. Keeps group labels visible and combines entries from the same day when grouping by Start Date. (#58315)
- Updates the "Timesheet Billing Summary" report to include timesheet entries recorded throughout the selected To Date, rather than stopping at its start. (#58318)
- Updates the "Timesheet Billing Summary" report to calculate totals only from Project records the user can access and show totals separately from the report rows. Filters, sorting, and charts no longer treat the total as an individual entry. (#58322)
- Updates the "Timesheet Billing Summary" report to filter logs by their start date, so logs ending at midnight or continuing into the next day appear under the day they begin. (#58357)
- Updates the "Stock Qty vs Serial No Count" report so selecting a parent Warehouse shows the combined serial number count and stock quantity from its child warehouses. (#58366)
- Hides the Status indicator for Request for Quotation entries in the supplier portal, so suppliers no longer see the request marked as “Submitted.” (#58372)
- Displays the content from the company’s default Terms and Conditions in printed sales and purchase documents when the document uses the company default instead of a manually selected template. (#58361)
- Filters the "Available Batch Report" by the selected Company so it shows batches from that company only. (#58077)
- Fixes Italian e-invoice generation when a Sales Invoice item's Price List Rate is empty, preventing an error during submission. (#58370)
- Hides the supplier name from the supplier-facing Request for Quotation page. (#58376)
- Blocks portal users from creating another Supplier Quotation for a Request for Quotation that already has one and hides the "Make Quotation" button in that case. (#58384)
- Resets Actual Qty, Valuation Rate, and Stock Value in Bin to zero when an item has no remaining stock transactions in a warehouse, including after its last transaction is cancelled, deleted, or reposted. (#58391)
- Applies the selected Supplier Group filter in the "Accounts Payable" report when Party Type is set to Supplier, so suppliers from other groups are not listed. (#58353)
- Displays currency amounts without decimal places when Currency Precision in System Settings is set to 0, while using the configured number format when the setting is blank. (#58399)
- Sends automatic reorder emails from Material Request to all Purchase and Stock Managers in a single-company setup, even when they do not have an explicit Company User Permission. (#58407)
Other Changes
- Displays formatted content in the Item Description field of Item Price records instead of showing the underlying HTML code. (#58102)
- Fixes return quantity validation on Sales Invoice and Purchase Invoice when UOM differs from Stock UOM, so subsequent partial returns are not incorrectly rejected because quantities are compared in different units. (#58364)
Authors: @Pandiyan5273, @Sudharsanan11, @Shllokkk, @ljain112, @harisansari008, @nishkagosalia, @akhtarmohsin, @diptanilsaha, @deepeshgarg007, @Jatin3128, @vorasmit, @krishna-254, @maasanto, @khushi8112, @ervishnucs, @Henil666, @rohitwaghchaure, @mihir-kandoi 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: @Sudharsanan11, @Shllokkk, @diptanilsaha, @Jatin3128, @vorasmit, @khushi8112, @rohitwaghchaure, @mihir-kandoi
AI content