Beancount 系列 (4) — 自動化記帳

這次來講解目前使用的自動化記帳工具,我自己寫了一組 script 針對國泰世華銀行帳戶、信用卡以及加密貨幣的交易紀錄作自動化記帳的功能,其中信用卡則結合了電子發票輔助取得更多資訊。不過這些 script 只能滿足我自己的記賬需求,如果不足的話可以 fork 一份修改。

$ npm install -g @yurenju/soy-cli

國泰世華銀行轉帳明細

在銀行方面我是解析了國泰世華網路銀行交易明細的 csv。在國泰世華的網路銀行,選擇「台幣帳戶明細」那邊可以將交易明細用 csv 格式儲存,不過因為他是用 big5 編碼儲存,所以直接打開會是亂碼。

$ soy cathay-bank --config ./cathay-bank.yml --input-file ./cathay-bank.csv

defaultAccount

預設的帳戶,income 是轉入時預設的帳戶,expenses 是匯出時預設的帳戶。base 則是這個銀行用的帳戶。

encoding

就如同前面說的,國泰世華的 csv 檔案是 big5 編碼的,所以需要在這邊指定。

rules

這是可以在轉換成 beancount 檔案時比對是否有符合的規則,如果有符合的規則時可以指定要如何轉換,先來看一下套用規則得到的 beancount 輸出長怎樣。

國泰世華信用卡帳單

跟銀行交易明細相同,國泰世華信用卡帳單也提供了 CSV 格式下載。從 信用卡 > 帳單查詢及繳款可以看到最近五個月的帳單,點進去之後捲到最下面就可以看到下載 CSV 檔案的選項。

$ soy cathay-credit-card --config ./cathay-credit-card.yml --input-file ./cathay-credit-card.csv

加密貨幣

因為加密貨幣的記賬還滿複雜的,而且我目前寫好的部分還需要修一修,之後有機會再介紹好了。基本上就是會記住入帳的價格跟消費的價格來計算損益,並且透過 CoinGecko 來取得新台幣的價格統一用新台幣記賬。基本上也支援 Compound 這類型的 DeFi,但是有些情況還需要再額外處理一下,比如說 DAI Saving。

旅行、咖啡、科技宅

旅行、咖啡、科技宅