Skip to main content

FinanceBuddy is a tool that centralizes and parses data from diffent banks into a unified format, streamlining the process for analytics and reporting.

Project description

financebuddy

financebuddy is a tool that centralizes and parses data from diffent banks into a unified format, streamlining the process for analytics and reporting.

Installing

financebuddy can be installed using pip.

pip install financebuddy

To test that installation was successful, try:

financebuddy-cli --help

How does it work?

  1. Export the data from your bank
  2. Parse the data from your bank generating a report
  3. Export the parsed report
  4. Feast

Parsing

# list the supported formats and extensions
financebuddy-cli parsers list

# parse exported bank data
financebuddy-cli parsers parse -f FORMAT -e EXTENSION -i FILE

The exported bank data can be associated with a format and an extension.

  • the format is driven by the bank the data is coming from
  • the extension is driven by the file format the data is stored in
  • the file is the path of the exported bank data

Once parsed, a report file will be generated and dumped to the file system. This report contains the details of every transactions, succesfully parsed or not, along with a summary.

Available parser formats & extensions

See financebuddy-parser README.

Example

// example: /tmp/financebuddy_report_TIMESTAMP.json
{
    "items": [
        {
            "transaction": {
                "src_bank_name": "ACME",
                "src_account_holder": "JOHN DOE",
                "src_account_number": "AA11223344",
                "dst_bank_name": "ACME",
                "dst_account_holder": "JANE ROE",
                "dst_account_number": "BB55667788",
                "date": "1970-01-01T00:00:00",
                "value": 100,
                "display": "1.00",
                "currency": "EUR",
                "description": "A symbolic euro.",
                "raw": "...",
                "hash": "dad5b1989edc50lel31243236213097f"
            },
            "error": null,
        },
        {
            "transaction": null,
            "error": "invalid date",
        }
    ],
    "summary": {
        "total": 2,
        "skipped": 0,
        "parsed": 1,
        "failed": 1,
    }
}

Exporting

# list the supported formats and extensions
financebuddy-cli exporters list

# export parsed report
financebuddy-cli exporters export -f FORMAT -e EXTENSION -i FILE

The parsed reports can be exported in different formats and extensions.

The result is an exported file dumped to the file system. This file contains only the soccessfully parsed transactions from the provided report.

Available exporter formats

Format Extension
financebuddy csv
financebuddy json

Example

// example: /tmp/financebuddy_export_TIMESTAMP.json
{
    "transactions": [
        {
            "src_bank_name": "ACME",
            "src_account_holder": "JOHN DOE",
            "src_account_number": "AA11223344",
            "dst_bank_name": "ACME",
            "dst_account_holder": "JANE ROE",
            "dst_account_number": "BB55667788",
            "date": "1970-01-01T00:00:00",
            "value": 100,
            "display": "1.00",
            "currency": "EUR",
            "description": "A symbolic euro.",
            "raw": "...",
            "hash": "dad5b1989edc50lel31243236213097f"
        }
    ]
}

FAQ

Can I parse bank data and export it straight away in one go?

Yes. Pipelines are friends of ours here.

# parse + export
financebuddy-cli parsers parse -f FORMAT -e EXTENSION -i FILE | xargs -I{} financebuddy-cli exporters export -f financebuddy -e json -i {}

Development

Install

python -m venv .env
source .env/bin/activate
make install-dev

Test

make test

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

financebuddy-0.6.0.tar.gz (25.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

financebuddy-0.6.0-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: financebuddy-0.6.0.tar.gz
  • Upload date:
  • Size: 25.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for financebuddy-0.6.0.tar.gz
Algorithm Hash digest
SHA256 7925fe4e26f264b55fa7802cc1faa0defe7127e6f5a821d5ee2345518efa6eab
MD5 059443212ace1af3990fb6c62ee88d04
BLAKE2b-256 9de06a6d220cb6c6c8d57bcc38558c02eab0c1e21b2e99dc68c4d944fcc19592

See more details on using hashes here.

File details

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

File metadata

  • Download URL: financebuddy-0.6.0-py3-none-any.whl
  • Upload date:
  • Size: 30.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.3

File hashes

Hashes for financebuddy-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d17c4dceec52aa46766e3fb2c854e5aba73a7da5eb301f56945a8ddba72cc2c
MD5 c3b3cace604abb331f0a82476b9c629a
BLAKE2b-256 3437d235a6c1d3a8958cdbbcc93e91d7434c74f3d6398b940520aa2d4468cbed

See more details on using hashes here.

Supported by

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