2020/07/14

Zaimの金融機関連携口座に過去の取引データを連結する方法(Part3)

←前回の記事

9.残高調整をキャンセルするデータをでっち上げる

_これまでの記事で、Zaimは

  • 初回の口座連携の際に、ユーザーが指定した開始日以前のデータも金融機関サイトから取り込める場合は、そのデータは残高調整データとして取り込む
  • その後、ユーザーが指定日以前の取引データをアップロードすると、前述の残高調整データと重複することになる(しかもそうなることは一見して判らない)

_このような動作することが判ってきました。では、後者のダブりを解消するためにはどうすれば良いか、というと、この残高調整データをキャンセルする残高調整データをでっち上げてアップロードすればよいのです。

_Zaimからダウンロードしたデータには、↓のような残高調整データが含まれています。

Zaimが付加した残高調整データ

_↑の「支払元」と「入金先」を逆にしたデータを作成します↓。

Zaimが付加した残高調整をキャンセルするデータ

10.Zaimにアップロードしてみると良い結果が

_↑このデータをCSVファイルとしてZaimにアップロードします↓。

Zaimが付加した残高調整をキャンセルするデータをアップロードする

_アップロード後、Zaimに再ログインしてからモバイルSuicaの残高推移グラフを表示すると↓のように正しく認識されるようになりました。

Zaimの残高推移の認識が正しくなったぞ

_ところで、これまで述べてきたのは、あくまで「2018年4月以降のモバイルSuicaの取引データと残高推移を正しくZaimにアップロードする方法」になっています。では、それよりさらに以前のデータはどうやってアップロードすればよいのでしょうか?

_実に簡単ですね。前回に入力した「2018年3月31日時点の残高を設定するためのダミーの取引データ」を削除し、それ以前のデータをアップロードして、そのデータの初期残高を設定するためのダミーの取引データを新たに入力すればよいわけです。これを繰り返していけば、さらに過去のデータをアップロードすることができます。


11.Zaimはどんなときに残高調整データを入れ込んでくるのか?

_ここまで述べてきましたように、Zaimにはユーザーに公開されていない仕様が多く、記事の作成にも多くの労力を要しました。が、いろいろなことができるのはありがたいわけで、ユーザーの操作を規制したがるマネーフォワードMEとは明らかに方向性が異なっています。ただ、少々リスキーなことが簡単にできてしまう危うさもありまして… 以下、Zaimの動作についてユーザーが注意すべき重要事項について述べます。

_一連の記事の中で、Zaimの残高認識が狂っている場面がありました。この状態で、ZaimがモバイルSuicaサイトにアクセスしてデータを取り込みにかかったら一大事です。どういうことが起こるか調べてみましょう。一番簡単な方法として、まず、前回の記事で2018/03/31に11,023円のダミーの収入取引を入力したデータを削除します。

ダミーデータを削除する

_そうなると、2018/03/31時点の残高は0に戻り、2019/02/22時点での残高は-6,702円と、実際の金額である4,321円より11,023円減って、再びモバイルSuicaの残高推移のグラフは狂ってしまいます。

残高調整キャンセルデータをUL後、2018_03_31のダミーデータを削除したらこうなってしまう

_この状態でZaimがモバイルSuicaサイトからデータを取り込む↓とどうなるか?

モバイルSuicaのデータを取りに行っている

_例によってZaimに再ログインしてからグラフを表示してみると↓、なんと、2月の残高だけが4,321円と正しく認識され、それ以前の残高推移のグラフは狂ったままです。

残高推移が狂った状態でサイトから取り込んだら最終残高だけが合うという厄介な状態になる

_モバイルSuicaを最後に利用したのは2月22日、一連の記事を作成するための操作は22~23日に行っており、ZaimにモバイルSuicaサイトにデータを取りに行かせたのは2月24日。その間はモバイルSuicaは使っていません。では、一体何が起きたのか? それを調べるためにZaimからデータをダウンロードします↓。

新規の利用履歴は取り込まれていないが、残高調整のデータが増えている!

_うぬう… 2019/02/24に残高を11,023円加算させる残高調整データが入っている…。

_このとき、Zaimは「現時点でのモバイルSuicaの残高は、俺の認識では -6,702円だが、モバイルSuicaのサイトでは4,321円になっている。いつ狂っちゃったのか判らんけど、取りあえず残高を4,321円に合わせるために、11,023円加算しよう」という動作をしたというわけです。ユーザー側は、2018/03/31時点の残高を11,023円にするためのダミーデータをZaimから削除したために残高認識が狂ったことは判っていますが、当然ながらZaimのサーバーはそんな事情を知りようも無く、金融機関サイトから正しい残高の情報を得た時点で残高を合わせてきます。

_そして、当然ながらこの残高調整データは削除できませんから、前述のように、この残高調整をキャンセルするデータをアップロードしなければならないのです。

12.Zaimの「残高の編集」機能は要注意!

_Zaimが、好ましくないタイミングで金融機関サイトから残高の情報を得た結果、好ましくない残高調整データが生成されてしまった場合、その対処法としては以下のようなやり方もあります。

_今、筆者はZaimのデータ上のモバイルSuicaの残高は「現時点では」-6,702円であるべきだ、ということを知っています。そこで、Zaimのホーム画面から口座残高の編集機能を使って、残高を-6,702円にしてしまうのです。ただし、この操作は、Zaimが残高調整データを生成した当日に行わねばなりません。

Zaimの残高調整機能を使って補正する

_この操作を行った後、Zaimに再ログインしてモバイルSuicaの残高グラフを見てみると、ZaimがモバイルSuicaサイトにアクセスする前の状態に戻っています↓。

Zaimの残高推移の認識が正しくなったぞ

_では、この「残高の編集」機能はどのような動作をしているのか? Zaimからダウンロードしたデータ↓はこのようになっています。

残高の編集機能を使って入力したデータはこういう風になる

_一番最後の水色で塗ったデータが「残高の編集」によってZaim内部に生成されたデータです。この操作をした時点では、Zaimは残高を4,321円と認識していました。筆者は2019年02月24日にそれを-6,702円にするように入力しています。結果、その日付で残高を11,023円減算しろ、というデータが出現しているわけです。この状態で残高は-6,702円になりましたので、再び2018/03/31付でモバイルSuicaに11,023円の収入があったというダミーの取引データを入力すれば、残高推移のグラフは正しい状態に戻ります。

_「残高の編集」は、かなり判りにくいですが、このように動作します。はっきり申しまして、現金や電子マネー、銀行口座のように「取引を積み重ねて残高が変動していくような口座」の残高を調整する用途で使うべき機能ではありません。Zaimがまだ連携できていない「証券口座や外貨預金、貴金属等、相場によって残高が変動するような口座」の残高を日々入力していく、という用途で使うべきものです。また、日付を指定しての入力もできないので、残高推移の認識を正すにはやはり残高調整データのアップロードで行うのが吉でしょう。だからこんな中途半端な機能はさっさと別の機能に差し替えろって言っているのに…


_いかがでしたでしょうか? Zaimは、内部の動作を理解すれば、他の家計簿アプリでは到底不可能なことができます。ただし、その操作には細心の注意が必要で、間違ったデータを大量にアップしてしまった日には、これまで蓄積していたデータを全放棄せざるを得ない事態になる危険性もあります。リスクをご理解のうえで取り組んでいただければと思います。

注目の記事

家計簿アプリとデータをやりとりする際のファイル形式のまとめ

_今回の主題は…家計簿アプリとデータをやりとりするときに使用するファイルの形式について、です。筆者がこれまで MFFマクロ に対応させてきた家計簿アプリは27種類(Money通帳とあっと家計簿は別カウント)。まず、家計簿アプリからエクスポートする方向では↓のようになります。...

最近の人気トップ3