ERPNext.com Frappe Cloud Support Partners Foundation Frappe School

Sales Invoice Creation very slow

Dear Team,

When we create Sales Invoice, it is taking too much time. We have more than 50 items at an average in one Sales Invoice.

It takes 5 seconds to add row after you click on the add row button and 10 seconds after we write the item SKU in the row. Overall in a minute we are able to add just 4 items.

This happens as soon as the Sales Invoice crosses around 30-50 items. The whole process of adding 4 items a minute is highly irritating and frustrating.

I think the issue is a big UX issue and because of following reasons:

  1. We heavily use barcode scanner to add SKUs to Invoice, and POS is not a solution for us as it has limited functionalities.
  2. The JS/page which fetches line items from item master becomes too heavy and consumes a lot of time.
  3. There is no way by which I can add multiple items in one go via upload/download, like in Stock reconciliation child items table.
  4. We cannot use Add Multiple like in Sales Order as we use Barcode Scanner to add SKUs, add multiple makes you search item and then you select item, it equally time taking.
  5. There is no way by which we can move to the next row directly after we scan the item, the barcode scanners append the enter/return key after the SKU.

I propose the following solutions:

  1. Easiest, quickest and temporary way to resolve the issue is to allow the upload option like in Stock Reco form. I will scan the items in an excel sheet and then upload it to the Child Table. It will take time, but it will be atleast better than adding 4 items a minute. Please note that I can upload only the SKUs, not their respective pricing in the upload sheet, the pricing will be fetched from the price list assigned to the customer or selected in the Sales Invoice.

  2. Optimize your UX and the page, which allows the user to directly move to next row after the item is scanned. The user need not wait for the page to fetch the item details.

This problem renders the complete ERP useless, please provide a solution immediately. This issue has been raised multiple times in the forum, but I dont think you guys have been able to provide concrete solution so far.

On your probable solutions, for #1 maybe you can try data import tool

@rishinikhil
We faced a similar situation 3-4 months back, but the major delay was in searching from about 1 million items(and their descriptions).
Frappe team pushed some fixes - (optimised their search queries), and it is more manageable now.
I suggest you could spend some time identifying what is exactly taking most of your time(try recording a screencast)

Thanks for your reply.

I see issue at two points:

  1. After adding 50 items, searching form becomes too slow. 10 secs for one row.
  2. Add row button eats another 5 secs.

It would be cumbersome to ask the Billing guy to do a data import for all the invoices he makes. Better to use Tally then :slight_smile:

How many items do you have in all ?

Total items are 430.

I don’t see much difference between #1 you suggested about excel usage and data import tool. Can’t comment about tally, have never used it.

430 items should not be a problem.

See if this helps:

  • PC specs issue: Old browsers, lower spec systems, graphic driver issues, low RAM; Have you tried on multiple systems?
  • If you are self hosted you could try to change server configuration

If the above does not work, post a github issue as a Feature Request for the desired keyboard short-cuts and related performance.

Does not seem like a standard problem. Which version are you on? Do you have customizations?

We are on SaaS offered by ERPNext :smiley:

Yes tried on multiple systems. We are on SaaS

Drop in a mail at support@erpnext.com !

Yes, raised a ticket in support, in github as well as here at the same time. Looks I am reaching towards a solution through forum at snails pace.

@rmehta @rishinikhil @Pawan @Pawan
hello,
is there is any solution for this problem? it still exists for now. I have version 13 and still facing this problem