アメックスの明細をZaimに同期するためのプログラム

2025-01-27 11:52:18 +0900

家計簿ソフトに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

と実行して、手動で二要素認証を通している。

現在は連携不具合は解消されているけれど、以下の理由で自前のプログラムを使い続けている。

プログラムの仕様上の問題で、完全には一致しない場合があるのだけど、事業の帳簿と違って完全一致させる必要はないので、満足してる。

ただ、API経由の登録だと、連携の履歴には未読としては表示されないので、そこだけは少し不便だけど、致命的ではないので、当分アメックスの明細は自前プログラムで同期するつもり。