This topic may seem off for this community; but I think it impacts users seriously so maybe anyone with some insight on this may help the community.
At pos; since the printing is handled by os/browser; its possible for a cashier to enter 2 in the print quantity; keep one aside and later use it to move stock out the store either in person or using a friend; its a very simple and almost unstoppable scenario considering many shops can’t afford alarms; stamping invoices is another issue; but that will still be done by humans so problems could persist.
If anyone has any experience with restricting printer copies or a plugin/extension for any of the popular browsers; it will be highly beneficial.
Yep! Another fine point! That print button should be disabled and that pop up closed automatically. These are simple tweaks in my opinion; if the core development team can give this print issue focus - 'Cus I think it’s being overlooked!!
For the number of copies; I found a usable solution using a firefox; for security reasons; especially as this is an open forum; I can’t state the details; send a mail anyone interested.
I also think the fixes should be offered as script updates that can be added by system administrators.
Please team; this is a serious security flaw for erpnext, think about it; as good as it is in other areas; this one is important; in retail this can make erpnext a reject as @olamide_shodunkehttp://discuss.frappe.io/users/olamide_shodunke has rightly stated. let’s have the print button disabled by the time the cashier comes back to the pos screen after printing!!!
Summarily:
Disable print on submitted invoice after first print
OR
Remove print button and let submit send directly to default printer!!! i.e integrate print and submit at POS; its retail, this will be faster and completely free of fraud.
This issue can’t be over-emphasized, it crucial; the low responses makes it appear obvious there are a few people using this in pure retail!
Please; for the new POS; remove that print button after invoice is submitted; submit should just print automatically to default printer; if the browser is a restriction; firefox will handle a dialog-less; direct to printer functionality; tested and works; the only thing is just to ensure that print button is unavailable for submitted pos invoice when ROLE = Accounts User; simple!
For the older POS, the print and New popup should be gone on returning from print and the printer icon + menu>print function all disabled for the submitted invoice once user role = Accounts User
I anyone on the team can issue us a working script to add to the module files; it will be a very welcome improvement.
Again… there may be a challenge with the above proposal in my last reply; since the invoice has already been submitted before print in the current setup. Now what if we have a hidden field ‘Print Count’ that keeps a count of every time the invoice is printed. Now a user with a certain role cannot print an invoice when the count is = 1. So the print buttons are disabled by the framework for such a role; while higher roles can print. If there’s a problem in-store that needs a reprint; the rightful authority will do that. Also we should just have the submit button do both automatically; just for pos. I know the team is considering flexibility; but at pos; this level of flexibility is not required. 100% of the times in the retail environment; invoices will be printed. If there’s time; the dev team can even think of adding a Demo and Live mode in accounts settings for POS so the demo mode works flexibly and Live mode uses print counting, one submit button that also print to default and no print buttons anywhere on pos screen!
This functionality will be so desirable even for all other modules; this will be a simple way to manage printing.
For the team; summarily; let’s have the PRINT button get DISABLED along with the other fields in the sales invoice once it’s submitted. So after the first click; its disabled. Maybe someone can help with this.
Hide the breadcrumbs: got to assets folder and edit the desk.min.css; set display values for #nav-breadcrumb to none; default is inline-block. This is good for users in pre v7; as the cashier cannot click the breadcrumb to access the list and reprint.
Edit Sales_invoice.js; look at the are …on_submit (image attached) set the code as I have attached.
Overall effect; you have a single conclude button that prints and opens a new invoice so the previous invoice is gone, the popup is gone and a new invoice is created. Simple solution and works flawlessly.
Couple this with a fine plugin for firefox and you have a secure pos, ready for retail.
Please share; this is critical for retail. thank you