Tracking Personal Finances using Python šŸ

ā‚¬12.99
ā‚¬12.99
Siddhant Goel
2 ratings

"I really liked the content and was able to sift through it and go from 0 to a working workflow with 3 sources and 3 months of data in 1 day." - Louis Guitoon


"I was just getting into Beancount to help organize my finances, and the book was an invaluable guide. I highly recommend it - super useful!" - Benjamin Ward


"Siddhant's love of plaintext accounting shows through in the writing. Iā€™m a regular beancount user, and his book still taught me new techniques for tracking my finances easily." - Michael Lynch




In this e-book, we will build your personalized "multi-banking" application powered entirely using Python and a bunch of plain text files.

We'll take Beancount as the starting point and build an application that will act as the single point of contact for your entire financial history, and,

  1. store all the data from all your bank accounts strictly on your machine

  2. act as the first point of contact for most of your financial questions (eg. "How much did I make from that consulting work last month?" or "What did I spend on that vacation last year?")

  3. import new financial transactions from your bank accounts on a continuous basis

  4. use customized tools to interact with your financial ledger, analyze your past financial behavior, show your spending patterns, income source, current liabilities, and more!

The final result will be a Git repository on your machine where you can view & edit everything related to your money.




Table of Contents

  1. Introductions

    1. Background

    2. Requirements

  2. Plain Text Accounting

    1. Accounting

    2. Plain Text Accounting

    3. Double Entry Bookkeeping

    4. Conclusion

  3. Beancount

    1. Workflow

    2. Directory Structure

    3. Beancount File Format

    4. Beancout Tools

    5. Conclusion

  4. Workflow

    1. Step 0: Setup

    2. Step 1: Getting transactions

    3. Step 2: Converting transactions

    4. Step 3: Adding transactions

    5. Step 4: Archiving transactions

    6. Conclusion

  5. Testing

    1. Introduction

    2. Regression testing using Beancount

    3. Writing ImporterTestCase

    4. Conclusion

  6. Reporting

    1. Introduction

    2. bean-report

    3. bean-web

    4. bean-query

    5. fava

  7. Closing Thoughts

I want this!

Ratings

5.0
(2 ratings)
5 stars
100%
4 stars
0%
3 stars
0%
2 stars
0%
1 star
0%
Powered by