ERPNext in off-line mode

Hi @System19,
Thanks for sharing that link. From what I read, this is plenty enough to continue to sell products through a POS. It is fine if for a little while you cannot add a new customers or do some reporting, etc. From our perspective this is all we need / expect from a POS (continue transactions although connection is lost or to slow to be effective … and this happens a lot in Africa :wink:

How about starting a campaign to build offline features in ERPNext POS?


‎@Rushabh, what do you think about this? From looking at the link sent by @System19 it appears that Vend just uses the browser memory to hold on to the most vital sets of data that will allow a user continue making sales in case of Internet outage

Could this be implemented in ERPNext at least as a first step towards having a fully functional off-line solution?


Kind regards,

@rmehta and @wale

I have checked the Vend. In case of outage the memory is preserved…but I don’t think that all browsers are capable of Vend correctly. I have seen other cases of software (not ERPNext) working with live-feeds or live-data…the failover did not work neither the Vend…but I guess you should never say no before trying it out?

I would be willing to contribute to fund the development of offline PoS capabilities for ERPNext. If all the people interested in this thread get together it should be funded easily.

1 Like

I’m interested to fund this development for ERPNext too! for us in SAN will be awesome have this feature in the box.

1 Like

I would be willing to finance part of this development as well.

1 Like

‎Hmmm… so it appears the most practical way to go about this would be to have ERPNext packaged as an executable file that can be installed on a local PC?

In this case, at least those who absolutely require offline capabilities can work from a terminal on their PC

‎@rmehta what do you think?

We’re also looking at the possibility of having that offline installation of ERPNext syncing with a cloud account periodically

Kind Regards,


1 Like

My 2 cents. It is an very important feature.
The beauty of ERPNext is the design decisions they have taken. If we can add the three alphabets of the user name to the naming series then we can create offline database that can be synced with the central database without disturbing the data specially for the modules like sales,crm,support etc. Other modules like stock and accounts specially invoice are definately more difficult.

But i guess thats the first part. The problems that need to be addressed are plently. Few that I could think off the top of my head:

  1. The database has to be light enough to get loaded on mobile
  2. Syncing has to be secure.
  3. Another aspect of the offline system is security. In case of theft, how do we erase the data or prevent someone from accessing it?

As reference, the way Odoo offline capable PoS works (no other part can operate offline): You load the PoS in the browser (or wherever) and the javascript code loads all the data from the databases it needs to operate without having to consult the server (users, products, prices, etc…). Then when the internet is lost, the javascript code can keep operating normally but instead of sending the new orders to Odoo it just saves them locally until the connection is recovered again. As it is a PoS system it does not check for stock, it assumes that if you sold it, it is because it existed on your shop. Once the connection is back up again it tells the server it has sold those products and the server deals with it (Odoo accepts negative stock).

I suspect doing stock and money related stuff offline will be very difficult.

1 Like

Ya. This will be good enough for a start!
PS: Is the system smart enough to know immediately when the internet is down and inform users? This way, users can be alerted of such an occurrence and be maybe take steps to do offiline work/records.

So I am still interested in financing an offline PoS mode. As other people in this same thread have shown support as well, how can we organize for this to happen? @rmehta can we organize a bounty or similar?

1 Like

@javieralmancevo I think the most straightforward way to start a funding campaign is to go through an issue on github which can be very easily transformed into a bountysource campaign.

Haven said that someone of the interested parties would need to open an issue here www(DOT)Issues · frappe/erpnext · GitHub and the just paste the URL here www(DOT) (the green section on the left of the screen)

the main work then start to create enough attention around the matter so people actually put some money on the matter. I think that’s the part where at best someone takes matters into his/her hands to continuously promote the campaign among the people who seem to be likely to chip in.

It was mentioned that it’s a complex task, ergo you probably need to mobilize a relatively big chunk of money … therefore the buzz to be created and to be kept on a certain level is the main task I’d say (at least that is how I understand the mechanics of any crowdfunding)

P.S. sorry about the weird way to put the links here. Somehow I often receive an “Server error” when posting links since a while. @admin can you do anything about this?

1 Like

Yeah, Offline POS is a frequent request. We might have a go at it sometime. If there are community efforts, we are happy to back them.

Btw the foundation is the right place to push these things. We have already filed for registration, it should be active within a month!

we are still actively looking for an active POS software that can meet our needs, one of the sales officers a few days back came with a POS system separated from the back end.

it is C++ & Mysql, the trick they used is actually nice & smart enough for the POS to function and keep it so much simple…

they had the series of the documents (sales / pos invoices) different from branch to branch and the sale was always offline until a push request is made by either the staff in the shop or the staff in the headquarter…

i went into some details on what they used and it was a simple DB that have the data from prices and names and barcodes …etc but without stock, and the update was done by time stamp…

after each update a time stamp is made in the DB and only data after that time stamp is sent to the back-office / back-end…

i think that would be great to start with or its at least an idea of just dividing the system to whats needed…

I will do that. Can you give a range of what would be a “big chunck of money” for this issue in your opinion?

So it is better to wait 1 month for the foundation than the other path proposed?

Having to have a local mysql and having to manually push the orders does not seem simpler. The way Odoo does it is to send the new orders to the server until the internet connection drops. Once the internet is off, it saves the new orders locally using the html5 local memory. This way, even if you close the browser and open it again the next day, the transactions are still there ready to be sent to the server once the internet is up. Also, the client is javascript which is always more versatile than a C++ client and requires no installation. Maybe I am missing something, but I am failing to see the benefits of having a C++/mysql client.

1 Like

that was just a conclusion from what was mentioned in this topic. I just assumed from some comments of people who know about coding …

… would probably equal the need of much time = much money

Maybe, as we are going towards this direction now, someone of those above can provide an approximation of funds needed, so there is a target to go for.

Just to be clear, they were answering to someone asking the whole ERP to have offline capabilities. I am asking for only the PoS to have offline capabilities. I am not saying it is easy, but it is way easier than having the whole ERP with offline capabilities.

In any case, the only doubt left is which option is better, going the bounty way or waiting a month for the foundation.

  1. I don’t think @rmehta meant that the Foundation will have and provide the funds. I think he meant that one of the Foundation’s ‘occupations’ would be to coordinate such Community efforts
  2. I wouldn’t wait for them. If the registration will be granted in a month (which I think is what @rmehta is referring to it’ll probably take some more time to have it practically going to work.

I never assumed the foundation would pay for it.

[quote] 2. I wouldn’t wait for them. If the registration will be granted in a month (which I think is what @rmehta is referring to it’ll probably take some more time to have it practically going to work.

Makes sense.

1 Like