Features
- The Service Level Agreement field now only shows agreements for the current document type. Existing Service Level Agreement fields also use the same filter after an update. (#56955)
- A Pick List can now be transferred in parts, so you can create more than one Stock Entry from it as stock is moved in stages. It shows a Partially Transferred status until the full quantity is moved, and existing Pick List records that already have transferred stock stay completed. (#56986)
- Adds the Project field to Invoices in Opening Invoice Creation Tool. The selected project appears on the invoice line created from that row. (#56400)
Bug Fixes
- Updates the linked Sales Order when a credit note is submitted from a return Delivery Note, so returned items are no longer counted in the billed amount. (#56682)
- Sets the Expense Account on Purchase Receipt forms and stock-updating Purchase Invoice forms to the stock received but not billed account for stock items when perpetual inventory is enabled. (#56692)
- When Immutable Ledger is enabled, reverse entries now use the reversal date, or today's date if none is entered, instead of the original voucher date, for checks against closed accounting periods. This can prevent a books-closed error when canceling backdated vouchers in an open period. (#56751)
- Adds a check in the "Stock Balance" report when Show Stock Ageing Data is enabled so a batch entry at the top of the stock list is not mistaken for a normal stock quantity. This prevents the report from crashing when some stock entries have batch details and others do not. (#56763)
- Amending a reconciled Payment Entry, Journal Entry, Purchase Invoice, or Sales Invoice clears the Clearance Date on the amended copy, so the previous date does not carry over. (#56768)
- Prevents changing a serialized Item to non-serialized when a Serial and Batch Bundle still exists. The bundle must be deleted or cancelled first before the change can be saved. (#56774)
- Disallows any changes to draft reversal Journal Entry records, keeping the reversal identical to the original entry. (#56776)
- When editing a Company, you can now select Account and Cost Center values even if you do not normally have access to them. (#56794)
- Prevents Delivery Note and Sales Invoice from creating serial and batch entries for items that are not set up for serial or batch tracking. This avoids save errors on those documents. (#56802)
- When stock quantities are recalculated for serial and batch bundles, the system uses the quantity from the original stock transaction instead of the bundle’s recalculated total. This helps prevent later edits to bundle lines from changing the recorded quantity for that transaction. (#56834)
- Fixed-asset items on Purchase Receipt, Purchase Order, and Material Request now use the Expense Account set in the item's Asset Category. When work-in-progress accounting is enabled, they use the work-in-progress account instead of the fixed asset account. (#56797)
- The "Show Incorrect Entries" filter in the stock ledger report now lists the matching rows again. The report also stops marking some serial and batch entries as wrong when no queue details are available, and it uses the correct rounding when comparing stock values and quantities. (#56838)
- For internal transfers, Purchase Receipt and Purchase Invoice documents now use the source warehouse’s current stock value for the receiving warehouse instead of the rate already on the document. Related transfer costs are included in that value. (#56812)
- Stock Entry rows now use the Cost Center from Item Group or Brand defaults when they are set instead of always using the company default. (#56862)
- Fixes an issue where Process Period Closing Voucher can stay stuck in Running when another closing process starts before the first one finishes. It also finds related records faster, which reduces errors while closing periods. (#56875)
- A Journal Entry marked as opening can no longer be saved once a submitted Period Closing Voucher exists for the company. (#56096)
- Updates Payment Reconciliation to allow small rounding differences when matching amounts. This avoids an error when totals differ by only a tiny decimal amount. (#56937)
- Adds a check in Pricing Rule that blocks saving a rule with both an item template and one of its variants. This avoids duplicate matches that can later show a false "Multiple Price Rules exist" message. (#56939)
- Moves the Company custom field creation to a later step during updates, after the rest of the setup completes. (#56962)
- When Frappe CRM is installed on the same site, CRM Settings show Allowed Users only for remote connections and clear any saved entries automatically. Customer creation on the same site now uses the usual site permissions, and Enable Frappe CRM Data Synchronization turns off when the app is removed. (#56968)
- Adds permission checks in the Payment Entry form for customer or supplier details and linked Account and Bank Account records. Users now see only records they can access. (#56945)
- Changing the Routing on a BOM refreshes the Operations table with the selected routing’s operations instead of keeping the previous list. The updated operations stay in place after you save. (#56997)
- When an abbreviation changes in Item Attribute, item variants that use that abbreviation are renamed to match the new Item Code. Their Item Name is updated too, even if the name was changed manually. (#56987)
- Skips Pick List items that are already fully delivered when creating a Delivery Note, so they do not appear again as empty lines. (#56985)
- The related Work Order status now changes to "In Process" when a transfer from a Pick List is submitted, even if it moves only some of the required raw materials. (#57003)
- The "Stock and Account Value Comparison" report now reposts purchase entries from the original purchase record instead of by item and warehouse. This lets the report update the affected purchase record directly when its stock and accounting values differ. (#56607)
- Creating or updating a Serial and Batch Bundle from a Pick List row now accepts the row details entered on the form. When Posting Date or Posting Time is not set, it uses the current date and time. (#57014)
- Prevents saving a Work Order when Planned End Date is before Planned Start Date. (#57019)
- Trend reports now translate the column labels that appear when you group data, so the headings appear in the chosen language instead of staying in English. (#57027)
- "Stock Ageing" now recalculates the remaining value of items using moving average at the current rate. It also uses the newest stock first for LIFO items, so the report shows stock value and average age based on each item's valuation method. (#57016)
- Updates Opening Invoice Creation Tool Item so Outstanding Amount uses the selected company’s default currency instead of the global default currency. This shows the matching currency symbol when you work with more than one company. (#57008)
- When you create a Payment Entry from a Payment Request, the payment references section shows the invoice total and remaining balance instead of the payment request amount. (#57041)
- Uses the quantity in stock when calculating prices that depend on quantity for items entered in a different unit of measure. This helps prevent the price from changing after the item is saved. (#57051)
- Sorts open tasks and events in the Activities section by date, so earlier items appear first. (#57055)
- The Philippines Chart of Accounts template no longer marks Customer Deposits as a payable account. New companies created from this template now use Accounts Payable - Trade for supplier bills. (#57060)
- Keeps the rows you entered in Opening Invoice Creation Tool when one invoice cannot be created, so you can correct the error and try again. Shows the success message only when there are no errors. (#57057)
- The "Inactive Customers" report now limits the document types you can choose to supported options, so unsupported selections are less likely to cause errors. (#55720)
- Makes the Represents Company field in Purchase Invoice read-only and keeps it out of access checks, so invoices are not hidden by that field when company-based permissions are in use. (#57074)
Performance Improvements
- Looks up stock quantities for Delivery Note items and packed items in bulk instead of checking them one by one. Saving delivery notes with many items can take less time. (#56993)
- Auto reorder checks now load Warehouse parent information once instead of looking it up again for each Warehouse. This can reduce the time needed for reorder runs when stock is spread across nested warehouses. (#57021)
Other Changes
- Restores the "Sales Person-wise Transaction Summary" report to its previous behavior so it opens on version 15 again. This avoids the error caused by a newer setting that is not available in version 15. (#56924)
- Limits the Item Variant Of filter to items that can have variants, so regular items and item variants no longer appear in the list. (#56999)
Authors: @Sudharsanan11, @ravibharathi656, @mihir-kandoi, @Pandiyan5273, @Nihantra-Patel, @rtdany10, @akhtarmohsin, @Shllokkk, @barredterra, @harisansari008, @ruthra-kumar, @Jatin3128, @nabinhait, @ervishnucs, @diptanilsaha, @raghavisruia, @rohitwaghchaure For these release notes, we used an LLM (OpenAI gpt-5.4-mini) 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: @khushi8112, @IMS94, @mihir-kandoi, @github-code-quality[bot], @barredterra, @shahzeelahmed, @ruthra-kumar, @nabinhait, @diptanilsaha, @rohitwaghchaure
AI content