github frappe/erpnext v16.50.0

6 hours ago

Breaking Changes

  • Checks user permissions for records used in accounting, stock, asset, manufacturing, and project actions, and updates role access for Payment Terms Template, POS Invoice, Serial and Batch Bundle, and Address. (#59360)
  • Allows relevant sales, purchasing, stock, and manufacturing roles to view Sales Taxes and Charges Template, and Stock Users to view Purchase Taxes and Charges Template, when loading taxes and charges. (#59787)

Features

  • Adds a Designation column to the "Address and Contacts" report to display contact job titles alongside their other details. (#59749)
  • Adds a Designation column to the "Lead Details" report, showing each lead’s job title. (#59747)
  • Adds “Map Raw Materials to Finished Goods” to Manufacture and Repack Stock Entry records, so users can link raw-material serial or batch numbers to finished goods manually or with “Auto Assign.” Updates the traceability report to include raw materials that were previously omitted. (#59707)
  • Adds an optional group warehouse setting to Production Plan so raw material availability can include stock across its child warehouses, while materials are still received into the selected For Warehouse. (#59760)
  • The "Stock Ledger" report now lets users select multiple Brand values and shows no entries when item filters match no items. (#59807)
  • Adds the "Stock Ledger Entries of Cancelled Vouchers" report to find stock entries that remain active after their voucher is cancelled, with a "Cancel Stock Ledger Entries" action to cancel the affected entries and recalculate stock values. (#60022)
  • Adds the "Stock Valuation Comparison" report to compare actual stock value with expected value and create adjustment entries for valuation differences. (#60059)

Bug Fixes

  • Checks the combined quantity of Material Request rows linked to the same Production Plan item and rejects totals that exceed the available quantity. (#59635)
  • Requires Planned Qty to be greater than zero on each item row in a Production Plan. (#59633)
  • Turns off Add Total Row for the seven standard trends reports on existing sites, preventing an extra total row with doubled values. (#59512)
  • Updates Stock Closing Entry balances to preserve zero quantities and values recorded for batches, using parent stock entry totals only when batch details are missing. (#59497)
  • Supplier-based item suggestions in Material Request now follow users’ Item permissions. Subcontracted Purchase Orders created from partially fulfilled Material Requests now use the remaining finished-goods quantity and its corresponding service quantity. (#59634)
  • Sets the default Opportunity Type on new Opportunity records through the form field, so translated labels don’t block saving in another language. (#59667)
  • Skips pricing calculations for items in Request for Quotation, preventing warnings about pricing fields that aren’t available there. (#59669)
  • Restricts the Warehouse options in stock reservation to non-group warehouses belonging to the document’s company. (#59653)
  • Accounting dimension fields in Stock Entry, Asset, and Asset Repair appear in the accounting dimensions section instead of the Connections tab. (#59664)
  • Removes extra contextual details from error logs when Repost Item Valuation fails. (#59683)
  • Checks that accounts in a Journal Entry belong to its Company when saved, rather than waiting until submission to flag mismatches. (#59687)
  • Updates party-specific item rules so restrictions account for matching rules across items, item groups, and brands. Item group rules now also apply to items in sub-groups. (#59711)
  • The Point of Sale screen now defaults to the nearest parent Item Group shared by a POS Profile’s configured groups, instead of opening on an unpredictable group that can hide permitted items. (#59722)
  • Adds To Pay as a valid status for Purchase Order, allowing submitted orders with outstanding advance payment requests to be updated. (#59728)
  • Updates formula checks in Financial Report Template so valid calculations are accepted and unusable line references are rejected instead of silently producing 0.00. (#59125)
  • Stock valuation reposting skips cancelled Stock Ledger Entry records, so entries cancelled during reposting do not become active again. (#59769)
  • Updates the "Accounts Payable" report to account for payroll entries when calculating settled amounts, so settled payroll transactions are not shown as outstanding. (#59793)
  • Updates Payment Entry to compare allocated and outstanding amounts at the currency’s decimal precision, so matching multi-currency allocations aren’t rejected because of tiny rounding differences. (#59794)
  • Updates manufacturing Stock Entry records so operations without workstation costs are charged in proportion to the quantity completed. Costs recorded in earlier entries are deducted to prevent charging the same operation cost again. (#59806)
  • Preserves manually entered reading statuses in In Process Quality Inspection records linked to a Job Card, so rejected readings are not changed to accepted. (#59809)
  • Sets the Company on Stock Entry records created from the Item dashboard to match the selected warehouse instead of the user’s default company. (#59779)
  • Checks linked rows in a Stock Entry against their Material Request, even when earlier rows are unlinked, and blocks saving when the items don’t match. (#59701)
  • Requires read permission for a Work Order before returning its details. (#59690)
  • Recalculates Total Working Hours in Timesheet when a time log row is added or duplicated. (#59750)
  • New supplier users created from a Request for Quotation now receive a welcome email. (#59841)
  • Limits editing of Quality Action, Quality Feedback, Quality Goal, Quality Meeting, Quality Procedure, and Quality Review to users with the Quality Manager role, while Desk Users retain read-only access. (#59857)
  • Checks that each Sales Order Item belongs to the selected Sales Order before creating stock reservations. (#59849)
  • Displays the "Profit and Loss Statement" chart as bars instead of a line. (#59831)
  • Limits sorting in the stock summary to supported stock quantity fields and ascending or descending order; other sort choices are rejected. (#59851)
  • Requires create access to Serial and Batch Bundle when adding new serial or batch numbers; users can still use existing numbers without that access. (#59853)
  • Return quantity checks now calculate the stock quantity from the current item quantity and conversion factor, rather than an outdated stock quantity, so quantity changes are reflected in return limits. (#59824)
  • When a draft Sales Invoice is recalculated, removes a transaction-level discount if its Pricing Rule no longer applies, while preserving manually entered discounts and applying another valid rule when available. (#59812)
  • Limits sales returns from each batch to the quantity delivered, minus quantities already returned. (#59817)
  • Calculates each Material Request transfer status independently in a Stock Entry, preventing one request’s status from carrying over to another. (#59830)
  • Fixes discounted POS Invoice status handling so partially paid invoices can be submitted and show the appropriate status. (#59801)
  • Checks supplier portal users against the relevant Supplier record when granting access or adding users, so same-named records of other types don’t affect Purchase Invoice and Supplier Quotation actions. (#59847)
  • Adds permission checks before Shipment retrieves a party’s shipping address or contact details, so users need access to the related record. (#59845)
  • Validates Delivery Note returns against each item’s total delivered quantity, counting previous returns and all rows in the current return, and rejects returns for items that weren’t delivered. (#59821)
  • Finds existing Italian e-invoice XML attachments on Sales Invoice records during regeneration, so replacing an invoice replaces the old file instead of adding a second one. (#59946)
  • Applies user permissions to the "Payment Ledger" report, filtering results by the companies and customers or suppliers each user can access. (#59954)
  • The BOM comparison tool now skips table fields it cannot match between two BOMs, avoiding errors during comparison. (#59833)
  • Scales raw material quantities in Stock Entry records created from partially completed Job Cards to match the completed quantity, leaving materials for pending work in WIP. (#59945)
  • Makes Sales Order items available for invoicing again after a credit note with Update Stock and Update Billed Amount in Sales Order reverses their delivery and billing. Counts only return Delivery Note entries as returned quantities, so regular deliveries do not overwrite recorded returns. (#59968)
  • Applies user permissions in the "Payment Terms Status for Sales Order" report, so users see payment details only for Sales Order records they can access. (#60048)
  • Allows users to bill the remaining amount on a Sales Order after its full quantity has been invoiced at a lower rate. (#59975)
  • For Italian Sales Invoice payment schedules, the SWIFT/BIC code now comes from the bank linked to the selected Bank Account, replacing a lookup that could prevent saving. (#59955)
  • When warehouse transfer validation is enabled, Stock Entry transfers created from Material Requests reject the same source and target warehouse, including transfers with matching inventory dimensions. (#59878)
  • For Sales Order rows with Ensure Delivery Based on Produced Serial No, Reserve Stock is cleared and hidden so existing stock is not reserved for items whose serial numbers are reserved during manufacturing. (#59828)
  • When submitting a Job Card, checks the overproduction allowance only for its operation, so exceeding the allowance on one Work Order operation does not block job cards for other operations. (#60066)
  • Rounds manufactured and process-loss quantities when checking Work Order completion for orders that skip material transfer, so orders that meet Qty To Manufacture are marked Completed instead of left In Process. (#60068)

Authors: @mihir-kandoi, @Sudharsanan11, @nikkothari22, @khushi8112, @rohitwaghchaure, @Abdeali099, @barredterra, @Pandiyan5273, @Shllokkk, @diptanilsaha, @kaulith, @asmitahase
Reviewers: @mihir-kandoi, @Sudharsanan11, @nikkothari22, @Priyashanmugasundaram005, @khushi8112, @rohitwaghchaure, @Shllokkk, @sagarvora

AI content

For these release notes, we used an LLM (OpenAI gpt-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:

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

Don't miss a new erpnext release

NewReleases is sending notifications on new releases.