マヤには4歳の子ども、自分で「希望的観測」と表現する裏庭のコンポスト箱、そしてこの記事の最後まで話したくない食料品の習慣があります。彼女は12年間バックエンドエンジニアを務め、そのうち過去8年間、彼女の家庭で稼いだり使ったりしたすべてのドルは、Gitリポジトリ内のプレーンテキストファイルに記録されています。

それ以前は、ほとんどの人がすることをしていました。最初の仕事からサービスが終了する日までMintを使い、その後6ヶ月間はスプレッドシートを使いましたが、彼女の言葉を借りれば「ツールの質が悪い第二の仕事のようになった」そうです。同僚がプレーンテキスト会計について話しているのを聞き、彼女はその深みにはまり、二度と抜け出せなくなりました。「火曜の夜にBeancountのドキュメントを読んで、その週末に3年分の履歴を移行しました。パートナーは私がハッキングされたと思ったそうです。なぜなら、コンピューターの前で笑っていたから。」
儀式:週に一度、20分間、ノートパソコンのみ
マヤのルールは、ほとんどのアプリユーザーとは逆です。家計はスマホではなく、デスクで行います。毎週日曜、子どもが寝た後、彼女はbeancount.ioでFavaに台帳を開き、同じループを実行します。今週の取引を確認する。インポーターがあいまいなままにしたものをカテゴリ分けする。資産グラフを一目見る。ノートパソコンを閉じる。
「CIが好きなのと同じ理由です」と彼女は言います。「小さく、退屈で、繰り返し可能。20分で終わり、週の間は一切考えません。」
ただし、スマホには一つだけ仕事があります。それは取り込みです。食料品店では、駐車場を出る前にbeancount.ioモバイルアプリでレシートを撮影します。日曜までには、それが下書き取引として受信箱に入っており、確認を待っています。「レシートは以前はジャケットのポケットに入り、最終的にはゴミ箱に行っていました。今は台帳に入ります。それがすべてのコツです——支出時点で取り込み、判断は週に一度。」
残高アサーションはお金のための単体テスト
一番好きな機能を聞かれると、彼女は迷いません——でもそれはグラフではありません。それはbalanceアサーションです。ファイル内の1行の文で、「この日付において、この口座には正確にこの金額がある」と述べます。台帳と銀行が一致しない場合、ファイルはbean-checkをパスしません。
「それは財政のためのテスト失敗です。私の台帳は静かに現実から乖離することはできません。人々は口座照合のためにアプリにお金を払っていますが、私はコンパイルできないテキストファイルからそれを得ています。」
彼女が最も過小評価している機能はドキュメントです——取引にレシートのPDFや写真を直接添付すること。「税金の時期に、会計士が私の記録を尋ねました。私はGitバンドルを送りました。彼女は冗談だと思いました。しかし、試算表を開いて笑うのをやめました。」
保育園クエリ
システムが真価を発揮した瞬間は、BQLクエリでした。4歳の子どもの保育園費は高く感じられましたが、感情は数字ではないので、彼女は1行のクエリを実行しました——月ごとの合計、グループ化、12ヶ月のウィンドウ——Favaのクエリページで。
「保育園費が高いことを教えてくれるソフトウェアは必要ありませんでした。しかし、線が右肩上がりに1年間続くのを見て、ようやく比較検討する気になりました。実際に好きな場所に引っ越し、20分近くなり、その差額で食料品代が賄えています。たった1つのクエリです。これが8年間の簿記の総投資収益率です、もしあなたがスコアをつけているなら。もちろん、私はつけています。」
彼女は同じトリックを四半期ごとのサブスクリプションにも使っています。1つのクエリ、1つのリスト、10分の解約。「いつもストリーミングサービスです。まるで増殖しているようです。」
でも、コーヒーもね
エンジニアだって贅沢カテゴリを持っています。もし台帳が彼女を非難するとしたら、落ちはExpenses:Food:Coffeeでしょう。「V60がありました。次にスケール。それからFellowのケトル。そして初めてのモニターよりも高価なグラインダー。」もちろん、そのすべての費用を彼女は正確に知っています——git logで抽出時代を振り返り、コミットが頻繁になっていく様子を見られます。
プレーンテキストでお金を追跡することについて誤解されているのはそこだと彼女は言います。制限することではありません。「ダイエットではありません。鏡です。コーヒーの行を見て、私はまったく罪悪感を感じません。なぜなら、私は選んでグラインダーを買ったからです。台帳は、私が目を開いて選択していることを確認させるだけです。」
8年が経ち、そのリポジトリは彼女がこれまで維持してきた中で最も長く続いているプロジェクトです。「職場で書いた他のものはすべて書き換えられるか削除されました。このファイルはコンパイルされ続けています。」
あなた自身の日曜の儀式を始めませんか?beancount.ioにサインアップして、Smart Importで最初の明細をインポートし、台帳に記憶させましょう。