Django Quickbooks App
Python HTML
Latest commit 71cd826 Mar 30, 2015 @chadj chadj Support custom user models

django-quickbooks - An app for communicating with Quickbooks via the Quickbooks API

This project was made current by updates from the fork at django-quickbooks-online which contains contributions from setaris. django-quickbooks was originally developed by us, hiidef.

django-quickbooks handles communicating with the Quickbooks API. Using this app, you can perform CRUD operations on any of the object classes supported by both Quickbooks Desktop and Quickbooks Online.

django-quickbooks knows very little about the actual API schema.


  1. Add 'quickbooks' to INSTALLED_APPS
  2. Include quickbooks.urls from main urls files.
  3. If you'd like access to the quickbooks token from templates, add quickbooks.context_processors.token to TEMPLATE_CONTEXT_PROCESSORS.
  4. Add a settings dictionary. OAUTH_CALLABACK_URL can be a string or callable. If it's a callable, it'll be passed the request context.:

    QUICKBOOKS = { 'CONSUMER_KEY': 'consumer_key_from_quickbooks', 'CONSUMER_SECRET': 'consumer_secret_from_quickbooks', 'OAUTH_CALLBACK_URL': string_or_callable, 'ACCESS_COMPLETE_URL': string }

  5. You'll need to set up you Keyczar keychain now:

    mkdir /path/to/keys
    keyczart create --location=/path/to/keys --purpose=crypt --name="A name"
    keyczart addkey --location=/path/to/keys --status=primary
  6. Now add the key dir to your settings file:

    ENCRYPTED_FIELD_KEYS_DIR = "/path/to/keys"
  7. Add the setup javascript (example below assumes your namespace is 'quickbooks' and that you have a template context variable 'base_url' (e.g.,

    <script type="text/javascript" src=""></script>
        menuProxy: '{{ base_url }}{% url quickbooks:quickbooks.views.blue_dot_menu %}',
        grantUrl: '{{ base_url }}{% url quickbooks:quickbooks.views.request_oauth_token %}'
  8. Add the connect button HTML (perhaps in user preferences):

  9. Add the blue dot menu HTML (must be visible on every page once connected):