lang-party / Summer2022

Lang Party 2022
24 stars 1 forks source link

Beancount - double entry plain-text bookkeeping now in Racket #20

Open PanAeon opened 2 years ago

PanAeon commented 2 years ago

Entry

Beancount is a double-entry bookkeeping computer language that lets you define financial transaction records in a text file, read them in memory, generate a variety of reports from them, and provides a web interface.

I'm an absolute newbie to racket and my port is quite limited. It can parse the official examples to almost complete AST, but I didn't code any useful tools yet such as reports or queries..

Example program:

* Commodities

1995-09-18 commodity VBMPX
  export: "MUTF:VBMPX"
  name: "Vanguard Total Bond Market Index Fund Institutional Plus Shares"
  price: "USD:google/MUTF:VBMPX"

* Equity Accounts

1980-05-12 open Equity:Opening-Balances
1980-05-12 open Liabilities:AccountsPayable

* Banking

2020-01-01 open Assets:US:BofA
  address: "123 America Street, LargeTown, USA"
  institution: "Bank of America"
  phone: "+1.012.345.6789"
2020-01-01 open Assets:US:BofA:Checking                        USD
  account: "00234-48574897"

Licence

I confirm that the text in this issue is licensed under the Creative Commons Attribution 4.0 International License http://creativecommons.org/licenses/by/4.0/