## [15.124.2](https://github.com/frappe/erpnext/compare/v15.124.1...v15.124.2) (2026-10-28) ### Bug Fixes * accounting dimension shows in connections tab on stock entry, asset repair (backport [#59658](https://github.com/frappe/erpnext/issues/59658)) ([3117092](https://github.com/frappe/erpnext/commit/311709247d7e7f6b1384ce14dd5fe487f1a8f49e)) * **accounts:** apply permission restrictions to opening and closing balances ([ab1b5a0](https://github.com/frappe/erpnext/commit/ab1b5a035892fd26aba738eb30444d3c1c50254a)) * **accounts:** apply user permissions in party balance reports ([26725ae](https://github.com/frappe/erpnext/commit/26725aee7ecc5c15851b1c4df312a67656b500bc)) * **accounts:** ask for incoming rate on standalone POS returns ([4d20d49](https://github.com/frappe/erpnext/commit/4d20d4974467d0f2a8383b8a07a1b7ef520989d3)) * **accounts:** cancel return exchange journals on unreconciliation ([b5100e8](https://github.com/frappe/erpnext/commit/b5100e82bda0a7b0397df5ad3377721da3e8645a)) * **accounts:** clear legacy coupon discounts ([c4c9885](https://github.com/frappe/erpnext/commit/c4c9885389a816c132c6d6deaf99c8cd48bd943f)) * **accounts:** convert default dunning fee to invoice currency ([147ebef](https://github.com/frappe/erpnext/commit/147ebef8ea5f4c388f4f8959f2b3b184f90f0056)) * **accounts:** correct terms and typos in the AU chart of accounts (backport [#59499](https://github.com/frappe/erpnext/issues/59499)) ([9cb2664](https://github.com/frappe/erpnext/commit/9cb26640d3c4eb741837c79dde11210db97793fd)) * **accounts:** escape cheque print template messages ([c4b35ca](https://github.com/frappe/erpnext/commit/c4b35cacdb2eac6aa06fe2588c8ef69a2fe8d057)) * **accounts:** honor the full subscription grace period ([e6bd1d8](https://github.com/frappe/erpnext/commit/e6bd1d88d2d44db3ec11ee601f73a9a2db252523)) * **accounts:** include all items in budget commitments ([50b8131](https://github.com/frappe/erpnext/commit/50b813154d9b5e41c8920b860d691aa883449824)) * **accounts:** keep pricing rule discount percentage in unsaved form (backport [#60522](https://github.com/frappe/erpnext/issues/60522)) ([bdfd59e](https://github.com/frappe/erpnext/commit/bdfd59e8341f339a1cc1390fcecb1e03c862a548)) * **accounts:** preserve cached bisect statement summaries ([c1a223f](https://github.com/frappe/erpnext/commit/c1a223f3f46fc487eea3314337954dcabcc2c78b)) * **accounts:** preserve links when replacing chart of accounts ([0482f1a](https://github.com/frappe/erpnext/commit/0482f1ad56b8f963a386275785bb6da2421c8096)) * **accounts:** preserve manual discount without coupon ([44c35a9](https://github.com/frappe/erpnext/commit/44c35a9a31b65658099525b5835abed4434b78e8)) * **accounts:** print cheques in bank account currency ([ac56ebd](https://github.com/frappe/erpnext/commit/ac56ebd24a7f2fd8a0a0b246c400d21f6a7a5c1a)) * **accounts:** print the cheque bank account number ([a533a87](https://github.com/frappe/erpnext/commit/a533a878d3afce4f971523e2adc41c057211b86e)) * **accounts:** protect payment reconciliation log allocations ([f05951b](https://github.com/frappe/erpnext/commit/f05951b0fa0b0edf36e85a8d5962785365fc88d2)) * **accounts:** protect shareholder registers from direct changes ([6a1fd93](https://github.com/frappe/erpnext/commit/6a1fd9322d65bb4680cd8f2e9aa8c2cfe52b9aaf)) * **accounts:** refresh invoice status after returns ([06adc58](https://github.com/frappe/erpnext/commit/06adc585e45b15052d747109330bdd2c8a2983dc)) * **accounts:** reject real cost center allocation differences ([ce98ab9](https://github.com/frappe/erpnext/commit/ce98ab9d1f6ff4135005a92fe97e68fa179481db)) * **accounts:** render dunning letters after calculating totals ([3291ca4](https://github.com/frappe/erpnext/commit/3291ca4c1998929a03c00281b196e4e192484a80)) * **accounts:** require account types in chart imports ([f2a3421](https://github.com/frappe/erpnext/commit/f2a342169b52b146abd6f095558881dfcb84d8a0)) * **accounts:** reset foreign currency payment request status on cancellation ([29ccf4d](https://github.com/frappe/erpnext/commit/29ccf4dba7f4d5dac5d587a255afefe95cc15da8)) * **accounts:** respect account payable checkbox in cheque printing ([e6be39a](https://github.com/frappe/erpnext/commit/e6be39af052c9d539f8effdc51ef1cdf8f9581d2)) * **accounts:** respect cheque print language ([26a235d](https://github.com/frappe/erpnext/commit/26a235d506986bbed6e8e804526b6897ff2e2ab6)) * **accounts:** respect share transfer amount precision ([199bf53](https://github.com/frappe/erpnext/commit/199bf5351544d9df88bf35ccec93a53918e7b65c)) * **accounts:** round cost center allocation percentage total ([621b72d](https://github.com/frappe/erpnext/commit/621b72d39942b9442b7f01c877aec794dafe8ec5)) * **accounts:** run snapshot reports on live data for users with permission restrictions ([8fede9d](https://github.com/frappe/erpnext/commit/8fede9db09e89e9c679dc2124eda39e08c87f846)) * **accounts:** select chart defaults in company currency ([cd3f548](https://github.com/frappe/erpnext/commit/cd3f548f602e0fcf2de58fb2493ed4118342bb2c)) * **accounts:** translate accounting dimension validation labels ([6c4b059](https://github.com/frappe/erpnext/commit/6c4b0599e53349cab2704f65a4b8d7d1ac8b4e18)) * **accounts:** use company currency in cheque amount in words ([11838d8](https://github.com/frappe/erpnext/commit/11838d800f9a09cfca757c418d367cb9cc052520)) * **accounts:** use party currency amount in payment orders ([2d4a360](https://github.com/frappe/erpnext/commit/2d4a360cc2b8a89886c343b0f224b4a5693cf460)) * **accounts:** use payment order company for journal entries ([13bfe33](https://github.com/frappe/erpnext/commit/13bfe3333c40c1c7faf70bbf90bd17643da9aeb3)) * **accounts:** validate bank clearance updates ([1e1cd21](https://github.com/frappe/erpnext/commit/1e1cd21847477ab5db8e2e9386ee7bf3acb2c1e3)) * **accounts:** validate chart import rows and parent cycles ([d6a04da](https://github.com/frappe/erpnext/commit/d6a04da0d5d64a83f22b6c24cf4e852a87c8bbfb)) * **accounts:** validate company abbreviation before naming ([a9ea2a5](https://github.com/frappe/erpnext/commit/a9ea2a54bfecaf300b6f7f5964aebfe787065bff)) * **accounts:** validate cost center allocation child company ([e730d0d](https://github.com/frappe/erpnext/commit/e730d0d020b6544009dbe551b697ce1dd752dcdc)) * **accounts:** validate currency exchange provider requests and responses ([256b19b](https://github.com/frappe/erpnext/commit/256b19b2f865f09c27d855773110697c36779256)) * **accounts:** validate dunning overdue payment references ([99adad4](https://github.com/frappe/erpnext/commit/99adad4ddba43c007736470235d492a20a964b09)) * **accounts:** validate dunning payments and lifecycle ([bbfc103](https://github.com/frappe/erpnext/commit/bbfc103177edc28a80c3295b78a6f37e172c4f91)) * **accounts:** validate payment order bank account and reference company ([c316e1c](https://github.com/frappe/erpnext/commit/c316e1cc47e3bf93e73a58a1e77c005db8ea6426)) * **accounts:** validate payment request bank account ownership ([c44d05a](https://github.com/frappe/erpnext/commit/c44d05ad24a4c5c1432c39bbd498bed5c271272e)) * allow recalculate valuation rate only for purchase receipts, update stock invoices and non-transfer stock entries ([b96168a](https://github.com/frappe/erpnext/commit/b96168a4aa4353268c6ed64890ade4687ea909fc)) * **appointment:** verify portal booking without switching user ([c469dfd](https://github.com/frappe/erpnext/commit/c469dfd95fb9ae9f953c0635442c83e6210fd883)) * **assets:** preserve asset purchase row links ([69f87d8](https://github.com/frappe/erpnext/commit/69f87d832cb0c85213699a852a3f97925aef16e4)) * **assets:** validate asset when fetching capitalization asset details ([42ef0cd](https://github.com/frappe/erpnext/commit/42ef0cd403e9643e76f55c127f09a300ad7f9429)) * **assets:** validate target asset when fetching WIP composite asset items ([3ffbf63](https://github.com/frappe/erpnext/commit/3ffbf6301f913914e322cbd51f73d4d973eeaac7)) * block invoicing Lost or expired quotations ([d04f154](https://github.com/frappe/erpnext/commit/d04f1549e8dbb0a1fb8f100ce1e782d30972a81f)) * **buying:** embed only quotation fields on the RFQ portal page ([faaddf4](https://github.com/frappe/erpnext/commit/faaddf4ca0b94eeb0c9da2f79c58ed6b94fb4afa)) * **buying:** show linked record count on Supplier Scorecard connections (backport [#59079](https://github.com/frappe/erpnext/issues/59079)) ([775d5ff](https://github.com/frappe/erpnext/commit/775d5ffa14f7b2dafb7f03a18827d312674dd65d)) * check document access in SLA reset and payment reference count ([aadb5d4](https://github.com/frappe/erpnext/commit/aadb5d447876a59544ebc16990f8d6f07a7d0737)) * clear job card actual dates when all time logs are removed ([15b27dc](https://github.com/frappe/erpnext/commit/15b27dc0359d64f352d773df19bc6d95a6820ecc)) * clear linked comments, versions and attachments with old logs (backport [#57244](https://github.com/frappe/erpnext/issues/57244)) ([01e89fd](https://github.com/frappe/erpnext/commit/01e89fd6770741014fb08999a6c46f6043351538)) * commit after each batch in serial and batch bundle posting datetime patch ([1313eed](https://github.com/frappe/erpnext/commit/1313eed5457d6bee5fe7274a68979f77a6d5f37c)) * count un-ordered alternative sets when computing quotation status ([85739b5](https://github.com/frappe/erpnext/commit/85739b57e252538d9aac6be0555efaf07bb2546a)) * **crm:** add argument types to the contact form handler ([63e5712](https://github.com/frappe/erpnext/commit/63e571208bc46350027b8deecd39d5f50fffbba4)) * **crm:** escape contact form subject ([524d2e2](https://github.com/frappe/erpnext/commit/524d2e2370d8c17ff7ad9a04a98ef307aac40352)) * **crm:** keep the visitor session and site host on appointment verification ([397c462](https://github.com/frappe/erpnext/commit/397c462eeefa99c9c3b900f4314766580a14e5f2)) * **crm:** match contact form sender to the signed-in user case-insensitively ([78539a9](https://github.com/frappe/erpnext/commit/78539a96ba87a42acec9f7d56f59dbcb855cfb6a)) * **crm:** rate limit appointment slot lookups on the booking page ([246bdd5](https://github.com/frappe/erpnext/commit/246bdd5374bc45376daeb1c58c8e2ef91860a525)) * **crm:** respect disabled contact form and match customers only for signed-in senders ([fdabc6d](https://github.com/frappe/erpnext/commit/fdabc6dd2a24990a57138ec72c7c220267c902b9)) * **crm:** store contact form subject as plain text ([3001137](https://github.com/frappe/erpnext/commit/3001137a4298f8378a21a3cca511f29264d257e9)) * **crm:** validate party specific items on opportunity from customer ([f2fae01](https://github.com/frappe/erpnext/commit/f2fae012ebfbdcb29db980454d4d366dfa8bdecd)) * deadlock when setting item default income account (backport [#59414](https://github.com/frappe/erpnext/issues/59414)) ([c8c6e9c](https://github.com/frappe/erpnext/commit/c8c6e9cc3a82bb233c1fe4f0afac64f076f02371)) * delete Lead-linked Addresses on transaction deletion (backport [#56614](https://github.com/frappe/erpnext/issues/56614)) ([6547341](https://github.com/frappe/erpnext/commit/6547341c240366d8332e86adafff97fbf7b6fe0f)) * do not translate default record lookup keys (backport [#57389](https://github.com/frappe/erpnext/issues/57389)) ([62e64f9](https://github.com/frappe/erpnext/commit/62e64f97aa974adfa74e4c66ef8a07013e5e1ffd)) * do not translate root Item Group lookup key (backport [#57390](https://github.com/frappe/erpnext/issues/57390)) ([c527b6b](https://github.com/frappe/erpnext/commit/c527b6bd4eea9fa60f9ff146a8b9732b7586d42c)) * don't bump Customer timestamp when caching primary address (backport [#59285](https://github.com/frappe/erpnext/issues/59285)) ([ecaf471](https://github.com/frappe/erpnext/commit/ecaf47149ad6efd11732187a58ac1db78910a5ca)) * drop unsupported account type from Belgian charts ([3162e41](https://github.com/frappe/erpnext/commit/3162e418660d0fd73c55c56218c97bb7a5e4d395)) * **edi:** clean file name and escape values in code list import ([3a84a98](https://github.com/frappe/erpnext/commit/3a84a987c47de5fafd37a6b49a039586bc295aaf)) * **edi:** keep code list import dialog values as sent by the server ([dd1ca39](https://github.com/frappe/erpnext/commit/dd1ca3930dd10bf2ff9a642ac244418fe83ccd3a)) * **employee-group:** resolve current active call recipients ([fe5d271](https://github.com/frappe/erpnext/commit/fe5d271562addabede26a55d52c80609ad247f28)), closes [frappe/erpnext-bug-reviews#383](https://github.com/frappe/erpnext-bug-reviews/issues/383) * exclude disabled sales persons and inactive employees in SMS Center ([5d767c1](https://github.com/frappe/erpnext/commit/5d767c1195a938eecf1942d36d0e4496f0a6a30c)) * exclude returned and non-stock qty from installation limits ([defe617](https://github.com/frappe/erpnext/commit/defe61711ef34a0ca687658f31c9034c6d77fb48)) * get_value doesn't support named plucking ([c3c90ec](https://github.com/frappe/erpnext/commit/c3c90ecb2074651a1e61a54b3294ccafa7f176a4)) * hide Item Price fields from users without permission (backport [#51791](https://github.com/frappe/erpnext/issues/51791)) ([a203432](https://github.com/frappe/erpnext/commit/a203432a2c01e1e8f5e994dfc51c2e8607aabc3f)) * hide tax id on pos invoice when enabled ([4724289](https://github.com/frappe/erpnext/commit/47242897fe0b544cb4a8e1610ba7c56470cce9b4)) * honor overproduction allowance in duplicate entry check ([310fe20](https://github.com/frappe/erpnext/commit/310fe20bd8d079d4ab09f11986d72b50772ca5fe)) * honor party field's "Ignore User Permissions" in Payment Entry ([d61bf7b](https://github.com/frappe/erpnext/commit/d61bf7bf858d7cbc6b4b5523282b041f9f532859)) * honour component UOM when packing product bundles ([0f3b73f](https://github.com/frappe/erpnext/commit/0f3b73faaa1c00f0518ab49e496474ab95f2a5f6)) * include unlinked and dedupe multi-link contacts in SMS Center ([c10e095](https://github.com/frappe/erpnext/commit/c10e095a16dd41985c1c9fd83ef57914c5ee5f4f)) * invalid logic for cache hit ([508b96f](https://github.com/frappe/erpnext/commit/508b96fde44c8ba7f190add0589d81189c0fdaac)) * item price with party condition (backport [#55100](https://github.com/frappe/erpnext/issues/55100)) ([d9437a3](https://github.com/frappe/erpnext/commit/d9437a3aa8e8d789fe50768365d796775fea19ab)) * **item:** rework multiple variant dialog for large numeric ranges (backport [#56741](https://github.com/frappe/erpnext/issues/56741)) ([454659d](https://github.com/frappe/erpnext/commit/454659d78650e4d8d6d84f853f75b634759c3305)) * js error on customer doctype (backport [#51788](https://github.com/frappe/erpnext/issues/51788)) ([7c0bdb7](https://github.com/frappe/erpnext/commit/7c0bdb71c4e54fc22a812f2a703fce57e1b0a247)) * keep customer shipping address on drop ship purchase order (backport [#59415](https://github.com/frappe/erpnext/issues/59415)) ([af7410c](https://github.com/frappe/erpnext/commit/af7410c7be91d417973b7e7921d59460cb4ea334)) * keep packed rows in sync for a repeated bundle component ([9594361](https://github.com/frappe/erpnext/commit/9594361be2a9b0627334b26ef78b0caac89e75e9)) * keep zero rate quoted by supplier on portal ([a4c15e4](https://github.com/frappe/erpnext/commit/a4c15e4a24b6b58590fd3d2d0d6c9bfb03c341b8)) * link portal address rows to web form (backport [#56306](https://github.com/frappe/erpnext/issues/56306)) ([4a0d4ed](https://github.com/frappe/erpnext/commit/4a0d4ed7e27a13faa39552fa0770c73412d1eca4)) * make untranslatable dialog labels and tour titles translatable ([98e5b33](https://github.com/frappe/erpnext/commit/98e5b3310ec397fb56403ef71bd2c63b3309c45b)) * **manufacturing:** accept doctype in BOM tree get_children ([71219b9](https://github.com/frappe/erpnext/commit/71219b9e718f2f70912bf4eaaba9142675802536)) * **manufacturing:** add finished good row when work order batches are used up ([b8d2da4](https://github.com/frappe/erpnext/commit/b8d2da450d81c9d8eba271c6a6e224ca994d86c5)) * **manufacturing:** add finished good row when work order has no serial nos left ([a8a9034](https://github.com/frappe/erpnext/commit/a8a903496c6d0572b7f5c1d89b4e46b6b2d5d05a)) * **manufacturing:** create material requests only from a saved production plan ([91b5402](https://github.com/frappe/erpnext/commit/91b5402446359c8ed8aa21b730f561f3b728a7f9)) * **manufacturing:** escape node values in BOM configurator tree ([18e4302](https://github.com/frappe/erpnext/commit/18e4302b3366734241d206785a69d9852902e1bc)) * **manufacturing:** open a blanket order without marking it unsaved (backport [#59461](https://github.com/frappe/erpnext/issues/59461)) ([eb61229](https://github.com/frappe/erpnext/commit/eb61229f913a3438786dd2c282cde701a69a87fc)) * **manufacturing:** require automatic batch creation on work order submit ([01d13a4](https://github.com/frappe/erpnext/commit/01d13a4862e3ed9cbe7b779d480c572816d455fc)) * **manufacturing:** require serial no series on work order submit ([160689f](https://github.com/frappe/erpnext/commit/160689f75553729f895e668c467eaf27063878d7)) * **manufacturing:** show serial/batch reset message only when one was selected ([4a8f84d](https://github.com/frappe/erpnext/commit/4a8f84d28caed70bddf7a6e452d6dbf2348a331d)) * **manufacturing:** skip warehouse user permission check for work order available qty ([ce6cc52](https://github.com/frappe/erpnext/commit/ce6cc5240e6c8bc517523d1d711a4d0bad3b209a)) * **manufacturing:** take field labels from meta in serial no series error ([9002132](https://github.com/frappe/erpnext/commit/9002132cc0fc5bf6538d3020b0a3def72b242642)) * **manufacturing:** use get_list for workstation job cards ([747ed0d](https://github.com/frappe/erpnext/commit/747ed0dfca44e4985dc6b8cbe3dfab1328d552a0)) * **manufacturing:** validate BOM in update_cost ([4194240](https://github.com/frappe/erpnext/commit/4194240fce0aeaf0d74658eb700f15091a199472)) * **manufacturing:** validate Item in Work Order get_item_details ([7ba6d40](https://github.com/frappe/erpnext/commit/7ba6d4086f977de68e9bc65d803a1d8501da92cc)) * merge conflicts ([16c3ab0](https://github.com/frappe/erpnext/commit/16c3ab086955e8ef9b9264a4bc9d1f337510c592)) * minor improvements to web templates, banking page and CI workflow (backport [#55525](https://github.com/frappe/erpnext/issues/55525)) ([3fe113a](https://github.com/frappe/erpnext/commit/3fe113a24658d71da7ef65a559f170851a6c2afb)) * only allow a submitted quotation to be set as Lost ([ebd3558](https://github.com/frappe/erpnext/commit/ebd35584b273ce7529b45e63f79dedd10c7e0a4e)) * open Company Address on a Dunning, which has no items ([7b8c72d](https://github.com/frappe/erpnext/commit/7b8c72dac71faba21ef5ffbf31f7c1807624c803)) * parse SMS Center receiver numbers on the last separator ([8502916](https://github.com/frappe/erpnext/commit/85029161c8ef5b5a2a17485554de0f887eb01760)) * **Payment Entry:** split orders as per the schedules in the reference table (backport [#52285](https://github.com/frappe/erpnext/issues/52285)) ([4cfe0d0](https://github.com/frappe/erpnext/commit/4cfe0d07d129b6a2d6a2aad63585f2e87c8d5aff)) * plan operation start from the first scheduled job card slot ([96488e1](https://github.com/frappe/erpnext/commit/96488e17a1bc533ca1e48ebf6eceb026c849c28b)) * **pricing rule:** keep a typed rate on items no pricing rule was applied to ([f5a26b0](https://github.com/frappe/erpnext/commit/f5a26b02e395bdb0daa6194ca352b63394454ff9)) * **profitability-analysis:** apply user permissions to cost centers, projects and dimensions (backport [#62523](https://github.com/frappe/erpnext/issues/62523)) ([#62549](https://github.com/frappe/erpnext/issues/62549)) ([b6ab54e](https://github.com/frappe/erpnext/commit/b6ab54e85215d338ab6c699321ccc3ec8c08da48)) * **projects:** read the Timesheet label from the employee field (backport [#57609](https://github.com/frappe/erpnext/issues/57609)) ([c3e0a92](https://github.com/frappe/erpnext/commit/c3e0a9212d8cdb8edcf475ff4578a7ed85399835)) * read maintain-same-rate settings from the correct cache key ([264862e](https://github.com/frappe/erpnext/commit/264862e5f63a5eb0358a9c7b5765797346218e39)) * rebuild bundle packed items on quotation Update Items ([7dd8ea7](https://github.com/frappe/erpnext/commit/7dd8ea7b014d9ebf910eed43434d03e22e5bc684)) * recompute quotation status and guard state on Update Items ([44a9739](https://github.com/frappe/erpnext/commit/44a9739a24faa9dddff57c194f0b0c176ae49be9)) * refresh company total monthly sales on daily and monthly frequency ([43fe7cb](https://github.com/frappe/erpnext/commit/43fe7cbcc2a2aec631ccae04e483f251a694147a)) * reject self-referencing and nested product bundles ([696f037](https://github.com/frappe/erpnext/commit/696f037472134dfcf1a31d9eb1b777ed3d999491)) * **release:** apply commit-analyzer options (backport [#61967](https://github.com/frappe/erpnext/issues/61967)) ([#61978](https://github.com/frappe/erpnext/issues/61978)) ([e93053f](https://github.com/frappe/erpnext/commit/e93053f7a6483394cdef394f903175d15f52ecad)) * resolve conflicts in backport of [#60777](https://github.com/frappe/erpnext/issues/60777) ([cbe3344](https://github.com/frappe/erpnext/commit/cbe334473eac20856064d5307f504360d92e9e38)) * resolve conflicts in backport of [#60780](https://github.com/frappe/erpnext/issues/60780) ([ff4b64c](https://github.com/frappe/erpnext/commit/ff4b64cee48792f4e21b011911382d7f30970ed4)) * resolve conflicts in backport of [#60782](https://github.com/frappe/erpnext/issues/60782) ([182bb04](https://github.com/frappe/erpnext/commit/182bb047eb6c350d99be90de3e9470579d50210f)) * resolve conflicts in backport of [#60783](https://github.com/frappe/erpnext/issues/60783) ([99a5440](https://github.com/frappe/erpnext/commit/99a5440ec7b865c8b76328caf0e853478f302169)) * resolve conflicts in backport of [#60809](https://github.com/frappe/erpnext/issues/60809) ([2cf1a73](https://github.com/frappe/erpnext/commit/2cf1a73f65f33840f154c30f7a5abcf4405ec1c1)) * resolve conflicts in backport of [#60810](https://github.com/frappe/erpnext/issues/60810) ([1c431d7](https://github.com/frappe/erpnext/commit/1c431d7809e7b9a5db5402967a33d64377c471fb)) * resolve conflicts in backport of [#60823](https://github.com/frappe/erpnext/issues/60823) ([3c96807](https://github.com/frappe/erpnext/commit/3c96807f2f82882b932b39469b0a6f0f01dc86cc)) * resolve employee group backport conflicts ([a987186](https://github.com/frappe/erpnext/commit/a9871869ad1383f555cef2b52b4d5815778d03a1)) * resolve target report backport conflicts ([9df498c](https://github.com/frappe/erpnext/commit/9df498c0d28a10d9db386c488bcf4d977debdca8)) * restore vehicle backport tests ([c3b4f31](https://github.com/frappe/erpnext/commit/c3b4f31880e7e64544bf6508552e6c3e37a1906a)) * select Lead.mobile_no in SMS Center lead receiver query ([4a49382](https://github.com/frappe/erpnext/commit/4a493829dc445a026ffea36e5dd912f62c03c656)) * **selling:** account for returned deliveries in credit limits ([da0a92b](https://github.com/frappe/erpnext/commit/da0a92bb1e1f71a838c3e00b0be24f3cf761b91e)) * **selling:** apply template party rules to variants ([a0f2bb4](https://github.com/frappe/erpnext/commit/a0f2bb419278960f5da9685f4e2023c1a14a98ce)) * **selling:** exclude self from party specific item duplicate check ([a0da316](https://github.com/frappe/erpnext/commit/a0da316f54cfab366b8ad0d83519f7aa8650169b)) * **selling:** handle missing company in sales history ([3e55ab8](https://github.com/frappe/erpnext/commit/3e55ab8c5f96e48f61afa070c055f98562ce2ca0)) * **selling:** include descendants in group target achievements ([a1ddafa](https://github.com/frappe/erpnext/commit/a1ddafa4111a46b678ca5d9cfd3d1293a7671fa9)) * **selling:** list billable sales orders oldest first (backport [#59010](https://github.com/frappe/erpnext/issues/59010)) ([2ce02b3](https://github.com/frappe/erpnext/commit/2ce02b3ce21cd609f93f3cb1c749f1138a659692)) * **selling:** normalize near-complete billing percentages ([0934868](https://github.com/frappe/erpnext/commit/093486880b34774e003c986240ecb420785f348e)) * **selling:** reset ordered_qty when a cancelled Sales Order is unlinked from its Purchase Orders (backport [#59120](https://github.com/frappe/erpnext/issues/59120)) ([b730d5f](https://github.com/frappe/erpnext/commit/b730d5f9c9461451ff95dfa7cadc93d4f0a530fb)) * **selling:** respect company in target variance actuals ([7550e05](https://github.com/frappe/erpnext/commit/7550e0570f172bff5f1ede3e0788b7dcae0b6f9d)), closes [frappe/erpnext-bug-reviews#395](https://github.com/frappe/erpnext-bug-reviews/issues/395) * **selling:** round only the final credit exposure ([ae6bc12](https://github.com/frappe/erpnext/commit/ae6bc1264e07422d3f00990f03ee09a089c4087e)) * **selling:** select purchase suppliers by sales order row ([7f84fd6](https://github.com/frappe/erpnext/commit/7f84fd64789e66b491f2942143c10b8a5a158c3d)) * **selling:** use company currency precision for credit exposure ([9cee554](https://github.com/frappe/erpnext/commit/9cee554bd8c06ffd894c269fa485f584be6b7adb)) * **selling:** validate party specific items when updating submitted order items ([b746521](https://github.com/frappe/erpnext/commit/b746521eda438e8f715d9026ed166a63f9ffad52)) * **selling:** validate targets and count achievements once ([6ed1930](https://github.com/frappe/erpnext/commit/6ed19302f7ddc35ea7fb0deada2a467d8ef67283)) * set weight in update items (backport [#55089](https://github.com/frappe/erpnext/issues/55089)) ([5ba2541](https://github.com/frappe/erpnext/commit/5ba254173e332a7c80a0793de450320191d71a83)) * **setup:** allow fleet managers to maintain drivers ([01f64cf](https://github.com/frappe/erpnext/commit/01f64cf30ec73ec57b3a1beb4813d0652812f4e2)), closes [frappe/erpnext-bug-reviews#381](https://github.com/frappe/erpnext-bug-reviews/issues/381) * **setup:** check user access when unlinking an employee and sync status only on change ([2deba1a](https://github.com/frappe/erpnext/commit/2deba1a3a8015a8826a6f0672137bb93d4a584a6)) * **setup:** check user write access without printing permission logs ([e1830e1](https://github.com/frappe/erpnext/commit/e1830e19b19f80283b52afd401a6cb9058cc8b12)) * **setup:** count only submitted documents in the sales person heatmap ([e2bb607](https://github.com/frappe/erpnext/commit/e2bb607fe1c7c843691db4287c4d023dacbdf5f9)) * **setup:** guard only admin users from employee links by HR roles ([b84b7cc](https://github.com/frappe/erpnext/commit/b84b7cc429494ed021e8e19d76585f62ac06d65e)) * **setup:** let HR re-enable a user that an employee status change disabled ([121ab0f](https://github.com/frappe/erpnext/commit/121ab0fec031c642039182d9ebb50d3a6affd779)) * **setup:** let HR users set the image of an employee linked to a user ([235dcca](https://github.com/frappe/erpnext/commit/235dcca08e31b4f598e80cc2ca8cd446ba4ce16d)) * **setup:** limit which users an employee can be linked to ([6ee5bbc](https://github.com/frappe/erpnext/commit/6ee5bbc4a71aa303d91a9fdd9f3550fe8614b87b)) * **setup:** limit which users an employee can be linked to ([d9c0cf4](https://github.com/frappe/erpnext/commit/d9c0cf43060ed66b36714438ca11db5643831c2c)) * **setup:** need user write access to re-enable a user from employee status ([a2619fc](https://github.com/frappe/erpnext/commit/a2619fcbb294d4388f7ed6cb6d06b12dfb79bd9d)) * **setup:** read only changes to the enabled flag from the user's version log ([1a4e082](https://github.com/frappe/erpnext/commit/1a4e082bb2c8b2e6f8c7f4104ddcae587950fe02)) * **setup:** reject duplicate holiday dates across value types ([dcb85b5](https://github.com/frappe/erpnext/commit/dcb85b56c65a2038c920a14a14f07c0aa7078531)), closes [frappe/erpnext-bug-reviews#386](https://github.com/frappe/erpnext-bug-reviews/issues/386) * **setup:** reject negative sales targets ([935c82f](https://github.com/frappe/erpnext/commit/935c82fab316e25403c3b8d9c59b6e451ee8eed6)) * **setup:** reject reversed driver licence dates ([c838f2a](https://github.com/frappe/erpnext/commit/c838f2abccb0c8968b5c7c57ddfa9926f61d6717)), closes [frappe/erpnext-bug-reviews#381](https://github.com/frappe/erpnext-bug-reviews/issues/381) * **setup:** show disabled user notice as a message, not a toast ([8e94936](https://github.com/frappe/erpnext/commit/8e949368d4b3d4a7c8f117613d4147f2b8fd54a3)) * **stock:** add type hints to whitelisted stock read methods ([682de53](https://github.com/frappe/erpnext/commit/682de5304c65087ccfd076633d457b7d3780cb85)) * **stock:** allow parent item groups in filters (backport [#58839](https://github.com/frappe/erpnext/issues/58839)) ([807b367](https://github.com/frappe/erpnext/commit/807b367ab916f8c04520871927d0a875d4256288)) * **stock:** apply precision to final disassembly quantities only ([befecbb](https://github.com/frappe/erpnext/commit/befecbb946960b478f7659e5b8d77e8d3a54584a)) * **stock:** avoid leaking employee private email for drivers ([870aa76](https://github.com/frappe/erpnext/commit/870aa765894550c00004734131095ce25e639f6a)), closes [frappe/erpnext-bug-reviews#381](https://github.com/frappe/erpnext-bug-reviews/issues/381) * **stock:** carry opening balance in Stock Analytics ([3b4f81f](https://github.com/frappe/erpnext/commit/3b4f81ffec8d6ea0dfee6921a3f9426567d7f44e)) * **stock:** check opening stock reconciliation per company ([9e69fb1](https://github.com/frappe/erpnext/commit/9e69fb12633fbb970805c03d0d986ed597ba99dd)) * **stock:** check read permission on outgoing stock entry in set_items_for_stock_in ([2a2bc5e](https://github.com/frappe/erpnext/commit/2a2bc5e5ee392ad743e5b91db90ae4f61e014ccf)) * **stock:** check warehouse user permission in get_bin_details ([ea9e7cc](https://github.com/frappe/erpnext/commit/ea9e7cccfd6588f1b5daf5d917272c33cb584543)) * **stock:** check warehouse user permission in get_item_details ([b4f8c03](https://github.com/frappe/erpnext/commit/b4f8c03b58cd82a893ec2172662fc56a8d995eff)) * **stock:** check warehouse user permission in get_valuation_rate ([0cc977f](https://github.com/frappe/erpnext/commit/0cc977faf6c2c6eadc33553ca49fa0c2b2d0c335)) * **stock:** check warehouse user permission in projected, batch and latest stock qty ([ba80044](https://github.com/frappe/erpnext/commit/ba8004431ed83fd6d43a673df6424e432e32c826)) * **stock:** check warehouse user permission only for stock items ([fca4d22](https://github.com/frappe/erpnext/commit/fca4d228919b6728b5df89d6110ad0d198488265)) * **stock:** clear source warehouse on non-transfer material requests ([632971f](https://github.com/frappe/erpnext/commit/632971f7eac1211f9ac76a2d3e0209fe1d256a3e)) * **stock:** correct delivery note credit exposure ([9597a16](https://github.com/frappe/erpnext/commit/9597a16156527b924316e355c026842574983378)) * **stock:** do not default to a warehouse the user cannot access ([fc7a2fe](https://github.com/frappe/erpnext/commit/fc7a2fe72a2d9e1fe96e3eff49a6c437fa8dca7d)) * **stock:** do not move packed items to other bundle rows ([f8c45bd](https://github.com/frappe/erpnext/commit/f8c45bd9ed258b1eb4d8007da5deb2c581319791)) * **stock:** drop unused serial balance from Stock Ledger (backport [#59392](https://github.com/frappe/erpnext/issues/59392)) ([050702a](https://github.com/frappe/erpnext/commit/050702a7fcd69a883c26d6d5e3878bc4a5ae2148)) * **stock:** enhance quantity tolerance handling in disassembly process ([8238f6c](https://github.com/frappe/erpnext/commit/8238f6cf162c5bd79e9c78707650a7c734581ff6)) * **stock:** fill disassembly batches from what is left in each ([50686c4](https://github.com/frappe/erpnext/commit/50686c4b403794da77336eb9e7b5c504f3008827)) * **stock:** ignore cancelled entries in valuation validation ([ed85741](https://github.com/frappe/erpnext/commit/ed85741fef0cf1b2523e812c9793b0ce45482614)) * **stock:** ignore cancelled ledger entries when changing item stock uom ([505ed2b](https://github.com/frappe/erpnext/commit/505ed2b3fd23558a4c207b8e7e422b1e2ba83931)) * **stock:** ignore disabled price lists on transactions (backport [#58926](https://github.com/frappe/erpnext/issues/58926)) ([fd11766](https://github.com/frappe/erpnext/commit/fd11766ba92c3865e39a21518289732d3c9ea175)) * **stock:** leave cancelled entries out of the item heatmap ([9c2997d](https://github.com/frappe/erpnext/commit/9c2997dc34b81a1257144c480621df273c5f9a7d)) * **stock:** name the scanned value in the error even if another scan follows ([f5d5d64](https://github.com/frappe/erpnext/commit/f5d5d6439b3d17e3dbb27e164220da05e33363d1)) * **stock:** point standalone returns to the incoming rate field ([fe3fc5f](https://github.com/frappe/erpnext/commit/fe3fc5feb7d1773ae206e80f61ed1235083df127)) * **stock:** reject disassemblies missing a component they now owe ([32f1c39](https://github.com/frappe/erpnext/commit/32f1c39fb4ad68b764bf0daf9ca0c71f4d8c9e18)) * **stock:** reject unfit drivers when submitting delivery trips ([3e73aa2](https://github.com/frappe/erpnext/commit/3e73aa2934ae6f8a3ec8dcdfcab708961d066518)), closes [frappe/erpnext-bug-reviews#381](https://github.com/frappe/erpnext-bug-reviews/issues/381) * **stock:** remove orphan stock entry services module ([8d3516b](https://github.com/frappe/erpnext/commit/8d3516b9b60857be1ec53faf2895c2bda67f78d7)) * **stock:** require ledger read access for ledger previews ([fd89a2f](https://github.com/frappe/erpnext/commit/fd89a2fe1665ade6edfa74c8bb247420456ac35e)) * **stock:** return packed items against bundle if source has one ([6688c3c](https://github.com/frappe/erpnext/commit/6688c3ca9606b80813f5ada4f78b74f315e044c0)) * **stock:** return packed items with serial / batch fields ([c574ac7](https://github.com/frappe/erpnext/commit/c574ac75df201f86a9fcccebe586d9237993f686)) * **stock:** round delivery credit exposure ([1c19c64](https://github.com/frappe/erpnext/commit/1c19c646bf0137af68bf347223abbc9f2c68965f)) * **stock:** round disassembly rows in the coarser whole-number UOM ([306637f](https://github.com/frappe/erpnext/commit/306637fe9b3268893771eb668c4e1ae7efba541f)) * **stock:** round whole-number disassembly rows on the running total ([6b71771](https://github.com/frappe/erpnext/commit/6b717717b297f21e60bd7eca69623e82f45d1a3d)) * **stock:** scale disassembly tolerance by the source conversion factor ([08d21e4](https://github.com/frappe/erpnext/commit/08d21e44c7041a8debc3163ef99d7261c52b8b38)) * **stock:** set item price reference for buying and selling price lists ([91bc66e](https://github.com/frappe/erpnext/commit/91bc66ebda5d60157ab0bc31c50a7d1707267145)) * **stock:** share used serial and batch qty across disassembly rows of the same item ([e754527](https://github.com/frappe/erpnext/commit/e754527b4201fc3e7e4c6a7e9c37f97d27ff6961)) * **stock:** show error for unmatched scan in barcode scan dialog ([2f37a2f](https://github.com/frappe/erpnext/commit/2f37a2fe6cbcdb9d8d54025dacbaa73490b90165)) * **stock:** show unmatched scan in a message instead of throwing ([cc0f2a4](https://github.com/frappe/erpnext/commit/cc0f2a4a8f2db1208617003e1f7bc85fcdf45c71)) * **stock:** skip disassembly components that round down to zero ([062889e](https://github.com/frappe/erpnext/commit/062889e663e38f21157ec48c7ba467f14762e7ea)) * **stock:** skip returns when recalculating item last purchase rate ([d2b83d4](https://github.com/frappe/erpnext/commit/d2b83d4b1ffbbf5699b7aebbc6c926d459c24c03)) * **stock:** skip serial nos earlier disassemblies already used ([e74a719](https://github.com/frappe/erpnext/commit/e74a719c3ce722a230afcd3939eb66c33b83dda6)) * **stock:** subtract earlier disassemblies in whole units ([d21f6c3](https://github.com/frappe/erpnext/commit/d21f6c38a7c0b2d4aa5a6dd423ba273a2e717077)) * **stock:** take fractional disassembly components off the running total ([c24ba69](https://github.com/frappe/erpnext/commit/c24ba697cbc6656ed9421b1a491690d909b8e88a)) * **stock:** take whole units for disassembly from the row's own qty ([28ca02d](https://github.com/frappe/erpnext/commit/28ca02da9744210761ea03575e9fbe43364cb0a6)) * **stock:** track used disassembly batch qty per source warehouse ([679fe69](https://github.com/frappe/erpnext/commit/679fe69d8601a2b4d09ff63578494c19aab63806)) * **stock:** use row direction for batch filter in serial batch selector ([b20bf5d](https://github.com/frappe/erpnext/commit/b20bf5da9593cb64e6b3f4e801ae7daf646a3f67)) * **stock:** validate disassembly qty with the rounding used to populate it ([54d7b85](https://github.com/frappe/erpnext/commit/54d7b858796025f74ec27623f11678a662addffc)) * **stock:** validate POS Profile in get_pos_profile ([c6e725f](https://github.com/frappe/erpnext/commit/c6e725f82fbc5e04b70d73676c0dcb49ca5c4bbc)) * **stock:** value a transfer's inward leg at what left the source on repost ([8273376](https://github.com/frappe/erpnext/commit/82733765b18f85c51d911796ea00c0c5aa41eaeb)) * **stock:** value legacy sales returns at the outgoing rate ([ac3c0bd](https://github.com/frappe/erpnext/commit/ac3c0bdc07d14472a79ef0107af6a6dd6d252857)) * **support:** let portal users change only the issues they raised ([06e36cf](https://github.com/frappe/erpnext/commit/06e36cf80158db083869ffd0b48b2f65ba5a8074)) * task gantt popup xss ([d783df1](https://github.com/frappe/erpnext/commit/d783df1a18ab9f49e1c3aa623200ed188cf2f1f6)) * **task:** correct value rendering on task info page ([2d42479](https://github.com/frappe/erpnext/commit/2d424799b35e652674e96bb4867715b2e65d038a)) * **telephony:** disable sharing of voice call settings ([049520d](https://github.com/frappe/erpnext/commit/049520d285feaa58922ca7594c4ddbe89572ab11)) * **telephony:** notify call agents of call end even after their popup slot ends ([e575c22](https://github.com/frappe/erpnext/commit/e575c22987a703c2b5466db7f7d54fe1e0c33c65)) * **telephony:** remove existing shares of voice call settings ([55f0d9a](https://github.com/frappe/erpnext/commit/55f0d9a9e33116be64ebe3be951cad8af7c5b394)) * **telephony:** scope voice call settings to their user ([b45caf3](https://github.com/frappe/erpnext/commit/b45caf3aeb3952ab6ee8b751608a034e4b36a840)) * **telephony:** send call status events to the agents of the call ([0971a43](https://github.com/frappe/erpnext/commit/0971a4359088d7323ce49d63d38d870b5152aa59)) * translate doctype name values in report columns (backport [#59342](https://github.com/frappe/erpnext/issues/59342)) ([cf0aa72](https://github.com/frappe/erpnext/commit/cf0aa72cae2302ddae85875e635c08d16b807cc4)) * translate the closed-periods role label and COA template descriptions ([38887a9](https://github.com/frappe/erpnext/commit/38887a9da8ebff02d56b064c146954f0a1ee07cb)) * treat any stock entry row with source and target warehouse as a transfer ([1e03408](https://github.com/frappe/erpnext/commit/1e034083816f2e8799ad7cf0cd354ca07cd469a9)) * UOM whole number check truncated instead of rounding ([51afe19](https://github.com/frappe/erpnext/commit/51afe1946792b5cbc0a1f019f646d0e6b4dc41e3)) * update flag for row-wise tax rounding settings ([a0ede90](https://github.com/frappe/erpnext/commit/a0ede900feccd1a49d280a1e305f46dbe2af6a2f)) * update packed item warehouses when the bundle warehouse changes (backport [#58316](https://github.com/frappe/erpnext/issues/58316)) ([0622306](https://github.com/frappe/erpnext/commit/0622306863f36cffaf186b7d0b6b0495a5bb8e59)) * update posting datetime of serial and batch bundle in batches ([ddf625e](https://github.com/frappe/erpnext/commit/ddf625eff390e6cf6ef3602f09be9f9fad17c686)) * validate installation note rows against the delivery note ([7aa4680](https://github.com/frappe/erpnext/commit/7aa46808677e3adf26d4b257d2897893540b9cd4)) * **vehicle:** allow incomplete insurance dates ([cc0f7c9](https://github.com/frappe/erpnext/commit/cc0f7c9077ec77033aeed4859eefd5885c6bfe00)), closes [frappe/erpnext-bug-reviews#399](https://github.com/frappe/erpnext-bug-reviews/issues/399) * **vehicle:** make Vehicle Log dashboard entry optional ([c9b2823](https://github.com/frappe/erpnext/commit/c9b28237c2a9a9830e1daafd0af94aa18c7eeb17)), closes [frappe/erpnext-bug-reviews#399](https://github.com/frappe/erpnext-bug-reviews/issues/399) ### Performance Improvements * avoid duplicate fetching of stock qty ([634d4a2](https://github.com/frappe/erpnext/commit/634d4a2f809a076bcd305cde126532061c2b7550)) * avoid querying cost center allocation repeatedly ([ca555b7](https://github.com/frappe/erpnext/commit/ca555b7341a963d040981b8e253d99331e1c8f08)) * use estimated count on item table ([86b2c77](https://github.com/frappe/erpnext/commit/86b2c77cd8cc267e19292ab21480d9f100ec2d6b)) ### Reverts * Revert "refactor(selling): round stored percentages to field precision instead of snapping" ([8830f61](https://github.com/frappe/erpnext/commit/8830f61dd29d7bbc420253e54a1a285fd8c0e918)) * **stock:** price Moving Average purchase returns at the moving average on repost ([f2f5407](https://github.com/frappe/erpnext/commit/f2f54078284e5213b5422f56f97311c7bfdcd529))
ERPNext as a monolith includes the following areas for managing businesses:
- Accounting
- Warehouse Management
- CRM
- Sales
- Purchase
- HRMS
- Project Management
- Support
- Asset Management
- Quality Management
- Manufacturing
- Website Management
- Customize ERPNext
- And More
ERPNext is built on the Frappe Framework, a full-stack web app framework built with Python & JavaScript.
Installation
Login for the PWD site: (username: Administrator, password: admin)
Containerized Installation
Use docker to deploy ERPNext in production or for development of Frappe apps. See https://github.com/frappe/frappe_docker for more details.
Manual Install
The Easy Way: our install script for bench will install all dependencies (e.g. MariaDB). See https://github.com/frappe/bench for more details.
New passwords will be created for the ERPNext "Administrator" user, the MariaDB root user, and the frappe user (the script displays the passwords and saves them to ~/frappe_passwords.txt).
Learning and community
- Frappe School - Learn Frappe Framework and ERPNext from the various courses by the maintainers or from the community.
- Official documentation - Extensive documentation for ERPNext.
- Discussion Forum - Engage with community of ERPNext users and service providers.
- Telegram Group - Get instant help from huge community of users.
Contributing
License
GNU/General Public License (see license.txt)
The ERPNext code is licensed as GNU General Public License (v3) and the Documentation is licensed as Creative Commons (CC-BY-SA-3.0) and the copyright is owned by Frappe Technologies Pvt Ltd (Frappe) and Contributors.
By contributing to ERPNext, you agree that your contributions will be licensed under its GNU General Public License (v3).
Logo and Trademark Policy
Please read our Logo and Trademark Policy.