Skip to main content

Easy Expense Tracker is a straightforward tool designed to import and consolidate account statements from various financial services into an SQL-compatible database

Project description

Easy Expense Tracker

Easy Expense Tracker is a straightforward tool designed to import and consolidate account statements from various financial services into an SQL-compatible database. Before you begin, export the CSV file from your checking account, credit card, or food allowance card, then you are ready to proceed. Please ensure that each CSV file contains the statements from a single account.

The tool is compatible with CSV files from a range of financial services. If your service is not listed below, refer to the instructions in the section Adding a New Template of this document, or provide me with a sample file, and I will be happy to include a new template in a future release.

  • Bradesco
  • Caixa Econômica Federal
  • Itau
  • Nubank (Credit Card)
  • Nubank (Debit)
  • Sodexo (Pluxee Beneficios)

You might wish to review the imported records, categorize them, split the amount into multiple categories, or add detailed annotations. The review is an optional step and does not interrupt the importing process.

Splitting records into multiple categories can be particularly useful, for example, when a colleague does a check splitting and will reimburse you later. During a review session, you can specify their portion in an incoming category (e.g., reimbursements) and your portion in an expense category (e.g., meals).

Use the aggregate command to generate a monthly total of expenses by category on a table called monthly_expenses_by_category. This step is also optional and does not interrupt the importing process.

Quick Start

# Install
pip3 install easy_expense_tracker

# Import data to a SQLite database from a CSV file (e.g., itau.csv in samples directory)
python3 -m easy_expense_tracker -d test.db import --template itau itau.csv

# Review uncateorized items (optional step)
python3 -m easy_expense_tracker -d test.db review

# Generate a monthly total of expenses by category on the table monthly_expenses_by_category (optional step)
python3 -m easy_expense_tracker -d test.db aggregate --from-date 2023-01 --to-date 2023-12

Adding a New Template

A template is a small piece of code used to read CSV files. They are used to abstract the data format provided by the service which provided them. Use the ExtractionResult interface to deliver the data read from CSV to the importing process. Place your newly created template into the extractor directory in the root directory of this Python module.

# timestamp : timestamp in unix epoch format
# description : record description
# amount : absolute amount value, use cash_flow to if record express debits as a negative amount
# cash_flow : use 'C' for credit or 'D' for debit
# doc_id : some bank statements may include this field, use an empty string if not
# category : record category
# annotations : record annotations
# template_name : which template name this record belongs to

ExtractionResult(timestamp, description, amount, cash_flow, doc_id, category, annotations, template_name)

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

easy_expense_tracker-0.0.5.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

easy_expense_tracker-0.0.5-py3-none-any.whl (15.9 kB view details)

Uploaded Python 3

File details

Details for the file easy_expense_tracker-0.0.5.tar.gz.

File metadata

  • Download URL: easy_expense_tracker-0.0.5.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.4

File hashes

Hashes for easy_expense_tracker-0.0.5.tar.gz
Algorithm Hash digest
SHA256 f40f1794e7769090b315f7120f671bcd1e5cd3268d949f974cc3665bdad87386
MD5 5a9ff465f9a10479182dca751ff763c9
BLAKE2b-256 f5543150989a40a74f1dffffc3720e27abc7115d9252ed25d34a3d503b03b4a6

See more details on using hashes here.

File details

Details for the file easy_expense_tracker-0.0.5-py3-none-any.whl.

File metadata

File hashes

Hashes for easy_expense_tracker-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 6eee1a4d0ebe4fa409005db27136be20fd9e5ea30eb46ace02689bb21eff32f7
MD5 5ba46274fae7fca762a8c3cce9df2b39
BLAKE2b-256 fac18ec1f19c0f5172bad7fdb7d6d95aa34b7099e93bf395ddf5f2ad27c72536

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