finances/README.md

54 lines
4.2 KiB
Markdown
Raw Normal View History

2023-12-15 21:01:00 +00:00
# pub.solar finances
This repository is used to track the finances of pub.solar transparently.
We use [hledger](https://hledger.org/) to create finance report in a minimalistic, terminal friendly
way.
### Finances report table
<style>
td { padding:0 0.5em; }
td:nth-child(1) { white-space:nowrap; }
tr:nth-child(even) td { background-color:#eee; }
2024-04-07 14:05:51 +00:00
</style><link rel="stylesheet" href="hledger.css"><table><tr><th colspan="5" style="text-align:left"><h2>Income Statement 2023-01-01..2024-12-31</h2></th></tr><tr><th></th><th>Commodity</th><th>2023</th><th>2024</th><th>Total</th></tr><tr><td colspan="5">&nbsp;</td></tr><tr><th colspan="5" style="text-align:left">Revenues</th></tr><tr><td class="account" style="text-align:left">donations:member</td><td class="amount" style="text-align:right"></td><td class="amount" style="text-align:right">415.00</td><td class="amount" style="text-align:right">390.00</td><td class="amount rowtotal" style="text-align:right">805.00</td></tr><tr><td class="account" style="text-align:left">donations:non-member</td><td class="amount" style="text-align:right"></td><td class="amount" style="text-align:right">87.00</td><td class="amount" style="text-align:right">74.43</td><td class="amount rowtotal" style="text-align:right">161.43</td></tr><tr><th style="text-align:left">total</th><th class="amount coltotal" style="text-align:right"></th><th class="amount coltotal" style="text-align:right">502.00</th><th class="amount coltotal" style="text-align:right">464.43</th><th class="amount coltotal" style="text-align:right">966.43</th></tr><tr><td colspan="5">&nbsp;</td></tr><tr><th colspan="5" style="text-align:left">Expenses</th></tr><tr><td class="account" style="text-align:left">infra:domain</td><td class="amount" style="text-align:right"></td><td class="amount" style="text-align:right">52.40</td><td class="amount" style="text-align:right">0</td><td class="amount rowtotal" style="text-align:right">52.40</td></tr><tr><td class="account" style="text-align:left">infra:file-storage</td><td class="amount" style="text-align:right"></td><td class="amount" style="text-align:right">26.02</td><td class="amount" style="text-align:right">11.77</td><td class="amount rowtotal" style="text-align:right">37.79</td></tr><tr><td class="account" style="text-align:left">infra:server</td><td class="amount" style="text-align:right"></td><td class="amount" style="text-align:right">124.47</td><td class="amount" style="text-align:right">91.87</td><td class="amount rowtotal" style="text-align:right">216.34</td></tr><tr><th style="text-align:left">total</th><th class="amount coltotal" style="text-align:right"></th><th class="amount coltotal" style="text-align:right">202.89</th><th class="amount coltotal" style="text-align:right">103.64</th><th class="amount coltotal" style="text-align:right">306.53</th></tr><tr><td colspan="5">&nbsp;</td></tr><tr><th style="text-align:left">Net:</th><th class="amount coltotal" style="text-align:right"></th><th class="amount coltotal" style="text-align:right">299.11</th><th class="amount coltotal" style="text-align:right">360.79</th><th class="amount coltotal" style="text-align:right">659.90</th></tr></table>
### Import new statements
* place csv file into import directory
* rename to `expenses.csv` for expenses or
* rename to `donations-member.csv` for donations of members
* rename to `donations-non-member.csv` for donations of non-members
* execute `hledger import -f finances.hledger import/<csv-file>`
### Quick start how to use hledger
2023-12-15 21:01:00 +00:00
Installing hledger with [nix](https://nixos.org/download), the package manager.
2023-10-31 19:06:24 +00:00
```
2023-12-15 21:01:00 +00:00
git clone gitea@git.pub.solar:pub-solar/finances.git finances && cd $_
nix develop
2023-10-31 19:06:24 +00:00
```
2023-12-15 21:01:00 +00:00
or with [direnv](https://github.com/nix-community/nix-direnv).
```
git clone gitea@git.pub.solar:pub-solar/finances.git finances && cd $_
direnv allow
```
Creating a report without negative numbers
2023-10-31 19:06:24 +00:00
```
hledger incomestatement --file ./finances.hledger --layout bare --pretty --drop 1
2023-10-31 19:06:24 +00:00
```
2023-12-15 21:01:00 +00:00
Creating a web report, viewable in a browser
2023-10-31 19:06:24 +00:00
```
hledger-web --file ./finances.hledger
```
2023-12-15 21:01:00 +00:00
Writing a HTML table to the README
```
hledger incomestatement --file ./finances.hledger --layout bare --pretty --drop 1 --output-format html --yearly --row-total | sed -i '8r /dev/stdin' README.md
sed -i '14,17d' README.md
```