Skip to content

brucegibbins/invoicing-app

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Custom Invoicing

This Django application assists you with managing client details, keep track of time spent on a project and generate time sheets and invoices.

disclaimer: this is a work in progress

Install

  • Before you install the python requirements, install cairo. (On MacOSX, do brew install cairo)
  • Install pango. (On MacOSX, brew install pango)
  • Install the requirements in the requirements file
  • Configure your database in the settings file (or don't if you're ok with a local sqlite database)
  • Run the database migrations: python manage.py migrate
  • Create an admin user: python manage.py createsuperuser
  • Run the tests: sorry, no tests yet
  • Run the application: python manage.py runserver
  • Go to the admin page

Models in the application

View the models file to see the different models in the application and their relations.

Reports

Reporting is currently a work in progress. I've added two admin actions: Generate invoice and Generate timesheet. These are defined in the admin file. As you can see there, they redirect to urls that are defined in the urls file and they link to the views in the views file. As you can see there, those views search for query parameters to generate the report, but the actions don't pass them to the url yet.

Toggl

I use toggl to track my time so there is a tight connection between Toggl and this application. Both the Project and the TimeEntry model have a togglId. For the project, that id is used to link the data from toggl to the right project in the database. For the time entry, that is used to prevent us to load the same entry from toggl twice.

There is a management command toggle-import that can be used to import new time entries from toggl in the application. Note that for this to work, you will have to set your toggl API key in the settings as TOGGL_API_KEY.

Run python manage.py toggle-import --help to view its help information.

About

Django application for creating invoices

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Python 80.4%
  • HTML 18.8%
  • CSS 0.8%