Skip to main content

a parser for Quicken interchange format files (.qif).

Project description

QIF Parser

qifparse is a parser for Quicken interchange format files (.qif).

Even if the qif format is:

  • quite old now
  • not supported for import by Quicken any more,
  • ambiguous in some data management (notably on dates)

it’s still quite commonly used by many personal finance managers.


Here’s a sample parsing:

>>> from qifparse.parser import QifParser
>>> qif = QifParser.parse(file('file.qif'))
>>> qif.get_accounts()
(<qifparse.qif.Account object at 0x16148d0>, <qifparse.qif.Account object at 0x1614850>)
>>> qif.accounts[0].name
'My Cash'
>>> qif.get_categories()
(<qifparse.qif.Category object at 0x15b3d10>, <qifparse.qif.Category object at 0x15b3450>)
>>> qif.accounts[0].get_transactions()
(<Transaction units=-6.5>, <Transaction units=-6.0>)
>>> str(qif)
'!Type:Cat\nNfood\nE\n^\nNfood:lunch\nE\n^\n!Account\nNMy Cash\nTCash\n^\n!Type:Cash...

Here’s a sample of a structure creation:

>>> qif_obj = qif.Qif()
>>> acc = qif.Account(name='My Cc', account_type='Bank')
>>> qif_obj.add_account(acc)
>>> cat = qif.Category(name='food')
>>> qif_obj.add_category(cat)
>>> tr1 = qif.Transaction(amount=0.55)
>>> acc.add_transaction(tr1, header='!Type:Bank')

>>> tr2 = qif.Transaction()
>>> tr2.amount = -6.55
>>> tr2.to_account = 'Cash'
>>> acc.add_transaction(tr2)
>>> acc.add(tr2)
>>> str(qif_obj)
'!Type:Cat\nNfood\nE\n^\n!Account\nNMy Cc\nTBank\n^\n!Type:Bank\nD02/11/2013\nT...


0.6 (unreleased)

  • fixed typo in account types

0.5 (2013-11-03)

  • now transactions can also be outside accounts
  • moved properties to method in order to accept filters

0.4 (2013-11-02)

  • address can be multilines
  • split can have the address attribute
  • add support for Classes
  • add support for MemorizedTransaction

0.3 (2013-11-02)

  • more refactoring, now the lib is much more simple and engineered
  • improved fields validation

0.2 (2013-11-02)

  • huge refactor, now the structure can be create and modified programmatically

0.1 (2013-11-01)

  • first release on Pypi

Project details

Release history Release notifications | RSS feed

This version


Download files

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

Files for qifparser, version 0.6
Filename, size File type Python version Upload date Hashes
Filename, size qifparser-0.6.tar.gz (9.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page