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,
        "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.8.0.tar.gz (26.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.8.0-py3-none-any.whl (30.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: financebuddy-0.8.0.tar.gz
  • Upload date:
  • Size: 26.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.8.0.tar.gz
Algorithm Hash digest
SHA256 f9bcbb8399d22e09171c595bf22d8b16589743ca3d4e0e9985d9652fb353446c
MD5 88b8cc24682356f85b6a835841987adb
BLAKE2b-256 4c7bcb4f4767bce7e7514ee913032d5cba24e4624edbcd3e13267dc82eb345b6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: financebuddy-0.8.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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cd1dbab1f9e99f12176b09abfb7e4d2e41643ee4829533997088a561781c8021
MD5 adee2cac05d76f856dcab7273efb0a38
BLAKE2b-256 66bfcdeb74505e316b38b8fe58ba3ef7f12f7485078449316c589e1726ad4b2a

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