Coder Social home page Coder Social logo

bill_aggregator's Introduction

Bill Aggregator

Transform and aggregate all kinds of bills into a unified, beautiful Excel Table.

  • support different file formats (csv, xls)
  • auto-detect file encodings (utf-8, utf-16, gbk, big5...)
  • auto-detect datetime formats (2023-02-11, 11 FEB 2023, 11/02/2023, 2/11/2023...)
  • auto-detect number formats (-$6,593.22, -Eu6.593,22, -6 593,22 грн., (HK$6,593.22)...)

For a real-world example, see Examples.

Installation

Clone this repository:

git clone https://github.com/prajnamort/bill_aggregator.git

Install dependencies (you need have python3 and pip3 installed):

cd bill_aggregator/
pip3 install -r requirements.txt

Usage

1. Download your bills

Download all your bill files into a dedicated directory, like this:

<bills_directory>/
|- Bank_Account_1.csv
|- Bank_Account_2.csv
|- Bank_Account_3.csv
|- ...

2. Edit the config

Create a new config file (only for the first time):

cp config.example.yaml config.yaml

Edit the config file:

<editor> config.yaml

How to write the config?

  • For well-known bank accounts, just copy from config_templates.
    (If you don't find your bank here, you are welcome to share your config)
  • For a detailed documentation, see configuration.md.

3. Run the program

Now run the program:

./main.py -c <config.yaml> -d <bills_directory>

The result file(s) has been put into <bills_directory>/results/, Enjoy your bookkeeping!

bill_aggregator's People

Contributors

prajnamort avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.