django-openbudget 0.1.0

A django app to import gnucash data for budgeting and reporting


#Open Budget

Simple django-based personal budgeting app that uses [GNUCash][] sqlite data files.

#Motivation This project serves two main purposes:

  1. get data out of gnucash and into the django framework to allow for more flexible analysis eg: using the numpy maths library
  2. implement basic budget functionality to allow a flexible budgeted vs actual report

GNUCash works as a good tool for data entry and standard accounting reports like balance sheets and profit & loss. However, report customisation is overly complicated and the budget functionality poor. This project aims to address these issues.


  • basic structure implemented - a gnucash file can be used to import accounts, transactions and splits


$ git clone git:// openbudget $ cd openbudget $ pip install -r requirements/development.txt

If fabric is installed:

$ fab development syncdb $ fab development migratedb


$ ./ syncdb --settings=openbudget.settings_local $ ./ schemamigration openbudgetapp --settings=openbudget.settings_local


##Running the server

If fabric is installed:

$ fab development runserver


$ ./ runserver --settings=openbudget.settings_local

Access the admin interface at:

##Importing a gnucash file

Save your GNUCash file as a sqlite3 file.

$ ./ gnucash-import <gnucash sql file> --settings=openbudget.settings_local

##Creating budgets

  • Access the admin interface at: and create or edit AccountBudget objects.
  • Budgets are specified as a total value over a given period.
  • Total amounts will be spread daily over a given analysis period for reporting eg: a yearly budget value will be converted to 365 daily values which will then be multiplied by the number of days in a given month for a monthly report

##The Budget Report

  • Access at<startdate>/<enddate>/<depth>/<freq>
  • <startdate> and <enddate> specify the analysis period and should be in YYYYMMDD format
  • Depth specifies the depth of the account tree to report on.
  • Freq will define the analysis grouping. Use 'm' or monthly groups, 'q' for quarterly groups and 'y' for annual groups
  • For best results, the report should be produced over 6 periods eg: 6 years or 6 quarters or 6 months

# Dependencies

  • pip:

    $ easy_install pip

  • To use the fabfile and fab commands:

    $ pip install fabric



Evan Davey




  • Topic :: Utilities
  • Programming Language :: Python
  • Operating System :: OS Independent
  • Intended Audience :: Developers
  • Framework :: Django
  • Environment :: Web Environment
  • Development Status :: 3 - Alpha
File Type Python Version Uploaded On Downloads
django-openbudget-0.1.0.tar.gz Source March 30, 2012 1,828
Version Release Date
0.1.0 March 30, 2012
Date Package Version Action
Nov. 4, 2014, 1:32 p.m. django-openbudget 0.1.0 Release Created
Nov. 4, 2014, 1:32 p.m. django-openbudget Package Created