Skip to content

erpnext

v16.20.0 Feature

This release adds 2 notable features for engineering teams evaluating rollout.

Published 8d Productivity & Wikis
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

accounting asset-management crm distribution erp erpnext
+10 more
frappe healthcare hrms manufacturing point-of-sale procurement project-management python retail support

Summary

AI summary

Broad release touches Bug Fixes, Performance Improvements, https://github.com/frappe/erpnext/pull/55183, and https://github.com/frappe/erpnext/pull/55245.

Changes in this release

Feature Low

Adds _Pending Qty_ field to Job Card for partially finished work.

Adds _Pending Qty_ field to Job Card for partially finished work.

Source: llm_adapter@2026-05-27

Confidence: high

Feature Low

Adds Customer Group and Supplier Group to Party Specific Item for group‑based item restrictions.

Adds Customer Group and Supplier Group to Party Specific Item for group‑based item restrictions.

Source: llm_adapter@2026-05-27

Confidence: high

Performance Low

Speeds up stock record lookups by using combined posting date and time instead of separate fields.

Speeds up stock record lookups by using combined posting date and time instead of separate fields.

Source: llm_adapter@2026-05-27

Confidence: high

Performance Low

When Immutable Ledger is enabled, cancels documents without updating extra Payment Ledger Entry records, reducing cancellation time.

When Immutable Ledger is enabled, cancels documents without updating extra Payment Ledger Entry records, reducing cancellation time.

Source: llm_adapter@2026-05-27

Confidence: low

Bugfix Medium

Prevents double counting of serial‑numbered items when reposting Stock Reconciliation.

Prevents double counting of serial‑numbered items when reposting Stock Reconciliation.

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Fills _From BOM_ field for raw materials in Production Plan when Reserve Stock is enabled, avoiding missing‑field errors.

Fills _From BOM_ field for raw materials in Production Plan when Reserve Stock is enabled, avoiding missing‑field errors.

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Uses manually entered _Incoming Rate (Costing)_ in return Sales Invoice for Moving Average items, preventing "Valuation Rate Missing" errors.

Uses manually entered _Incoming Rate (Costing)_ in return Sales Invoice for Moving Average items, preventing "Valuation Rate Missing" errors.

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Applies regular item price to Customer/Supplier Item Price entries when a different UoM is selected, ensuring a price appears.

Applies regular item price to Customer/Supplier Item Price entries when a different UoM is selected, ensuring a price appears.

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Tracks extra manufacturing costs separately per operation in Stock Entry and handles over‑production cases.

Tracks extra manufacturing costs separately per operation in Stock Entry and handles over‑production cases.

Source: llm_adapter@2026-05-27

Confidence: high

Bugfix Medium

Preserves current _Net Purchase Amount_ on Asset forms for Composite Assets, keeping depreciation calculation available.

Preserves current _Net Purchase Amount_ on Asset forms for Composite Assets, keeping depreciation calculation available.

Source: llm_adapter@2026-05-27

Confidence: high

Full changelog

Features

  • Adds a Pending Qty field to Job Card for partially finished work. Process loss is calculated only when Pending Qty is zero. (https://github.com/frappe/erpnext/pull/55183)
  • Adds Customer Group and Supplier Group to Party Specific Item, so item restrictions can apply to a whole group instead of only one customer or supplier. Sales and purchase item searches also take these group-based rules into account when suggesting items. (https://github.com/frappe/erpnext/pull/55245)

Bug Fixes

  • When a Stock Reconciliation is posted again, serial-numbered items no longer count the stock from the same entry twice. (https://github.com/frappe/erpnext/pull/55075)
  • Fills the From BOM field for raw materials in Production Plan when Reserve Stock is enabled. This avoids an error saying a required field is missing when the plan is created. (https://github.com/frappe/erpnext/pull/55092)
  • Updates the Sales Order message shown when an item is missing a warehouse, so it now says "Source warehouse" instead of "Delivery warehouse". (https://github.com/frappe/erpnext/pull/55095)
  • The "Update Items" button now fills in stock details from the selected warehouse for newly added line items. (https://github.com/frappe/erpnext/pull/55098)
  • A return Sales Invoice without a linked original invoice now uses the manually entered Incoming Rate (Costing) for items that use Moving Average costing instead of replacing it with a system-generated rate. This avoids the "Valuation Rate Missing" error when no prior stock entry exists. (https://github.com/frappe/erpnext/pull/55104)
  • Customer and supplier Item Price entries now also use the regular item price when a different unit of measure is selected, so a price appears for that unit. (https://github.com/frappe/erpnext/pull/55107)
  • Removes an extra stock adjustment step from Stock Reconciliation entries. (https://github.com/frappe/erpnext/pull/55139)
  • Fixes Stock Entry so extra manufacturing costs are tracked separately for each operation instead of being combined across all operations. It also handles cases where more items are produced than planned. (https://github.com/frappe/erpnext/pull/55133)
  • Keeps the current Net Purchase Amount on Asset forms for Composite Assets when it already has a value, instead of resetting it to 0. This keeps Calculate Depreciation available after the form is reopened. (https://github.com/frappe/erpnext/pull/55145)
  • Clarifies the help text for Is Rate Adjustment Entry (Debit Note) in Sales Invoice so it explains that the debit note adjusts the rate on an existing invoice while keeping the original quantity. (https://github.com/frappe/erpnext/pull/55148)
  • Updates automatic Remarks in Payment Entry for foreign currency transactions to show the correct currency for received and paid amounts. It also rewords the lines for allocations and deductions to describe them as adjustments. (https://github.com/frappe/erpnext/pull/55152)
  • The Sales Forecast form no longer shows the unused Forecast Qty and Adjust Qty fields in item rows. (https://github.com/frappe/erpnext/pull/55136)
  • Updates purchase documents to use the Allow to Edit Stock UOM Qty for Purchase option in Stock Settings, so item quantities can be edited when it is turned on. (https://github.com/frappe/erpnext/pull/55179)
  • Speeds up stock record lookups by using the combined posting date and time instead of separate date and time values. (https://github.com/frappe/erpnext/pull/55182)
  • Removes the custom filter from the Item Group field on the Item form. This can prevent a permission error when creating a new Item. (https://github.com/frappe/erpnext/pull/55188)
  • The batch dropdown now uses the selected Posting Date and Posting Time to show batches that were available at that time. (https://github.com/frappe/erpnext/pull/55185)
  • Copied Project records leave Customer and Sales Order blank instead of carrying them over from the original. This prevents a duplicated project from automatically using the same customer and sales order. (https://github.com/frappe/erpnext/pull/55196)
  • The "Stock Ageing" report now uses batch-wise valuation for items tracked with batch numbers. (https://github.com/frappe/erpnext/pull/55230)
  • Fixes the finished goods rate in Stock Entry repack entries with multiple finished goods by basing it on items where Set Basic Rate Manually is not selected. (https://github.com/frappe/erpnext/pull/55244)
  • Updates item pricing so the current list price is used before discounts are applied. This avoids a discount being applied twice in some cases. (https://github.com/frappe/erpnext/pull/55124)
  • The Payment Entry form now uses the exchange rate to fill in the matching Paid Amount or Received Amount when the two accounts use different currencies. It also keeps the exchange rate values from being mixed up when both sides use the same currency. (https://github.com/frappe/erpnext/pull/55272)
  • In Stock Reconciliation, the system now uses the Valuation Rate without rounding when it creates stock ledger entries and calculates the Difference Amount. This reduces differences between the Amount Difference in the line items and the Difference Amount shown on the form. (https://github.com/frappe/erpnext/pull/55260)
  • Batch search now reads Posting Date and Posting Time from the search filters correctly. This prevents an error when selecting a batch. (https://github.com/frappe/erpnext/pull/55279)
  • The Job Card form now uses the same button color for "Start Job", "Resume Job", and "Complete Job". When one of these actions is shown, "Submit" switches to a neutral style. (https://github.com/frappe/erpnext/pull/55261)
  • Reorganizes the POS Profile form into tabs for Accounting, POS Configurations, and More Info, with related settings grouped into sections. The Print Settings area is collapsible, and Allow Partial Payment now includes a note that it applies to POS Invoice. (https://github.com/frappe/erpnext/pull/55285)
  • The Item variant dialog now lets you create variants from the attribute values you choose instead of requiring every attribute to have a value. Empty selections are ignored, so they do not stop variant creation when other values are selected. (https://github.com/frappe/erpnext/pull/55289)
  • When you cancel or repost an entry with a new Posting Date, the system checks that date instead of the original one. This allows the cancellation or repost to proceed when the original date is in a closed accounting period. (https://github.com/frappe/erpnext/pull/55295)
  • Uses the net Purchase Invoice amount when Set Landed Cost Based on Purchase Invoice Rate is enabled, so tax included in the item price does not make the linked Purchase Receipt amount too high. (https://github.com/frappe/erpnext/pull/55297)
  • The Employee form now skips updating the Date Of Birth date picker when that field is not editable, avoiding an error for users without permission to change it. (https://github.com/frappe/erpnext/pull/55314)
  • Skips stock updates for POS Sales Invoices when one or more items are linked to a Delivery Note. This prevents duplicate stock entries in those cases. (https://github.com/frappe/erpnext/pull/55313)

Performance Improvements

  • Speeds up opening balance date range calculation in Process Period Closing Voucher and schedules the next dates without locking other records, so vouchers start and run more quickly even when several are in the queue. (https://github.com/frappe/erpnext/pull/55078)
  • When Immutable Ledger is enabled, cancelling a document skips the extra update step on older Payment Ledger Entry records. This reduces the time needed to cancel documents with many entries. (https://github.com/frappe/erpnext/pull/55166)

Authors: @ruthra-kumar, @mihir-kandoi, @Nihantra-Patel, @Sudharsanan11, @nareshkannasln, @rohitwaghchaure, @trufurs, @nishkagosalia, @Shllokkk, @Pandiyan5273, @diptanilsaha, @Jatin3128, @khushi8112
Reviewers: @ruthra-kumar, @mihir-kandoi, @rohitwaghchaure, @nishkagosalia, @diptanilsaha, @Jatin3128, @khushi8112

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:

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

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track erpnext

Get notified when new releases ship.

Sign up free

About erpnext

Free and Open Source Enterprise Resource Planning (ERP)

All releases →

Related context

Beta — feedback welcome: [email protected]