Skip to main content

Convert financial transactions in CSV format to QIF files.

Project description

csv2qif

Usage

CSV to QIF

usage: csv2qif -a ACCOUNT -t ACCOUNT_TYPE 
               [-i INPUT_FILE] [-o OUTPUT_DIR] [-f OUTPUT_FORMAT] [-c COL_SPEC] 
               [-b] [-s]
               [--help] [--verbose] [--version]

Convert financial transactions in CSV format to QIF files.

options:
  -a ACCOUNT, --account ACCOUNT
                        The full hierarchical name of the account in GnuCash.
                        (default: None)
  -t ACCOUNT_TYPE, --account-type ACCOUNT_TYPE
                        One of "Bank", "Cash", "CCard", or "Invst"
                        (default: None)
  -i INPUT_FILE, --input-file INPUT_FILE
                        Input file in CSV format; define location of required fields using "col-spec"
                        (default: stdin)
  -o OUTPUT_DIR, --output-dir OUTPUT_DIR
                        Directory to write output
                        (default: stdout)
  -f OUTPUT_FORMAT, --output-format OUTPUT_FORMAT
                        Format of output, either "qif" or "json"
                        (default: qif)
  -c COL_SPEC, --col-spec COL_SPEC
                        Specify column of required fields (date, name, amount, check_number)
                        (default: {"date": 1, "name": 2, "amount": 3, "check_number": 6})
  -b, --backup-input    Save a copy of input CSV alongside the QIF file, with same filename.
                        (default: False)
  -s, --strip-headers   Assume first row of input has headers, and remove it. 
                        (default: True)
  --verbose             Debug-level logging
  -v, --version         Show program's version number and exit
  -h, --help            Show this help message and exit

MIT License: ©2023 Edward Q. Bridges

Development

  1. It is recommended to use pyenv to ensure correct python version is in use. Cf.: .python-version
  2. Set up virtualenv: python -m venv venv
  3. Activate virtualenv: source ./venv/bin/activate
  4. Update pip: pip install --upgrade pip

Release process

  1. Format code using: black .
  2. Commit/push all final code.
  3. Increment version in csv2qif/__init__.py and commit/push.
  4. Tag release in format x.y.z, using same version string as in csv2qif/__init__.py. Push tag to remote.
  5. Publish a new release version; doing so will trigger an upload to PyPI.

License

MIT

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

csv2qif-0.6.0.tar.gz (6.7 kB view details)

Uploaded Source

Built Distribution

csv2qif-0.6.0-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

Details for the file csv2qif-0.6.0.tar.gz.

File metadata

  • Download URL: csv2qif-0.6.0.tar.gz
  • Upload date:
  • Size: 6.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for csv2qif-0.6.0.tar.gz
Algorithm Hash digest
SHA256 b7657f279aa616e18e2054e4cbc95ba9493d40f9f5f653565bc84d62e48196ad
MD5 81c2e49126d4655d512e0577630b4383
BLAKE2b-256 a95d9c7382ff017bd0f3a6531638215478500612cadfbe59a0fa00dd90688bc7

See more details on using hashes here.

File details

Details for the file csv2qif-0.6.0-py3-none-any.whl.

File metadata

  • Download URL: csv2qif-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 7.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.2

File hashes

Hashes for csv2qif-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3affe931101e167c6af15559d8a1abb17b489d80d11e6ff818555f3cee479117
MD5 93c8f9ce483f05f840d603ea4b6e401f
BLAKE2b-256 30f1f4091708b33699d143cb3dda41d125a1c5d287ff46001eee61a6558f96ba

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