Free and Fast Document Creation and Signing Using Google Docs + Doc Variables + DocHub

Free and Fast Document Creation and Signing Using Google Docs + Doc Variables + DocHub

If you are a freelancer or business owner, you probably have contracts that need signing. Each month, I write freelancing agreements and get signatures from the new clients. Just a week ago, I advertised an apartment for rent and had to create a rental agreement for someone who lives in a different city. I have found a relatively painless and extremely affordable (read: free) way to create contracts and get signatures from all parties.


This article will describe my process when dealing with contracts, the set of steps between having an empty template and getting back a signed document. Once up and running, contract creation takes 5–30 minutes, depending on the amount of information that needs to be filled in.

I am going to use three services to achieve the end result of having a signed contract: Google Docs, Doc Variables, and DocHub. For those who are not familiar with Google's products, Google Docs is an office suite. It includes Docs (word processing), Sheets (spreadsheets), Slides (presentations) and Forms (surveys). Here we're focusing on the document editor, Docs.

Google Docs with The Doc Variables add-in

When you have created a contract but haven't created a template yet, your task is to identify the document fields that change: customer name, your name, addresses, prices, etc. Fields are normally created by adding uppercase text, for example, CUSTOMER_NAME.

You could search for and replace such keywords, but you'd risk forgetting to change one of the words, embarrassing yourself by sending the client a document containing placeholder text.

With the Doc Variables extension, you can mark the changing parts of the document and get a simple user interface for filling in the new values.

Here is an example document that has the variable ${customer_name} defined.


One feature I like is that variables can be in the filename; you could generate, for example, AcmeCorp_agreement with the customer's name inside the document.

Here are some variables you can use:

  • date
  • customer name
  • project name
  • client's business ID
  • client's address
  • price
  • provided service

When you hit Apply Variables, you get a new document with completed

Requesting signatures with DocHub

DocHub's tagline is "Edit, send & sign PDFs online for free. Document workflow, simplified." DocHub does what it promises. The service was created by a company called Macroplant, which seems to focus on creating small apps and services.

DocHub has Google integration, so you can quickly import your new document.

The idea is to mark fields that need to be filled in by a certain party, for
example, the signature and date from an AcmeCorp representative.

DocHub signature field added

There are several field types: text, paragraph, check box, drop-down (for paying customers), signature, initials, and date.

When the fields are ready, it is time to email the document to recipients.

DocHub send email to all contract participants

Signing a document

What does the process look like from the signature request receiver's perspective?

The email sent to each participant contains a link to a signing page where the participant can read the document. If the document looks right, it is time to use artistic skills to create a signature. The easiest way is to open the email on a mobile device and access the touchscreen.

DocHub - request received
DocHub - document available for reading

Last but not least, the recipient draws the signature and the application will place it to the correct line on the document.

DocHub - signature creation

When all participants have finalized the document, the sender receives a
notification and can then store the signed document to a safe location.


I have successfully used this system with technical and non-technical people, and all of them have completed the signing process. It is good to remember that there are people with older phones that may have incompatible browsers or lousy touchscreens.

Overall, I have been very satisfied with the extension. The only issue I have is that Doc Variables supports the US time format only, and I therefore have to change the data type of that variable to plain text.

If you have tried this or found an even better method, let me know!