Integration with Square POS

How do I integrate Square POS with ERPNext? Is there anything already available or has anyone done it?

I’m sorry I have no answer to your question but rather a question for you:

Why are you choosing Square POS over the build-in POS?

We are thinking of using ERPNext POS so I’d be glad to here about your thoughts and later about your experiences.

Probably because of several reasons…

  • Square handles the credit card transactions on the fly without a separate system
  • Square works elegantly from a smart phone and collects email addresses from those that want their receipt sent to them
  • Square already has several simple to understand reports for your sales, taxes, and credit card expenses.

Just to name a few.

The native POS in ERPNext is great at tracking the inventory and keeping the accounting ledgers updated, but is lacking in many respects that smaller businesses may need.

Just my opinion, but one shared by thousands of users on their forums.

This is not to say the native POS is bad. I use it in many accounts that I have setup. It just needs some custom reports to be made up so that it is easier to track transactions by cashier and help to balance their cash drawer at the end of a shift. There are other things that have to be handled outside of the core ERPNext system that I have to create custom reports and apps to accomplish. In the end it is always nicer to go with the native app, but I can certainly understand the additional impact required of much smaller businesses that cannot afford to have the extra custom work done for them.


1 Like


Since we know what this little things are, why don’t we sit down , solve them and add to the core?

Playing Devil’s advocate here

Everything that I had to develop for my clients I also paid the developers to submit as PR to the core team. Only a few were accepted (which is how the last renovation of POS took place in v10). I really cannot do anything more than that.


I would still like to see a Square application link to ERPNext. It would be a plus for many of the smaller businesses.


1 Like

@bkm, exactly right! I am not a developer. Could anyone of you help me know if it is possible with Square POS api? I am looking to getting the integration made.


Good to hear from you. I was getting concerned about your absence from the forum. Hope you guys are staying safe and restarting the economy in your State and Country.

Great that you attempted to push back your enhancements to the core. Actually there is something else you can do. You can share your repository with the community and people that want to use your work can install your app.



My stuff only works in v10. When I tried to have it upgraded to v11 or v12 it broke.

In fact much of it became the core code in the v10 POS upgrade the last time we went around on this topic. During that time the offline POS was defaulted in the system and there was no way to turn it off. That was the first thing I had to get fixed. Then I had my developers optimize it so the online version would run fast enough to use a barcode scanner at the cash register to scan items into the cart. We did it by buffering the scans and feeding them to the UI as each one was processed. This way if the user got ahead of the UI the system could catch up as soon as there was a slight pause in the users scans. It actually worked very well. It almost never impacted the speed of checkout. Other things that I had added were extra fields at the top of the POS screen for some free text notes, a PO# field so the wholesale team could use it, and an expansion of the customer lookup information that was displayed when typing in a customer. Also the Item code field (where the search for items is done in POS) was expanded to search Item Code, Barcode, and Description fields in that order. This allowed the user to find any item with just whatever information they could remember. It also allows the system to use UPC codes well instead of just the Item Codes.

Aside from the added fields, pretty much everything else is now already in POS although slightly different from my original code fixes. So the only real additions are my custom reports. Even some of them are now redundant. But during that turbulent time at the beginning of v10, I had to get my clients working before all of this eventually settled out. So to this day much of my v10 installations are quite a bit different from what was eventually the final release. You have to remember that I was doing all of this based on v10.0.13 where I had to freeze my sources so I could have the stability to let the developers move forward. During that time while my team was issuing PRs and making my stuff work there were others adding their own twist to the core ideals as well.

Since that time, I have taken a much different approach to setting up new clients. I do not want to have to plow so much time into the customizations needed to make something just work. So I look toward add-on apps to get some stuff done. I don’t even want to have to go through the argumentative cycles of blowing up the core code to a module again. My time is better spent shooting myself in the foot where I can get the same amount of pain and results as if I spent the extra time and aggravation of getting the core team to make sensible alterations.

I will not be paying to fix any of my old work because the changes are really quite specific to what was originally missing in v10. Since that time a sort of End-of-Day cashier report and other important changes to POS have already bee incorporated to the core.

I do have some reports that might be helpful. I will look at getting them moved to my repository so you can see them. Again they are mostly specific to v10 but you can edit them to work on v11 and possibly v12. We are in the middle of adding yet another update to the reports right now and if it works out next week, then I will also add that to the mix.

Since I cannot get any of my earlier clients to move to v12 due to the poor desk layout, I have no need to do any mods for that version. The few new clients that I did started out on v12 over the past year, have all been shut down by the world pandemic and most of them will not likely be able to return to business when the bans are lifted. Essentially, in my area v12 was killed by the pandemic and all that I have left are some v10 and v11 users that were large enough to still be in business.

Next week I will have some time to settle some new things into my clients and I can look at moving repos around at that time. I will update you in a PM Jay.