[V7] Offline POS Functionality

Hi All,

Can anyone please give a brief description of how the offline POS feature works in V7? Also, I noticed a menu option ‘Sync Master Data’. Will the user be required to keep doing this manually in order to keep item list up to date?

Thanks

Have a look at this post : ERPNext 7 Showcase : Updated POS

You can also checkout the feature at https://beta.erpnext.com

Hi @wale

System sync master data on refresh of the page, now if user doesn’t want to refresh the page and want to get latest item then he has to click on ‘Sync Master Data’

Thanks, Rohit

@vjFaLk thanks a lot for the link. It explains quite a bit

@rohit_w thanks for the clarification on Syncing Master Data

I however noticed (while trying out the feature on beta.erpnext.com) that there are items showing up when I select ‘View Offline Records’ even though I am connected to the internet. I thought the records should sync automatically when connected to the internet. Why are they still there?

Thanks

@wale

These records are not submitted yet therefore showing in the list.

Thanks, Rohit

So if I get you correctly, transactions can only be submitted when there’s an internet connection? If so, this means all transactions created while offline need to be submitted when connection is restored

Also, when I click on one of the offline records, the form gets populated with the details but there is no option to Submit! Only options are New and Print

System sync submitted records if internet connection is available, if record is not submitted or internet connection is not active then it remains in the list.

Can you share screen shot? When user submit the record, then only he can see the print option

@rohit_w please find screenshots attached. These are actually from the https://beta.erpnext.com site so you can even check it out yourself


Hi @wale,

These records are already submitted but not paid and these records are sync with the system if internet connection is active.

Thanks, Rohit

Hi Rohit, that’s my point exactly! My internet connection is active so why are these items still in the list of offline records?

Also, if these records are already submitted but not paid then why is there no option to ‘Pay’?

Finally, I noticed the following error popping up

Thanks

Hi @wale,

Not synced because of this error, I’ll check the issue.

You have to make payment once it’s synced with the system, we have not provided option to make payment from here because the invoice is not available in the system.

Thanks

Hi @rohit_w,

thanks a lot for all your responses. Kindly let me know when the issue has been fixed so I can test again

Cheers!

Hi @rohit_w,

Trust you’re doing well. Any update on this issue?

Thanks

Hi @wale,

I am not able to reproduce this issue, can you again make same order and check.

Thanks, Rohit

Hi @rohit_w,

how does it work with the invoice number /series…
lets assume I have 3 POS and the internet has given in.
If all the 3 POS are still selling due to their capability of doing so offline
how do they fetch an invoice number without messing up the corect sequence ??

Hi @spa

In POS, system keeps the order data in localStorage(Even if connectivity exist) and sync the data after every minutes if connection exist. When order was in localStorage, it has unique id timestamp and when it sync with the server, system generates the sequence number against it. User can see the unique offline id under filed Offline POS Name after sync.

Thanks, Rohit

Hi @rohit_w

The issue persists. Even sales made while online are added to the list of offline records! What does this error mean? Which Account Head is missing??

Thanks

Hi @wale,

Can you share me console log of the browser, also please check paid orders are submitted or not.

Thanks, Rohit

Hi @rohit_w,

Please explain what you mean by paid orders getting submitted? Below is the console log:

localStorage cleared
desk.min.js:9 Cleared App Cache.
desk.min.js:12 localStorage cleared
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866732240-0 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064Manager @ libs.min.js:922Manager @ libs.min.js:892lookup @ libs.min.js:825init @ desk.min.js:152startup @ desk.min.js:980load_startup @ desk.min.js:980init @ desk.min.js:980Class @ desk.min.js:7frappe.start_app @ desk.min.js:979(anonymous function) @ desk.min.js:980i @ jquery.min.js:2fireWith @ jquery.min.js:2ready @ jquery.min.js:2J @ jquery.min.js:2
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866733544-1 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866735850-2 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866740157-3 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866745777-4 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866751990-5 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866758260-6 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866764483-7 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866772937-8 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866778746-9 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866784340-10 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866789916-11 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866795537-12 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866801090-13 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866806717-14 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866812242-15 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866817751-16 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866829682-17 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866835206-18 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866840872-19 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
jquery.min.js:4 POST https://beta.erpnext.com/ 417 (EXPECTATION FAILED)send @ jquery.min.js:4ajax @ jquery.min.js:4frappe.request.call @ desk.min.js:127frappe.call @ desk.min.js:123sync_sales_invoice @ VM1866:1472(anonymous function) @ VM1866:1463
desk.min.js:139 Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 55, in application
    response = frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 19, in handle
    execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 36, in execute_cmd
    ret = frappe.call(method, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 879, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 175, in make_invoice
    submit_invoice(si_doc, name)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 214, in submit_invoice
    save_invoice(e, si_doc, name)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 219, in save_invoice
    si_doc.save(ignore_permissions=True)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 242, in save
    return self._save(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 259, in _save
    self.insert()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 213, in insert
    self._validate()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 387, in _validate
    self._validate_mandatory()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 591, in _validate_mandatory
    name=self.name))
MandatoryError: [Sales Invoice, SINV-00259]: account_head

libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866846500-20 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866852166-21 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866858406-22 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866863979-23 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866869531-24 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866875125-25 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
desk.min.js:86 Uncaught Error: Error: Batch no is mandatory for item Tecno C9frappe.throw @ desk.min.js:86mandatory_batch_no @ VM1866:1571add_to_cart @ VM1866:1181(anonymous function) @ VM1866:1026dispatch @ jquery.min.js:3$event.dispatch @ report.min.js:206r.handle @ jquery.min.js:3
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866881367-26 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866887623-27 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866893554-28 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866899198-29 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
jquery.min.js:4 POST https://beta.erpnext.com/ 417 (EXPECTATION FAILED)send @ jquery.min.js:4ajax @ jquery.min.js:4frappe.request.call @ desk.min.js:127frappe.call @ desk.min.js:123sync_sales_invoice @ VM1866:1472(anonymous function) @ VM1866:1463
desk.min.js:139 Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 55, in application
    response = frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 19, in handle
    execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 36, in execute_cmd
    ret = frappe.call(method, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 879, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 175, in make_invoice
    submit_invoice(si_doc, name)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 214, in submit_invoice
    save_invoice(e, si_doc, name)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 219, in save_invoice
    si_doc.save(ignore_permissions=True)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 242, in save
    return self._save(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 259, in _save
    self.insert()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 213, in insert
    self._validate()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 387, in _validate
    self._validate_mandatory()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 591, in _validate_mandatory
    name=self.name))
MandatoryError: [Sales Invoice, SINV-00259]: account_head

libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866904847-30 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866910473-31 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866916799-32 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866923553-33 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866930588-34 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866936141-35 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866941783-36 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866947992-37 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866953565-38 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866959144-39 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
jquery.min.js:4 POST https://beta.erpnext.com/ 417 (EXPECTATION FAILED)send @ jquery.min.js:4ajax @ jquery.min.js:4frappe.request.call @ desk.min.js:127frappe.call @ desk.min.js:123sync_sales_invoice @ VM1866:1472(anonymous function) @ VM1866:1463
desk.min.js:139 Traceback (most recent call last):
  File "/home/frappe/frappe-bench/apps/frappe/frappe/app.py", line 55, in application
    response = frappe.handler.handle()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 19, in handle
    execute_cmd(cmd)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/handler.py", line 36, in execute_cmd
    ret = frappe.call(method, **frappe.form_dict)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/__init__.py", line 879, in call
    return fn(*args, **newargs)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 175, in make_invoice
    submit_invoice(si_doc, name)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 214, in submit_invoice
    save_invoice(e, si_doc, name)
  File "/home/frappe/frappe-bench/apps/erpnext/erpnext/accounts/doctype/sales_invoice/pos.py", line 219, in save_invoice
    si_doc.save(ignore_permissions=True)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 242, in save
    return self._save(*args, **kwargs)
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 259, in _save
    self.insert()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 213, in insert
    self._validate()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 387, in _validate
    self._validate_mandatory()
  File "/home/frappe/frappe-bench/apps/frappe/frappe/model/document.py", line 591, in _validate_mandatory
    name=self.name))
MandatoryError: [Sales Invoice, SINV-00259]: account_head

libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866964708-40 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866970383-41 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866976056-42 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866982627-43 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866988243-44 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866993794-45 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469866999463-46 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329
libs.min.js:3684 GET https://beta.erpnext.com/socket.io/?EIO=3&transport=polling&t=1469867005730-47 502 (Bad Gateway)Request.create @ libs.min.js:3684Request @ libs.min.js:3607XHR.request @ libs.min.js:3538XHR.doPoll @ libs.min.js:3568Polling.poll @ libs.min.js:3957Polling.doOpen @ libs.min.js:3901Transport.open @ libs.min.js:3078Socket.open @ libs.min.js:2508Socket @ libs.min.js:2390Socket @ libs.min.js:2325Manager.open.Manager.connect @ libs.min.js:1064(anonymous function) @ libs.min.js:1329

@rohit_w, it also appears that searching for items using Batch Number is not working in POS!

Thanks