v15.92.0
·
1386 commits
to version-15
since this release
What's Changed
- Fixes precision loss in quantity calculations within Work Order, preventing errors when submitting Job Card records that contain quantities with more than five decimal places. (#51004)
- Converts Rate and Amount fields in Share Balance from integer to currency so share rates and totals accept decimal monetary values and appear with currency formatting. (#51003)
- Moves periodic background tasks to the maintenance queue so they still run hourly or daily but at staggered times, reducing load surges at midnight and on the hour. (#51005)
- Copies Serial No and Batch No from Purchase Receipt items into the new Stock Entry when creating a Material Transfer. (#51029)
- Fixes an issue where the Putaway Rule was not applied to items with Serial No, causing serial numbers to be omitted from allocations. Allocations created during Stock Entry now include the correct Serial No when items are split across warehouses. (#51036)
- Adds backward compatibility in Currency Exchange Settings to recognize both frankfurter.app and frankfurter.dev endpoints when fetching exchange rates.
Adds the "frankfurter.dev" option to the Service Provider (service_provider) field in Currency Exchange Settings if it is missing so existing configurations using the older endpoint continue to work. (#51045) - Resets
grand_total_diffat the start of each tax calculation so the Grand Total uses only the current item quantities and rates, preventing incorrect totals after repeated edits. (#51053) - Recalculates Write Off Amount and Outstanding Amount during document submission so these fields are updated even when client-side checks are skipped. (#51059)
- Fixes an issue where clicking "Get Items" in a Disassembly Stock Entry does not populate the item lines. The "Get Items" action now fills the entry with items calculated from the work order's finished quantity so the disassembly entry lists the correct components. (#51068)
- Fixes incorrect item quantity on a Purchase Invoice generated from a Purchase Receipt when that receipt has multiple returns with different return quantities; the invoice now correctly sums the returned quantities per item when calculating the invoice quantity. (#51073)
- Allows supplier or other non-company addresses to be used in the Dispatch Address Name and Shipping Address fields on sales and purchase documents (for example Sales Order, Sales Invoice, Purchase Order, Delivery Note) when line items are marked as drop-shipped; validation that an address belongs to the Company still applies for non-drop-shipped items. (#51072)
- Moves budget validation to run after cost center allocation so checks apply to the allocated cost centers and no longer run multiple times. Skips budget validation when a document is being cancelled, while still running validation for Journal Entry cancellations. (#51074)
- Fixes incorrect available quantities in the "Stock Ageing" report when the same serial number appears with different letter cases by converting Serial No values to uppercase before counting stock. (#51082)
- Adds virtual DocTypes to the list of doctypes ignored by the transaction deletion process. This prevents the deletion routine from trying to remove virtual doctypes when deleting a company's transactions, avoiding failures that could occur when it attempts to delete them. (#51087)
- Excludes the current employee from the Reports To dropdown on the Employee form, preventing users from selecting themselves and triggering a validation error on save. (#51096)
- Shows only the net opening balance in the "General Ledger" report by presenting a single opening amount (debits minus credits) instead of separate opening debit and credit totals, so the opening line indicates whether the balance is a net debit or credit. (#51105)
- Fixes stock availability checks in Stock Ledger Entry for items with multiple inventory dimensions so the system validates combined availability across all dimensions and blocks transactions that would make stock go negative. (#50983)
- Adds Included Fee and Excluded Fee currency fields to the Bank Transaction form to record fees shown on bank statements; when an Excluded Fee is listed separately it is added into the transaction amount on save so current transaction totals remain consistent. (#51112)
- Prevents the Dispatch Address from being copied from a Sales Order when creating a drop-ship Purchase Order, so the new PO no longer inherits the Sales Order's dispatch address. (#51088)
- Removes the unintended "Total" bar from the chart in the "Delivery Note Trends" report, eliminating an extra misleading bar in chart views. (#51017)
- Updates the Trial Balance report to use the system's currency precision instead of a hardcoded three-decimal rounding, so amounts align with the General Ledger when four-decimal precision is configured. (#51071)
- Adds an internal
identityhelper and uses it during setup so labels created at install time are kept in English while still being marked as translatable. This change applies to navigation items in Navbar Settings (Item Label) and to labels created on Custom Field, allowing those strings to be translated later without changing the initial English records. (#50539) - Validates the
dnparameter in the Payment Requestmake_payment_requestAPI to require a string and reject non-string values. This prevents callers from passing structured filters indn(for example, a dictionary) that could be used to retrieve other documents. (#51127) - Prevents the system from replacing a user-entered Exchange Rate of 1 when creating a Journal Entry from Exchange Rate Revaluation. As a result, the journal entry keeps the rate you entered for that revaluation instead of using the system exchange rate. (#51110)
- Loads the Exchange Gain Loss Account and Cost Center from the Company into the Payment Entry form so changing Account Paid From or Account Paid To displays the correct difference amount while editing the entry. (#51129)
- Updates Serial and Batch Bundle to honor explicitly entered Serial Nos when retrieving available serial numbers, so serial numbers you specify are correctly included in batch bundle selections. (#51132)
- Skips BOM required quantity validation for alternative items on Subcontracting Receipt when the Allow Alternative Item option is enabled on the BOM, allowing alternative items to be consumed without being blocked by that check. (#51135)
- Adds validation in Stock Entry end-transit entries to prevent submitting an Transferred Quantity that is greater than the Transfer Quantity. Keeps Material Request Transfer Status as "In Transit" when the total received quantity is still less than the requested transfer quantity. (#51134)
- Fixes color mismatch in the "Delayed Tasks Summary" percentage chart so the chart displays the correct green on-track or red delayed segment depending on which categories are present. (#51140)
- Updates the Item quick entry so the Item Group selector excludes group/category headings and lists only item groups that can be assigned to an item. (#51144)
- Changes the Select DocType field in Rename Tool from a Select to a Link field so the available DocTypes show the applied filters and users can choose a DocType directly. Removes the client-side doctypes fetch and marks the
get_doctypesbackend method as deprecated. (#51138)
Full Changelog: v15.91.3...v15.92.0
Authors: @rtdany10, @venkat102, @ravibharathi656, @barredterra, @Sudharsanan11, @vorasmit, @Navin-S-R, @IMS94, @kavin-114, @0xD0M1M0, @ankush, @KerollesFathy, @sagarvora, @khushi8112, @diptanilsaha, @Afsalsyed, @mihir-kandoi, @l0gesh29, @Anjalii-Patel, @ruthra-kumar, @rohitwaghchaure
Reviewers: @sagarvora, @khushi8112, @ruthra-kumar, @diptanilsaha, @barredterra, @mihir-kandoi, @akhilnarang, @asmitahase, @rohitwaghchaure
AI content
For these release notes, we used an LLM (OpenAI gpt-5-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.