# ERPNext v16.30.0 - Product: ERPNext (https://whatsnew.fyi/product/erpnext) - Vendor: Frappe - Date: 2026-07-28 - Version: v16.30.0 - Original notes: https://github.com/frappe/erpnext/releases/tag/v16.30.0 - Permalink: https://whatsnew.fyi/product/erpnext/releases/v16.30.0 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Make Cost Center on Shipping Rule optional, so shipping charges use the company's default Cost Center and copy the rule's Project to the shipping charge line when left blank - **added** — Add optional Overdue Limit check on Customer that blocks Sales Invoice submission when customer's overdue balance exceeds the limit, with bypass allowed for permitted users and limit optionally sourced from Customer Group - **added** — Add accounting entries for stock-related expenses in Stock Entry, Stock Reconciliation, and Purchase Receipt to record these costs separately, excluding landed cost from purchase expense entries - **fixed** — Use quantity precision from Serial and Batch Entry with System Settings as fallback in reserved batch checks instead of always using 6 decimal places - **fixed** — Keep selected BOM when creating Work Order for variant item instead of replacing it with default BOM - **fixed** — Update stock levels correctly after cancelling one stock entry when several share the same date and time - **fixed** — Spread a batch's value across its rows in Stock Ageing report for items with batch numbers when one row shows negative value - **fixed** — Handle missing is_your_company_address field in Address so saving or importing Address records no longer fails - **fixed** — Clean up Repost Item Valuation by removing attached data file and clearing Reposting Data File field - **fixed** — Place batches without Expiry Date at end of list in Batch selection to avoid error when Warehouse contains both expiring and non-expiring batches - **fixed** — Copy Customer from Pick List to Delivery Note when creating delivery note without Sales Order - **fixed** — Show summary information on Customer and Supplier dashboards only for companies current user can access - **fixed** — Turn on Include Zero Stock Items by default in Stock Balance report so items with no stock appear when report opens - **fixed** — Update Operating Cost for operation in Routing when Hour Rate changes - **fixed** — Rename Posting Date to Report Date and Calculate Ageing With to Age as on with Today Date shortened to Today in Accounts Receivable, Accounts Payable, and their summary reports - **fixed** — Distribute Batch value across age groups in Stock Ageing report on every run instead of only when age group goes below zero - **fixed** — Release remaining raw-material reservation tied to closed Subcontracting Order so warehouse stock count reflects freed material - **fixed** — Treat cancelled and expired Quotations as inactive and count partially ordered Quotations as ordered when setting Opportunity status - **fixed** — Clarify message when marking Opportunity as lost if active Quotation exists - **fixed** — Limit search through older stock records to same item when valuing serial numbers to reduce records checked - **fixed** — Carry over comments and communications from linked Opportunity to submitted Quotation when CRM Settings option is enabled ##### Features * Makes the _Cost Center_ on **Shipping Rule** optional. When it is left blank, shipping charges use the company’s default _Cost Center_ and copy the rule’s _Project_ to the shipping charge line. (https://github.com/frappe/erpnext/pull/57385) * Adds an optional _Overdue Limit_ check and blocks **Sales Invoice** submission when a customer's overdue balance is above it. Users allowed to bypass the restriction can still submit, and the limit can also come from **Customer Group**. (https://github.com/frappe/erpnext/pull/57438) * Adds accounting entries for stock-related expenses in **Stock Entry**, **Stock Reconciliation**, and **Purchase Receipt**, so these costs are recorded separately. Excludes landed cost from purchase expense entries. (https://github.com/frappe/erpnext/pull/57503) ##### Bug Fixes * Reserved batch checks now use the quantity precision from **Serial and Batch Entry**, with **System Settings** as a fallback, instead of always using 6 decimal places. (https://github.com/frappe/erpnext/pull/57354) * When creating a **Work Order** for a variant item, ERPNext keeps the selected **BOM** instead of replacing it with the default one. (https://github.com/frappe/erpnext/pull/57359) * When several stock entries share the same date and time, cancelling one now updates the entries that were created after it, so stock levels stay correct after the cancellation. (https://github.com/frappe/erpnext/pull/57397) * Updates the "Stock Ageing" report for items with batch numbers, spreading a batch’s value across its rows when one row shows a negative value. This makes the row values add up to the batch’s total value in those cases. (https://github.com/frappe/erpnext/pull/57404) * Updates **Address** to handle a missing `is_your_company_address` field. Saving or importing **Address** records no longer stops with an error in that case. (https://github.com/frappe/erpnext/pull/57408) * Fixes cleanup for **Repost Item Valuation** so its attached data file is removed and the _Reposting Data File_ field is cleared. (https://github.com/frappe/erpnext/pull/57250) * The **Batch** selection now puts batches without an _Expiry Date_ at the end of the list. This avoids an error when a **Warehouse** contains both expiring and non-expiring batches. (https://github.com/frappe/erpnext/pull/57415) * Copies the _Customer_ from **Pick List** to **Delivery Note** when creating a delivery note without a **Sales Order**. (https://github.com/frappe/erpnext/pull/57420) * The dashboard on **Customer** and **Supplier** forms now shows summary information only for companies the current user can access. This avoids permission errors when a customer or supplier has activity in companies the user cannot access. (https://github.com/frappe/erpnext/pull/57440) * The "Stock Balance" report turns on _Include Zero Stock Items_ by default, so items with no stock appear when the report opens. (https://github.com/frappe/erpnext/pull/57460) * When you change _Hour Rate_ in **Routing**, _Operating Cost_ updates for that operation. (https://github.com/frappe/erpnext/pull/57468) * In "Accounts Receivable", "Accounts Payable", and their summary reports, _Posting Date_ is renamed to _Report Date_, and _Calculate Ageing With_ is renamed to _Age as on_ with "Today Date" shortened to "Today" so the labels match how the reports work. Existing saved filters are updated automatically to match the new labels. (https://github.com/frappe/erpnext/pull/57473) * The "Stock Ageing" report now distributes the value of a **Batch** across its age groups on every run, instead of only after one age group goes below zero. This changes the amounts shown in each age group when a batch includes receipts at different prices, while the total stays the same. (https://github.com/frappe/erpnext/pull/57487) * A closed **Subcontracting Order** now releases any remaining raw-material reservation tied to it. The warehouse stock count reflects the freed material instead of keeping it reserved _[Truncated at 4000 characters — full notes: https://github.com/frappe/erpnext/releases/tag/v16.30.0]_