Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automatic Invoice Maker and Sender

Uses a script + GH actions to take a google sheet of hours worked and automatically generate an invoice and send it to appropriate parties on the first of every month. As long as your timesheet is up-to-date by the first of the month, this code does everything else for you.

Setup

  1. Fork this repo.
  2. Save your timesheet in the format shown in google sheets (keep column names as they are) and make it publicly viewable. Edit make-invoice.py and set the constant TIMESHEET to the url of your timesheet, making sure it is formatted exactly like https://docs.google.com/spreadsheets/d/1ookllAe7kdUx_05QGLUvvp1ZsJM0oVS5P6dyA1awAaE/ and doesn't have edit?usp=sharing at the end.
  3. Change the HOURLY_RATE constant in make_invoice.py. [optional] Make any other changes you like to the invoice content by modifying generate_invoice.py.
  4. Create an app password for your gmail.
  5. In your github repo settings (under "secrets and variables: actions") add two repository secrets: EMAIL_USERNAME (your email address), and EMAIL_PASSWORD (the app password you created in step 4).

Testing

Click "Actions" at the top. In the "Actions" column on the left of the resulting screen there will be a "Send Monthly Invoice" workflow. Click on that and then on the right you will see a button that says "run workflow". If you don't want to send your invoice to everyone during the testing you should first edit the relevant recipients variable in make-invoice.py.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages