finances/README.md

58 lines
4.6 KiB
Markdown

# 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; }
</style><link rel="stylesheet" href="hledger.css"><table><tr><th colspan="5" style="text-align:left"><h2>Income Statement 2023-01-01..2024-10-28</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">bank:interest</td><td class="amount" style="text-align:right"></td><td class="amount" style="text-align:right">0</td><td class="amount" style="text-align:right">1.20</td><td class="amount rowtotal" style="text-align:right">1.20</td></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">1097.87</td><td class="amount rowtotal" style="text-align:right">1512.87</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">313.43</td><td class="amount rowtotal" style="text-align:right">400.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">1412.50</th><th class="amount coltotal" style="text-align:right">1914.50</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">48.24</td><td class="amount rowtotal" style="text-align:right">74.26</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">460.54</td><td class="amount rowtotal" style="text-align:right">585.01</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">508.78</th><th class="amount coltotal" style="text-align:right">711.67</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">903.72</th><th class="amount coltotal" style="text-align:right">1202.83</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
Installing hledger with [nix](https://nixos.org/download), the package manager.
```
git clone gitea@git.pub.solar:pub-solar/finances.git finances && cd $_
nix develop
```
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
```
hledger incomestatement --file ./finances.hledger --layout bare --pretty --drop 1
```
Creating a web report, viewable in a browser
```
hledger-web --file ./finances.hledger
```
Writing a HTML table to the README
```
hledger incomestatement --file ./finances.hledger --layout bare --pretty --drop 1 --output-format html --yearly --row-total \
| sed 's|</table>|</table>\n|' \
| sed -i '/^<style>/,/^<\/style>/{
r /dev/stdin
d
}' README.md
```