How to add custom column in Sales invoice

How to add custom column in sales invoice like barcode.
I’be tried many time from customize form but unable to do.
Any help regard this issue will appreciate.

Refer to this:

You need to customize the child table Sales Invoice Item doctype. To show it in the print format, edit the item table in the print format builder.


Barcode is already a field int he Sales Invoice Item doc. Just select it, uncheck the Hide box and check the “Show in list view” box to make it show up on the sales invoice. Then scroll down to the bottom and set the number of columns to 1 or 2. Just make sure the total number of columns across all columns that need to be displayed is less than 11. (So check the rest of the active fields).

Hope this helps…


1 Like

Oh yeah… one last thing.

When I did this for my installation, in the Barcode field definition, I also checked the box next to “In Global Search” and this made the field on the Sales Invoice an active search field. We use barcode scanners to populate the Sale Invoice and this saved a lot of time in the process.

Hope this helps a little more…:sunglasses:



HI, How do you move to next row, after you scan the barcode?

I used another program specifically for generating barcode labels and made a label with a TAB key as the only character in the barcode. Several of these labels were printed and stuck on the deck of the laptop PCs, and the front of the Android tablets used to generate the sales invoices.

So, while the sales person is scanning the items into the sales invoice, they simply scan the TAB label and it advances the cursor to the next field or row.

We also know that you can program some scanners to append the TAB character to the end of every scan, but our experience is that ERPNext is not always able to process the characters appended by the scanner. It seems to be a speed problem in how ERPNext processes the input from a HID device. That is why we went with the TAB labels and stuck them in places easy to access when using the scanners.

Hope this helps.


Yes, that would work, but I would have to press multiple tabs or scan multiple tabs to take it to next row. Below is the screenshot for my sales invoice item table.

What do you suggest doing, to go to next row after the scan directly?

Actually… I do NOT suggest attempting to jump straight to the next line. It is important to make sure you are able to enter the correct “Quantity” in the Sales-Invoice-Item grid. If you happen to have a business that never sells more than one of any given item, then you are the exception to the rule.

Just about everyone else needs to pass through the Quantity field in the grid in case they happen to sell multiples of the same item.

While your case may be different, I would suggest still using the TAB function to at least get your sales reps used to passing through the Quantity field in the event you do start selling more than just one of an item.


You are correct… it does work and very well. You would also be surprised at how fast your sales reps will get with scanning a TAB code sticker. It means that their hands never have to let go of the barcode scanner and they do not have to touch the keyboard unless they need to alter the quantity field.

In our case, we have added a USB Numeric Keyboard and mounted it away from the main laptop. This means that even if a Quantity needs to be changed, the user is not fumbling around with a full PC keyboard where alpha characters could be hit by accident.

It gets even better at the checkout stand in the retail store because the users there can scan the same barcode multiple times and it simply increments the quantity field if the item is already in the cart.

Barcode scanners have been the turning point of making ERPNext a success in most of my clients businesses. It really simplifies item entry in many of the screens.


Our Sales Invoices have more than 50 items, the page becomes pathetically slow soon after 30-40 items. It takes 5 seconds after you click the Add row button to add a row, and 10 seconds to fetch the item details for the row after you add the SKU.

At first, I noticed that large lists in a Sales Invoice would also slow down the response time. I added resources to the server in order to speed it up. My account that has a habit of making long sales invoices has 7 sales reps all generating sales invoices at the same time. I had to increase the VPS cloud server memory to 5gb to get a reasonable performance.

Your mileage may vary… :grin: