Skip to main content

Parse data source (ofx, qif, csv, etc.) and import to Gnucash file.

Project description

GNUCash Magical Importer

Build Status

Set of scripts to manage my personal finance with gnucash. This project have many parsers to gnucash file. The intent is integrate diferents data sources into gnucash data file.

The gnucash's xml file will act as transaction database. All other reports will be born from Parsers.

Source of Information

  • Nubank credit card
  • Itau's checking account
  • CEF's savings
  • Gnucash mobile (untracked expenses: money in wallet, gifts, etc)
  • Bradesco's savings

Requirements

  • Cronjob to run integrations
  • From any data source, all transactions must be integrate into one file
  • one file with git commits
  • Report of imported files
  • Save gnucash's xml file as regular file instead of binary (compressed) - it can be achived with option file-compression=false in general section of gnucash configuration

Financial Management

Source of transactions

  • Itau Checking Account
  • CEF savings
  • Money in wallet
  • Nubank
  • Bradesco savings

Classifier

Main goal

  • Single transaction

More Complex Operations

  • A transaction that's is part of another big transaction (a buy with stallments)
  • Monthly (recurrent) payment: HAVAN, RCHLO and utilities bill (gas, water, eletricity)

Enviroment

Virtualenv

It can't be used with virtualenv beacause of dependency on python3-gnucash deb package and gnucash itself. So, you'll need install direct in OS with command:

jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ pip3 install -r requirements.txt

Configuration File

This project have a setup.cfg file (ini format) that must be installed to app run. The order of search is:

  1. /etc/gnucash-magical-importer/setup.cfg
  2. /usr/local/etc/gnucash-magical-importer/setup.cfg
  3. /usr/etc/gnucash-magical-importer/setup.cfg
  4. ~/.gnucash-magical-importer/setup.cfg

You can still with make target setup-cfg as:

jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ make setup-cfg

Also, you can remove file with targt remove-cfg and view content of directories with target show-cfg.

Docker

For dev machine, you can use docker to development. Build docker with

jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ sudo docker build -t foguinhoperuca/gnucash_magical_importer . --build-arg USE_APT_PROXY=True --build-arg APT_PROXY=192.168.1.101:8000

or

jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ make docker_build

Then, run the tests with:

jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ docker run -ti foguinhoperuca/gnucash_magical_importer /bin/sh -c "make test-check"

or

jefferson@nami.jeffersoncampos.eti.br: ~/universal/projects/gnucash/gnucash-magical-importer/ $ make docker_run

Hacking with bdsit-wheel

  1. manually create egg-info bdsit (bdist_egg) and copy it with expected name as gnucash_magical_importer-0.1.0-py3.6.egg-info in directory build/bdsit.linux-x86_64/wheel;
  2. Comment lines in python3 source code: sudo vim /usr/lib/python3.6/email/message.py#558 and #559;
  3. Then, run python3 setup.py sdist bdist_wheel;
  4. finally, revert step 2;

https://github.com/pypa/wheel/blob/master/wheel/bdist_wheel.py

Similar Projects

Project details


Download files

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

Source Distribution

gnucash_magical_importer-0.1.0.tar.gz (12.8 kB view details)

Uploaded Source

Built Distribution

gnucash_magical_importer-0.1.0-py3.6.egg (30.9 kB view details)

Uploaded Source

File details

Details for the file gnucash_magical_importer-0.1.0.tar.gz.

File metadata

  • Download URL: gnucash_magical_importer-0.1.0.tar.gz
  • Upload date:
  • Size: 12.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.7

File hashes

Hashes for gnucash_magical_importer-0.1.0.tar.gz
Algorithm Hash digest
SHA256 787738886dcff0c6321c4e5ec9050fa0a070db3f0f23b6dde625df45283b7fca
MD5 38954e4bb2503b9ff82a6f5472ab96b4
BLAKE2b-256 844edba46ac2fe26e1e1ea7be9d781cfe5779a1ad5eda71469372323c10da82b

See more details on using hashes here.

File details

Details for the file gnucash_magical_importer-0.1.0-py3.6.egg.

File metadata

  • Download URL: gnucash_magical_importer-0.1.0-py3.6.egg
  • Upload date:
  • Size: 30.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.6.3 requests-toolbelt/0.8.0 tqdm/4.23.4 CPython/3.6.7

File hashes

Hashes for gnucash_magical_importer-0.1.0-py3.6.egg
Algorithm Hash digest
SHA256 ba0ea88647b226becef7c39bd2883d0de18c609b53baad9116c92843f29c02fd
MD5 7b6b7b0087ff9d103d092b298fd7ea77
BLAKE2b-256 255f61e9378db9018fe2b71480bdf0971877480b9e5e108aca7b79533cd7d9b9

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page