Duplicated Sales Invoice when using PoS

Hello all

We have noticed a re emergence of an old issue. This is the fact that duplicate invoice are posted by ERPNext for the same transactions when using the PoS screen.

The following are the features of this problem.

  1. The duplicate transactions are posted at exactly the same time
  2. The invoice numbers follow each other
  3. It usually happens after the system freezes for a while during posting using the PoS Screen.

I was of the opinion that this issue was resolved by @rohit_w a while back, but after I noticed it and reached out to some ERPNext colleagues I was told the issue never went away despite @rohit_w ś fix.

I believe this issue goes to the core of trust in ERPNext for a retail business and the entire core team needs to have a look at it. If users cannot trust data they will look elsewhere.

@rmehta sorry for tagging you, but I think this issue is fundamental.
@tundebabzy is this something you want to look at
@noetico and @wale with @EnSeal do you want to add your experience about this?


I can confirm the issue has always been there; some of the clients have just become tired of complaining. It occurs at less than 1% of the sale volume but we all know that one single occurrence of such an event can totally discredit a system with some particularly ‘picky’ personalities.

I have posted on this issue severally within long threads and I strongly believe the javascripts need a deep look to see why its possible. A bug was also posted on github for automatic submission; whch is directly linked to the duplicates, what happens is the system can buckle up and then as a the cashier waits they see a submitted invoice ready for printing; I do believe that it is mostly in these cases that a duplicate also gets automatically created.

Please on this issue we have gone past arguments with users, its a confirmed fact. Please lets see what we can do…

1 % for some clients is about 5 to 10 invoices per day automatically submitted or duplicated…

we can avoid this by applying a simple logic. if someone is working to resolve this issue, i can help to make it foolproof.

i experienced the same issue around a year ago. and after applying that solution, it’s working fine so far.

That is good news @adnan

Would you mind sharing the logic ? It would be a huge relieve .


Lets talk about Sales invoice only

  1. we need to add a unique field in Sales Invoice (POSID)
  2. From POS with each invoice we need to send a unique ID to this field.
    a. Generation of this Unique Field at POS.
    b. there could be number of options to generate a unique ID at POS Level. which should be unique through out the system.

for example an assigned id with a combination of TIme stamp
logged in cashierID wih timestamp. etc…

in this case if offline POS will try to post a duplicate invoice DB will not allow.

Ok, great idea

We are running PoS in offline mode

I just noticed that the even though the Sales invoice number of the duplicated invoices are different the offline PoS numbers are the same

What if i make this offline PoS number field unique ? will it have the same effect as the idea you proposed above ?

Unfortunately I could not make offline PoS name unique

This is quite unfortunate, I just reviewed our database (7 Cashiers working on 7 different workstations daily) and the only duplicated offline pos numbers are those for the duplicated sales invoice, every other one was unique.

@adnan am still hoping you can comment on my proposal


Before you make it uniqu, you have to alter duplicate values. Just make sure it should be unique throughout the system.

I’m not using offline POS but sending Invoices through API. I faced the same issue and resolved it by creating a new unique field.

With each invoice i am sending this number.

As you said there is already offline POS number. Just make it unique and it’ll solve the purpose.

For exsisting dupicates, just alter them to make them unique. And change the field.

Hi @olamide_shodunke

Do let us know if you are able to solve the problem using the proposed solution. This is an issue that has gone on way too long! Some things are just not acceptable especially in a retail solution

Kind regards,

1 Like

Will try and update you.

Let it be on record that we have duly informed the ERPNext family of this fundamental flaw.

While we understand that this is an open source software, some things are so fundamental that they should be addressed immediately they are identified.

This in my opinion is one of such and to have the core team not respond on this sends a wrong signal about priorities.


I think the unique POS invoice identifier idea is just perfect for this. I will build on this idea and open a PR to master so that it can quickly alleviate this pains. Thanks @adnan


Same case is happening with us. Duplicate invoice posted from POS at same time. How to avoid this?. Running on ERPNext.com Cloud.

Why not complain to ERPNext ? You are a paying customer …maybe you will be listened to

1 Like

I agree with @olamide_shodunke

You should open a support ticket right away!

Kind regards ,

Have raised ticket with ERPNext Cloud support. Hope it will be fixed soon. Very serious issue this is.

1 Like

Try to limit POS on one tab only in one browser. Our GUESS (yup as thers is no error code) is that when user open multiple POS tabs within same or different browser in a session then during sync it causes error.

Other option is to move to online POS

I guess ERPNext Support has done some changes and this issue has not repeated again. Online POS doesn’t work too well for our internet speed.

Any idea of the changes? Would help to know what was the root cause of this.