Skip to content

v16.23.0

Choose a tag to compare

@frappe-pr-bot frappe-pr-bot released this 16 Jun 21:31

Features

  • Disabled Product Bundle records no longer appear when you add items from a bundle, and the Product Bundle list now shows whether each bundle is Active or Disabled. The "Product Bundle Balance" report now leaves out disabled bundles, and when you copy a Product Bundle, the new copy starts enabled. (#55805)
  • Adds a short note to the Update Stock checkbox in Sales Invoice and Purchase Invoice. The note explains that checking it updates stock and creates accounting entries together. (#55879)
  • Adds a Stock Settings option that lets users edit the quantity in the stock unit directly in Stock Entry. When the option is on, ERPNext updates the unit conversion so the entered quantity stays the same. (#55888)
  • Lets key columns stay visible while you scroll in the "General Ledger", "Accounts Receivable", "Item Wise Purchase History", and "Item Wise Sales History" reports. Also displays the Transaction Currency column in the "General Ledger" report in your language when a translation is available. (#55891)
  • A new Banking section provides Bank Reconciliation and Bank Statement Import. The Banking section also supports dark mode and right-to-left layouts. (#55917)
  • New installations use Frankfurter v2 as the default source for exchange rates in Currency Exchange Settings. Only System Manager users can change Currency Exchange Settings, and exchange rates stop updating when Disabled is turned on. (#55919)
  • Adds a Show Alternate UOM Balance option to the "Stock Balance" report so each item can show one alternate unit and its converted balance quantity. (#55977)
  • Adds support for importing bank statements from PDFs that contain text and lets users adjust the tables before import. Also lets users choose which columns are used when importing bank statements from CSV, Excel, and PDF files. (#55993)

Bug Fixes

  • The "Inactive Customers" report now limits the document types you can choose to supported options, so unsupported selections are less likely to cause errors. (#55721)
  • Adds email-format validation to the Email field in Appointment, so invalid addresses are rejected before saving. (#55680)
  • Accounts Managers can now edit Terms and Conditions, while Accounts Users can still view, print, export, and share them. (#55676)
  • "Stock Ageing" now loads batch valuation data before it processes stock entries, which helps avoid crashes when items with batch numbers are included. (#55795)
  • The "Item Where Used" report now shows disabled Product Bundle entries, so bundles that are no longer active are visible. (#55772)
  • Adds access checks before account lookups show balances or related document details. Payment Entry also checks access before loading outstanding documents. (#55731)
  • User permissions on Customer and Supplier now apply in the "Accounts Receivable", "Accounts Receivable Summary", "Accounts Payable", and "Accounts Payable Summary" reports. Restricted users only see balances for the customers or suppliers they are allowed to access. (#55696)
  • The "Sales Person Wise Transaction Summary" report now accepts only Sales Order, Sales Invoice, or Delivery Note in the Document Type filter. (#55818)
  • The app now checks permissions before showing details for Customer and Supplier. (#55567)
  • In the older subcontracting process, Purchase Order and related buying documents now use the correct step to add supplied materials. This fixes an error that can appear when subcontracting items are saved or changed. (#55821)
  • The BOM form now fills the operations table from a selected Routing when With Operations is enabled and the table is empty, even if that option is turned on after the Routing is already chosen. This avoids having to choose the Routing again to show the operations. (#55815)
  • When an Employee changes between Active and Inactive, the linked User record is enabled or disabled, and the action appears in its activity log. (#55834)
  • Makes UOM required in the Item UOMs table, so rows without a UOM cannot be saved. (#55840)
  • Fixes several actions in BOM Creator that could fail while creating a bill of materials. (#55831)
  • Adds access checks to Workstation actions, so users need the right access before they can start, finish, or edit a Job Card. It also limits access to related Workstation and Job Card information. (#55858)
  • Copies the item Cost Center from a Delivery Note to the matching item in the new Sales Return. (#55865)
  • Adds a CRM Settings option that lets the contact form create Opportunity records when turned on. It also turns that setting off automatically if Contact Us Settings are disabled and limits how often the contact form can send messages. (#55867)
  • Updates the access rules for certain app actions so they follow each user's access rights. (#55872)
  • The Bill of Materials comparison tool now shows item codes and the values being compared as plain text in the comparison table. Special characters in those values no longer change how the comparison is displayed. (#55876)
  • The Lead form no longer fills the Image field with a Gravatar photo link. (#55882)
  • Payment forms now automatically fill in the bank account for the customer or supplier when one is available. (#55902)
  • Updates the "Delete Transactions" confirmation on Company to show the company name in bold. Users see the exact name they need to type before confirming the deletion. (#55908)
  • Recalculates the incoming rate for Purchase Receipt and Purchase Invoice documents when stock is reposted. This uses the rate recorded on the purchase document instead of a previously saved rate. (#55933)
  • Updates the "Stock Balance" report to use the corrected value from Stock Reconciliation entries, so the balance reflects that correction instead of adding each change on top of it. (#55940)
  • Transactions now check their Posting Date or Transaction Date against a fiscal year before they are saved, even when the form does not include a Fiscal Year field. If no matching fiscal year exists, they cannot be saved. (#55938)
  • Removes a duplicate Automatically Run Rules on Unreconciled Transactions setting from Accounts Settings. (#55941)
  • Adds a filter to the Account field in Budget so only income and expense accounts appear. (#55955)
  • When a Payment Entry is created from an invoice, the Source Exchange Rate is based on the payment’s Posting Date instead of carrying over the invoice’s exchange rate. (#55962)
  • Restricts account balance checks to internal use. (#55965)
  • Restricts bank account lists to the accounts each user can access and automatically selects the last bank account they used. Updates banking screens with clearer loading placeholders, an empty state for bank transactions, Stripe and PayPal logos, and better spacing for headings and long descriptions. (#55951)
  • Error messages that include lists now show them as written, instead of automatically adding another list around them. (#55973)
  • Secondary items in BOM can now be saved with zero quantity, so the actual quantity can be entered later during manufacturing. (#55967)
  • Banking tabs and pages now load only when you open them, instead of all at once. Fixes a banking action that sometimes stops working. (#55979)
  • When a purchase includes both stock and non-stock items, the tax amount assigned to non-stock items is excluded from the stock value. (#55998)
  • Adds filters to the Item field in Batch so only stock items that use batches appear in the selection list. (#55992)
  • Adds a Recalculate Valuation Rate checkbox in Repost Item Valuation to update the item valuation rate during reposting instead of leaving the previous rate in place. (#56009)
  • Adds a Company field to Bank Account Balance and checks that you have access to that company before saving a balance update. Users without access to the linked company see an error instead of changing the balance. (#56017)
  • System Managers can now create, edit, and delete Driver records. (#56005)
  • The Company delete dialog now shows the company name in the warning and confirmation title instead of the generic "this company" text. This makes it clear which company's transactions you are about to delete before you confirm. (#56023)
  • Adds the payment currency and exchange rate to Payment Entry accounting entries, so the "General Ledger" report shows transaction-currency amounts in the correct currency when those columns are shown. (#55989)

Authors: @iamejaaz, @raghavisruia, @ravibharathi656, @diptanilsaha, @umairsy, @barredterra, @SandraFrappe, @mihir-kandoi, @Shllokkk, @kaulith, @nabinhait, @Sudharsanan11, @ljain112, @Jatin3128, @nikkothari22, @DipenFrappe, @ervishnucs, @rohitwaghchaure, @Pandiyan5273
Reviewers: @nabinhait, @nikkothari22, @barredterra, @ruthra-kumar, @mihir-kandoi, @rohitwaghchaure, @diptanilsaha

AI content

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:

  • skip-release-notes

Changes with the following types were excluded:

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