2011/04/18

Pasori&Ferica2Moneyを使ってのフェリカ履歴データのGnuCash取込


タイトルがわけわかりませんが、
「RFIDリーダを使ったICOCA履歴をGnuCashへ読み込む方法」
です。

GnuCash情報の老舗、このサイトの方曰く「出来る」と言ってる(ぽい?)ので、
RFIDリーダ「Pasori」を買ってみました。

・GnuCash、ちゃんと使ってます
http://sent-a.blogspot.com/2011/02/gnucash.html

それでは、説明を…

■前提

・Windowsでの作業(XP SP3)
・もちろんGnuCashもWin版(2.4.4)
・Pasoriは後期版(黒)のRC-S370

次は手順です、

■手順

①Pasori(RC-S370)のドライバ&ソフトのインストール
RFIDリーダであるPasoriをUSBでPCに繋ぎます。
XPなら繋いだ途端、自動でドライバ&ソフトインストールしました。
※本筋じゃないので端折ります。

②FeliCa2Moneyをダウンロード&インストール
こちらからソフトをダウンロードします。
http://felica2money.tmurakam.org/
インストールして下さい。
ここらへんではハマる要素は無い…と思う。

③FeliCa2Moneyを起動、設定を行う。
ソフトが立ち上がったら、以下の設定をしてください。
※赤い囲みの部分


・「OFXファイル名を主動で設定する」> On
保存場所を指定しない設定にすると、無言で終了します。
(どこに保存しているんだろう…?)

・「保存後にOFXファイルを自動的に起動する」> Off
ウチのようにMSMoneyと同時にインスコしているところにはこの設定が必要です。
(そんなヤツ一握りでしょうけど、念のためw)

・「Ver2.0のOFXファイル(XML)を生成する > Off
GnuCash側が対応していません。※後述

その他、JRのカードを読ませたい方は、上部のエリア選択を行って置いてください。
設定が終われば「OK」ボタンをクリックして設定画面を閉じてください。

④Pasoriにカードをセットして履歴をOFXファイル出力
カードをセットして、各種対応するボタンをクリックしてください。
※俺はICOCAなので、上から二番目のボタンを押下しました。

ファイル選択のダイアログが表示されるので、
保存するファイルの場所・名前を指定してください。

⑤GnuCashを起動しOFXファイルを読み込ませる
起動させたら、「ファイル(F)→インポート(I)→OFX/QFXファイルをインポート」をクリック、
ファイルを選んでください。

「勘定科目を選択」の選択画面で科目を選んだ後、
「汎用インポート取引マッチング」画面が表示されます。


個々、右端の「情報」欄をクリックして、「入金」と「出金」の仕訳をしてください。
俺の場合、「財布」と「交通費」の科目を割り当てているので、そこへ振りました。
※2回目からは楽になる…かも?しれませんw


■ハマり点

上記の「Ver2.0のOFXファイル(XML)」にGnuCash側が対応していないのを解らず、
「ど~~足掻いても文字化けする!」と延々とハマっていました。

ようやく、他の読めたファイルとの違いを探り「ヘッダ部が違う!」と突き止めました。

2.0のファイル
-------------------------
<?xml version="1.0" encoding="shift_jis" standalone="yes"?>
<?OFX OFXHEADER="200" VERSION="200" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
-------------------------
2.0以前のファイル
-------------------------
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:UTF-8
CHARSET:CSUNICODE
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE
-------------------------

コレを差し替えると上手くいき、後で「バージョンか!」と気づいて
設定を変えるとここが変化することを確かめました。


■所感・感想

…まあ「全てを手入力しなくて良い」だけで、
判断と実際の仕訳には人間系が必要なのは変わりませんが…。

間違いがなくなることと、少しでも省力化できるのは俺好みかと。


しかし…履歴は20件なんですね。
一週間に一回、読み込ませないといけないな…ルール化するか。

5 件のコメント:

  1. アクセス履歴を見てやってまいりました。
    よくよく見ると私はちらっと言及しただけでしたが、
    ・「OFXファイル名を主動で設定する」> On
    ・「保存後にOFXファイルを自動的に起動する」> Off
    このあたりは同じようにやっています。

    ・「Ver2.0のOFXファイル(XML)を生成する > Off
    については、旧バージョンでは特に問題が発生していませんでした。
    しかし、バージョンを上げてからは文字化けをおこしていて、悩んでいました。
    文字コードをいじってみたりはしてみたんですが・・・
    今度取り込むときには試してみます。


    取り込まれた情報の仕訳については、同じ取引と同様に仕訳ることはできるようなので、
    同じ取引が多いのであれば、最初のうちは少ない件数で取り込むのがいいかもしれません。

    モバイルSuicaの利用履歴は50件まで見られるみたいですね。
    取り込む手間がかかりそうですが。
    http://emoneyhikaku.web.fc2.com/Suica/mobilesuica/inquiry/

    返信削除
  2. sent さん

    来訪ありがとうございます!
    なんか「有名人のご本人登場」みたいで恐縮するやら小っ恥ずかしいやらで…ともかくよろしくですw

    やり方が同じで良かったです。

    Ver2.0の話は「仕様が違うからどうしようもない」感じがします。中身見るとヘッダからして違いますし。

    日本人からしたら「MSMoneyのためだけにあるこの規格」に思えるのですが、どこ主導でVerUPしてるんだか…(MSMoney自体読めるんかな?)

    仕訳は「文法解析(線形素解析?)のアルゴリズムで過去取引から割り出してる」と、どっかで読んだ気がします。
    「なるほど、使うほど精度上がるのか」と期待したのですが、2回目の自動取り込みでギタギタにしてくれたので、目検と修正はちっとも楽になってくれていませんw

    多く履歴が見られるのはいいですね。ICOCAも同じかな?
    20件だと読み込ませるタイミングに迷います。
    故あって定期券運用”しない”日々が2週間続いたのですが、一週間に一回じゃ履歴が無くなっていました。
    で、定期券運用しだしたら、全然履歴動かないし…。

    ま、試行錯誤してみます。
    情報ありがとうございます。
    また、お役立ち情報を記事にしていただけることを期待しております。

    返信削除
  3. GnuCashの話題は、非常にニッチですからね^^;
    どれくらい役立てている人がいるかも不明だし。
    この記事を見たときに、「役立ててる人がいるんだな」と思ってちょっとうれしかったですw

    そうか、ICOCAなんですよね。
    モバイルICOCAってあるのかなと思ったら、ないみたいですね。
    でも、「通常は最大20件までの印字であるが、窓口に申し出れば最大50件までの履歴を得ることができる」なんて書いてあります。
    http://ja.wikipedia.org/wiki/ICOCA#.E5.B1.A5.E6.AD.B4.E8.A1.A8.E7.A4.BA.E3.83.BB.E5.8D.B0.E5.AD.97
    おなじfelicaでも、多少違う部分があるということなのかな?

    お役立ち情報・・・もう出尽くしているかな?
    金融商品の価格取得やデータのインポートあたり?
    自分でもうまくできていないですけど。

    返信削除
  4. おお、再コメントありがとうございますm(__)m

    ニッチっぽいのは「皆知らんから」だと勝手に思ってますw
    ・DB使ってて
    ・ソース公開されてて
    ・家計簿以上、会計ソフト以下で
    ・なによりタダのソフト
    なんて、食いつく要素が多めげだと思うんです。
    ま、取り回しはあんま良くないですけどw

    あとは「取引一件作るメカニズム」を調べたら、「自動流しこみ」出来るので、システム屋さんも美味しくいただけると思うのですよ。
    ※こんな人も居ますし…
    http://jp.rubyist.net/magazine/?0030-Hotlinks#f12

    …ので、そこら周りを書いていく予定です。

    だから、sentさんの投稿も凄く意味を持っていると思いますし、実は「レスポンス無いだけ」でとある人には凄く役立ってる!…かもですw(少なくとも私とか)

    余談ですが、あの「インターネットバンキングの設定(OSF/HBCI)」がさっぱりわからんのですよね。
    HBCIはドイツの規格らしいので対象外としても、日本の銀行を設定して動かす方法があるのか無いのかも何も情報が無くて…。

    あれは「自動明細取込み」的な機能なのかなぁ?だったら足掻きもしたいのですけど。

    返信削除
  5. またまたコメを^^;

    「皆知らんから」というのは私もそう思います。
    だからこそ、ブログのネタにしてみたりしているわけですし。
    ただ、アクセス数は多くないので、こんな具合に反応があるといいですね。

    HBCIがドイツの規格だというのはどこかで見た気がします。
    GnuCashもベースはドイツ語ですしね。
    AqBankingを見ると、OFX-DirectConnect backendというのもあるので、設定するとOFXを直接読みに行ってくれたりするのでしょうか・・・

    返信削除