Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/copelco/copeland-ledger
My tools for tracking expenses using beancount: Double-Entry Accounting from Text Files.
https://github.com/copelco/copeland-ledger
double-entry-accounting plaintext-accounting python
Last synced: 4 days ago
JSON representation
My tools for tracking expenses using beancount: Double-Entry Accounting from Text Files.
- Host: GitHub
- URL: https://github.com/copelco/copeland-ledger
- Owner: copelco
- License: mit
- Created: 2025-02-01T14:35:40.000Z (13 days ago)
- Default Branch: main
- Last Pushed: 2025-02-01T14:51:42.000Z (13 days ago)
- Last Synced: 2025-02-01T15:35:22.758Z (13 days ago)
- Topics: double-entry-accounting, plaintext-accounting, python
- Language: Python
- Homepage:
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# copeland-ledger
My tools for tracking expenses using beancount: Double-Entry Accounting from
Text Files. This project uses the following packages:* [Beancount](https://beancount.github.io/) (3.0): Double-Entry Accounting from Text Files
* [Beangulp](https://github.com/beancount/beangulp): Importers framework for Beancount
* [ofxtools](https://github.com/csingley/ofxtools): Python library for working with OFX files
* [Fava](https://beancount.github.io/fava/): Web interface for Beancount## Setup
1. Configure your Python environment:
```shell
# example .envrc file if you use direnv
layout python python3.12export $LEDGER_HOME=~/path/to/your/ledger/directory
```2. Install the required dependencies.
Here we are using `-e`, for ["editable
mode"](https://pip.pypa.io/en/latest/topics/local-project-installs/#editable-installs),
so that when our code is modified, the changes automatically apply.```shell
pip install -e ".[dev]"
```3. Create a configuration file for your accounts.
```yaml
# example $LEDGER_HOME/accounts.yaml
accounts:
- bean_account: Assets:US:Ally:Checking
org: Ally
acctid_suffix: "1111"
```4. Import data using the instructions below.
5. Run fava!
```shell
fava $LEDGER_HOME/ledger.beancount
```## Import data
Download files manually to `$LEDGER_HOME/downloads` and verify the data:
```shell
beangulp-import --config=$LEDGER_HOME/accounts.yaml beangulp identify $LEDGER_HOME/downloads
```Extract the data:
```shell
beangulp-import --config=$LEDGER_HOME/accounts.yaml beangulp extract $LEDGER_HOME/downloads
```Check the data:
```shell
bean-check $LEDGER_HOME/ledger.beancount
```Archive the data:
```shell
beangulp-import --config=$LEDGER_HOME/accounts.yaml beangulp archive $LEDGER_HOME/downloads --destination=$LEDGER_HOME/documents
```Fetch latest price of stocks:
```shell
bean-price $LEDGER_HOME/ledger.beancount
bean-price --update $LEDGER_HOME/ledger.beancount
```## Helpful Links
* [Getting Started with Beancount](https://beancount.github.io/docs/getting_started_with_beancount.html)
* https://github.com/pwalkr/beancount-utils/