# [15.98.0](https://github.com/frappe/erpnext/compare/v15.97.0...v15.98.0) (2026-02-17) ### Bug Fixes * **accounts-controller:** handle empty items list ([13239a9](13239a9dee)) * **accounts:** correct base grand total and rounded total mismatch ([#51739](https://github.com/frappe/erpnext/issues/51739)) ([8bdbb24](8bdbb24d73)) * add base_tax_withholding_net_total to tax withholding report ([ed42d54](ed42d54989)) * allow rename for market segment doctype ([0a41987](0a4198718b)) * allow sequence id edit in BOM if routing is not set ([c425944](c425944bdf)) * better validation for negative batch ([85d18fa](85d18fa7a4)) * cancel SABB if SLE cancelled from LCV ([f2a77d1](f2a77d178d)) * consider sle for negative stock validation ([ca79f64](ca79f6478a)) * do not allow plant floor company and warehouse to be updated ([d6333c1](d6333c1562)) * **manufacturing:** add sales order fields in subassembly child table ([0576752](0576752d3b)) * **manufacturing:** set sales order references in subassembly child table ([53e18a9](53e18a9beb)) * Payment Terms auto-fetched in Sales Invoice even when automatically_fetch_payment_terms is disabled ([78a3701](78a3701f4c)) * **pos_invoice:** add correct depends on condition (backport [#52689](https://github.com/frappe/erpnext/issues/52689)) ([#52693](https://github.com/frappe/erpnext/issues/52693)) ([4fe9689](4fe968961a)) * **postgres:** validate against period closing using MAX(period_end_date) ([#51554](https://github.com/frappe/erpnext/issues/51554)) ([9ec3031](9ec30319e4)) * production plan status ([97a6610](97a6610c0c)) * recalculate tax withholding during Purchase Order child update ([273029d](273029d0f0)) * set base_tax_withholding_net_total for jv in tds report ([68099a9](68099a9b5c)) * standalone credit/debit notes should not fetch any serial or batch by default ([79c3bc9](79c3bc9bcd)) * total weight does not update when updating items ([e12871b](e12871b408)) ### Features * Negative Batch report ([6313636](631363632b)) * show formatted currency symbol on ledger preview ([383648f](383648fb59))
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.