Skip to main content
Help us improve PyPI by participating in user testing. All experience levels needed!

A django app to import gnucash data for budgeting and reporting

Project description


#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

Project details

Release history Release notifications

This version
History Node


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
django-openbudget-0.1.0.tar.gz (24.4 kB) Copy SHA256 hash SHA256 Source None Mar 30, 2012

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page