アメックスの明細をZaimに同期するためのプログラム
家計簿ソフトに Zaim を利用しているのだけど、一時期アメックスとの連携に不具合があった。(今は解消している)
アメリカン・エキスプレスの連携不具合について(2024/5/31 掲載):よくある質問|家計簿アプリ Zaim
幸いなことにZaimは、サポートはしていないながらも CSVアップロード機能を提供 しているし、 APIも提供 しているので、自力でなんとかするためのプログラムを作成した。
ひとつはアメックスからCSVを取得するための amexcsv というプログラム。
もうひとつはアメックスの明細CSVをZaimに同期するための amexaim というプログラム。
以下のように実行すると、アメックスのサイトから明細CSVをダウンロードして、Zaimに同期してくれる。
$ amexcsv | amexaim
これを1日1回cronで実行している。時々、二要素認証が発生してCSVダウンロードに失敗してることがあるが、その場合は
$ HEADLESS=false amexcsv | amezaim
と実行して、手動で二要素認証を通している。
現在は連携不具合は解消されているけれど、以下の理由で自前のプログラムを使い続けている。
- 今後また連携できなくなる可能性がある(Zaim側ではなくアメックス側の問題で)
- Zaimの連携機能を利用する場合、家族カードは口座グループに追加することができないのが少し不便
プログラムの仕様上の問題で、完全には一致しない場合があるのだけど、事業の帳簿と違って完全一致させる必要はないので、満足してる。
ただ、API経由の登録だと、連携の履歴には未読としては表示されないので、そこだけは少し不便だけど、致命的ではないので、当分アメックスの明細は自前プログラムで同期するつもり。