Google Sheets Point of Sale Web App using Apps Script

This is a demonstration of creating a Google Sheets Point of Sale (POS), deployed as a Web App, that uses Google Sheets as a database. Most of the coding for this was the HTML/CSS and vanilla Javascript. The app’s script code to read and write to/from the sheet was minimal.

Why build your own point of sale?

Point-of-sale systems are critical to the efficient operation of a food or drink retail establishment. These software systems help to keep track of cash, sales and inventory. However, many systems are prohibitively expensive for new businesses. By building your own system with an easy and free backend like Google Sheets, you can start your business with fewer upfront costs. Also, by building your own point of sale, you can customize the interface to fit your business model, rather than using a premade mass-produced system that may have features you do not need.

Why use Google Sheets as a back end?

There are several advantages to using Google Sheets as a back end for a point-of-sale application. Here are a few key reasons:

  1. Google Sheets is free. You may need to upgrade to a paid account if your storage increases, but the cost is low.
  2. It’s easy to view your data in Google Sheets. When using database applications like SQL, it can be hard to view the data stored in your database, Google Sheets is an easy-to-use interface for viewing data.
  3. Accessing Google Sheets via a web app or an API is relatively easy.

What are the disadvantages of using Google Sheets as a database?

Google Sheets is ok for a small application with a small amount of data, but there are better options for larger data stores. Here are a few of the drawbacks of using Google Sheets as a database:

  1. It’s easy to alter data by typing it into the sheet. A mistaken keystroke may change the data which can have disastrous repercussions for your application.
  2. Google Sheets has a data limit of ten million cells. This could be maxed out with larger datasets.
  3. If your data is being accessed by many different users, there may be issues adding new data because of how you must add data to Google sheets.

The limitations of this Point of Sale Application

This is a very basic POS and is not ready for production because adding all the required functionality would have made the video demo too long. Here are some of the changes that would be needed before putting this app into production:

  1. Tests and data validation.
  2. More payment type details (ie credit card types, gift cards, promos, etc).
  3. Customers should be able to pay a receipt with multiple payment types.
  4. Tip functionality needs more detail, for instance adding a specific percentage tip, etc.

Be sure to alter this program to your own needs and use it at your own risk!

The code for this project can be found here.