Compare commits

..

33 Commits

Author SHA1 Message Date
Frappe PR Bot
b30aa5334b chore(release): Bumped to Version 16.36.0
# [16.36.0](https://github.com/frappe/erpnext/compare/v16.35.0...v16.36.0) (2026-09-23)

### Bug Fixes

* **accounts:** clarify revaluation journal filters ([eebd0bc](eebd0bc533))
* **accounts:** keep price list within user permissions ([#59231](https://github.com/frappe/erpnext/issues/59231)) ([385343a](385343a389))
* apply journal entry reversal backport to version 16 controller ([0db0cc5](0db0cc55d4))
* **assets:** count complete opening depreciation periods accurately ([900eb1e](900eb1e466))
* **asset:** skip missing checkbox columns in asset type patch (backport [#58416](https://github.com/frappe/erpnext/issues/58416)) ([#58417](https://github.com/frappe/erpnext/issues/58417)) ([3c9d9d6](3c9d9d62aa))
* avoid pricing rule help template errors ([#59097](https://github.com/frappe/erpnext/issues/59097)) ([e3ef3be](e3ef3be490))
* clear stock value for zero-quantity balances ([#58899](https://github.com/frappe/erpnext/issues/58899)) ([007a1f5](007a1f5528))
* **crm:** keep opportunity type default untranslated ([#59277](https://github.com/frappe/erpnext/issues/59277)) ([8eb9063](8eb906366d))
* do not zero out backdated stock at a stock reco adjustment entry ([#59270](https://github.com/frappe/erpnext/issues/59270)) ([06a8faa](06a8faa4ed))
* **journal-entry:** carry reference fields into reverse journal entry ([06cc291](06cc2914ba))
* **manufacturing:** apply mrp manufacturing buffer as a duration ([#59007](https://github.com/frappe/erpnext/issues/59007)) ([fa732ca](fa732ca3f4))
* **manufacturing:** classify MRP rows by purchase item, not missing BOM ([#58510](https://github.com/frappe/erpnext/issues/58510)) ([79858d5](79858d5af6))
* **manufacturing:** finish a work order after partial material consumption ([#59312](https://github.com/frappe/erpnext/issues/59312)) ([5d495c2](5d495c2763))
* **manufacturing:** include the mrp bucket that ends on to_date ([#59143](https://github.com/frappe/erpnext/issues/59143)) ([131343d](131343de28))
* negative stock value for moving average item with mixed batchwise valuation ([#59099](https://github.com/frappe/erpnext/issues/59099)) ([262fdf3](262fdf3e69))
* **permissions:** grant select on link targets to roles with write access ([#59123](https://github.com/frappe/erpnext/issues/59123)) ([854b0e4](854b0e4734))
* **pos:** quote the reversed row's rate on a consolidated credit note (backport [#59320](https://github.com/frappe/erpnext/issues/59320)) ([#59323](https://github.com/frappe/erpnext/issues/59323)) ([242f421](242f4219cb))
* **pos:** reset stale selected mode of payment on new invoice (backport [#59308](https://github.com/frappe/erpnext/issues/59308)) ([#59355](https://github.com/frappe/erpnext/issues/59355)) ([1e16c82](1e16c827ef))
* **quality:** block Quality Inspection submit without a sample size (backport [#59330](https://github.com/frappe/erpnext/issues/59330)) ([#59331](https://github.com/frappe/erpnext/issues/59331)) ([1ead4ce](1ead4cebcf))
* refresh price list exchange rate when currency changes ([0fe41ce](0fe41ce92e))
* remove company link filter on asset field in Asset Depreciation Schedule ([a436707](a436707efc))
* render letter head jinja in statement of accounts pdf ([31111a4](31111a4a30))
* resolve conflicts ([98fa0d4](98fa0d4cb4))
* resolve conflicts ([7ff2a33](7ff2a33a5b))
* resolve conflicts ([6fab4e0](6fab4e0203))
* resolve MRP purchase supplier with item group fallback, else throw ([be283b7](be283b70f2))
* retain bom components without warehouse stock ([#59116](https://github.com/frappe/erpnext/issues/59116)) ([18ee3b9](18ee3b9cc0))
* **selling:** use preferred addresses in customer quotations ([c019bb5](c019bb5c28))
* skip serial nos with no stock when reconciling specific serial nos (backport [#59266](https://github.com/frappe/erpnext/issues/59266)) ([#59267](https://github.com/frappe/erpnext/issues/59267)) ([aaaba7c](aaaba7cd82))
* **stock:** allow zero completed quantity and handle process loss in job cards ([#59104](https://github.com/frappe/erpnext/issues/59104)) ([4f984ae](4f984aeecf))
* **stock:** apply transit warehouse filter to target warehouse in items table ([#59192](https://github.com/frappe/erpnext/issues/59192)) ([ae96dad](ae96dad151))
* **stock:** calculate batch bundle valuation per unit ([#58994](https://github.com/frappe/erpnext/issues/58994)) ([110192d](110192d9de))
* **stock:** compare transit quantities in stock UOM (backport [#59202](https://github.com/frappe/erpnext/issues/59202)) ([#59244](https://github.com/frappe/erpnext/issues/59244)) ([0f1cefa](0f1cefa918))
* **stock:** continue putaway allocation after undersized whole-uom rules ([#59155](https://github.com/frappe/erpnext/issues/59155)) ([dbb8981](dbb8981fa1))
* **stock:** deduct rejected qty from the in-transit warehouse ([#59299](https://github.com/frappe/erpnext/issues/59299)) ([4186d6c](4186d6c994))
* **stock:** filter item group defaults by company and non-group records ([#58923](https://github.com/frappe/erpnext/issues/58923)) ([741ae5d](741ae5d33c))
* **stock:** forward company to outward batch lookup ([#59160](https://github.com/frappe/erpnext/issues/59160)) ([5e1cfa4](5e1cfa4f52))
* **stock:** honour pick manually when mapping a pick list ([#59220](https://github.com/frappe/erpnext/issues/59220)) ([3ee9353](3ee9353240))
* **stock:** keep mapped cost center in stock entry items ([#59286](https://github.com/frappe/erpnext/issues/59286)) ([cdbdcc6](cdbdcc6e33))
* **stock:** respect manual picking when mapping sales orders ([58847de](58847de59a))
* **stock:** seed bin values when cancelling a stock voucher ([#59250](https://github.com/frappe/erpnext/issues/59250)) ([3ab13e1](3ab13e12d4)), closes [#57380](https://github.com/frappe/erpnext/issues/57380)
* **stock:** use net purchase values in landed cost vouchers (backport [#59274](https://github.com/frappe/erpnext/issues/59274)) ([#59278](https://github.com/frappe/erpnext/issues/59278)) ([6af5892](6af589208b))
* **stock:** use stored posting_datetime when reposting stock ledger entries ([#58998](https://github.com/frappe/erpnext/issues/58998)) ([39d6f2a](39d6f2a236))
* **stock:** validate warehouse account belongs to selected company ([#59191](https://github.com/frappe/erpnext/issues/59191)) ([38bdb4f](38bdb4f9c0))
* sync translations from crowdin (version-16-hotfix) ([#59210](https://github.com/frappe/erpnext/issues/59210)) ([d217283](d217283229))
* update modified for last purchase rate (backport [#59044](https://github.com/frappe/erpnext/issues/59044)) ([#59106](https://github.com/frappe/erpnext/issues/59106)) ([877747c](877747c133))
* use correct exchange rate for multi-currency bank reconciliation payments ([#59144](https://github.com/frappe/erpnext/issues/59144)) ([427a20c](427a20c508))
* validate bank reconciliation date ranges ([a878951](a878951c17))
* validate coupon pricing rules and validity dates ([2db2244](2db2244852))
* validate shipping rule account company ([590fff6](590fff6a45))
* valuation of serialized items after disabling serial no wise valuation ([#59197](https://github.com/frappe/erpnext/issues/59197)) ([af334da](af334dabcc))
* write off stranded stock value only when the warehouse is empty ([#59216](https://github.com/frappe/erpnext/issues/59216)) ([8bbb73d](8bbb73d2e2))

### Features

* mark update_serial_batch_entries patch as never skippable (backport [#59147](https://github.com/frappe/erpnext/issues/59147)) ([#59148](https://github.com/frappe/erpnext/issues/59148)) ([d2042bc](d2042bc1bb))
* **selling:** group Sales Order Analysis by item (backport [#59236](https://github.com/frappe/erpnext/issues/59236)) ([#59246](https://github.com/frappe/erpnext/issues/59246)) ([814d7f0](814d7f0c4e))
* **stock:** GL-only reposting from Stock and Account Value Comparison report ([#59127](https://github.com/frappe/erpnext/issues/59127)) ([c055faa](c055faabc1))
* use serial no wise valuation switch on item ([#59082](https://github.com/frappe/erpnext/issues/59082)) ([f09ce05](f09ce0583f))

### Performance Improvements

* filter by company in get_returned_invoice_items ([423aa09](423aa09f59))
* reduce memory consumption during reposting (backport [#59117](https://github.com/frappe/erpnext/issues/59117)) ([#59149](https://github.com/frappe/erpnext/issues/59149)) ([16b1821](16b1821f35)), closes [#52152](https://github.com/frappe/erpnext/issues/52152)
* skip legacy batch ledger lookups when no legacy entry exists (backport [#59110](https://github.com/frappe/erpnext/issues/59110)) ([#59111](https://github.com/frappe/erpnext/issues/59111)) ([4af1b0d](4af1b0db4e))
* **stock:** chunk the serial and batch entry backfill patch ([#59076](https://github.com/frappe/erpnext/issues/59076)) ([86fe0c1](86fe0c1f4b))
2026-09-23 23:05:32 +00:00
Diptanil Saha
eddb0c8aef Merge pull request #59272 from frappe/version-16-hotfix
chore: release v16
2026-09-24 04:33:27 +05:30
Frappe PR Bot
12cd563fb9 chore(release): Bumped to Version 16.35.0
# [16.35.0](https://github.com/frappe/erpnext/compare/v16.34.2...v16.35.0) (2026-09-15)

### Bug Fixes

* % Amount Billed exceeds 100% on fully rejected Purchase Receipts ([#58897](https://github.com/frappe/erpnext/issues/58897)) ([79c8e4d](79c8e4db7f))
* **accounts:** add permission checks on `execute_repost_payment_ledger` (backport [#58980](https://github.com/frappe/erpnext/issues/58980)) ([#58982](https://github.com/frappe/erpnext/issues/58982)) ([9bc98ef](9bc98efe2f))
* **accounts:** add permission checks on `invoice_discounting.get_invoices` (backport [#58975](https://github.com/frappe/erpnext/issues/58975)) ([#58990](https://github.com/frappe/erpnext/issues/58990)) ([a9f3d69](a9f3d69fbe))
* **accounts:** reject disabled price lists in buying and selling ([#58891](https://github.com/frappe/erpnext/issues/58891)) ([5bd623c](5bd623c4dd))
* **accounts:** stop counting received qty on non-stock invoice returns (backport [#58924](https://github.com/frappe/erpnext/issues/58924)) ([#58929](https://github.com/frappe/erpnext/issues/58929)) ([3856638](3856638d01))
* **asset:** recompute reference doc reqd on asset type change ([6d447f6](6d447f6847))
* **assets:** build Finance Books even when Calculate Depreciation is checked before Net Purchase Amount is entered ([1652f6e](1652f6ea42))
* **assets:** discard stale set_finance_book responses ([dfde7d8](dfde7d811c))
* avoid TypeError on new Work Order when company is not set ([#58969](https://github.com/frappe/erpnext/issues/58969)) ([e20501a](e20501a15c))
* calculate holiday list totals for half days ([#58792](https://github.com/frappe/erpnext/issues/58792)) ([3d6afff](3d6afffcef))
* coerce cost_allocation_per to float in BOM cost allocation ([1918ed6](1918ed6a3c))
* keep a dunning claimable until its interest is paid too ([7723f5a](7723f5aaed))
* keep each row's own rate under maintain same rate ([855d038](855d0385da))
* **manufacturing:** handle empty bom cost allocation ([#58939](https://github.com/frappe/erpnext/issues/58939)) ([77d8d5b](77d8d5b3e2))
* **manufacturing:** handle empty raw materials in workstation ([#58927](https://github.com/frappe/erpnext/issues/58927)) ([3b787c9](3b787c9443))
* **mrp:** align monthly bucket labels with demand dates ([#58963](https://github.com/frappe/erpnext/issues/58963)) ([c5773e7](c5773e7899))
* prevent disabled items from being used in bom ([#58997](https://github.com/frappe/erpnext/issues/58997)) ([f1a7fd0](f1a7fd006d))
* read posting date confirmation setting from boot data ([1349e0b](1349e0b3ab))
* refresh posting date confirmation setting ([a404d9b](a404d9b4e8))
* reset price list fallback when changing parties ([#58893](https://github.com/frappe/erpnext/issues/58893)) ([6751264](6751264ba5))
* resolve conflicts ([2add72b](2add72ba36))
* **selling:** add email permission check on `send_emails` (backport [#58935](https://github.com/frappe/erpnext/issues/58935)) ([#58938](https://github.com/frappe/erpnext/issues/58938)) ([a79abc0](a79abc0462))
* **selling:** exclude fully billed orders from the invoice picker (backport [#58966](https://github.com/frappe/erpnext/issues/58966)) ([#58967](https://github.com/frappe/erpnext/issues/58967)) ([5d9cbd9](5d9cbd9755))
* **selling:** list billable sales orders oldest first (backport [#59010](https://github.com/frappe/erpnext/issues/59010)) ([#59011](https://github.com/frappe/erpnext/issues/59011)) ([8672a6e](8672a6e604))
* **stock:** distribute additional costs when incoming items have no value ([b603581](b6035810f0))
* **stock:** do not rebuild the Warehouse tree on an account map miss (backport [#58956](https://github.com/frappe/erpnext/issues/58956)) ([#58973](https://github.com/frappe/erpnext/issues/58973)) ([6fb76eb](6fb76eba71))
* **stock:** guard inventory dimension lookup without reference document ([#58889](https://github.com/frappe/erpnext/issues/58889)) ([b21ca36](b21ca36428))
* **stock:** ignore disabled price lists on transactions (backport [#58926](https://github.com/frappe/erpnext/issues/58926)) ([#58931](https://github.com/frappe/erpnext/issues/58931)) ([53e5339](53e53390f4))
* **stock:** remove empty delivery stops after mapping ([#58896](https://github.com/frappe/erpnext/issues/58896)) ([ca33019](ca33019fdf))
* **stock:** set item_name to fetch if empty in packing slip item ([#58925](https://github.com/frappe/erpnext/issues/58925)) ([9e5d87a](9e5d87ac4a))
* **stock:** show actual outgoing rate in ledger preview ([#58700](https://github.com/frappe/erpnext/issues/58700)) ([2932793](2932793af0))
* **stock:** use correct field when reading previous stock closing balance (backport [#55898](https://github.com/frappe/erpnext/issues/55898)) ([#58854](https://github.com/frappe/erpnext/issues/58854)) ([70f391d](70f391d5e7)), closes [#54819](https://github.com/frappe/erpnext/issues/54819)
* **stock:** value stock entry rows as of the posting date (backport [#59042](https://github.com/frappe/erpnext/issues/59042)) ([#59048](https://github.com/frappe/erpnext/issues/59048)) ([7db6303](7db6303ac2))
* **subcontracting:** cannot select Against Finished Good on customer receipt (backport [#58949](https://github.com/frappe/erpnext/issues/58949)) ([#58951](https://github.com/frappe/erpnext/issues/58951)) ([df62766](df62766157))
* **subcontracting:** validate project across the subcontracting flow ([#58965](https://github.com/frappe/erpnext/issues/58965)) ([0095560](0095560dc7))
* sync translations from crowdin (version-16-hotfix) ([#59052](https://github.com/frappe/erpnext/issues/59052)) ([442fcd3](442fcd33e9))
* validate shelf life for automatically created expiring batches ([#58911](https://github.com/frappe/erpnext/issues/58911)) ([fa504b8](fa504b87db))

### Features

* **stock:** multi select item and warehouse filters in warehouse wise item balance ([bf33bc1](bf33bc17c0))
2026-09-15 18:46:11 +00:00
Diptanil Saha
6441ecd784 Merge pull request #59073 from frappe/version-16-hotfix
chore: release v16
2026-09-16 00:14:39 +05:30
Frappe PR Bot
4048fb70e1 chore(release): Bumped to Version 16.34.2
## [16.34.2](https://github.com/frappe/erpnext/compare/v16.34.1...v16.34.2) (2026-09-08)

### Bug Fixes

* **accounts:** enforce account field allow-list on financial report filters (backport [#58790](https://github.com/frappe/erpnext/issues/58790)) ([#58849](https://github.com/frappe/erpnext/issues/58849)) ([6e39b42](6e39b42137))
* **accounts:** reject same-account internal transfers (backport [#58529](https://github.com/frappe/erpnext/issues/58529)) ([#58877](https://github.com/frappe/erpnext/issues/58877)) ([6ec3035](6ec30350d2))
* **accounts:** round journal entry totals to field precision (backport [#58629](https://github.com/frappe/erpnext/issues/58629)) ([#58875](https://github.com/frappe/erpnext/issues/58875)) ([9fff01d](9fff01db32))
* add reconciliation after submit logic for bank transactions ([#57330](https://github.com/frappe/erpnext/issues/57330)) ([0a60d68](0a60d6805f))
* **bank reconciliation:** match Payment Entries on the bank-side amount (backport [#57740](https://github.com/frappe/erpnext/issues/57740)) ([#58765](https://github.com/frappe/erpnext/issues/58765)) ([189bd1f](189bd1f39d))
* **banking:** Federal bank dark logo (backport [#58844](https://github.com/frappe/erpnext/issues/58844)) ([#58845](https://github.com/frappe/erpnext/issues/58845)) ([3cc73e4](3cc73e4282))
* **banking:** find transfers on the same day (backport [#58766](https://github.com/frappe/erpnext/issues/58766)) ([#58767](https://github.com/frappe/erpnext/issues/58767)) ([8229aea](8229aeaead))
* **banking:** UI cleanup and better statement parsing (backport [#58817](https://github.com/frappe/erpnext/issues/58817)) ([#58824](https://github.com/frappe/erpnext/issues/58824)) ([0610708](0610708d78))
* **batch:** show Expired status only after expiry date has passed ([#58736](https://github.com/frappe/erpnext/issues/58736)) ([0684599](0684599bdb))
* check material request price list permission ([#58740](https://github.com/frappe/erpnext/issues/58740)) ([e5b1ff6](e5b1ff667d))
* check write permission in whitelisted document methods (backport [#58689](https://github.com/frappe/erpnext/issues/58689)) ([#58701](https://github.com/frappe/erpnext/issues/58701)) ([074f9f0](074f9f0828))
* **crm:** check read permission on lead in add_lead_to_prospect ([2cc1a51](2cc1a51d9a))
* fetch accounts by company (backport [#58523](https://github.com/frappe/erpnext/issues/58523)) ([#58879](https://github.com/frappe/erpnext/issues/58879)) ([75cb796](75cb796477))
* **gross-profit:** include item_name in export (backport [#58631](https://github.com/frappe/erpnext/issues/58631)) ([#58864](https://github.com/frappe/erpnext/issues/58864)) ([59b80b9](59b80b903a))
* **journal-entry:** avoid full grid re-render per row in set_exchange_rate (backport [#58328](https://github.com/frappe/erpnext/issues/58328)) ([#58803](https://github.com/frappe/erpnext/issues/58803)) ([8b51005](8b51005525))
* **manufacturing:** account for process loss in Production Plan Work Orders (backport [#58799](https://github.com/frappe/erpnext/issues/58799)) ([#58838](https://github.com/frappe/erpnext/issues/58838)) ([cfdf976](cfdf97601a))
* **manufacturing:** apply MOQ once across Production Plan rows (v16) ([#58831](https://github.com/frappe/erpnext/issues/58831)) ([f6dbb31](f6dbb3131d))
* **manufacturing:** apply safety stock once across Production Plan rows (v16) ([#58832](https://github.com/frappe/erpnext/issues/58832)) ([4719ad9](4719ad9b91))
* **manufacturing:** share transfer stock across Production Plan rows (v16) ([#58834](https://github.com/frappe/erpnext/issues/58834)) ([e59fb39](e59fb396e5))
* **manufacturing:** sum consolidated sub-assembly required quantity (v16) ([#58833](https://github.com/frappe/erpnext/issues/58833)) ([a7c5ab8](a7c5ab89e8))
* minor improvements to financial report template validation ([#58724](https://github.com/frappe/erpnext/issues/58724)) ([d23b407](d23b407ec7))
* order smallest purchase UOM qty that meets min order qty (backport [#57883](https://github.com/frappe/erpnext/issues/57883)) ([#58813](https://github.com/frappe/erpnext/issues/58813)) ([28f0ac5](28f0ac5287))
* persist rendered terms on transaction save ([#58858](https://github.com/frappe/erpnext/issues/58858)) ([89872eb](89872ebb37))
* **pos:** use company-currency change amount when netting pos gl entries (backport [#58599](https://github.com/frappe/erpnext/issues/58599)) ([#58678](https://github.com/frappe/erpnext/issues/58678)) ([06057cc](06057ccfc0))
* prevent duplicate Batch messages and Project links ([#58705](https://github.com/frappe/erpnext/issues/58705)) ([2dc2a04](2dc2a04522))
* resolve code lists by URI and version (backport [#58770](https://github.com/frappe/erpnext/issues/58770)) ([#58772](https://github.com/frappe/erpnext/issues/58772)) ([31319bd](31319bd36e))
* resolve conflicts ([d4b52c2](d4b52c236a))
* restore hover tooltip on Profit and Loss dashboard chart ([bb26f8f](bb26f8f7b9))
* **selling:** fetch orders within billing allowance (backport [#58751](https://github.com/frappe/erpnext/issues/58751)) ([#58820](https://github.com/frappe/erpnext/issues/58820)) ([817926c](817926ca2e))
* **setup:** strict permissions for transaction deletion record (backport [#58687](https://github.com/frappe/erpnext/issues/58687)) ([#58723](https://github.com/frappe/erpnext/issues/58723)) ([dfb64d7](dfb64d7635))
* show cost center for unmatched payments in receivables (backport [#58453](https://github.com/frappe/erpnext/issues/58453)) ([#58881](https://github.com/frappe/erpnext/issues/58881)) ([51bf7cb](51bf7cb241))
* **stock:** allow creating stock closing balances (backport [#58590](https://github.com/frappe/erpnext/issues/58590)) ([#58685](https://github.com/frappe/erpnext/issues/58685)) ([a1c8dc8](a1c8dc878d))
* **stock:** carry accounting dimensions from landed cost voucher charges into gl entries ([0c7be31](0c7be311b8))
* **stock:** recalculate delivery note billing after return ([#58869](https://github.com/frappe/erpnext/issues/58869)) ([7bb19c8](7bb19c89b1))
* **subcontracting:** add condition to exclude tax withholding accounts in purchase receipt mapping ([15a531f](15a531f03f))
* sync translations from crowdin (version-16-hotfix) ([#58580](https://github.com/frappe/erpnext/issues/58580)) ([6971c80](6971c80743))
* **timesheet:** handle empty allowed projects (backport [#58745](https://github.com/frappe/erpnext/issues/58745)) ([#58746](https://github.com/frappe/erpnext/issues/58746)) ([f75601e](f75601e9b1))
* use account currency in Bank Reconciliation Statement print (backport [#58692](https://github.com/frappe/erpnext/issues/58692)) ([#58871](https://github.com/frappe/erpnext/issues/58871)) ([b1bf95d](b1bf95d5b3))
* user not able to set valuation rate zero in stock reco (backport [#58800](https://github.com/frappe/erpnext/issues/58800)) ([#58823](https://github.com/frappe/erpnext/issues/58823)) ([fb13222](fb132225d7))

### Reverts

* **manufacturing:** remove material coverage changes on version 16 ([#58716](https://github.com/frappe/erpnext/issues/58716)) ([82392fa](82392fa747))
2026-09-08 13:23:31 +00:00
Diptanil Saha
cc57a7cf55 Merge pull request #58868 from frappe/version-16-hotfix
chore: release v16
2026-09-08 18:50:53 +05:30
Frappe PR Bot
0b50853985 chore(release): Bumped to Version 16.34.1
## [16.34.1](https://github.com/frappe/erpnext/compare/v16.34.0...v16.34.1) (2026-09-02)

### Bug Fixes

* filter cancelled BOMs in BOM Stock Analysis (backport [#58647](https://github.com/frappe/erpnext/issues/58647)) ([#58693](https://github.com/frappe/erpnext/issues/58693)) ([d6f9dde](d6f9dde3cb))
* improve message formatting and translation for validation issues ([#58425](https://github.com/frappe/erpnext/issues/58425)) ([a43de7c](a43de7ce95))
* include payment deductions in sales/purchase register ledger bal… (backport [#58437](https://github.com/frappe/erpnext/issues/58437)) ([#58680](https://github.com/frappe/erpnext/issues/58680)) ([4137401](41374019ba))
2026-09-02 12:24:04 +00:00
Sagar Vora
c19ddf187e Merge pull request #58707 from frappe/version-16-hotfix
chore: release v16
2026-09-02 17:51:22 +05:30
Frappe PR Bot
80c2c9e0e0 chore(release): Bumped to Version 16.34.0
# [16.34.0](https://github.com/frappe/erpnext/compare/v16.33.0...v16.34.0) (2026-09-02)

### Bug Fixes

* **accounts:** add permission checks on payment entry whitelisted methods ([#58644](https://github.com/frappe/erpnext/issues/58644)) ([c745558](c745558168))
* **accounts:** added permission checks on `get_available_payment_schedules` (backport [#58588](https://github.com/frappe/erpnext/issues/58588)) ([#58595](https://github.com/frappe/erpnext/issues/58595)) ([765a773](765a7736ed))
* **accounts:** guard get_gl_dict for v16 and drop unused base_gl_composer ([abf311e](abf311e8ca))
* **accounts:** prevent child table doctypes as accounting dimensions ([6dbaa50](6dbaa5048e))
* **accounts:** resolve subscription plans for any reference doctype in Payment Request (backport [#58438](https://github.com/frappe/erpnext/issues/58438)) ([#58450](https://github.com/frappe/erpnext/issues/58450)) ([3c63fff](3c63fffcb6))
* **accounts:** set pos profile on invoices respecting user permissions (backport [#58508](https://github.com/frappe/erpnext/issues/58508)) ([#58519](https://github.com/frappe/erpnext/issues/58519)) ([23290a6](23290a60da))
* add missing perm checks on various whitelisted methods (backport [#58652](https://github.com/frappe/erpnext/issues/58652)) ([#58654](https://github.com/frappe/erpnext/issues/58654)) ([86e9480](86e9480362))
* add type hints to make_request_for_quotation ([4435f16](4435f166ea))
* clarify duplicate internal party messages ([#58469](https://github.com/frappe/erpnext/issues/58469)) ([f0e603a](f0e603aec5))
* **company:** throw if linked to demo_company field ([9f3dd7e](9f3dd7eabd))
* correct is_frozen description on customer and supplier ([#58168](https://github.com/frappe/erpnext/issues/58168)) ([9e00888](9e00888d67))
* **crm:** add missing permission validation on `get_contract_template` (backport [#58621](https://github.com/frappe/erpnext/issues/58621)) ([#58623](https://github.com/frappe/erpnext/issues/58623)) ([30f0cd9](30f0cd9c95))
* **crm:** check write permission in edit_note ([c2261f6](c2261f6129))
* **crm:** validate contact email before saving an email campaign (backport [#58667](https://github.com/frappe/erpnext/issues/58667)) ([#58672](https://github.com/frappe/erpnext/issues/58672)) ([f22f84a](f22f84a58a))
* do not map the same row twice in "Get Items From" (backport [#58617](https://github.com/frappe/erpnext/issues/58617)) ([#58619](https://github.com/frappe/erpnext/issues/58619)) ([f3379b4](f3379b4694))
* explain missing fields when loading party details or taxes (backport [#58627](https://github.com/frappe/erpnext/issues/58627)) ([#58628](https://github.com/frappe/erpnext/issues/58628)) ([8a8bafd](8a8bafd6cb))
* filter fully ordered items when creating RFQ from Material Request ([9b1d907](9b1d907b6a))
* handle BOM price list currency update (backport [#58638](https://github.com/frappe/erpnext/issues/58638)) ([#58639](https://github.com/frappe/erpnext/issues/58639)) ([fb74a03](fb74a030de))
* **manufacturing:** account for pending job card qty ([#58466](https://github.com/frappe/erpnext/issues/58466)) ([7b9cdb4](7b9cdb4926))
* **manufacturing:** classify MRP items without a BOM as Purchase (backport [#58509](https://github.com/frappe/erpnext/issues/58509)) ([#58513](https://github.com/frappe/erpnext/issues/58513)) ([ee3b224](ee3b22403d))
* **manufacturing:** handle duplicate root BOM items (backport [#58614](https://github.com/frappe/erpnext/issues/58614)) ([#58616](https://github.com/frappe/erpnext/issues/58616)) ([22755c4](22755c4ad6))
* **manufacturing:** preserve job card qty in mr transfer (backport [#58482](https://github.com/frappe/erpnext/issues/58482)) ([#58499](https://github.com/frappe/erpnext/issues/58499)) ([76d0cb3](76d0cb382d))
* **manufacturing:** use item warehouses in production plan work orders ([#58663](https://github.com/frappe/erpnext/issues/58663)) ([ec392a7](ec392a7bcf))
* **manufacturing:** use packed row delivery date ([#58570](https://github.com/frappe/erpnext/issues/58570)) ([e64fddf](e64fddfad5))
* persist redistributed additional costs during stock entry repost (backport [#58433](https://github.com/frappe/erpnext/issues/58433)) ([#58533](https://github.com/frappe/erpnext/issues/58533)) ([629bc20](629bc20e90))
* **pos:** add permission checks on `get_invoices` (backport [#58591](https://github.com/frappe/erpnext/issues/58591)) ([#58597](https://github.com/frappe/erpnext/issues/58597)) ([d95eeb0](d95eeb0f6a))
* **projects:** check read permission on source in create_duplicate_project ([bd35957](bd35957582))
* **projects:** ignore cancelled invoices in timesheet portal (backport [#58501](https://github.com/frappe/erpnext/issues/58501)) ([#58504](https://github.com/frappe/erpnext/issues/58504)) ([d732d06](d732d06e25))
* round party balances to currency precision in Trial Balance for Party ([956a6ed](956a6ed407))
* **selling:** check quotation write permission before marking lost ([#58493](https://github.com/frappe/erpnext/issues/58493)) ([4e74831](4e74831a08))
* **selling:** check sales order permission before work order creation (backport [#58492](https://github.com/frappe/erpnext/issues/58492)) ([#58497](https://github.com/frappe/erpnext/issues/58497)) ([2b8e12e](2b8e12ef44))
* **sms_settings:** add patch to pre-fill roles into SMS Settings Roles Table ([4b89ddf](4b89ddffde))
* **stock:** auto-select batch no before saving transaction records (backport [#58536](https://github.com/frappe/erpnext/issues/58536)) ([#58539](https://github.com/frappe/erpnext/issues/58539)) ([eb4c327](eb4c327a2b))
* **stock:** ignore cancelled batch entries in valuation (backport [#58659](https://github.com/frappe/erpnext/issues/58659)) ([#58660](https://github.com/frappe/erpnext/issues/58660)) ([f4ed4ca](f4ed4cae64))
* **stock:** keep pick list links when refetching stock entry items ([01e0844](01e0844d40))
* **stock:** load available serial no report (backport [#58558](https://github.com/frappe/erpnext/issues/58558)) ([#58562](https://github.com/frappe/erpnext/issues/58562)) ([06758f2](06758f2792))
* **stock:** preserve exchange gain loss journals in lcv ([#58505](https://github.com/frappe/erpnext/issues/58505)) ([1242316](124231681a))
* **stock:** validate serial inventory dimensions ([#58394](https://github.com/frappe/erpnext/issues/58394)) ([a1aabaf](a1aabaff18))
* sum item and its alternate transferred qty on work order required items ([1411835](1411835507))
* sync translations from crowdin (version-16-hotfix) ([#58455](https://github.com/frappe/erpnext/issues/58455)) ([c924de3](c924de3c55))
* **taxes:** skip tax addition for invoice created from opening invoice tool ([bfbc13d](bfbc13d147))
* **timesheet:** scoping whitelisted methods output to projects and timesheets that are acccessible to users (backport [#58267](https://github.com/frappe/erpnext/issues/58267)) ([#58577](https://github.com/frappe/erpnext/issues/58577)) ([4f409e5](4f409e5ccf))
* translate doctype in map msg (backport [#58515](https://github.com/frappe/erpnext/issues/58515)) ([#58517](https://github.com/frappe/erpnext/issues/58517)) ([f0d2d40](f0d2d40d35))
* translate label in party validation (backport [#58624](https://github.com/frappe/erpnext/issues/58624)) ([#58626](https://github.com/frappe/erpnext/issues/58626)) ([9bb8d4f](9bb8d4ff93))
* validate items against source Sales Order in Material Request ([6546646](65466464df))
* validate POS Settings invoice and search fields on the server (backport [#58611](https://github.com/frappe/erpnext/issues/58611)) ([#58620](https://github.com/frappe/erpnext/issues/58620)) ([f8c2927](f8c29274a5))
* Work Order picks wrong Delivery Date when Sales Order has the same item in multiple rows ([#58526](https://github.com/frappe/erpnext/issues/58526)) ([cb4ec72](cb4ec72370))

### Features

* **analytics:** filter sales and purchase analytics by entity ([#58402](https://github.com/frappe/erpnext/issues/58402)) ([655ed81](655ed81575))
* **manufacturing:** add multi-currency support to Blanket Orders (backport [#58472](https://github.com/frappe/erpnext/issues/58472)) ([#58630](https://github.com/frappe/erpnext/issues/58630)) ([ff656b9](ff656b9ad2))
* valuation type for BOM secondary items (backport [#58431](https://github.com/frappe/erpnext/issues/58431)) ([#58632](https://github.com/frappe/erpnext/issues/58632)) ([1b44df4](1b44df480f))
2026-09-02 07:13:39 +00:00
Diptanil Saha
600cbf36af Merge pull request #58645 from frappe/version-16-hotfix
chore: release v16
2026-09-02 12:42:03 +05:30
Frappe PR Bot
b24c9eba55 chore(release): Bumped to Version 16.33.0
# [16.33.0](https://github.com/frappe/erpnext/compare/v16.32.3...v16.33.0) (2026-08-25)

### Bug Fixes

* **accounts:** allocate drop-ship cost by invoice quantity (backport [#58226](https://github.com/frappe/erpnext/issues/58226)) ([#58263](https://github.com/frappe/erpnext/issues/58263)) ([a62a949](a62a949b2a))
* **accounts:** disallow reversing a reverse journal entry ([8a26834](8a26834704))
* **accounts:** match returns to source invoice items (backport [#58250](https://github.com/frappe/erpnext/issues/58250)) ([#58264](https://github.com/frappe/erpnext/issues/58264)) ([9b0db26](9b0db26c25))
* **accounts:** supplier group filter not applied on accounts payable report ([d23b919](d23b9197d5))
* aggregate child warehouses in Stock Qty vs Serial No Count report (backport [#58134](https://github.com/frappe/erpnext/issues/58134)) ([#58366](https://github.com/frappe/erpnext/issues/58366)) ([abe4c0a](abe4c0a6b7))
* apply Sales Person user permissions in Accounts Receivable ([956be58](956be58c9c))
* **assets:** split FIFO/LIFO rate across grouped stock item rows ([98bef1c](98bef1cac8))
* **bank_statement_import:** add missing permission check on `get_import_status` (backport [#58217](https://github.com/frappe/erpnext/issues/58217)) ([#58219](https://github.com/frappe/erpnext/issues/58219)) ([2b685ed](2b685ed982))
* **bank_statement_import:** add missing permission check on multiple whitelisted methods (backport [#58221](https://github.com/frappe/erpnext/issues/58221)) ([#58224](https://github.com/frappe/erpnext/issues/58224)) ([81461ea](81461ea56c))
* block disabled/frozen party on Opportunity and Request for Quotation (backport [#57983](https://github.com/frappe/erpnext/issues/57983)) ([#58035](https://github.com/frappe/erpnext/issues/58035)) ([9f99ba6](9f99ba6ddc))
* **buying:** allow purchase returns against a closed purchase order ([#58139](https://github.com/frappe/erpnext/issues/58139)) ([61b5499](61b549960e))
* conflicts ([cbe7931](cbe7931b3b))
* correct Item Group doctype name in item tax template dashboard  (backport [#58192](https://github.com/frappe/erpnext/issues/58192)) ([#58213](https://github.com/frappe/erpnext/issues/58213)) ([56ac872](56ac87292f))
* correct to and from date filters in timesheet billing summary re… (backport [#58317](https://github.com/frappe/erpnext/issues/58317)) ([#58318](https://github.com/frappe/erpnext/issues/58318)) ([2077e84](2077e844d4))
* **crm_settings:** create custom fields for Frappe CRM on enabling synchronization ([795cf85](795cf8544c))
* describe stale exchange rate settings ([1ec2a2c](1ec2a2cd5d))
* don't set work order status to In Process only due to skip material transfer ([#58245](https://github.com/frappe/erpnext/issues/58245)) ([dd4d108](dd4d10862d))
* drop removed Restaurant doctype from sales tax template dashboard  (backport [#58191](https://github.com/frappe/erpnext/issues/58191)) ([#58211](https://github.com/frappe/erpnext/issues/58211)) ([c3cf7f2](c3cf7f2e91))
* **email_digest:** added permission check for `get_msg_html` (backport [#58197](https://github.com/frappe/erpnext/issues/58197)) ([#58200](https://github.com/frappe/erpnext/issues/58200)) ([32ebd69](32ebd69abc))
* escape interpolated values in portal, print and desk templates (backport [#58273](https://github.com/frappe/erpnext/issues/58273)) ([#58278](https://github.com/frappe/erpnext/issues/58278)) ([6b7b479](6b7b4796b4))
* escape interpolated values in text positions across portal and desk templates (backport [#58286](https://github.com/frappe/erpnext/issues/58286)) ([#58288](https://github.com/frappe/erpnext/issues/58288)) ([d357310](d3573105c4))
* escape on status image for workstations in production status (backport [#58279](https://github.com/frappe/erpnext/issues/58279)) ([#58281](https://github.com/frappe/erpnext/issues/58281)) ([9e2173e](9e2173e4c2))
* filter available batch report by company (backport [#57995](https://github.com/frappe/erpnext/issues/57995)) ([#58077](https://github.com/frappe/erpnext/issues/58077)) ([5933476](5933476778))
* get items from sales order in sales invoice ([#58163](https://github.com/frappe/erpnext/issues/58163)) ([0255314](0255314ea7))
* hide rfq status in supplier portal ([#58368](https://github.com/frappe/erpnext/issues/58368)) ([8a2109e](8a2109e62a))
* hide supplier name in rfq portal (backport [#58373](https://github.com/frappe/erpnext/issues/58373)) ([#58376](https://github.com/frappe/erpnext/issues/58376)) ([2329ef6](2329ef6424))
* ignore historical negative batch stock in outward validation (backport [#58148](https://github.com/frappe/erpnext/issues/58148)) ([#58151](https://github.com/frappe/erpnext/issues/58151)) ([c18881b](c18881b37d))
* Ignore permission while deleting user permission (backport [#57296](https://github.com/frappe/erpnext/issues/57296)) ([#57760](https://github.com/frappe/erpnext/issues/57760)) ([98d69b2](98d69b2ae3))
* include time logs ending at midnight in timesheet billing summary (backport [#58355](https://github.com/frappe/erpnext/issues/58355)) ([#58357](https://github.com/frappe/erpnext/issues/58357)) ([0bf34c0](0bf34c054a))
* **italy:** handle none price_list_rate in e-invoice xml generation (backport [#58242](https://github.com/frappe/erpnext/issues/58242)) ([#58370](https://github.com/frappe/erpnext/issues/58370)) ([feb51a4](feb51a475a))
* keep Currency and Price List section open for foreign currency (backport [#58074](https://github.com/frappe/erpnext/issues/58074)) ([#58113](https://github.com/frappe/erpnext/issues/58113)) ([a3a6efb](a3a6efbcea))
* **manufacturing:** derive material transfers from actual coverage ([#58115](https://github.com/frappe/erpnext/issues/58115)) ([2a9e430](2a9e4304a2))
* **manufacturing:** fall back to item group defaults for work order w… ([#58237](https://github.com/frappe/erpnext/issues/58237)) ([861fb26](861fb26b2c))
* **manufacturing:** keep MRP chart dates distinct ([1b37fd2](1b37fd2edc))
* **Material Requirements Planning Report:** detailed-view chart timescale ([de06cb7](de06cb7f45)), closes [#52632](https://github.com/frappe/erpnext/issues/52632)
* new docs should refetch incoming rates (backport [#58097](https://github.com/frappe/erpnext/issues/58097)) ([#58295](https://github.com/frappe/erpnext/issues/58295)) ([edb9b33](edb9b33264))
* patch to delete the `crm_deal` custom fields ([d66dc14](d66dc143e3))
* prevent duplicate supplier quotations from portal ([39e15c7](39e15c7b2d))
* prevent TimestampMismatchError resolving Dunning with multiple overdue installments ([5764d1d](5764d1d173))
* **projects:** respect permissions in timesheet billing summary (backport [#58320](https://github.com/frappe/erpnext/issues/58320)) ([#58322](https://github.com/frappe/erpnext/issues/58322)) ([647c933](647c93321b))
* Qty and UOM not fetched when adding Item in Material Request ([#58118](https://github.com/frappe/erpnext/issues/58118)) ([aecc551](aecc551b5e))
* renaming the overdue billing checkbox (backport [#58165](https://github.com/frappe/erpnext/issues/58165)) ([#58166](https://github.com/frappe/erpnext/issues/58166)) ([1ea1d5d](1ea1d5d6a5))
* render missing terms before printing ([#58358](https://github.com/frappe/erpnext/issues/58358)) ([f56cdac](f56cdac45f))
* resolve backport conflicts ([3fd3f94](3fd3f9485b))
* respect zero currency precision ([#58395](https://github.com/frappe/erpnext/issues/58395)) ([6b61146](6b61146d2f))
* rewriting the description of the overdue billing checkbox (backport [#58172](https://github.com/frappe/erpnext/issues/58172)) ([#58174](https://github.com/frappe/erpnext/issues/58174)) ([4bb7799](4bb7799919))
* run set_missing_values before creating Purchase Order from MRP report ([72114fa](72114fa738))
* **selling:** read overdue amount from payment ledger, not gl tags  (backport [#57786](https://github.com/frappe/erpnext/issues/57786)) ([#58026](https://github.com/frappe/erpnext/issues/58026)) ([29f6a5b](29f6a5b9cf))
* send auto reorder email to all managers in single company setup ([ac1c692](ac1c6921da))
* skip covered rows when ordering from the mrp report ([#58249](https://github.com/frappe/erpnext/issues/58249)) ([#58312](https://github.com/frappe/erpnext/issues/58312)) ([dfc2301](dfc2301f08))
* **stock:** confirm before changing item qty from the batch selector (backport [#58123](https://github.com/frappe/erpnext/issues/58123)) ([#58125](https://github.com/frappe/erpnext/issues/58125)) ([4f3ffd3](4f3ffd3820))
* **stock:** fetch item stock UOM in stock reconciliation (backport [#58284](https://github.com/frappe/erpnext/issues/58284)) ([#58291](https://github.com/frappe/erpnext/issues/58291)) ([1f21c0b](1f21c0b0af))
* **stock:** honour pick serial / batch based on in the batch selector (backport [#58176](https://github.com/frappe/erpnext/issues/58176)) ([#58182](https://github.com/frappe/erpnext/issues/58182)) ([d3a4d47](d3a4d476eb))
* **stock:** preserve item UOM conversion factor (backport [#58299](https://github.com/frappe/erpnext/issues/58299)) ([#58304](https://github.com/frappe/erpnext/issues/58304)) ([53b61e5](53b61e5ac6))
* **stock:** reset bin when no stock ledger entries remain ([#58362](https://github.com/frappe/erpnext/issues/58362)) ([37a1fd1](37a1fd11e9))
* stop doubling totals in timesheet billing summary (backport [#58311](https://github.com/frappe/erpnext/issues/58311)) ([#58315](https://github.com/frappe/erpnext/issues/58315)) ([c3313f5](c3313f5b34))
* use user data fields hook (backport [#58274](https://github.com/frappe/erpnext/issues/58274)) ([#58283](https://github.com/frappe/erpnext/issues/58283)) ([94b6622](94b6622d9d))
* validation for task end date check ([7b0df4b](7b0df4b28b))
* work order finish dialog with process loss qty from job card (backport [#58256](https://github.com/frappe/erpnext/issues/58256)) ([#58262](https://github.com/frappe/erpnext/issues/58262)) ([27a04d8](27a04d8e08))

### Features

* **accounts:** opt-in 'Consider Accounting Dimension' filter on General Ledger Report (backport [#58156](https://github.com/frappe/erpnext/issues/58156)) ([#58158](https://github.com/frappe/erpnext/issues/58158)) ([f8c3270](f8c3270049))
* add status filter to Supplier Quotation Comparison report ([2b84ed7](2b84ed78e8))
* Belgian Charts of Accounts (commercial + non-profit, FR + NL) (backport [#54679](https://github.com/frappe/erpnext/issues/54679)) ([#58186](https://github.com/frappe/erpnext/issues/58186)) ([d805f4d](d805f4d3fc))
* taxable-base resolver hook for custom charge types ([#56175](https://github.com/frappe/erpnext/issues/56175)) ([ea238a9](ea238a90ac))
* validate purchase receipt exchange rate parity on purchase invoice (backport [#58177](https://github.com/frappe/erpnext/issues/58177)) ([#58190](https://github.com/frappe/erpnext/issues/58190)) ([900064e](900064e395))
2026-08-25 17:04:28 +00:00
Diptanil Saha
1a745cd433 Merge pull request #58397 from frappe/version-16-hotfix
chore: release v16
2026-08-25 22:21:37 +05:30
Frappe PR Bot
11e0ba0a1c chore(release): Bumped to Version 16.32.3
## [16.32.3](https://github.com/frappe/erpnext/compare/v16.32.2...v16.32.3) (2026-08-18)

### Bug Fixes

* Qty and UOM not fetched when adding Item in Material Request (backport [#58118](https://github.com/frappe/erpnext/issues/58118)) ([#58266](https://github.com/frappe/erpnext/issues/58266)) ([f01f741](f01f7415e1))
2026-08-18 09:57:04 +00:00
mergify[bot]
f01f7415e1 fix: Qty and UOM not fetched when adding Item in Material Request (backport #58118) (#58266) 2026-08-18 15:25:21 +05:30
Frappe PR Bot
5412ea0b8c chore(release): Bumped to Version 16.32.2
## [16.32.2](https://github.com/frappe/erpnext/compare/v16.32.1...v16.32.2) (2026-08-18)

### Bug Fixes

* get items from sales order in sales invoice (backport [#58163](https://github.com/frappe/erpnext/issues/58163)) ([#58258](https://github.com/frappe/erpnext/issues/58258)) ([204f979](204f979f33))
2026-08-18 07:29:42 +00:00
mergify[bot]
204f979f33 fix: get items from sales order in sales invoice (backport #58163) (#58258)
Co-authored-by: Mihir Kandoi <kandoimihir@gmail.com>
2026-08-18 07:27:23 +00:00
Frappe PR Bot
21d1873020 chore(release): Bumped to Version 16.32.1
## [16.32.1](https://github.com/frappe/erpnext/compare/v16.32.0...v16.32.1) (2026-08-14)

### Bug Fixes

* ignore historical negative batch stock in outward validation (backport [#58148](https://github.com/frappe/erpnext/issues/58148)) (backport [#58151](https://github.com/frappe/erpnext/issues/58151)) ([#58153](https://github.com/frappe/erpnext/issues/58153)) ([e79b4ab](e79b4abe9d))
2026-08-14 06:20:44 +00:00
mergify[bot]
e79b4abe9d fix: ignore historical negative batch stock in outward validation (backport #58148) (backport #58151) (#58153)
fix: ignore historical negative batch stock in outward validation (backport #58148) (#58151)

fix: ignore historical negative batch stock in outward validation (#58148)

(cherry picked from commit 9239d1c2a3)


(cherry picked from commit c18881b37d)

Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Co-authored-by: rohitwaghchaure <rohitw1991@gmail.com>
2026-08-14 11:48:55 +05:30
Frappe PR Bot
81a6f97566 chore(release): Bumped to Version 16.32.0
# [16.32.0](https://github.com/frappe/erpnext/compare/v16.31.1...v16.32.0) (2026-08-11)

### Bug Fixes

* add raw material to its operation even when another operation uses the item ([35f9bec](35f9bec988))
* add type hints to conversion factor API ([dbfe7e1](dbfe7e199e))
* allow non-admin roles to import chart of accounts (backport [#57454](https://github.com/frappe/erpnext/issues/57454)) ([#58060](https://github.com/frappe/erpnext/issues/58060)) ([a707c82](a707c82c0c))
* allow selecting a warehouse for new items in the update items dialog ([#57876](https://github.com/frappe/erpnext/issues/57876)) ([c9977be](c9977be5d4))
* cap a manufacture entry at the job card's pending production ([79ad410](79ad410cc1))
* clear deferred revenue/expense fields on uncheck (backport [#57140](https://github.com/frappe/erpnext/issues/57140)) ([7e72e70](7e72e70cc1))
* **coa_importer:** added server-side validations for importing chart of accounts (backport [#58065](https://github.com/frappe/erpnext/issues/58065)) ([#58066](https://github.com/frappe/erpnext/issues/58066)) ([db22fcb](db22fcb157))
* condition check with empty object for falsy case ([838fb8e](838fb8e8df))
* **consolidated cash flow:** correct totals and labels in section foo… (backport [#57336](https://github.com/frappe/erpnext/issues/57336)) ([#58056](https://github.com/frappe/erpnext/issues/58056)) ([f11d0d5](f11d0d5cec))
* **controllers:** correct negative rate settings link ([51aecec](51aecec598))
* convert hours to minutes in workstation complete_job ([822e6d8](822e6d8924))
* declare precision 9 on all conversion_factor fields ([db49b03](db49b03913))
* derive operation FG items before material expansion, keep the final one the BOM's item ([3e0d0b2](3e0d0b2d68))
* don't demand raw material transfer for semi FG job cards on submit ([99d9d84](99d9d845bd))
* escape `customer_details` on lead creation from appointment (backport [#57947](https://github.com/frappe/erpnext/issues/57947)) ([#57949](https://github.com/frappe/erpnext/issues/57949)) ([dff4ec6](dff4ec6a74))
* field validation and perm checks on `get_stock_reservation_entries_for_voucher` (backport [#57968](https://github.com/frappe/erpnext/issues/57968)) ([#57970](https://github.com/frappe/erpnext/issues/57970)) ([0a9b632](0a9b632925))
* generate the next manufacture entry net of booked process loss ([2548751](2548751673))
* guard reconciliation table deletes when tables are missing ([21fbfa5](21fbfa541d))
* handling negative grand total ([e657a7f](e657a7f19f))
* incorrect batch-wise valuation rate for entries with same posting datetime (backport [#57794](https://github.com/frappe/erpnext/issues/57794)) ([#57797](https://github.com/frappe/erpnext/issues/57797)) ([adfa676](adfa6768c9))
* incorrect entry detection in Stock Ledger Invariant Check ([#57886](https://github.com/frappe/erpnext/issues/57886)) ([f7bae88](f7bae888cf))
* item property updates in POS and transactions and add styling (backport [#57189](https://github.com/frappe/erpnext/issues/57189)) ([#58058](https://github.com/frappe/erpnext/issues/58058)) ([5f43c89](5f43c89c45))
* **job_card:** apply the completion dialog's qty to manufacture ([#57685](https://github.com/frappe/erpnext/issues/57685)) ([d97cf13](d97cf131a1))
* **job_card:** leave the pending qty out of the job card's own output ([#57686](https://github.com/frappe/erpnext/issues/57686)) ([0c79194](0c7919429e))
* **job_card:** reject a completion split that cannot add up ([#57687](https://github.com/frappe/erpnext/issues/57687)) ([3907d93](3907d93f9f))
* **job_card:** require the previous operation to be manufactured ([#57684](https://github.com/frappe/erpnext/issues/57684)) ([a22a7fd](a22a7fddba))
* **journal_entry:** validate blocked purchase invoices ([04718e1](04718e15c9))
* **journal_entry:** validation message for blocked purchase invoice ([#57896](https://github.com/frappe/erpnext/issues/57896)) ([f0adbd2](f0adbd2bd3))
* keep asset repair downtime in sync with entered dates ([ca5418e](ca5418e2c9))
* keep job card actions visible for corrective job cards ([4ee276d](4ee276d3db))
* keep source rate on re-fetch when maintain same rate is enabled (backport [#57479](https://github.com/frappe/erpnext/issues/57479)) ([#57792](https://github.com/frappe/erpnext/issues/57792)) ([ee5316e](ee5316ecd0))
* keep Target Warehouse optional for work orders tracking semi finished goods ([c598cf9](c598cf9010))
* keep the transfer qty check for legacy semi FG cards without an FG item ([f810d78](f810d780c0))
* **manufacturing:** adapt version 16 compatibility ([a8060d5](a8060d5e99))
* **manufacturing:** align quantity split rounding ([317dd18](317dd18ce5))
* **manufacturing:** avoid child BOM cache lookups ([fb87751](fb877515ca))
* **manufacturing:** correct nested BOM quantities ([b4929e2](b4929e2737))
* **manufacturing:** keep item code searchable when a barcode matches the same text ([87c4009](87c4009572))
* **manufacturing:** type whitelisted BOM arguments ([87b456f](87b456faa2))
* mirror rounding adjustment on distributed_discount_amount (backport [#58047](https://github.com/frappe/erpnext/issues/58047)) ([#58055](https://github.com/frappe/erpnext/issues/58055)) ([d680115](d680115fcb))
* optimize product bundle item search ([2934971](29349711e4))
* preserve custom title on new JV (backport [#57987](https://github.com/frappe/erpnext/issues/57987)) ([#57989](https://github.com/frappe/erpnext/issues/57989)) ([4a2163e](4a2163ebf8))
* preserve original operation idx in manually created Job Cards ([fee003a](fee003a82d))
* purchase return of batchwise valuation batch valued at original receipt rate instead of batch avg rate (version-16-hotfix) ([#57836](https://github.com/frappe/erpnext/issues/57836)) ([aa70d9b](aa70d9bbc3))
* re-check future sle before queuing repost on submit ([#57664](https://github.com/frappe/erpnext/issues/57664)) ([#57961](https://github.com/frappe/erpnext/issues/57961)) ([2b020c2](2b020c2fcf))
* reflect in-invoice receivable settlements in Sales Register ledger view ([a90907f](a90907fda6))
* **regional:** rename Italy's duplicate Customer name fields ([f56867d](f56867d843)), closes [#46281](https://github.com/frappe/erpnext/issues/46281) [#50915](https://github.com/frappe/erpnext/issues/50915) [#57215](https://github.com/frappe/erpnext/issues/57215) [#50921](https://github.com/frappe/erpnext/issues/50921) [#53409](https://github.com/frappe/erpnext/issues/53409)
* repost read stale sibling SLE rate for moving average returns ([ffa65b0](ffa65b0c48))
* require FG / Semi FG Item on operations when tracking semi finished goods ([03eeb83](03eeb839fb))
* require material transfer before job card start and completion ([a7f75de](a7f75de1aa))
* require WIP warehouse for work orders tracking semi finished goods ([24cd5f2](24cd5f22b5))
* roll up process loss to the work order for semi finished goods ([27130d8](27130d8e49))
* round computed conversion factors to field precision ([206ed28](206ed28924))
* round production plan mr_items quantity to field precision ([2d056ae](2d056aee3d))
* **sales-invoice:** respect Customize Form hidden setting on Update Stock ([#57819](https://github.com/frappe/erpnext/issues/57819)) ([0e26f9b](0e26f9b1db))
* scale generated raw materials to the manufacture entry's production share ([acba994](acba9945b0))
* scope manufacture entry process loss to its own job card ([a0b370b](a0b370b2e9)), closes [frappe/erpnext#57892](https://github.com/frappe/erpnext/issues/57892)
* **selling:** bill re-delivered sales order quantities ([6fb09b1](6fb09b1e21))
* **selling:** preserve explicit UOM during item selection ([218397e](218397e78d))
* **selling:** read overdue amount from payment ledger, not gl tags (backport [#57786](https://github.com/frappe/erpnext/issues/57786)) ([#58057](https://github.com/frappe/erpnext/issues/58057)) ([b89229a](b89229a93d))
* **selling:** reset stale item details on item change ([b5d727f](b5d727fb81))
* set `restrict_globals=True` in `frappe.render_template` (backport [#57899](https://github.com/frappe/erpnext/issues/57899)) ([#57902](https://github.com/frappe/erpnext/issues/57902)) ([6b45002](6b45002abc))
* **setup:** fetch driver address by supplier link ([62a851b](62a851bebb))
* skip incoming rate calc when serial no qty is zero (backport [#57427](https://github.com/frappe/erpnext/issues/57427)) ([#57957](https://github.com/frappe/erpnext/issues/57957)) ([a4d9411](a4d9411345))
* skip PO items with invoice-created receipts in billing repair patch ([9139994](9139994686))
* skip the pending production check on update-after-submit saves ([491f9fa](491f9fa3fe))
* **stock:** drop call to confirm_if_drafts_exist missing on v16 ([#57833](https://github.com/frappe/erpnext/issues/57833)) ([626e351](626e35135f))
* **stock:** handle multi-item opening balance in Stock Ledger report (backport [#57591](https://github.com/frappe/erpnext/issues/57591)) ([#57796](https://github.com/frappe/erpnext/issues/57796)) ([af3184c](af3184c8b4))
* **stock:** repair duplicated purchase receipt billing ([fa733e6](fa733e691b))
* **stock:** validate new warehouse inventory account after naming ([fce0eb1](fce0eb1577))
* **stock:** validate warehouse accounts when used ([0dfa54f](0dfa54f812))
* stop asking for a manufacturing entry when process loss explains the shortfall ([104c8df](104c8df765))
* **subscription:** don't reactivate a cancelled subscription (backport [#57774](https://github.com/frappe/erpnext/issues/57774))  ([eeb3cd2](eeb3cd238e)), closes [#57761](https://github.com/frappe/erpnext/issues/57761) [#56796](https://github.com/frappe/erpnext/issues/56796) [#56796](https://github.com/frappe/erpnext/issues/56796) [#57780](https://github.com/frappe/erpnext/issues/57780)
* sync open reference forms after Quality Inspection updates them ([33eb619](33eb6199d9))
* sync translations from crowdin ([#57841](https://github.com/frappe/erpnext/issues/57841)) ([a9d139a](a9d139ae6b))
* sync translations from crowdin ([#58069](https://github.com/frappe/erpnext/issues/58069)) ([f697b02](f697b024db))
* tolerate floating-point drift in sales team allocated percentage ([39f15bb](39f15bb3e9))
* use stock settings for warehouse defaults ([d8bbe86](d8bbe865a8))
* validate webform for project ([8d98fe8](8d98fe8187))
* zero-rate repost fallback could still read sibling SLE ([81f81ff](81f81fff32))

### Features

* **job_card:** print quantities with their stock uom ([#57689](https://github.com/frappe/erpnext/issues/57689)) ([eb90186](eb90186d3f))
* stock validations in Period Closing Voucher and snapshot-seeded batch valuation (backport [#57811](https://github.com/frappe/erpnext/issues/57811)) ([#57816](https://github.com/frappe/erpnext/issues/57816)) ([243266f](243266f5ef))
* sync serial no status from stock ledger in Stock Qty vs Serial No Count report (version-16-hotfix) ([#57864](https://github.com/frappe/erpnext/issues/57864)) ([ea5cbb1](ea5cbb116c))
2026-08-11 23:39:40 +00:00
Diptanil Saha
b27bc42d51 Merge pull request #58024 from frappe/version-16-hotfix
chore: release v16
2026-08-12 05:08:00 +05:30
Frappe PR Bot
22247ab7c5 chore(release): Bumped to Version 16.31.1
## [16.31.1](https://github.com/frappe/erpnext/compare/v16.31.0...v16.31.1) (2026-08-06)

### Bug Fixes

* **stock:** drop call to confirm_if_drafts_exist missing on v16 ([#57833](https://github.com/frappe/erpnext/issues/57833)) ([e834910](e834910bfd))
2026-08-06 08:12:42 +00:00
Mihir Kandoi
f8b19f7376 Merge pull request #57834 from frappe/mergify/bp/version-16/pr-57833
fix(stock): drop call to confirm_if_drafts_exist missing on v16 (backport #57833)
2026-08-06 13:40:55 +05:30
Mihir Kandoi
e834910bfd fix(stock): drop call to confirm_if_drafts_exist missing on v16 (#57833)
(cherry picked from commit 626e35135f)
2026-08-06 08:09:41 +00:00
Frappe PR Bot
68ea583a1f chore(release): Bumped to Version 16.31.0
# [16.31.0](https://github.com/frappe/erpnext/compare/v16.30.0...v16.31.0) (2026-08-04)

### Bug Fixes

* **accounts receivable:** made territory field multi select (backport [#57322](https://github.com/frappe/erpnext/issues/57322)) ([#57346](https://github.com/frappe/erpnext/issues/57346)) ([9b452f1](9b452f12b7))
* **accounts:** fetch deferred invoice docs on non-empty `sales_docs` or `purchase_docs` in repost accounting ledger ([#57753](https://github.com/frappe/erpnext/issues/57753)) ([6153202](6153202231))
* **accounts:** skip party dashboard without invoice permission ([ee6955d](ee6955d56c))
* **accounts:** update AU standard chart of accounts (backport [#57145](https://github.com/frappe/erpnext/issues/57145)) ([#57608](https://github.com/frappe/erpnext/issues/57608)) ([1ea1ce1](1ea1ce15d0))
* allow custom remark on reversal journal entry ([b4dfca9](b4dfca9ef1))
* apply the supplier selection to this branch's own mapper module ([e5f8d0c](e5f8d0c84b))
* **assets:** add permission checks on whitelisted methods on `asset_capitalization` ([99f249b](99f249b1a0))
* **banking:** fetch company list from DB instead of boot (backport [#57731](https://github.com/frappe/erpnext/issues/57731)) ([#57739](https://github.com/frappe/erpnext/issues/57739)) ([ca60653](ca6065398c))
* do not fetch a random inventory account when multiple inventory accounts exist (backport [#57626](https://github.com/frappe/erpnext/issues/57626)) ([#57632](https://github.com/frappe/erpnext/issues/57632)) ([34cbd3c](34cbd3c8d5))
* drop row prefix in reserve stock message when row is unknown ([684ae4d](684ae4d762))
* escape data in multiple templates (backport [#57742](https://github.com/frappe/erpnext/issues/57742)) ([#57770](https://github.com/frappe/erpnext/issues/57770)) ([824ae57](824ae57e44))
* escape item code and UOM in the supplier dialog errors ([06a753f](06a753faf3))
* exclude transferred and consumed qty from dashboard reserved stock ([46317b0](46317b063a))
* filter Accounts Receivable by invoice sales partner (backport [#57628](https://github.com/frappe/erpnext/issues/57628)) ([#57648](https://github.com/frappe/erpnext/issues/57648)) ([0e46937](0e46937f60))
* guard against None row in get_stock_balance_for (backport [#57567](https://github.com/frappe/erpnext/issues/57567)) ([283ee6e](283ee6e07b))
* guard scio row lookup in stock entry items_add ([fb6c87d](fb6c87dd0c))
* **italy:** skip e-invoicing for opening invoices ([5e584d1](5e584d1cfb))
* **item_variant:** added permission checks on `enqueue_multiple_variant_creation` ([c7cf9d8](c7cf9d868b))
* keep the bulk supplier field to half the supplier selection dialog ([2c9db13](2c9db13041))
* label the items table in the supplier selection dialog ([187840b](187840b559))
* let Purchase Receipt cancel defer to Frappe's linked-document check (backport [#57592](https://github.com/frappe/erpnext/issues/57592)) ([#57597](https://github.com/frappe/erpnext/issues/57597)) ([16be0f0](16be0f0944))
* link the item and spell out the unit in the supplier dialog errors ([810b9ae](810b9ae28f))
* list the Purchase Orders created per supplier instead of opening one ([d2fe4b6](d2fe4b623c))
* **manufacturing:** reach the whole configurator from tree toolbar actions ([281e92f](281e92fb6e)), closes [#57773](https://github.com/frappe/erpnext/issues/57773)
* open the Purchase Order when the supplier selection creates only one ([e71cef0](e71cef02b3))
* **opportunity:** add validation for positive item quantities ([a9f969e](a9f969e942))
* **payment reconciliation:** correct supplier gain/loss posting ([dc907ad](dc907add40))
* **payment_request:** added permission checks on `resend_payment_email` ([fcbbb25](fcbbb251cf))
* **plant_floor:** add missing perm check on `get_stock_summary` (backport [#57667](https://github.com/frappe/erpnext/issues/57667)) ([#57670](https://github.com/frappe/erpnext/issues/57670)) ([7bc0475](7bc04752fc))
* **pos:** don't double-escape Item Group names in get_item_groups ([#57673](https://github.com/frappe/erpnext/issues/57673)) ([a5544d0](a5544d0bfb))
* preserve UOM conversion factor precision in transactions ([e5999b2](e5999b22c7))
* prevent duplicate shipping charges without cost center ([666b616](666b6167a1))
* **projects:** add project filter ([3ba8313](3ba83134af))
* **projects:** include on hold status in project filters and reports ([d104d8e](d104d8e723))
* **purchase:** reject purchase returns where every item has zero quantity ([032b922](032b922f0c))
* **quotation:** carry forward communications from opportunity at after_insert (backport [#57639](https://github.com/frappe/erpnext/issues/57639)) ([#57643](https://github.com/frappe/erpnext/issues/57643)) ([624a236](624a236f88))
* reject the same Material Request item twice in one supplier selection ([ea770f6](ea770f6a8e))
* resolve version 16 backport conflicts ([e98471d](e98471d9c9))
* resolve version-16 backport conflicts ([697f68d](697f68d1d2))
* respect child warehouse account override in Stock and Account Value Comparison ([#57552](https://github.com/frappe/erpnext/issues/57552)) ([ca657d2](ca657d2629))
* respect quantity precision in material transfer validation ([eb969a5](eb969a5866))
* **sales:** reject sales returns where every item has zero quantity ([aa71cd6](aa71cd695b))
* seed standard Item Groups under the existing tree root ([4ffa950](4ffa950aa3)), closes [#57581](https://github.com/frappe/erpnext/issues/57581)
* **selling:** don't require cancel and delete perms to remove items via Update Items (backport [#57419](https://github.com/frappe/erpnext/issues/57419)) ([#57601](https://github.com/frappe/erpnext/issues/57601)) ([04e1ca8](04e1ca8226))
* set Required By on Purchase Orders created per supplier ([f99d66d](f99d66d578))
* set reservation voucher_qty to voucher demand not reserved qty ([ecccedf](ecccedf0ed))
* source manually created asset value from valuation rate ([b556b01](b556b012f0))
* **stock:** accept every number a reading can be written as ([fccf122](fccf1220f6))
* **stock:** correct secondary item valuation across stock entry purposes ([4ed0374](4ed03748fe)), closes [#57732](https://github.com/frappe/erpnext/issues/57732) [#57735](https://github.com/frappe/erpnext/issues/57735) [#57736](https://github.com/frappe/erpnext/issues/57736) [#57737](https://github.com/frappe/erpnext/issues/57737) [#57738](https://github.com/frappe/erpnext/issues/57738)
* **stock:** keep manufactured item rate at zero when inputs are free  (backport [#57334](https://github.com/frappe/erpnext/issues/57334)) ([#57513](https://github.com/frappe/erpnext/issues/57513)) ([49924dd](49924ddd1d))
* **stock:** read quality inspection readings in the user's number format ([3b7fb68](3b7fb6851a))
* **stock:** resolve backport conflict in quality inspection imports ([656db1c](656db1c2fe))
* **stock:** scope over deliver/receive role check to delivery and receipt overflow ([4713ddd](4713ddd55b))
* **stock:** validate only the variant attributes that changed ([0013908](00139081f6))
* **stock:** validate over delivery/receipt allowance in stock settings ([3f3292c](3f3292ca4a))
* **stock:** value batched packed-item returns from the original bundle  (backport [#57327](https://github.com/frappe/erpnext/issues/57327)) ([#57511](https://github.com/frappe/erpnext/issues/57511)) ([c0ac8aa](c0ac8aaf86))
* sync translations from crowdin ([#57741](https://github.com/frappe/erpnext/issues/57741)) ([285aec3](285aec3164))
* update stock variance account logic which defaults to default expense ([#57656](https://github.com/frappe/erpnext/issues/57656)) ([d09c04a](d09c04a623))
* use payment entry posting date for received amount exchange rate (backport [#57660](https://github.com/frappe/erpnext/issues/57660)) ([#57663](https://github.com/frappe/erpnext/issues/57663)) ([5595d1e](5595d1ed2f))
* validate account frozen date ([17aeb0b](17aeb0b55b))
* warn about existing draft orders before the supplier selection creates more ([93331a1](93331a1cf0))

### Features

* adjust the ordered quantity in the supplier selection dialog ([2c8c375](2c8c375ca6))
* alert when Required By falls back to today ([1adeb66](1adeb66bdc))
* auto-fill subscription accounting dimensions from plan with item fallback (backport [#57615](https://github.com/frappe/erpnext/issues/57615)) ([#57622](https://github.com/frappe/erpnext/issues/57622)) ([ebba4e9](ebba4e9958))
* order only the items ticked in the supplier selection dialog ([d6ee543](d6ee5436b8))
* select a supplier per item when creating Purchase Orders from Material Request ([95f7810](95f7810948))
* set one supplier across every item in the supplier selection dialog ([9b647be](9b647bed5c))
* show the UOM alongside the quantity in the supplier selection dialog ([5aaefec](5aaefec747))
* status based bar colors in Work Order gantt view (backport [#57634](https://github.com/frappe/erpnext/issues/57634)) ([#57636](https://github.com/frappe/erpnext/issues/57636)) ([2d03d80](2d03d80269))
2026-08-04 20:30:34 +00:00
Diptanil Saha
2769a8c69e Merge pull request #57781 from frappe/version-16-hotfix
chore: release v16
2026-08-05 01:58:06 +05:30
Frappe PR Bot
8378b6e203 chore(release): Bumped to Version 16.30.0
# [16.30.0](https://github.com/frappe/erpnext/compare/v16.29.0...v16.30.0) (2026-07-28)

### Bug Fixes

* add permission check for `get_item_details` (backport [#57515](https://github.com/frappe/erpnext/issues/57515)) ([#57551](https://github.com/frappe/erpnext/issues/57551)) ([7a606ab](7a606ab91c))
* bump item doctype modified timestamp so description change syncs on migrate ([2471c5c](2471c5ccbb))
* **crm:** align Opportunity status checks with Quotation statuses (backport [#57489](https://github.com/frappe/erpnext/issues/57489)) ([#57491](https://github.com/frappe/erpnext/issues/57491)) ([ad9870a](ad9870acc1))
* **crm:** clarify the reason why an opportunity cannot be declared as lost (backport [#57495](https://github.com/frappe/erpnext/issues/57495)) ([#57498](https://github.com/frappe/erpnext/issues/57498)) ([3ea19d8](3ea19d8eb1))
* detect the currency column by fieldtype in trends total row ([a30aac8](a30aac87bf))
* enable the 'Include Zero Stock Items' filter by default to show zero-stock items in the Stock Balance report (backport [#57458](https://github.com/frappe/erpnext/issues/57458)) ([#57460](https://github.com/frappe/erpnext/issues/57460)) ([a0af717](a0af717234))
* enhance growth view filtering by validating period keys ([3f87836](3f87836536))
* force-delete repost data file during cleanup (backport [#57245](https://github.com/frappe/erpnext/issues/57245)) ([32baf6a](32baf6a47c))
* get reserved batch qty precision from settings ([95de237](95de2374ed))
* guard against missing is_your_company_address custom field on address ([2e6b4b5](2e6b4b5838))
* Incorrect creation time at the time cancelling an entry causing an issue especially same posting datetime  (backport [#57380](https://github.com/frappe/erpnext/issues/57380)) ([#57397](https://github.com/frappe/erpnext/issues/57397)) ([84813d7](84813d7f46))
* **item:** correct description on deferred revenue/expense ([ee12f8d](ee12f8d2d4))
* **manufacturing:** exclude corrective job cards from semi-FG aggregate ([ebc8482](ebc8482310))
* **manufacturing:** fall back to UOM Conversion Factor in Production Plan (backport [#57553](https://github.com/frappe/erpnext/issues/57553)) ([#57554](https://github.com/frappe/erpnext/issues/57554)) ([8f36753](8f36753705))
* **manufacturing:** scope BOM Creator tree children to the parent row ([339bb0b](339bb0b4ea)), closes [#57311](https://github.com/frappe/erpnext/issues/57311)
* **manufacturing:** sum semi-FG qty across split job cards ([c411b8e](c411b8e471))
* **manufacturing:** update cost of BOMs created via BOM Creator ([f1a0a5e](f1a0a5e1bf))
* map MT940 per-transaction reference from :61: customer_reference ([b9c4f79](b9c4f790bd))
* map pick list customer to delivery note when no sales order ([3f6501b](3f6501b4ff)), closes [#57412](https://github.com/frappe/erpnext/issues/57412)
* migrate stored AR/AP ageing filter to renamed field ([2e5fc38](2e5fc38179))
* pool batch slot values on every run, not only when negative ([5763378](5763378ee1))
* **quotation:** carry forward communications from opportunity (backport [#57507](https://github.com/frappe/erpnext/issues/57507)) ([#57509](https://github.com/frappe/erpnext/issues/57509)) ([f9b3e42](f9b3e42dcd))
* rebalance batch slot values at the pooled rate when driven negative ([8a50572](8a50572786))
* recalculate operating cost on hour rate change in routing ([c182b40](c182b4085b))
* recover failed POS closings (backport [#57203](https://github.com/frappe/erpnext/issues/57203)) ([#57572](https://github.com/frappe/erpnext/issues/57572)) ([9c946eb](9c946eb168))
* rename misleading filter labels in AR/AP reports ([6d856fa](6d856fa632))
* resolve backport conflicts in item doctype ([0ce5040](0ce50407f9))
* respect selected BOM when creating work order for variant item ([#57359](https://github.com/frappe/erpnext/issues/57359)) ([1132eb1](1132eb1a0f))
* respect user permissions in party dashboard company list ([c79f2e4](c79f2e45a8)), closes [frappe/erpnext#57428](https://github.com/frappe/erpnext/issues/57428)
* **setup:** scope manufacturing warehouse filters to company ([f05e8ed](f05e8ed0ce))
* skip stock expense GL entries for non-stock items ([#57518](https://github.com/frappe/erpnext/issues/57518)) ([861c50e](861c50e727))
* **stock:** narrow legacy serial ledger lookup by item (backport [#57499](https://github.com/frappe/erpnext/issues/57499)) ([#57506](https://github.com/frappe/erpnext/issues/57506)) ([59efe72](59efe7299a))
* stop storing raw title template on subcontracting orders ([0863c1e](0863c1e05c))
* **subcontracting:** release raw-material reservation when closing a subcontracting order ([ee75fac](ee75fac9d7))
* **test:** flaky test in exchange rate revaluation ([484ff8e](484ff8e349))
* typeerror in get_batches_by_oldest for mixed batch expiry ([bbe7580](bbe7580c9d))
* update formatting of growth view for FS report ([da3844c](da3844c4df))
* update operating cost when propagating workstation hour rate to routing ([#57504](https://github.com/frappe/erpnext/issues/57504)) ([39d5fd8](39d5fd84db))
* use company currency instead of global default in report (backport [#56561](https://github.com/frappe/erpnext/issues/56561)) ([9e5f77b](9e5f77b57c))

### Features

* block sales invoice submit when customer overdue exceeds threshold (backport [#57230](https://github.com/frappe/erpnext/issues/57230), [#57298](https://github.com/frappe/erpnext/issues/57298)) ([#57438](https://github.com/frappe/erpnext/issues/57438)) ([d3c5e86](d3c5e866f0)), closes [#52960](https://github.com/frappe/erpnext/issues/52960)
* book Expenses Added To Stock GL entries (backport [#57190](https://github.com/frappe/erpnext/issues/57190) + [#57475](https://github.com/frappe/erpnext/issues/57475)) ([#57503](https://github.com/frappe/erpnext/issues/57503)) ([68caa60](68caa60dfa))
* make Shipping Rule Cost Center optional with company default fallback (backport [#57355](https://github.com/frappe/erpnext/issues/57355)) ([#57385](https://github.com/frappe/erpnext/issues/57385)) ([bbd942c](bbd942c600))
2026-07-28 23:31:26 +00:00
Diptanil Saha
eaf95e5c36 Merge pull request #57548 from frappe/version-16-hotfix
chore: release v16
2026-07-29 04:59:39 +05:30
Frappe PR Bot
a5de60c357 chore(release): Bumped to Version 16.29.0
# [16.29.0](https://github.com/frappe/erpnext/compare/v16.28.0...v16.29.0) (2026-07-22)

### Bug Fixes

* add fetch from in production plan material request child table ([2852671](2852671cd5))
* added missing validations for `Dunning Type` (backport [#57224](https://github.com/frappe/erpnext/issues/57224)) ([#57227](https://github.com/frappe/erpnext/issues/57227)) ([3948951](3948951904))
* allow delivery when a batch is reserved across multiple sales orders (backport [#57169](https://github.com/frappe/erpnext/issues/57169)) ([56bbca0](56bbca0203))
* block changing Stock account type when stock ledger entries exist (backport [#57283](https://github.com/frappe/erpnext/issues/57283)) ([#57285](https://github.com/frappe/erpnext/issues/57285)) ([a26296c](a26296ca50))
* consider min order qty in the purchase/transfer flow of production plan (backport [#57204](https://github.com/frappe/erpnext/issues/57204)) ([cbd4f93](cbd4f93f3d))
* correct typo in allow_negative_stock parameter ([e2be05e](e2be05e48b))
* dont overwrite rate with 0 if not found ([aa08f75](aa08f753b4))
* exclude fully-delivered reservations from the conflict message ([555c607](555c607f2f))
* exclude transferred_qty from work order item to pick list item mapping ([c466b49](c466b49d09)), closes [#57253](https://github.com/frappe/erpnext/issues/57253) [#57236](https://github.com/frappe/erpnext/issues/57236) [#56596](https://github.com/frappe/erpnext/issues/56596)
* hide job card field in purchase order item ([20f6ac8](20f6ac81b9))
* keep Standard Cost stock value in step with the standard rate ([fe65882](fe65882e59))
* name every conflicting voucher in the reserved batch error ([839fd5e](839fd5e3b6))
* parallel reposting stalls between scheduler ticks (backport [#57220](https://github.com/frappe/erpnext/issues/57220)) ([#57248](https://github.com/frappe/erpnext/issues/57248)) ([a3bfded](a3bfdede06))
* pass ctx keys get_price_list_rate_for reads, skip rate update on insert ([c3aea9c](c3aea9ca9c))
* **payments:** ensure `payments` app installed on the site in `payment_app_import_guard` (backport [#57342](https://github.com/frappe/erpnext/issues/57342)) ([#57344](https://github.com/frappe/erpnext/issues/57344)) ([2c8c076](2c8c076f6e))
* permission issue (backport [#57112](https://github.com/frappe/erpnext/issues/57112)) (backport [#57142](https://github.com/frappe/erpnext/issues/57142)) ([#57184](https://github.com/frappe/erpnext/issues/57184)) ([0817d10](0817d1064c))
* project % complete field allowing modification when manual method (backport [#57274](https://github.com/frappe/erpnext/issues/57274)) ([#57276](https://github.com/frappe/erpnext/issues/57276)) ([0d53f1a](0d53f1adb7))
* **project:** improved access control for project users (backport [#56675](https://github.com/frappe/erpnext/issues/56675)) ([#57181](https://github.com/frappe/erpnext/issues/57181)) ([b1adec7](b1adec7e9e))
* **report:** handle nonetype error in timesheet billing summary grouping logic ([b7cf3bf](b7cf3bf641))
* rescale batch FIFO slot values on stock reconciliation ([6b3b03f](6b3b03fcd8))
* rescale stock ageing FIFO slot values on stock reconciliation ([c9394c0](c9394c030f))
* resolve float precision before streaming stock ledger entries ([0f25254](0f252542c3))
* restrict jinja globals in process statement of accounts templates (backport [#56458](https://github.com/frappe/erpnext/issues/56458)) ([#57232](https://github.com/frappe/erpnext/issues/57232)) ([5f6952b](5f6952b15c))
* revalue batch reco slots only when the entry covers the full batch ([a4bf506](a4bf50656a))
* round outstanding qty guard consistently with the conflict gate ([f3e1b3f](f3e1b3fca7))
* set correct currency in supplier quotation net rate field ([e24ef84](e24ef847dc))
* show transaction currency symbol in Payment Request schedule dialog and reference table (backport [#57050](https://github.com/frappe/erpnext/issues/57050)) ([#57312](https://github.com/frappe/erpnext/issues/57312)) ([429b58b](429b58b833))
* **stock:** correct stock ageing value for moving average and lifo items ([#56693](https://github.com/frappe/erpnext/issues/56693)) ([02549ef](02549ef8c4))
* strip account number when building account name in COA importer ([e1ebfa7](e1ebfa7163))
* sync process loss percentage when fg qty changes ([beeffee](beeffee8f9))
* sync translations from crowdin ([#57187](https://github.com/frappe/erpnext/issues/57187)) ([827831a](827831a247))
* use system float precision for batch qty comparison ([92217b2](92217b2c45))
* validate buying price list on material request and update item rates on change ([025b2f2](025b2f2922))

### Features

* add on hold status to project ([57a49ce](57a49ce168))
* recalculate valuation rate and stock value from Bin ([a38cbfc](a38cbfc88e))
* **stock:** automatically link portal users to their associated contact profiles for customers and suppliers ([134d63d](134d63de78))
* **stock:** expose all Bin qty fields in Stock Summary and Stock Projected Qty ([0bdf258](0bdf258888))
2026-07-22 00:17:03 +00:00
Diptanil Saha
264bfa188b Merge pull request #57324 from frappe/version-16-hotfix
chore: release v16
2026-07-22 05:45:21 +05:30
Frappe PR Bot
de591661b9 chore(release): Bumped to Version 16.28.0
# [16.28.0](https://github.com/frappe/erpnext/compare/v16.27.0...v16.28.0) (2026-07-15)

### Bug Fixes

* **accounts:** added permission checks on `get_account_balances_coa` (backport [#57107](https://github.com/frappe/erpnext/issues/57107)) ([#57122](https://github.com/frappe/erpnext/issues/57122)) ([e8a5325](e8a532587d))
* allow barcode scan to add and increment items in pick list ([00a646a](00a646ac25))
* apply precision fix inline for v16-hotfix, drop develop-only asset_service refactor ([d3a8e91](d3a8e91cda))
* **asset:** allow asset repair creation for fully depreciated assets ([8658039](8658039e9a))
* **budget-variance:** correct month shift in comparison chart ([703e9a7](703e9a728c))
* guard company logo lookup in default letterheads ([7b54314](7b543142a2))
* **journal-entry:** fetch outstanding on foreign currency ([ec782ee](ec782ee20d))
* **manufacturing:** preserve job card transferred quantity ([d7e9321](d7e9321746))
* match depreciation schedule rows at currency precision to avoid duplicate JEs ([a1fae95](a1fae959ed))
* prevent duplicate material request items in purchase order ([4d951c1](4d951c1cf8))
* set explicit table and logo widths in grey letterhead ([0d80fef](0d80fef3bf))
* **stock:** fix sqlparse token limit in get_bundle_wise_serial_nos ([5a99dd6](5a99dd6016))
* **stock:** set stock_uom on transferred Stock Reservation Entries ([5991ecf](5991ecfa3d))
* **stock:** show qty (company) and qty (warehouse) in sales transactions ([0d9ace7](0d9ace7ab8))
* **tnc:** `get_terms_and_conditions` render_template with `safe_exec` (backport [#56944](https://github.com/frappe/erpnext/issues/56944)) ([#56977](https://github.com/frappe/erpnext/issues/56977)) ([40c85a0](40c85a0087))

### Features

* **balance-sheet:** implement execute_synced_report with full parity to normal report ([636bcbe](636bcbedc0))
* **general-ledger:** implement execute_synced_report with full parity to normal report ([19ec095](19ec095ff8))
* **profit-and-loss:** implement execute_synced_report with full parity to normal report ([21ddb00](21ddb00e20))
* **trial-balance:** implement execute_duckdb with full parity to normal report ([228418b](228418b05f))
* weekly auto-repost of incorrect stock valuation entries (backport [#56637](https://github.com/frappe/erpnext/issues/56637)) ([#56700](https://github.com/frappe/erpnext/issues/56700)) ([bf1b7f2](bf1b7f2bea))
2026-07-15 02:24:51 +00:00
ruthra kumar
9a7e796fd2 Merge pull request #57161 from frappe/version-16-hotfix
chore: release v16
2026-07-15 06:17:14 +05:30
Frappe PR Bot
9d5c7605b8 chore(release): Bumped to Version 16.27.0
# [16.27.0](https://github.com/frappe/erpnext/compare/v16.26.2...v16.27.0) (2026-07-13)

### Bug Fixes

* **`frappe_crm_api`:** handle failure for `after_app_install` and `after_app_uninstall` ([eac3afc](eac3afcd88))
* **accounts:** clear clearance date when amending reconciled voucher ([6f28135](6f281356a6)), closes [#54909](https://github.com/frappe/erpnext/issues/54909)
* **accounts:** retain invoice table on opening invoice creation error (backport [#56353](https://github.com/frappe/erpnext/issues/56353)) ([#57058](https://github.com/frappe/erpnext/issues/57058)) ([4136ca5](4136ca55a7))
* add page numbers to print format footer ([0371e8e](0371e8eaf0))
* added permission checks on various whitelisted functions (backport [#56745](https://github.com/frappe/erpnext/issues/56745)) ([#56946](https://github.com/frappe/erpnext/issues/56946)) ([7ce1289](7ce1289c10))
* address review comments ([056195c](056195ce07))
* auto fetch serial no from previous operation output (backport to v16) ([#56861](https://github.com/frappe/erpnext/issues/56861)) ([17f2de4](17f2de42f3))
* **banking:** allow negative balance in bank statement import (backport [#56959](https://github.com/frappe/erpnext/issues/56959)) ([#57054](https://github.com/frappe/erpnext/issues/57054)) ([835e32c](835e32cec7))
* **banking:** handle blank password protected PDFs and negative amounts in CR/DR columns (backport [#56690](https://github.com/frappe/erpnext/issues/56690)) ([#56694](https://github.com/frappe/erpnext/issues/56694)) ([19c318d](19c318df68))
* **banking:** use custom renderer for translated strings and parser for rules (backport [#56643](https://github.com/frappe/erpnext/issues/56643)) ([#56647](https://github.com/frappe/erpnext/issues/56647)) ([2cb577b](2cb577b912))
* block serialized to non-serialized item change when SABB exists (backport [#56773](https://github.com/frappe/erpnext/issues/56773)) ([#56775](https://github.com/frappe/erpnext/issues/56775)) ([19d03fe](19d03fee46))
* clear stray permission message when item dashboard has no warehouse access ([a39753e](a39753ee08))
* **company:** ignore user permissions for link fields having link to `Account` and `Cost Center` (backport [#56748](https://github.com/frappe/erpnext/issues/56748)) ([#56795](https://github.com/frappe/erpnext/issues/56795)) ([003b655](003b6554c4))
* correct filter handling in Sales Person-wise Transaction Summary + tests (backport [#56783](https://github.com/frappe/erpnext/issues/56783)) ([#56908](https://github.com/frappe/erpnext/issues/56908)) ([24f0989](24f0989ac1))
* **crm_settings:** skip allowed users check when frappe crm is installed locally ([dfe4d5a](dfe4d5ab73))
* display outstanding amount using company default currency (backport [#56785](https://github.com/frappe/erpnext/issues/56785)) ([#57009](https://github.com/frappe/erpnext/issues/57009)) ([bdba4c8](bdba4c8091))
* don't attempt to create SABB for non-serialized / non-batch items (backport [#56627](https://github.com/frappe/erpnext/issues/56627)) ([#56803](https://github.com/frappe/erpnext/issues/56803)) ([8c56a5a](8c56a5ac0c))
* don't treat batch slot at FIFO queue head as qty slot ([20f6dd0](20f6dd0224))
* enforce read permission on ledger preview endpoints ([#57039](https://github.com/frappe/erpnext/issues/57039)) ([5642359](5642359c10))
* fetch payment entry reference amounts from invoice (backport [#56928](https://github.com/frappe/erpnext/issues/56928)) ([#57042](https://github.com/frappe/erpnext/issues/57042)) ([67c85ef](67c85ef0af))
* FIFO queue checks and incorrect entries filter in stock ledger reports ([3571512](3571512101)), closes [#43619](https://github.com/frappe/erpnext/issues/43619)
* **financial_statement:** render columnar financial statements instea… (backport [#56921](https://github.com/frappe/erpnext/issues/56921)) ([#57053](https://github.com/frappe/erpnext/issues/57053)) ([e6a6c13](e6a6c13355))
* for purchases do voucher based reposting (backport [#56601](https://github.com/frappe/erpnext/issues/56601)) ([#56608](https://github.com/frappe/erpnext/issues/56608)) ([e1e6176](e1e6176ddc))
* guard against missing DocType in onboarding steps patch ([#56804](https://github.com/frappe/erpnext/issues/56804)) ([f72289e](f72289e27c))
* **item-attribute:** clear attribute values when marking numeric ([374b340](374b340e73))
* **item:** error on uncommitted input and escape values in variant dialog ([04c834d](04c834d6a9))
* **item:** rework multiple variant dialog for large numeric ranges ([025d0cd](025d0cd7f3))
* make represents company field in purchase invoice ignore user permissions ([4aed77d](4aed77df0c))
* make trend report based-on and group-by column labels translatable ([b8199d8](b8199d88b6))
* map stock_qty in apply_price_list_on_item (backport [#56869](https://github.com/frappe/erpnext/issues/56869)) ([#57052](https://github.com/frappe/erpnext/issues/57052)) ([240fb2c](240fb2c4b8))
* partial delivery note against pick list (backport [#56985](https://github.com/frappe/erpnext/issues/56985)) ([#57006](https://github.com/frappe/erpnext/issues/57006)) ([20255a8](20255a8a7f))
* **patch:** moved create_company_custom_fields from `pre_model_sync` to `post_model_sync` (backport [#56962](https://github.com/frappe/erpnext/issues/56962)) ([#56965](https://github.com/frappe/erpnext/issues/56965)) ([14efd14](14efd14384))
* **payment reconciliation:** honour user permissions on accounting di… ([#56560](https://github.com/frappe/erpnext/issues/56560)) ([8eb92b8](8eb92b8b18))
* precision issue causing reconciliation error ([#54043](https://github.com/frappe/erpnext/issues/54043)) ([20df15b](20df15b3ac))
* prevent repeatable read related concurrency errors ([019b02a](019b02adcd))
* race condition and repeatable read in process pcv ([6d9f5fa](6d9f5fac76))
* recompute transferred qty before deciding work order status ([bc952f4](bc952f40d9))
* remove company default on cost center in stock entry detail ([a1fe6ce](a1fe6cee5d))
* remove incorrect Payable account_type from Customer Deposits in Philippines CoA (backport [#57018](https://github.com/frappe/erpnext/issues/57018)) ([#57061](https://github.com/frappe/erpnext/issues/57061)) ([edfbc71](edfbc71135))
* rename variant item_code/item_name when attribute abbreviation changes ([97cd1e7](97cd1e7144))
* render letter head footer in print formats ([fa4d32d](fa4d32dcdb))
* replay immutable SLE qty for serial/batch bundle valuation (backport [#56814](https://github.com/frappe/erpnext/issues/56814)) ([#56835](https://github.com/frappe/erpnext/issues/56835)) ([2264e25](2264e25cc6))
* resolve conflicts ([3aad7fe](3aad7fee24))
* restore Save button on reverse journal entry (backport [#56770](https://github.com/frappe/erpnext/issues/56770)) ([#56772](https://github.com/frappe/erpnext/issues/56772)) ([4573cd1](4573cd15a9))
* **selling:** update sales order per billed on credit note submission ([224cf19](224cf19f33))
* set conversion_rate on quotation created from customer ([26905bc](26905bc142))
* show only template items in Variant Of filter ([bebe011](bebe011636))
* skip item prices tab render for users without item price read access ([c964811](c964811293))
* skip stock reservation for opted-out production plans ([17598e2](17598e2626)), closes [#56798](https://github.com/frappe/erpnext/issues/56798)
* **stock:** backfill transferred qty for existing pick lists ([903d78c](903d78cc43))
* **stock:** link job card in stock entry created from pick list (backport [#57031](https://github.com/frappe/erpnext/issues/57031)) ([755b9cc](755b9ccbc3))
* **stock:** pick list serial batch posting date ([#57015](https://github.com/frappe/erpnext/issues/57015)) ([7e46be2](7e46be2a33)), closes [#56951](https://github.com/frappe/erpnext/issues/56951)
* **stock:** propagate project from job card to stock entry ([51d2077](51d2077eed))
* **stock:** support quality inspection for stock entry by purpose (backport [#56446](https://github.com/frappe/erpnext/issues/56446)) ([40ca3b5](40ca3b5e5d))
* update BOM operations when routing is changed ([b2e6a39](b2e6a39743))
* update events order by date asc (backport [#56963](https://github.com/frappe/erpnext/issues/56963)) ([#57056](https://github.com/frappe/erpnext/issues/57056)) ([e2fd061](e2fd061b3d))
* update modified timestamp in item.json ([f602ee0](f602ee0e73))
* use live source warehouse valuation for internal transfer purchase receipts (backport [#56431](https://github.com/frappe/erpnext/issues/56431)) ([#56677](https://github.com/frappe/erpnext/issues/56677)) ([1da28f2](1da28f2278))
* validate planned end date is not before planned start date in work order ([745baad](745baad0d1))
* validate reverse GL entries on current date under immutable ledger (backport [#56709](https://github.com/frappe/erpnext/issues/56709)) ([#56752](https://github.com/frappe/erpnext/issues/56752)) ([eea4756](eea4756ce9))
* validate template and its variant in the same Pricing Rule ([159a253](159a2538da))

### Features

* capture user persona during setup (backport [#56705](https://github.com/frappe/erpnext/issues/56705)) ([#56707](https://github.com/frappe/erpnext/issues/56707)) ([d9aa449](d9aa4491f1))
* **crm_settings:** auto-update crm sync settings on frappe crm install and uninstall ([cb2a930](cb2a930a32))
* explain FIFO allocation of fixed Discount Amount on Sales Order ([#56436](https://github.com/frappe/erpnext/issues/56436)) ([62fed1d](62fed1d562))
* **manufacturing:** create material request for raw materials from work order ([#56980](https://github.com/frappe/erpnext/issues/56980)) ([144f92d](144f92d58e))
* **sla:** filter service level agreement link by document type (backport [#56954](https://github.com/frappe/erpnext/issues/56954)) ([#56956](https://github.com/frappe/erpnext/issues/56956)) ([393b5d1](393b5d1f74))
* **stock:** support partial transfer from pick list ([af495ed](af495ed253))

### Performance Improvements

* avoid per-row Warehouse doc fetches in auto reorder job ([39b5e12](39b5e12305))
* batch bin lookups in delivery note stock update ([697e2c0](697e2c0b66))
2026-07-13 07:41:31 +00:00
Diptanil Saha
f94eee3197 Merge pull request #56931 from frappe/version-16-hotfix
chore: release v16
2026-07-13 12:09:52 +05:30
563 changed files with 6903 additions and 20477 deletions

View File

@@ -23,19 +23,6 @@ jobs:
- name: Install and Run Pre-commit
uses: pre-commit/action@v3.0.1
js-unit-tests:
name: js unit tests
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v4
with:
node-version: 24
- name: Run JS unit tests
run: yarn test:js
semgrep:
name: semgrep
runs-on: ubuntu-latest

View File

@@ -6,7 +6,7 @@ import frappe
from frappe.model.document import Document
from frappe.utils.user import is_website_user
__version__ = "16.26.2"
__version__ = "16.36.0"
def get_default_company(user=None):

View File

@@ -7,7 +7,6 @@
"description": "Heads (or groups) against which Accounting Entries are made and balances are maintained.",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/chart-of-accounts",
"engine": "InnoDB",
"field_order": [
"properties",
@@ -123,7 +122,6 @@
"description": "Setting Account Type helps in selecting this Account in transactions.",
"fieldname": "account_type",
"fieldtype": "Select",
"in_preview": 1,
"in_standard_filter": 1,
"label": "Account Type",
"oldfieldname": "account_type",
@@ -201,11 +199,11 @@
"options": "Account Category"
}
],
"icon": "vault",
"icon": "fa fa-money",
"idx": 1,
"is_tree": 1,
"links": [],
"modified": "2026-09-25 15:33:56.058228",
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Account",

View File

@@ -52,42 +52,6 @@ frappe.treeview_settings["Account"] = {
],
root_label: "Accounts",
get_tree_nodes: "erpnext.accounts.utils.get_children",
get_label: function (node) {
// clean display name — the account number renders as a badge (see
// onrender) instead of being glued into the name
return frappe.utils.escape_html(node.data.account_name || node.title || node.label);
},
onrender: function (node) {
if (node.is_root || !node.data) return;
const flags = [];
if (node.data.account_number) {
flags.push(frappe.ui.badge({ label: node.data.account_number }));
}
const company = frappe.treeview_settings["Account"].treeview?.page?.fields_dict?.company?.get_value();
const company_currency = company && erpnext.get_currency(company);
if (
node.data.account_currency &&
company_currency &&
node.data.account_currency !== company_currency
) {
flags.push(frappe.ui.badge({ label: node.data.account_currency, theme: "blue" }));
}
if (node.data.freeze_account === "Yes") {
flags.push(
frappe.ui.badge({
label: __("Frozen"),
icon: "lock",
title: __("Frozen - entries restricted"),
theme: "orange",
})
);
}
erpnext.utils.render_tree_node_flags(node, flags);
},
on_node_render: function (node, deep) {
const render_balances = () => {
for (let account of cur_tree.account_balance_data) {
@@ -268,7 +232,7 @@ frappe.treeview_settings["Account"] = {
frappe.treeview_settings["Account"].treeview["tree"] = treeview.tree;
if (treeview.can_create) {
treeview.page.set_primary_action(
{ label: __("Add Account"), short_label: __("Add") },
__("New"),
function () {
let root_company = treeview.page.fields_dict.root_company.get_value();
if (root_company) {
@@ -279,14 +243,13 @@ frappe.treeview_settings["Account"] = {
treeview.new_node();
}
},
"plus"
"add"
);
}
},
toolbar: [
{
label: __("Add Child"),
icon: "plus",
condition: function (node) {
return (
frappe.boot.user.can_create.indexOf("Account") !== -1 &&
@@ -309,7 +272,6 @@ frappe.treeview_settings["Account"] = {
return !node.root && frappe.boot.user.can_read.indexOf("GL Entry") !== -1;
},
label: __("View Ledger"),
icon: "book-open",
click: function (node, btn) {
frappe.route_options = {
from_date: erpnext.utils.get_fiscal_year(frappe.datetime.get_today(), true)[1],
@@ -324,106 +286,6 @@ frappe.treeview_settings["Account"] = {
},
btnClass: "hidden-xs",
},
{
// same label and mechanism as the Account form's Actions button:
// NOT frappe's generic rename (Allow Rename stays off) — this is
// ERPNext's controlled update that rebuilds the derived
// "number - name - abbr" document name
label: __("Update Account Name / Number"),
icon: "text-cursor-input",
condition: function (node) {
return !node.is_root && frappe.model.can_write("Account");
},
click: function (node) {
const dialog = new frappe.ui.Dialog({
title: __("Update Account Number / Name"),
fields: [
{
fieldtype: "Data",
fieldname: "account_name",
label: __("Account Name"),
reqd: 1,
default: node.data.account_name,
},
{
fieldtype: "Data",
fieldname: "account_number",
label: __("Account Number"),
default: node.data.account_number,
},
],
primary_action_label: __("Update"),
primary_action(values) {
dialog.hide();
frappe.dom.freeze(__("Updating {0}", [node.label]));
frappe.call({
method: "erpnext.accounts.doctype.account.account.update_account_number",
args: {
name: node.label,
account_name: values.account_name,
account_number: values.account_number,
},
callback: function (r) {
if (r.exc) return;
const treeview = frappe.views.trees["Account"];
node.parent_node && treeview.tree.load_children(node.parent_node);
},
always: function () {
frappe.dom.unfreeze();
},
});
},
});
dialog.show();
},
},
{
label: __("Convert to Group"),
icon: "folder-tree",
condition: function (node) {
return !node.is_root && !node.expandable && frappe.model.can_write("Account");
},
click: function (node) {
erpnext.accounts.convert_tree_node("Account", node, "convert_ledger_to_group");
},
},
{
label: __("Convert to Non-Group"),
icon: "file-text",
condition: function (node) {
// only on groups the user has opened and found empty — a
// group with children can't convert, so don't offer it
return (
!node.is_root &&
node.expandable &&
node.loaded &&
!node.$ul.children().length &&
frappe.model.can_write("Account")
);
},
click: function (node) {
erpnext.accounts.convert_tree_node("Account", node, "convert_group_to_ledger");
},
},
],
extend_toolbar: true,
};
frappe.provide("erpnext.accounts");
// shared by the Account and Cost Center tree views (defined in both files,
// whichever loads first wins): run the doctype's whitelisted convert method,
// then re-render the branch so the node's group/leaf state updates
erpnext.accounts.convert_tree_node =
erpnext.accounts.convert_tree_node ||
function (doctype, node, method) {
frappe.call({
method: "run_doc_method",
args: { dt: doctype, dn: node.label, method: method },
callback: function (r) {
if (r.exc) return;
const treeview = frappe.views.trees[doctype];
node.parent_node && treeview.tree.load_children(node.parent_node);
frappe.show_alert({ message: __("{0} converted", [node.label]), indicator: "green" });
},
});
};

View File

@@ -40,7 +40,6 @@
}
],
"grid_page_length": 50,
"icon": "folder-tree",
"index_web_pages_for_search": 1,
"links": [
{

View File

@@ -147,7 +147,7 @@
"precision": "9"
}
],
"icon": "scale",
"icon": "fa fa-list",
"in_create": 1,
"links": [],
"modified": "2025-08-22 19:13:50.400404",

View File

@@ -3,7 +3,6 @@
"autoname": "field:label",
"creation": "2019-05-04 18:13:37.002352",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/accounting-dimensions",
"engine": "InnoDB",
"field_order": [
"document_type",
@@ -50,7 +49,6 @@
"options": "Accounting Dimension Detail"
}
],
"icon": "layers",
"links": [],
"modified": "2024-03-27 13:05:56.890002",
"modified_by": "Administrator",

View File

@@ -6,7 +6,7 @@ frappe.ui.form.on("Accounting Dimension Filter", {
let help_content = `<table class="table table-bordered" style="background-color: var(--scrollbar-track-color);">
<tr><td>
<p>
<svg class="icon icon-sm"><use href="#icon-info"></use></svg>
<i class="fa fa-hand-right"></i>
{{__('Note: On checking Is Mandatory the accounting dimension will become mandatory against that specific account for all accounting transactions')}}
</p>
</td></tr>

View File

@@ -3,7 +3,6 @@
"autoname": "format:{accounting_dimension}-{#####}",
"creation": "2020-11-08 18:28:11.906146",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/accounting-dimension-filter",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -100,7 +99,6 @@
"label": "Fieldname"
}
],
"icon": "funnel",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-08-08 14:13:22.203011",

View File

@@ -3,7 +3,6 @@
"autoname": "field:period_name",
"creation": "2018-04-13 18:50:14.672323",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/accounting-period",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -78,7 +77,6 @@
"options": "Role"
}
],
"icon": "calendar-range",
"links": [],
"modified": "2026-03-09 17:15:33.577217",
"modified_by": "Administrator",

View File

@@ -3,7 +3,6 @@
"creation": "2013-06-24 15:49:57",
"doctype": "DocType",
"document_type": "Other",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/accounts-settings",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -794,7 +793,7 @@
}
],
"grid_page_length": 50,
"icon": "settings",
"icon": "icon-cog",
"idx": 1,
"index_web_pages_for_search": 1,
"issingle": 1,

View File

@@ -4,7 +4,6 @@
"creation": "2024-10-16 16:57:12.085072",
"doctype": "DocType",
"engine": "InnoDB",
"icon": "book-open",
"field_order": [
"company",
"voucher_type",

View File

@@ -6,7 +6,6 @@
"creation": "2018-04-07 16:59:59.496668",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/bank",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -101,7 +100,6 @@
"read_only": 1
}
],
"icon": "landmark",
"links": [],
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",

View File

@@ -5,7 +5,6 @@
"creation": "2017-05-29 21:35:13.136357",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/bank-account",
"engine": "InnoDB",
"field_order": [
"account_name",
@@ -228,7 +227,6 @@
}
],
"grid_page_length": 50,
"icon": "credit-card",
"links": [
{
"group": "Transactions",

View File

@@ -44,7 +44,6 @@
}
],
"grid_page_length": 50,
"icon": "wallet",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2026-06-16 22:17:48.007982",

View File

@@ -18,7 +18,6 @@
"unique": 1
}
],
"icon": "credit-card",
"links": [],
"modified": "2024-03-27 13:06:37.221876",
"modified_by": "Administrator",

View File

@@ -18,7 +18,6 @@
"unique": 1
}
],
"icon": "credit-card",
"links": [],
"modified": "2024-03-27 13:06:37.347035",
"modified_by": "Administrator",

View File

@@ -87,7 +87,7 @@
}
],
"hide_toolbar": 1,
"icon": "badge-check",
"icon": "fa fa-check",
"idx": 1,
"issingle": 1,
"links": [],

View File

@@ -5,7 +5,6 @@
"creation": "2016-12-17 10:43:35.731631",
"doctype": "DocType",
"document_type": "Document",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/bank-guarantee",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -217,7 +216,6 @@
}
],
"grid_page_length": 50,
"icon": "shield-check",
"is_submittable": 1,
"links": [],
"modified": "2026-05-25 18:12:10.768835",

View File

@@ -116,7 +116,6 @@
}
],
"hide_toolbar": 1,
"icon": "arrow-left-right",
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],

View File

@@ -224,7 +224,6 @@
}
],
"hide_toolbar": 1,
"icon": "file-down",
"links": [],
"modified": "2026-05-30 20:51:10.353723",
"modified_by": "Administrator",

View File

@@ -188,7 +188,6 @@
}
],
"grid_page_length": 50,
"icon": "file-clock",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2026-07-09 17:55:25.615942",

View File

@@ -4,7 +4,6 @@
"autoname": "naming_series:",
"creation": "2018-10-22 18:19:02.784533",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/bank-transaction",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -278,7 +277,6 @@
}
],
"grid_page_length": 50,
"icon": "arrow-left-right",
"is_submittable": 1,
"links": [],
"modified": "2026-04-11 20:41:15.124085",

View File

@@ -140,7 +140,6 @@
}
],
"grid_page_length": 50,
"icon": "zap",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2026-04-11 21:36:26.754667",

View File

@@ -167,7 +167,6 @@
}
],
"hide_toolbar": 1,
"icon": "split",
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],

View File

@@ -68,7 +68,6 @@
"label": "Generated"
}
],
"icon": "git-branch",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-03-27 13:06:39.766063",

View File

@@ -4,7 +4,6 @@
"autoname": "naming_series:",
"creation": "2016-05-16 11:42:29.632528",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/budgeting",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -331,7 +330,6 @@
}
],
"grid_page_length": 50,
"icon": "piggy-bank",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -122,7 +122,6 @@
"read_only": 1
}
],
"icon": "lock",
"is_submittable": 1,
"links": [],
"modified": "2024-03-27 13:06:44.260440",

View File

@@ -16,8 +16,6 @@ frappe.ui.form.on("Chart of Accounts Importer", {
() => generate_tree_preview(frm),
() => create_import_button(frm),
() => frm.set_df_property("chart_preview", "hidden", 0),
// the preview is the point of this page — open it right away
() => frm.fields_dict.chart_preview.collapse(false),
]);
}
@@ -130,6 +128,7 @@ var create_import_button = function (frm) {
freeze_message: __("Creating Accounts..."),
callback: function (r) {
if (!r.exc) {
clearInterval(frm.page["interval"]);
frm.page.set_indicator(__("Import Successful"), "blue");
create_reset_button(frm);
}
@@ -143,95 +142,42 @@ var create_reset_button = function (frm) {
frm.page
.set_primary_action(__("Reset"), function () {
frm.page.clear_primary_action();
delete frm.page["show_import_button"];
frm.reload_doc();
})
.addClass("btn btn-primary");
};
var generate_tree_preview = function (frm) {
let parent = __("All Accounts");
const wrapper = $(frm.fields_dict["chart_tree"].wrapper).empty(); // empty wrapper to load new data
// search + expand/collapse-all lean on frappe.ui.Tree helpers added with
// row mode; when running against an older frappe that predates them, skip
// this toolbar so the preview still renders (just without the extras)
const has_row_helpers =
typeof frappe.ui.Tree.prototype.get_expansion_state === "function" &&
typeof frappe.ui.Tree.prototype.filter_nodes === "function";
let tree;
let deep_loaded = false;
let search_text = "";
let update_buttons = () => {};
if (has_row_helpers) {
// same toolbar anatomy as the tree view: search on the left,
// expand/collapse-all on the right (three-state: fully collapsed ->
// Expand All, fully expanded -> Collapse All, partially expanded -> both)
const $toolbar = $('<div class="flex items-center gap-2 mb-2"></div>').appendTo(wrapper);
const search_control = frappe.ui.form.make_control({
df: { fieldtype: "Data", fieldname: "preview_search", placeholder: __("Search") },
parent: $toolbar,
only_input: true,
});
search_control.refresh();
$(search_control.wrapper).addClass("m-0").css("width", "220px");
search_control.$input.addClass("input-xs");
search_control.$input.on(
"input",
frappe.utils.debounce(() => {
search_text = search_control.$input.val();
const run = () => {
// a newer keystroke superseded this one while the deep load ran
if (search_text !== search_control.$input.val()) return;
tree.filter_nodes(search_text);
};
if (!search_text || deep_loaded) {
run();
return;
var validate_coa = function (frm) {
if (frm.doc.import_file) {
let parent = __("All Accounts");
return frappe.call({
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa",
args: {
file_name: frm.doc.import_file,
parent: parent,
doctype: "Chart of Accounts Importer",
file_type: frm.doc.file_type,
for_validate: 1,
},
callback: function (r) {
if (r.message["show_import_button"]) {
frm.page["show_import_button"] = Boolean(r.message["show_import_button"]);
}
tree.load_children(tree.root_node, true).then(() => {
deep_loaded = true;
run();
});
}, 300)
);
const $actions = $('<div class="ms-auto flex items-center gap-1"></div>').appendTo($toolbar);
update_buttons = () => {
const state = tree.get_expansion_state();
$expand_all.prop("disabled", !(state === "collapsed" || state === "partial"));
$collapse_all.prop("disabled", !(state === "expanded" || state === "partial"));
};
// tooltip on a wrapper: a disabled es-button has pointer-events:none,
// so hover falls through to the wrapper and the tooltip still shows
const make_action = (icon, label, onclick) => {
const $btn = $(
frappe.ui.button({ icon, disabled: true, onclick, attrs: { "aria-label": label } })
);
const $wrapper = $('<span class="inline-flex"></span>').append($btn).appendTo($actions);
frappe.ui.tooltip($wrapper, { text: label });
return $btn;
};
var $expand_all = make_action("chevrons-up-down", __("Expand All"), () => {
tree.load_children(tree.root_node, true).then(() => {
deep_loaded = true;
});
});
var $collapse_all = make_action("chevrons-down-up", __("Collapse All"), () => {
tree.load_children(tree.root_node, false);
},
});
}
};
var generate_tree_preview = function (frm) {
let parent = __("All Accounts");
$(frm.fields_dict["chart_tree"].wrapper).empty(); // empty wrapper to load new data
// generate tree structure based on the csv data
tree = new frappe.ui.Tree({
parent: wrapper,
return new frappe.ui.Tree({
parent: $(frm.fields_dict["chart_tree"].wrapper),
label: parent,
expandable: true,
// read-only preview: row-mode visuals without actions or hover cards
// (ignored by an older frappe, which renders the legacy tree)
row_style: true,
method: "erpnext.accounts.doctype.chart_of_accounts_importer.chart_of_accounts_importer.get_coa",
args: {
file_name: frm.doc.import_file,
@@ -239,9 +185,8 @@ var generate_tree_preview = function (frm) {
doctype: "Chart of Accounts Importer",
file_type: frm.doc.file_type,
},
on_node_render: () => update_buttons(),
// expanded flips right after this callback — check on the next tick
on_click: () => setTimeout(update_buttons, 0),
onclick: function (node) {
parent = node.value;
},
});
return tree;
};

View File

@@ -5,7 +5,6 @@
"description": "Import Chart of Accounts from a csv file",
"doctype": "DocType",
"document_type": "Other",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/chart-of-accounts-importer",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -48,7 +47,6 @@
}
],
"hide_toolbar": 1,
"icon": "file-input",
"in_create": 1,
"issingle": 1,
"links": [],

View File

@@ -4,7 +4,6 @@
"autoname": "field:bank_name",
"creation": "2016-05-04 14:35:00.402544",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/cheque-print-template",
"engine": "InnoDB",
"field_order": [
"settings",
@@ -294,7 +293,6 @@
"fieldtype": "HTML"
}
],
"icon": "printer",
"links": [],
"max_attachments": 1,
"modified": "2026-06-08 12:10:35.829531",

View File

@@ -7,7 +7,6 @@
"description": "Track separate Income and Expense for product verticals or divisions.",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/cost-center",
"engine": "InnoDB",
"field_order": [
"sb0",
@@ -123,7 +122,7 @@
"label": "Disabled"
}
],
"icon": "chart-pie",
"icon": "fa fa-money",
"idx": 1,
"is_tree": 1,
"links": [],

View File

@@ -12,19 +12,6 @@ frappe.treeview_settings["Cost Center"] = {
],
root_label: "Cost Centers",
get_tree_nodes: "erpnext.accounts.utils.get_children",
get_label: function (node) {
// clean display name — the number renders as a badge (see onrender)
return frappe.utils.escape_html(node.data.cost_center_name || node.title || node.label);
},
onrender: function (node) {
if (node.is_root || !node.data) return;
const flags = [];
if (node.data.cost_center_number) {
flags.push(frappe.ui.badge({ label: node.data.cost_center_number }));
}
erpnext.utils.render_tree_node_flags(node, flags);
},
add_tree_node: "erpnext.accounts.utils.add_cc",
menu_items: [
{
@@ -55,37 +42,6 @@ frappe.treeview_settings["Cost Center"] = {
},
],
ignore_fields: ["parent_cost_center"],
toolbar: [
{
label: __("Convert to Group"),
icon: "folder-tree",
condition: function (node) {
return !node.is_root && !node.expandable && frappe.model.can_write("Cost Center");
},
click: function (node) {
erpnext.accounts.convert_tree_node("Cost Center", node, "convert_ledger_to_group");
},
},
{
label: __("Convert to Non-Group"),
icon: "file-text",
condition: function (node) {
// only on groups the user has opened and found empty — a
// group with children can't convert, so don't offer it
return (
!node.is_root &&
node.expandable &&
node.loaded &&
!node.$ul.children().length &&
frappe.model.can_write("Cost Center")
);
},
click: function (node) {
erpnext.accounts.convert_tree_node("Cost Center", node, "convert_group_to_ledger");
},
},
],
extend_toolbar: true,
onload: function (treeview) {
function get_company() {
return treeview.page.fields_dict.company.get_value();
@@ -126,22 +82,3 @@ frappe.treeview_settings["Cost Center"] = {
);
},
};
frappe.provide("erpnext.accounts");
// shared by the Account and Cost Center tree views (defined in both files,
// whichever loads first wins): run the doctype's whitelisted convert method,
// then re-render the branch so the node's group/leaf state updates
erpnext.accounts.convert_tree_node =
erpnext.accounts.convert_tree_node ||
function (doctype, node, method) {
frappe.call({
method: "run_doc_method",
args: { dt: doctype, dn: node.label, method: method },
callback: function (r) {
if (r.exc) return;
const treeview = frappe.views.trees[doctype];
node.parent_node && treeview.tree.load_children(node.parent_node);
frappe.show_alert({ message: __("{0} converted", [node.label]), indicator: "green" });
},
});
};

View File

@@ -4,7 +4,6 @@
"autoname": "CC-ALLOC-.#####",
"creation": "2022-01-13 20:07:29.871109",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/cost_center_allocation",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -66,7 +65,6 @@
"read_only": 1
}
],
"icon": "chart-pie",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -5,7 +5,6 @@
"creation": "2018-01-22 14:34:39.701832",
"doctype": "DocType",
"document_type": "Other",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/coupon-code",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -125,7 +124,6 @@
"label": "From External Ecomm Platform"
}
],
"icon": "ticket-percent",
"links": [],
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",

View File

@@ -2,7 +2,6 @@
"actions": [],
"creation": "2022-01-10 13:03:26.237081",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/currency-exchange-settings",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -102,7 +101,6 @@
"label": "Use HTTP Protocol"
}
],
"icon": "refresh-cw",
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],

View File

@@ -4,7 +4,6 @@
"autoname": "naming_series:",
"creation": "2019-07-05 16:34:31.013238",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/dunning",
"engine": "InnoDB",
"field_order": [
"naming_series",
@@ -398,7 +397,6 @@
"fieldtype": "Column Break"
}
],
"icon": "bell-ring",
"is_submittable": 1,
"links": [],
"modified": "2026-05-30 23:18:04.712528",

View File

@@ -100,7 +100,6 @@
"fieldtype": "Column Break"
}
],
"icon": "bell",
"links": [
{
"link_doctype": "Dunning",

View File

@@ -4,7 +4,6 @@
"autoname": "ACC-ERR-.YYYY.-.#####",
"creation": "2018-04-13 18:25:55.943587",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/exchange-rate-revaluation",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -108,7 +107,6 @@
"precision": "9"
}
],
"icon": "arrow-right-left",
"is_submittable": 1,
"links": [],
"modified": "2024-03-27 13:09:42.951164",

View File

@@ -5,7 +5,6 @@
"creation": "2018-04-13 17:42:43.252224",
"doctype": "DocType",
"document_type": "Document",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/finance-book",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -19,7 +18,7 @@
"unique": 1
}
],
"icon": "book",
"icon": "fa fa-book",
"links": [],
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",

View File

@@ -236,8 +236,6 @@ async function refresh_tree_view(dialog, account_rows) {
parent: wrapper,
label: company,
root_value: company,
// read-only preview: row-mode visuals without actions
row_style: true,
method: "erpnext.accounts.doctype.financial_report_template.financial_report_engine.get_children_accounts",
args: { doctype: "Account", company: company, filtered_accounts: filtered_accounts, missed: missed },
toolbar: [],

View File

@@ -3,7 +3,6 @@
"autoname": "field:template_name",
"creation": "2025-08-02 04:44:15.184541",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/financial-report-template",
"engine": "InnoDB",
"field_order": [
"template_name",
@@ -65,7 +64,6 @@
}
],
"grid_page_length": 50,
"icon": "file-spreadsheet",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2026-02-23 01:04:05.797161",

View File

@@ -6,7 +6,6 @@
"description": "Represents a Financial Year. All accounting entries and other major transactions are tracked against the Fiscal Year.",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/fiscal-year",
"engine": "InnoDB",
"field_order": [
"year",
@@ -80,7 +79,7 @@
"set_only_once": 1
}
],
"icon": "calendar",
"icon": "fa fa-calendar",
"idx": 1,
"links": [],
"modified": "2026-09-16 11:42:07.000000",

View File

@@ -376,7 +376,7 @@
"precision": "9"
}
],
"icon": "book-open",
"icon": "fa fa-list",
"idx": 1,
"in_create": 1,
"links": [],

View File

@@ -5,7 +5,6 @@
"autoname": "ACC-INV-DISC-.YYYY.-.#####",
"creation": "2019-03-07 12:01:56.296952",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/invoice_discounting",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -170,7 +169,6 @@
"read_only": 1
}
],
"icon": "ticket-percent",
"is_submittable": 1,
"links": [],
"modified": "2026-09-09 17:04:59.512294",

View File

@@ -5,7 +5,6 @@
"creation": "2022-01-19 01:09:13.297137",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/item-tax-template",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -57,7 +56,6 @@
"fieldtype": "Section Break"
}
],
"icon": "circle-percent",
"links": [],
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",

View File

@@ -6,7 +6,6 @@
"creation": "2022-01-25 10:29:58.717206",
"doctype": "DocType",
"document_type": "Document",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/journal-entry",
"engine": "InnoDB",
"field_order": [
"entry_type_and_date",
@@ -662,7 +661,7 @@
"label": "Custom Remark"
}
],
"icon": "notebook-pen",
"icon": "fa fa-file-text",
"idx": 176,
"is_submittable": 1,
"links": [

View File

@@ -4,7 +4,6 @@
"creation": "2020-04-09 01:32:51.332301",
"doctype": "DocType",
"document_type": "Document",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/journal-entry-template",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -86,7 +85,6 @@
"label": "Multi Currency"
}
],
"icon": "notebook-text",
"links": [],
"modified": "2024-03-27 13:09:58.814734",
"modified_by": "Administrator",

View File

@@ -40,7 +40,6 @@
"label": "General and Payment Ledger mismatch"
}
],
"icon": "heart-pulse",
"in_create": 1,
"index_web_pages_for_search": 1,
"links": [],

View File

@@ -57,7 +57,6 @@
}
],
"hide_toolbar": 1,
"icon": "activity",
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],

View File

@@ -92,7 +92,6 @@
}
],
"hide_toolbar": 1,
"icon": "merge",
"links": [],
"modified": "2024-03-27 13:10:02.198009",
"modified_by": "Administrator",

View File

@@ -97,7 +97,6 @@
"label": "Discretionary Reason"
}
],
"icon": "star",
"in_create": 1,
"links": [],
"modified": "2024-07-01 08:51:13.927009",

View File

@@ -8,7 +8,7 @@ frappe.ui.form.on("Loyalty Program", {
var help_content = `<table class="table table-bordered" style="background-color: var(--scrollbar-track-color);">
<tr><td>
<h4>
<svg class="icon icon-sm"><use href="#icon-info"></use></svg>
<i class="fa fa-hand-right"></i>
${__("Notes")}
</h4>
<ul>

View File

@@ -3,7 +3,6 @@
"autoname": "field:loyalty_program_name",
"creation": "2018-01-23 06:23:05.731431",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/loyalty-program",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -154,7 +153,6 @@
"options": "Project"
}
],
"icon": "gift",
"links": [],
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",

View File

@@ -6,7 +6,6 @@
"creation": "2012-12-04 17:49:20",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/mode-of-payment",
"engine": "InnoDB",
"field_order": [
"mode_of_payment",
@@ -45,7 +44,7 @@
"label": "Enabled"
}
],
"icon": "wallet",
"icon": "fa fa-credit-card",
"idx": 1,
"index_web_pages_for_search": 1,
"links": [],

View File

@@ -43,7 +43,7 @@
"options": "Monthly Distribution Percentage"
}
],
"icon": "chart-bar",
"icon": "fa fa-bar-chart",
"idx": 1,
"links": [],
"modified": "2026-09-16 11:42:07.000000",

View File

@@ -3,7 +3,6 @@
"allow_copy": 1,
"creation": "2017-08-29 02:22:54.947711",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/opening-invoice-creation-tool",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -88,7 +87,6 @@
}
],
"hide_toolbar": 1,
"icon": "file-plus",
"issingle": 1,
"links": [],
"modified": "2026-05-30 23:18:48.691227",

View File

@@ -50,7 +50,6 @@
"options": "secondary_role"
}
],
"icon": "link",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2024-03-27 13:10:08.607170",

View File

@@ -422,17 +422,21 @@ frappe.ui.form.on("Payment Entry", {
show_general_ledger: function (frm) {
if (frm.doc.docstatus > 0) {
frm.add_custom_button(__("Ledger"), function () {
frappe.route_options = {
voucher_no: frm.doc.name,
from_date: frm.doc.posting_date,
to_date: moment(frm.doc.modified).format("YYYY-MM-DD"),
company: frm.doc.company,
categorize_by: "",
show_cancelled_entries: frm.doc.docstatus === 2,
};
frappe.set_route("query-report", "General Ledger");
});
frm.add_custom_button(
__("Ledger"),
function () {
frappe.route_options = {
voucher_no: frm.doc.name,
from_date: frm.doc.posting_date,
to_date: moment(frm.doc.modified).format("YYYY-MM-DD"),
company: frm.doc.company,
categorize_by: "",
show_cancelled_entries: frm.doc.docstatus === 2,
};
frappe.set_route("query-report", "General Ledger");
},
"fa fa-table"
);
}
},

View File

@@ -5,7 +5,6 @@
"autoname": "naming_series:",
"creation": "2016-06-01 14:38:51.012597",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/payment-entry",
"engine": "InnoDB",
"field_order": [
"type_of_payment",
@@ -785,7 +784,6 @@
}
],
"grid_page_length": 50,
"icon": "banknote",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [

View File

@@ -84,7 +84,6 @@
"reqd": 1
}
],
"icon": "credit-card",
"index_web_pages_for_search": 1,
"links": [],
"modified": "2025-07-14 16:49:55.210352",

View File

@@ -5,7 +5,6 @@
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"icon": "book-open",
"field_order": [
"posting_date",
"company",

View File

@@ -3,7 +3,6 @@
"autoname": "naming_series:",
"creation": "2018-07-20 16:43:08.505978",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/payment-order",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -108,7 +107,6 @@
"label": "Account"
}
],
"icon": "send",
"is_submittable": 1,
"links": [],
"modified": "2024-03-27 13:10:10.186727",

View File

@@ -3,7 +3,6 @@
"allow_copy": 1,
"creation": "2014-07-09 12:04:51.681583",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/payment-reconciliation",
"engine": "InnoDB",
"field_order": [
"company",
@@ -236,7 +235,7 @@
}
],
"hide_toolbar": 1,
"icon": "arrow-left-right",
"icon": "icon-resize-horizontal",
"is_virtual": 1,
"issingle": 1,
"links": [],

View File

@@ -3,7 +3,6 @@
"autoname": "naming_series:",
"creation": "2015-12-15 22:23:24.745065",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/payment-request",
"engine": "InnoDB",
"field_order": [
"payment_request_type",
@@ -475,7 +474,6 @@
}
],
"grid_page_length": 50,
"icon": "hand-coins",
"in_create": 1,
"index_web_pages_for_search": 1,
"is_submittable": 1,

View File

@@ -5,7 +5,6 @@
"autoname": "field:payment_term_name",
"creation": "2017-08-10 15:24:54.876365",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/payment-terms",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -116,7 +115,6 @@
"fieldtype": "Column Break"
}
],
"icon": "calendar-clock",
"links": [],
"modified": "2026-09-16 11:42:07.000000",
"modified_by": "Administrator",

View File

@@ -5,7 +5,6 @@
"autoname": "field:template_name",
"creation": "2017-08-10 15:34:28.058054",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/payment-terms-template",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -35,7 +34,6 @@
"label": "Allocate Payment Based On Payment Terms"
}
],
"icon": "calendar-clock",
"links": [],
"modified": "2024-04-07 11:26:42.021585",
"modified_by": "Administrator",

View File

@@ -20,7 +20,6 @@
}
],
"grid_page_length": 50,
"icon": "anchor",
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],

View File

@@ -41,17 +41,21 @@ frappe.ui.form.on("Period Closing Voucher", {
refresh: function (frm) {
if (frm.doc.docstatus > 0) {
frm.add_custom_button(__("Ledger"), function () {
frappe.route_options = {
voucher_no: frm.doc.name,
from_date: frm.doc.period_start_date,
to_date: frm.doc.period_end_date,
company: frm.doc.company,
categorize_by: "",
show_cancelled_entries: frm.doc.docstatus === 2,
};
frappe.set_route("query-report", "General Ledger");
});
frm.add_custom_button(
__("Ledger"),
function () {
frappe.route_options = {
voucher_no: frm.doc.name,
from_date: frm.doc.period_start_date,
to_date: frm.doc.period_end_date,
company: frm.doc.company,
categorize_by: "",
show_cancelled_entries: frm.doc.docstatus === 2,
};
frappe.set_route("query-report", "General Ledger");
},
"fa fa-table"
);
}
},
});

View File

@@ -3,7 +3,6 @@
"autoname": "ACC-PCV-.YYYY.-.#####",
"creation": "2013-01-10 16:34:07",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/period-closing-voucher",
"engine": "InnoDB",
"field_order": [
"transaction_date",
@@ -111,7 +110,7 @@
"reqd": 1
}
],
"icon": "folder-lock",
"icon": "fa fa-file-text",
"idx": 1,
"is_submittable": 1,
"links": [],

View File

@@ -254,7 +254,6 @@
}
],
"grid_page_length": 50,
"icon": "book-lock",
"is_submittable": 1,
"links": [
{

View File

@@ -1634,7 +1634,7 @@
"print_hide": 1
}
],
"icon": "receipt-text",
"icon": "fa fa-file-text",
"is_submittable": 1,
"links": [],
"modified": "2026-09-16 11:42:07.000000",

View File

@@ -126,7 +126,6 @@
"reqd": 1
}
],
"icon": "merge",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -129,7 +129,6 @@
"reqd": 1
}
],
"icon": "folder-open",
"is_submittable": 1,
"links": [],
"modified": "2024-03-27 13:10:16.034296",

View File

@@ -4,7 +4,6 @@
"autoname": "Prompt",
"creation": "2013-05-24 12:15:51",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/pos-profile",
"engine": "InnoDB",
"field_order": [
"company",
@@ -546,7 +545,7 @@
}
],
"grid_page_length": 50,
"icon": "monitor",
"icon": "icon-cog",
"idx": 1,
"index_web_pages_for_search": 1,
"links": [

View File

@@ -51,7 +51,6 @@
}
],
"hide_toolbar": 0,
"icon": "settings",
"issingle": 1,
"links": [],
"modified": "2026-03-16 13:28:19.677217",

View File

@@ -40,7 +40,7 @@ frappe.ui.form.on("Pricing Rule", {
var help_content = `<table class="table table-bordered" style="background-color: var(--scrollbar-track-color);">
<tr><td>
<h4>
<svg class="icon icon-sm"><use href="#icon-info"></use></svg>
<i class="fa fa-hand-right"></i>
${__("Notes")}
</h4>
<ul>
@@ -63,7 +63,7 @@ frappe.ui.form.on("Pricing Rule", {
</ul>
</td></tr>
<tr><td>
<h4><svg class="icon icon-sm"><use href="#icon-circle-question-mark"></use></svg>
<h4><i class="fa fa-question-sign"></i>
${__("How Pricing Rule is applied?")}
</h4>
<ol>

View File

@@ -5,7 +5,6 @@
"autoname": "naming_series:",
"creation": "2014-02-21 15:02:51",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/pricing-rule",
"engine": "InnoDB",
"field_order": [
"applicability_section",
@@ -655,7 +654,7 @@
"label": "Don't Enforce Free Item Qty"
}
],
"icon": "badge-percent",
"icon": "fa fa-gift",
"idx": 1,
"links": [],
"modified": "2026-02-17 12:24:07.553505",

View File

@@ -424,7 +424,6 @@ def apply_pricing_rule(args, doc=None):
for item in item_list:
args_copy = copy.deepcopy(args)
args_copy.update(item)
set_transaction_type(args_copy)
data = get_pricing_rule_for_item(args_copy, doc=doc)
out.append(data)

View File

@@ -3,7 +3,6 @@
"autoname": "ACC-PDA-.#####",
"creation": "2019-11-04 18:01:23.454775",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/process-deferred-accounting",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -75,7 +74,6 @@
"reqd": 1
}
],
"icon": "list-clock",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -154,7 +154,6 @@
"reqd": 0
}
],
"icon": "scale",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -106,7 +106,6 @@
"read_only": 1
}
],
"icon": "file-clock",
"in_create": 1,
"index_web_pages_for_search": 1,
"links": [],

View File

@@ -80,7 +80,6 @@
}
],
"grid_page_length": 50,
"icon": "lock",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -4,7 +4,6 @@
"autoname": "Prompt",
"creation": "2020-05-22 16:46:18.712954",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/process-statement-of-accounts",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -417,7 +416,6 @@
"options": "Print Format"
}
],
"icon": "mail",
"links": [],
"modified": "2025-10-07 12:19:20.719898",
"modified_by": "Administrator",

View File

@@ -35,7 +35,6 @@
"options": "Subscription"
}
],
"icon": "repeat",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -5,7 +5,6 @@
"autoname": "Prompt",
"creation": "2019-02-08 17:10:36.077402",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/promotional-scheme",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -280,7 +279,6 @@
"options": "Promotional Scheme Product Discount"
}
],
"icon": "megaphone",
"links": [],
"modified": "2025-08-20 11:48:23.231081",
"modified_by": "Administrator",

View File

@@ -5,7 +5,6 @@
"creation": "2013-05-21 16:16:39",
"doctype": "DocType",
"document_type": "Document",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/purchase-invoice",
"email_append_to": 1,
"engine": "InnoDB",
"field_order": [
@@ -1701,7 +1700,7 @@
}
],
"grid_page_length": 50,
"icon": "receipt-text",
"icon": "fa fa-file-text",
"idx": 204,
"is_submittable": 1,
"links": [],

View File

@@ -6,7 +6,6 @@
"description": "Standard tax template that can be applied to all Purchase Transactions. This template can contain a list of tax heads and also other expense heads like \"Shipping\", \"Insurance\", \"Handling\", etc.",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/purchase-taxes-and-charges-template",
"engine": "InnoDB",
"field_order": [
"title",
@@ -75,7 +74,7 @@
"options": "Tax Category"
}
],
"icon": "badge-percent",
"icon": "fa fa-money",
"idx": 1,
"links": [],
"modified": "2026-09-16 11:42:07.000000",

View File

@@ -4,7 +4,6 @@
"creation": "2023-07-04 13:07:32.923675",
"default_view": "List",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/repost-accounting-ledger",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -102,7 +101,6 @@
"read_only": 1
}
],
"icon": "list-restart",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -95,7 +95,6 @@
"label": "Repost Error Log"
}
],
"icon": "list-restart",
"index_web_pages_for_search": 1,
"is_submittable": 1,
"links": [],

View File

@@ -4,7 +4,6 @@
"autoname": "naming_series:",
"creation": "2022-01-25 10:29:57.771398",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/sales-invoice",
"engine": "InnoDB",
"field_order": [
"customer_section",
@@ -1139,7 +1138,7 @@
"fieldtype": "Currency",
"hide_days": 1,
"hide_seconds": 1,
"label": "Grand Total",
"label": "Grand Total (Company Currency",
"oldfieldname": "grand_total",
"oldfieldtype": "Currency",
"options": "Company:company:default_currency",
@@ -2356,7 +2355,7 @@
}
],
"grid_page_length": 50,
"icon": "receipt-text",
"icon": "fa fa-file-text",
"idx": 181,
"is_submittable": 1,
"links": [
@@ -2366,7 +2365,7 @@
"link_fieldname": "consolidated_invoice"
}
],
"modified": "2026-09-25 15:17:29.168134",
"modified": "2026-08-12 12:00:00.000000",
"modified_by": "Administrator",
"module": "Accounts",
"name": "Sales Invoice",

View File

@@ -501,7 +501,6 @@ class SalesInvoice(SellingController):
self.validate_standalone_serial_nos_customer()
self.update_stock_reservation_entries()
self.update_stock_ledger()
self.validate_produced_serial_nos_against_reservation()
self.split_asset_based_on_sale_qty()

View File

@@ -5296,34 +5296,6 @@ class TestSalesInvoice(ERPNextTestSuite):
frappe.db.set_value("Company", "_Test Company 1", "cost_center", cost_center)
@ERPNextTestSuite.change_settings("Stock Settings", {"enable_stock_reservation": 1})
def test_update_stock_restricted_to_reserved_produced_serial_nos(self):
from erpnext.selling.doctype.sales_order.sales_order import (
make_sales_invoice as make_si_from_so,
)
from erpnext.stock.doctype.delivery_note.test_delivery_note import (
make_so_with_reserved_produced_serial_no,
)
so, reserved, unreserved = make_so_with_reserved_produced_serial_no()
def make_si(serial_no):
si = make_si_from_so(so.name)
si.update_stock = 1
si.items[0].warehouse = so.items[0].warehouse
si.items[0].use_serial_batch_fields = 1
si.items[0].serial_no = serial_no
return si.save()
frappe.db.savepoint("unreserved_serial_no")
si = make_si(unreserved[0])
self.assertRaises(frappe.ValidationError, si.submit)
frappe.db.rollback(save_point="unreserved_serial_no")
si = make_si(reserved[0])
si.submit()
self.assertEqual(get_serial_nos_from_bundle(si.items[0].serial_and_batch_bundle), reserved)
def make_item_for_si(item_code, properties=None):
from erpnext.stock.doctype.item.test_item import make_item

View File

@@ -6,7 +6,6 @@
"description": "Standard tax template that can be applied to all Sales Transactions. This template can contain a list of tax heads and also other expense/income heads like \"Shipping\", \"Insurance\", \"Handling\" etc.",
"doctype": "DocType",
"document_type": "Setup",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/sales-taxes-and-charges-template",
"engine": "InnoDB",
"field_order": [
"title",
@@ -77,7 +76,7 @@
"options": "Tax Category"
}
],
"icon": "badge-percent",
"icon": "fa fa-money",
"idx": 1,
"links": [],
"modified": "2026-09-16 11:42:07.000000",

View File

@@ -3,7 +3,6 @@
"autoname": "ACC-SHT-.YYYY.-.#####",
"creation": "2017-12-25 17:18:03.143726",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/share-transfer",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -191,7 +190,6 @@
"fieldtype": "Column Break"
}
],
"icon": "arrow-right-left",
"is_submittable": 1,
"links": [],
"modified": "2024-03-27 13:10:40.003178",

View File

@@ -24,7 +24,6 @@
"label": "Description"
}
],
"icon": "tag",
"links": [],
"modified": "2024-03-27 13:10:40.190914",
"modified_by": "Administrator",

View File

@@ -3,7 +3,6 @@
"autoname": "naming_series:",
"creation": "2017-12-25 16:50:53.878430",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/shareholder",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -113,7 +112,6 @@
"read_only": 1
}
],
"icon": "user-star",
"links": [],
"modified": "2024-03-27 13:10:40.356171",
"modified_by": "Administrator",

View File

@@ -5,7 +5,6 @@
"creation": "2013-06-25 11:48:03",
"description": "Specify conditions to calculate shipping amount",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/shipping-rule",
"engine": "InnoDB",
"field_order": [
"label",
@@ -147,7 +146,7 @@
"options": "Project"
}
],
"icon": "truck",
"icon": "fa fa-truck",
"idx": 1,
"links": [],
"modified": "2026-09-16 11:42:07.000000",

View File

@@ -3,7 +3,6 @@
"autoname": "ACC-SUB-.YYYY.-.#####",
"creation": "2017-07-18 17:50:43.967266",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/subscription",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -255,7 +254,6 @@
"mandatory_depends_on": "eval:doc.generate_invoice_at === \"Days before the current subscription period\""
}
],
"icon": "calendar-sync",
"index_web_pages_for_search": 1,
"links": [
{

View File

@@ -4,7 +4,6 @@
"autoname": "field:plan_name",
"creation": "2018-02-24 11:31:23.066506",
"doctype": "DocType",
"documentation": "https://docs.frappe.io/erpnext/user/manual/en/subscription-plan",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
@@ -149,7 +148,6 @@
"label": "Product Price ID"
}
],
"icon": "calendar-sync",
"links": [],
"modified": "2024-03-27 13:10:47.998597",
"modified_by": "Administrator",

Some files were not shown because too many files have changed in this diff Show More