Ogawa::Buzz: MS Moneyの後継を決める!!の続き。
この記事では、MS MoneyデータをJumsoft MoneyやiComptaに移行する方法について述べる。
まず最初にUltrasoft MoneyLinkを用いてMS MoneyのデータをCSV形式にコンバートする。MoneyLinkはExcelのアドオンツールで、下記にインストール方法などの説明がある。
Microsoft Money │ Ultrasoft MoneyLink について
MoneyLinkをインストールしたら、Excelのメニューから「データ」→「Moneyデータを取り出す」を選択してアドオンを起動する。インポートするデータは「すべての資産の取引」のみ。
Excelシートに読み込んだらCSV(カンマ区切り)形式で保存しておく。
さて、生成されたCSVファイルはCP932でエンコードされており、またアカウントごとに分割されていないので、そのままではJumsoft MoneyやiComptaで読み込めない。そのため簡単な変換ツールが必要になる。どのような方法で実現しても構わないが以下のスクリプトを使うのも一つのやり方。
以下のように実行する。
$ ./msmoney2jsmoney.py moneylink.csv
すると、/tmp にアカウントごとのCSVファイルが作られる。文字コードもUTF-8に変換されている。各CSVファイルは以下のようなフォーマットでレコードが格納されている。
Date,Payee,Category,Amount,Memo,Account 2001/11/16,郵便局,通信費:葉書や切手,-800,40円切手×20,現金 2001/11/17,TSUTAYA,教養娯楽費:書籍や雑誌,-700,,現金 ...
次にこのCSVファイルを一個ずつJumsoft MoneyやiComptaから読み込む。どちらもimporterがよくできているので特に困ることはないはず。
Jumsoft Moneyのimporterでは、入力データの各カラムを、Number, Date, Payee, Category, Withdrawal, Deposit, Commentsのいずれかにマッピングすることができる。AmountカラムをDeposit、MemoカラムをCommentsとしてマッピングすると都合がよい。
iComptaのimporterでは、入力データの各カラムを、Name, Date, Frequency, Ending date, Amount, Amount sign, Credit, Debit, Kind, Info, Type, Status, Reconciled data, Commentのいずれかにマッピングすることができる。Jumsoftに比べて項目が多いので分かりにくいが、PayeeカラムをNameに、CategoryカラムをTypeに、MemoカラムをCommentとしてマッピングすると都合がよい。

EncodingをUTF-8、Date formatをyyyy/MM/ddに設定。
必要なアカウント分だけインポートを繰り返せば移行は完了である。


