github frappe/erpnext v15.121.3

latest release: v16.35.0
5 hours ago

Breaking Changes

  • Removes the "Print IRS 1099 Forms" button and its associated printing option from the "IRS 1099" report. (#58991)

Bug Fixes

  • Updates the "Stock Ledger" preview to show the actual Outgoing Rate for outgoing entries in the company currency, while leaving it blank for incoming entries. (#58882)
  • Allows users to set Valuation Rate to zero in Stock Reconciliation and records the corresponding stock value adjustment; leaving Valuation Rate blank keeps the existing rate instead of treating it as a change. (#58821)
  • Updates Stock Entry processing to distribute additional costs among incoming items even when their Basic Amount is zero, using Transfer Qty as the allocation basis in those cases. Stock valuation and accounting entries use the same incoming items and allocation basis. (#58888)
  • Keeps each item's Rate when items are fetched from a Delivery Note into a Sales Invoice, instead of applying one item's rate to other rows. (#58898)
  • Keeps a Dunning unresolved when the invoice amount is paid but its interest or fee remains outstanding, so the remaining amount can still be collected. Using "Create → Payment" on such a Dunning creates a Payment Entry for only the unpaid dunning amount, and cancelling that payment makes the dunning available for collection again. (#58907)
  • Rejects disabled Price List values when saving or submitting buying and selling documents; linked returns can retain the price list from the original submitted document. (#58900)
  • Prevents a server error in Inventory Dimension when Reference Document is empty; the form waits for the required document details before loading parent-field options and displays the standard required-field validation when saving. (#58903)
  • Updates Sales Order and Purchase Order to use the configured default Price List when the customer or supplier changes, instead of retaining the previous party’s price list. (#58912)
  • Prevents saving an Item when Has Batch No, Has Expiry Date, and Automatically Create New Batch are enabled but Shelf Life In Days is zero or less. (#58914)
  • Removes completely empty rows from Delivery Stops when Delivery Notes are added to a Delivery Trip, while retaining partially filled rows. Missing Address values now trigger the regular required-field validation instead of an address lookup error. (#58920)
  • Updates Purchase Invoice returns with Update Stock disabled so Received Qty and Rejected Qty no longer count toward the returned quantity; Qty still limits returns to the billed amount. Hides Received Qty, Rejected Qty, and Warehouse Section for these invoices. (#58928)
  • Updates Purchase Receipt billing calculations to include rejected quantities in the billable amount, keeping the billed percentage from exceeding 100% when those quantities are invoiced. (#58934)
  • Adds an email permission check when a Customer credit limit is crossed; the "Send Email" action appears only for users permitted to email that customer. (#58937)
  • Replaces the server error from selecting "Transfer Materials" for a Job Card with no raw materials in Workstation with a message stating that there are no raw materials to transfer. (#58946)
  • Prevents the Warehouse hierarchy from being rebuilt when a parent warehouse has no matching stock account, avoiding unnecessary changes during stock account lookups. (#58972)
  • Excludes fully billed Sales Order records from the "Get Items From > Sales Order" picker and the "Create > Sales Invoice" action, including when an overbilling allowance is set, preventing Sales Invoice creation with no items. (#58968)
  • Recalculates the Billed Percentage and Status for submitted original Delivery Notes marked To Bill or Partially Billed when items have been returned, so their billing information reflects the returned quantities. (#58986)
  • Adds a permission check before the payment ledger reposting process starts, preventing users without permission to submit the selected Repost Payment Ledger from running it. (#58981)
  • Adds permission checks when selecting invoices for Invoice Discounting; users must select a Company and have permission to access both the company and the Invoice Discounting document. (#58989)
  • Backfills the Not Applicable setting on existing Item Tax Template rows for German companies when they match the shipped German defaults, distinguishing taxes that do not apply from explicit 0% tax rates. Customized rows remain unchanged. (#58952)
  • Carries the Project from Purchase Order items into related Subcontracting Order items and copies the Project and Cost Center when creating Purchase Receipt items. Adds checks that the Project matches across Subcontracting Order and Subcontracting Receipt documents. (#59040)
  • Updates Packing Slip items to fetch the item master's name only when Item Name is empty, so custom item names remain unchanged when the packing slip is saved. (#59077)
  • Rejects BOM records that contain disabled Item records as the main item, a component, or a scrap item, including when the entries come from a copied or amended BOM. (#59012)

Authors: @Pandiyan5273, @Shllokkk, @diptanilsaha, @Afsalsyed, @krishna-254, @Sudharsanan11, @rohitwaghchaure, @barredterra, @mihir-kandoi
Reviewers: @diptanilsaha, @Sudharsanan11, @rohitwaghchaure, @khushi8112, @barredterra, @mihir-kandoi

AI content

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:

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

Don't miss a new erpnext release

NewReleases is sending notifications on new releases.