How to automate invoice creation for your small business

by Lawrence Todd

30/10/23

How to automate invoice creation for your small business!

Invoicing is an essential task for any business, but more often than not small business owners (especially ones that can’t warrant using expensive accountancy software) develop a love-hate relationship for it. You love it because it means your business is making money but at the same time you hate it because it can take AGES to create your invoices and send them off. 

I’ve personally been there! I used to sell my products “on-account” and would then create an invoice at the end of the month for my customers to settle their account. This would be a day long job! It was great because it meant my business was making money but it was an inefficient use of my time and I began to resent it. I was determined to find an alternative way that didn’t involve subscribing to accountancy software. 

I found a way that used the tools I was already using to create my invoices; my Google Sheet which I used to log my sales and my invoice template in Google Docs. All I needed to do was link them together with Google Apps Script. Once I had done this I was able to create my invoices (and send them) at the click of one button. Creating invoices was no-longer time consuming OR error prone. It was a game changer!

If you’re currently manually creating your invoices and interested to learn how you can automate this process WITHOUT paying for additional software to do it for you, this blog is what you’ve been waiting for. Google Workspace’s suite of tools, including Sheets, Docs, and Apps Script, offers a powerful way to automate the invoice creation process. In this blog, we will explore how to set up an automation workflow using these tools, enabling you to streamline your invoicing process, reduce errors, and save valuable time.

Let’s go!

Step 1: Set up the Invoice Template in Google Docs

The first step to automating your invoice creation is creating an invoice template.  Open Google Docs and design a visually appealing invoice template that includes all the necessary details. Include information such as your company’s logo, contact information, client details (name and address), invoice number, invoice date, due date, itemised list of products/services, totals and payment instructions etc. 

Any details/fields that you want to automatically populate from your spreadsheet need to have a unique placeholder. The way I do this is by using braces ({} – curly brackets) and either camel case (e.g. firstName) or snake case (e.g. first_name). For example, the name placeholder on my invoice template might look something like {first_name} {last_name} or {fullName}.

Once this document is created, save it in a convenient location within your Google Drive. You’ll need to be able to find it later. If you already have an invoice template, you’ll need to make some changes to it. As mentioned, any fields that you’ll be automatically populating from your spreadsheet need to be given a unique placeholder.

Step 2: Create a Google Sheets to Manage Customer & Invoice Data

Open Google Sheets and create a new spreadsheet to manage your invoice data. Create appropriate column headers for the information you’ll need to send across to your invoice template, such as: invoice number, client name, client address, client email, client phone, date, product/service descriptions, quantities, rates, totals, and any other relevant information you need to include in your invoice. There is no right or wrong way to structure this spreadsheet but bare in mind this spreadsheet will act as your database for storing and managing invoice data.

Once you have created this spreadsheet, again save it in a convenient location within your Google Drive.

Step 3: Automate Invoice Generation with Apps Script

This is where the magic happens. Using Google App Script (a powerful scripting platform provided by Google Workspace based on JavaScript) you can connect your invoice spreadsheet to your invoice template and automate the process of creating your invoices. 

To get started, open your Google Sheets invoice database and navigate to “Extensions” > “Apps Script“. This will open the Apps Script editor in a new tab. In the Apps Script editor, write a function that retrieves the required details from the spreadsheet (this can be done with a tick box selection) and replaces your placeholders in the Invoice Template with the corresponding data in your spreadsheet. Once you’ve finished coding the function, it should roughly do the following:

  • Get your invoice template and make a copy of it.
  • Get your invoice data.
  • Update the unique placeholders in your new invoice document with the invoice data.
  • Save the new invoice with a unique name.
  • Send the newly created invoice to your customer (optional).

I will admit, without writing a short guide on how to code (specifically in Apps Script) this step does require some understanding of coding and JavaScript. If you don’t know how to code, all is not lost. You’re the reason why The Small Business Toolbox is here! You shouldn’t need to have to learn to code to benefit from these automations. I can either help you make a custom made invoice automation that suits your business or you can buy my pre-made invoice automation tool. 

Automating the invoice creation process using Google Workspace’s Sheets, an Invoice Template in Docs and Apps Script can significantly simplify your invoicing workflow. By eliminating manual data entry and reducing the chances of errors, you can save time, increase efficiency and ensure a more professional invoicing experience for your clients. This automation doesn’t just have to be used for invoice creation, it can be expanded to also automatically generate quotes. The possibilities are almost endless. Give it a try and take advantage of the powerful automation capabilities offered by Google Workspace!

If you have any questions about the contents of this blog or are now wondering what other things you could automate in your business, drop me an email at lawrence@thesmallbusinesstoolbox.co.uk. I am always happy to talk!

Recent Business Tips

Should I quit my job to start a business?
Thinking of Starting a Business

Should I quit my job to start a business?

Should you quit your job to start a business? Quitting your job would give you more time to pursue your entrepreneurial dreams. However, it also comes with other effects which arguably outweigh the benefit of having more time to work on your business. In this blog we will answer the question of whether you should quit your job to start a business.

Read More »
How to overcome phone call anxiety as a small business owner…
Grow A Business

How to overcome phone call anxiety as a small business owner…

Having the confidence to pick up the phone and ring anyone isn’t a “skill” we’re all born with. I am speaking from experience. Fortunately though, it is a skill that can be learned and developed. In this blog I will outline the different steps I took to increase my confidence when picking up the phone and squash my anxiety!

Read More »
How to Start a Side Hustle
Start a Business

How to Start a Side Hustle?

How to start a side hustle? If you’re looking to make more money, a side hustle is a great option. However, not any side hustle. Your own side hustle. Here is how you can start your own side hustle. BONUS: Tips for success!

Read More »