POS Duplicate (Triplicate) Print Dialog


Hi All,


I have a scenario where when user clicks Submit on POS page the ERPNext pops up more than one Print dialog at the same time i.e. they are stacked on top of each other usually two on occasion 3 dialogs.

This leads to a situation where Sales Invoice is saved/submitted more than once even if you click Print once only or even close and print from POS screen. It happens in both Offline and Online POS several times in a day.

Could it be a LAN issue (network latency) I am using wireless LAN between Till and Server using static IP’s to avoid issues already encountered even on client PC side.

Could it be mouse issue (it’s optical) proximity to barcode reader?

If it’s a bug please advice.



I have just noticed this too…

Any resolution?


This is a serious issue and I notice that quite a few people have complained about this.

We just went live @ a supermarket today with 8 till points and we have already had this happen on 4 invoices today alone.

This is looking like a bug, please advice


Hi @olamide_shodunke

Could you check your web.error.log and see what error is showing there so we can compare?

[2018-02-15 14:02:29 +0000] [8855] [ERROR] Error handling request /api/method/frappe.async.can_subscribe_doc?sid=fc80f934da56c75af54ede7a859f36ffb71fdb68fa6d265fed968fa7&doctype=Sales%20Invoice&docname=New%20Sales%20Invoice%201
Traceback (most recent call last):
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/gunicorn/workers/sync.py”, line 135, in handle
self.handle_request(listener, req, client, addr)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/gunicorn/workers/sync.py”, line 176, in handle_request
respiter = self.wsgi(environ, resp.start_response)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/werkzeug/local.py”, line 228, in application
return ClosingIterator(app(environ, start_response), self.cleanup)
File “/home/ubuntu/frappe-bench/env/local/lib/python2.7/site-packages/werkzeug/wrappers.py”, line 291, in application
return f(*args[:-2] + (request,))(*args[-2:])
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py”, line 88, in application
response = handle_exception(e)
File “/home/ubuntu/frappe-bench/apps/frappe/frappe/app.py”, line 143, in handle_exception
if frappe.local.is_ajax or ‘application/json’ in frappe.get_request_header(‘Accept’):
TypeError: argument of type ‘NoneType’ is not iterable

That looks similar to what I have as well.

@rohit_w you had asked for the error trace on this issue.