[Release Notes] ERPNext v12.5.0 and Frappe v12.3.0

ERPNext Version 12.5.0

New Features:

  • Group by Customer / Customer Group / Item / Item Group / Territory / Invoice option in Itemised Sales Register report #20251

  • Group by Supplier / Item / Item Group / Invoice option in Itemised Purchase Register report

  • Group by Customer / Supplier option in Accounts Receivable / Payable report

  • Enhanced Fixed Asset Register report #20332

  • Added tax category in pos profile #20413

Fixes

  • GL Entries were not creating on manual asset creation #20265

  • Payment Entry should not be allowed against blocked Purchase Invoice until release date #20270

  • Incorrect number of GL Entries error in stock entry due to precision issue #20297

  • Wrong outstanding invoices fetched against employee #20373

  • Finance book filtering logic in financial statements and other accounting reports #20411

  • Additional discount was not appling on sales invoice created by subscription #20432

  • Deprecated fetching item price based on minimum qty #20346

  • Calculation of carry forwarded leaves #20341

  • Quotation status will be expired based on validity only if it is not Ordered or Lost #20365

  • Delete auto created batch on cancellation of Purchase Receipt / Stock Entry #20392

  • Show product bundle item’s availability on website based on availability of all bundled items #20384

  • Show relevant suppliers on “Create Purchase Order” popup in Material Request #20232

  • Cannot complete task if dependent task are not completed / cancelled #20434

  • Show numeric values in item configurator #20430

  • Filter serial no based on batch no #20566

  • Pricing rule was not working on item groups #20546

  • Disabled quick entry for doctypes with tree view #20453

Optimisation

  • Handling of large number of serial no creation via Purchase Receipt / Stock Entry (10 times faster than before!) #20540

  • Update outstanding amount on Sales Invoice on submission of invoice / payment #20557


Frappe Version 12.3.0

  • Fixed user’s permission issue while loading query report data (#9231)

  • Fixed issue with group by reports not being saved (#9255)

  • In Report View, status field will now be derived from docstatus or workflow status field if not in docfields (#9279)

  • Reset document email link on changing the document(#9271)

  • Fixed issues with Dashboard Chart filter (#9298)

  • Support Before/After Save document events for server scripts (#9332)

  • Fixed Auto Email Report which were not working for the prepared report (#9344)

  • Updated breadcrumb itemtype to schema.org (#9348)

  • Added in_quick_entry option for custom field (#9395)

  • Release notes/update popup will be only shown to System Managers (#9410)

  • Added ability to dynamically skip total row in Script Reports (#9414)

  • Retain standard filter input fields on reload (#9446)

  • Hide Cancel button if workflow state and action for Cancel is defined (#9423)

  • Automatically set workflow state when some action is performed on a document from the backend if workflow exists (#9498)

  • Bulk Workflow Action will be rolled back on error (#9443)

21 Likes

Hi, I made the update, and I am having issues creating an Item.

Prod

it does nothing.
this is the output in console

image

Anyone is having this issue?

I have Debit and Credit not equal for Purchase Invoice #PINV-Assets00006. Difference is 140.0. massage only when add VAT

File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 19, in savedocs
doc.submit()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 859, in submit
self._submit()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 848, in _submit
self.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 272, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 325, in _save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 922, in run_post_save_methods
self.run_method(“on_submit”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 787, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1058, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1041, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 781, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py”, line 350, in on_submit
self.make_gl_entries()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py”, line 365, in make_gl_entries
update_outstanding=update_outstanding, merge_entries=False, from_repost=from_repost)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/general_ledger.py”, line 24, in make_gl_entries
save_entries(gl_map, adv_adj, update_outstanding, from_repost)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/general_ledger.py”, line 126, in save_entries
round_off_debit_credit(gl_map)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/general_ledger.py”, line 229, in round_off_debit_credit
.format(gl_map[0].voucher_type, gl_map[0].voucher_no, debit_credit_diff))
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 364, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 350, in msgprint
_raise_exception()
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 316, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.ValidationError: Debit and Credit not equal for Purchase Invoice #PINV-Assets00006-1. Difference is 140.0.

request.js:355 Traceback (most recent call last):
File “/home/frappe/frappe-bench/apps/frappe/frappe/app.py”, line 60, in application
response = frappe.api.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/api.py”, line 55, in handle
return frappe.handler.handle()
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 22, in handle
data = execute_cmd(cmd)
File “/home/frappe/frappe-bench/apps/frappe/frappe/handler.py”, line 61, in execute_cmd
return frappe.call(method, **frappe.form_dict)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 1042, in call
return fn(*args, **newargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/desk/form/save.py”, line 19, in savedocs
doc.submit()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 859, in submit
self._submit()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 848, in _submit
self.save()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 272, in save
return self._save(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 325, in _save
self.run_post_save_methods()
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 922, in run_post_save_methods
self.run_method(“on_submit”)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 787, in run_method
out = Document.hook(fn)(self, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1058, in composer
return composed(self, method, *args, **kwargs)
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 1041, in runner
add_to_return_value(self, fn(self, *args, **kwargs))
File “/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py”, line 781, in
fn = lambda self, *args, **kwargs: getattr(self, method)(*args, **kwargs)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py”, line 350, in on_submit
self.make_gl_entries()
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py”, line 365, in make_gl_entries
update_outstanding=update_outstanding, merge_entries=False, from_repost=from_repost)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/general_ledger.py”, line 24, in make_gl_entries
save_entries(gl_map, adv_adj, update_outstanding, from_repost)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/general_ledger.py”, line 126, in save_entries
round_off_debit_credit(gl_map)
File “/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/general_ledger.py”, line 229, in round_off_debit_credit
.format(gl_map[0].voucher_type, gl_map[0].voucher_no, debit_credit_diff))
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 364, in throw
msgprint(msg, raise_exception=exc, title=title, indicator=‘red’)
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 350, in msgprint
_raise_exception()
File “/home/frappe/frappe-bench/apps/frappe/frappe/init.py”, line 316, in _raise_exception
raise raise_exception(msg)
frappe.exceptions.ValidationError: Debit and Credit not equal for Purchase Invoice #PINV-Assets00006-1. Difference is 140.0.

Could not replicate.Try bench build and bench clear-cache and then try again.

Please provide some more details about the input data.

Replicate the same issue on demo.erpnext.com and share the invoice ID.