ミロク(MJS)からfreee会計への移行|仕訳CSVで直すのはコードと複合仕訳
freee会計のヘルプにMJS専用の取り込みは見当たらず、科目・開始残高・仕訳・固定資産を汎用の取り込み口で入れます。freeeの仕訳テンプレートは1行に借方と貸方を並べる形で、直すのは科目・補助・消費税のコードと「複合」の科目です。
目次 クリックで開く
この記事の要点
- freee会計のヘルプには、弥生会計などと違い、ミロク情報サービス(MJS)の会計ソフトから取り込む専用の手順は見当たりません。勘定科目・補助科目、開始残高、仕訳、固定資産を、それぞれ「その他の会計ソフト」向けの汎用の取り込み口で入れます。
- freee の仕訳のテンプレートは、1行に借方と貸方を並べる形です。freee のヘルプが示す MJS 向けの「ミロク形式」も同じ形なので、この形の CSV なら縦に組み替える必要はありません。直すのは、科目・補助・部門・消費税のコードを freee の名前に置き換えることと、1列の金額を借方金額と貸方金額の列に入れることです。
- 合計がずれやすいのは複合仕訳です。ACELINK NX-Pro 向けの仕訳では、複合仕訳の相手に「複合」の科目を使います。freee では、「複合」の科目で取り込むと年度締めができません。「複合」の側を空欄にするか「諸口」などに置き換え、伝票ごとに借方と貸方の合計が合うかを確かめてから取り込みます。
MJS から freee会計へ、取り込む順番
MJS 向けの「ミロク形式」は科目・補助・消費税をコードで持ち、freee のテンプレートは名前で読む。コードの対応表を、1より前に作っておく
ミロク情報サービス(MJS)の会計ソフトから freee会計へは、freee の「その他の会計ソフト」向けの取り込み口で移します。freee のヘルプには、弥生会計・会計王・MFクラウドシリーズなどから移す専用の手順がありますが、MJS 向けは見当たりません(freee ヘルプ「【法人】他社会計ソフトからのデータ乗り換えの流れまとめ」)。
当社は、会計ソフトを乗り換える会社の、データの移し方や経理の仕組みづくりを手伝っています。弥生会計から移す場合は別の記事に書いたので、この記事では、専用の取り込み口が無い MJS から移すときに違う所を書きます。2026年10月1日に、インボイス制度の経過措置の控除割合が80%から70%に変わりました。免税事業者などからの仕入に経過措置を使っている会社がこの日をまたいで移すと、取り込む仕訳と移した後の仕訳で税区分が分かれるので、その点も書きます。この記事は、MJS の会計ソフトから freee会計(法人)へデータを移す作業の担当の方に向けたものです。MJS 側の手順は、MJS の公開のページでは確かめられませんでした。そこで、マネーフォワード クラウド会計のヘルプに載っているメニュー名を使います。このヘルプの ACELINK NX-Pro の仕訳と勘定科目の手順は、2017年の MJS の画面を出典にしています。ほかの製品のメニューと、実際に書き出した CSV の列は、製品のマニュアルか MJS のサポートで確かめてください。個人事業主の移行、給与や販売のデータ、MJS のかんたんクラウドからの移行は扱いません。
MJS の製品によって、書き出しの手順が分かる範囲が違う
今使っている MJS の製品を先に確かめます。MJS の製品一覧では、会社向けに LucaTech GX・Galileopt DX・MJSLINK DX・ACELINK NX-CE と かんたんクラウド、会計事務所向けに ACELINK NX-Pro、小規模事業者向けに iCompassNX が並びます(MJS「製品一覧」)。マネーフォワードのヘルプに書き出しのメニューが載っているのは、ACELINK NX-Pro・iCompassNX会計Plus と、製品一覧には無い MJSかんたん!シリーズ(かんたん!会計・かんたん!青色申告)です(下の図)。会計事務所が ACELINK NX-Pro で帳簿をつけている会社は、書き出しを事務所に頼むことになります。
MJS の製品と、書き出しの手順を確かめられる範囲
ACELINK NX-Pro 会計大将
会計事務所向け
- 勘定科目・補助科目、開始残高、仕訳の書き出しのメニューが載っている
- 仕訳と勘定科目の手順は、MJS の画面をもとにしている
仕訳:[4.データ連動]→[3.汎用データ交換]→[21.エクスポート処理]
iCompassNX会計Plus・MJSかんたん!シリーズ
小規模事業者向け・かんたん!会計/青色申告
- iCompassNX:勘定科目は[8.導入登録処理]、開始残高は[2.月次管理表]→[01.財務報告書]。仕訳の書き出しのメニュー名は載っていないので、マニュアルかサポートで確かめる
- かんたん!:[ファイル(F)]→[エクスポート]→[仕訳データ(J)]
かんたん!の形式:UJT形式(仕訳だけ)
LucaTech GX・Galileopt DX・MJSLINK DX・ACELINK NX-CE
会社向けの製品
- 書き出しのメニューは公開のページで見つからない
- 製品のマニュアルか MJS のサポートで確かめる
freee 側:取り込み口は同じ(その他の会計ソフト向け)
出典:MJS「製品一覧」、マネーフォワード「ミロクの仕訳インポート」機能の使い方、「ミロクの勘定科目インポート」機能の使い方、「ミロクの開始残高インポート」機能の使い方
先に確かめることのもう1つは、切り替える日です。freee は進め方を、期首に切り替えるか期の途中か、前期と比べるかどうかで4つのパターンに分けています。期首に切り替えて前期と比べないなら、開始残高の設定だけで済み、仕訳は移しません(freee ヘルプ)。パターンの決め方は MJS から移す場合も弥生会計の記事と同じなので、ここでは例の会社に当てはめるだけにします。
説明のために1つの会社を例にします。3月決算で MJS の会計ソフトを使い、2026年10月1日から freee会計で記帳を始めるため、4月〜9月の仕訳を freee に取り込む会社です(架空の例です)。期の途中で切り替え、前期と比べる必要は無いので、パターン3に当たります。普通預金には銀行ごとに、売掛金には取引先ごとに補助科目を付け、費用の仕訳の摘要には「タクシー代【販促A】」のように案件の名前を入れています。
MJS はコードで持つので、取り込む前に freee の名前との対応表を作る
MJS から移すときに弥生会計と違うのは、MJS のデータが科目・補助・部門・消費税をコードで持ち、freee の汎用の取り込み口は名前で読むことです。freee のヘルプが示す MJS 向けの仕訳の形(ミロク形式)も、借方・貸方の勘定科目・補助科目・部門・消費税を、どれもコードで持っています(freee ヘルプ「仕訳帳を出力してミロク情報サービス社の会計ソフトに取り込む」)。そこで、取り込む前に次の3つの対応表を作ります。部門を使っているなら部門の表も足します。
| 対応表 | MJS 側の列 | freee 側に書くもの |
|---|---|---|
| 科目の対応表 | 科目コード | freee の勘定科目の名前(freee に無い科目は、取り込むときに新しく作る名前) |
| 補助の対応表 | 科目コード+補助コード | 当て先(口座・取引先・品目)と、その名前 |
| 消費税の対応表 | 消費税コード(と税率) | freee の税区分の名前と税率。名前の末尾に税率を付ける。例:課税売上10%、課対仕入10%、課対仕入8%(軽)、経過措置の仕入なら課対仕入(控80)10% |
freee 側をコードで読ませる方法もあります。ただし、freee に無いコードは、その値のまま名前として登録されます。MJS のコードをそのまま書くと、「4423」のような名前の勘定科目ができるおそれがあります(freee ヘルプ「他社会計ソフトから仕訳データを移行する」)。コードを使うなら、freee の[勘定科目]に MJS と同じコードが入っているかを先に確かめます。
仕訳を名前で取り込むか、コードで取り込むか
名前で取り込む
「各種コード使用設定」が「使用しない」(既定の形)
- 勘定科目・取引先・部門・品目を、freee に登録した名前で書く
- freee に無い名前は、取り込むときに新しく登録できる
MJS のコード:対応表で名前に置き換える
コードで取り込む
対象のタグを「使用する」にしたときだけ
- 名前の列の代わりにコードの列を使う(同じ項目で両方は選べない)
- コードは完全一致。全角・半角や桁の違いは吸収されない
- 名前の列で取り込んでも、freee に無い名前はエラーになる
freee に無いコード:そのコードの値が名前として新しく登録される
出典:freee ヘルプ「他社会計ソフトから仕訳データを移行する」(コードを使ってインポートする)
freee 側の設定は、弥生会計から移す場合と同じです。口座を先に作り、消費税の課税方式と経理処理方法を MJS と同じにします。詳しくは弥生会計の記事の「始める前に」の節に書きました。MJS から移すときは、口座の名前を預金の補助科目の名前と合わせます。勘定科目「普通預金」に補助科目が付いた仕訳は、補助科目と同じ名前の口座の仕訳として取り込まれるからです。
インボイス制度の経過措置を使った仕入がある会社は、消費税の対応表で、対象の仕入の消費税コードを経過措置用の税区分に当てます。免税事業者など適格請求書発行事業者でない相手からの仕入の控除割合は、2026年9月30日までの仕入が80%、2026年10月1日から2028年9月30日までが70%です(国税庁 インボイスQ&A 問113・問113-3)。これは令和8年度の税制改正で見直された割合です。あわせて、1つの相手からの対象の仕入の合計がその事業年度で税込1億円(改正前は10億円)を超えると、超えた分には経過措置を使えなくなりました(国税庁「令和8年度税制改正特集」)。この上限は、2026年10月1日以後に始まる課税期間から適用されます。例の会社では、課税期間を短くしていなければ2027年4月1日に始まる事業年度からなので、この記事で移す4月〜9月の仕訳には関わりません。freee では、税区分の設定で「買い手側対応機能」を「使用する」にしていると、「課対仕入(控80)」「課対仕入(控70)」の税区分が使えます(freee ヘルプ「消費税・税区分の設定を行う」)。例の会社のように取り込む仕訳が9月30日までなら、対象の仕入はすべて控80に当てます。10月から freee で入れる対象の仕入は控70です。10月1日以後の仕訳も取り込む場合は、ファイルを9月までと10月からに分け、控80と控70の2つの対応表で変換します。対応表は消費税コードだけで税区分を決めるので、1つの表では時期を分けられないからです。どちらの割合になるかは仕入の時期で決まり、商品なら原則として引渡しの日です(問113-3)。MJS の仕訳で対象の仕入をどう見分けているか(消費税コードか摘要の印か)も確かめて、対応表に書いておきます。
MJS の科目と開始残高は、汎用の取り込み口で freee の科目に当てる
勘定科目と補助科目:MJS の登録リストを[汎用勘定科目インポート]で読む
MJS では、ACELINK NX-Pro 会計大将の場合、「科目情報」の「勘定科目」から「科目分類」を選んで「印刷」を押し、「印刷条件設定」で「実在科目登録リスト(詳細)」をファイルに出します。「科目体系登録リスト」と「科目別補助登録リスト」も同じ操作で出します(マネーフォワード「ミロクの勘定科目インポート」機能の使い方)。
freee では、[マスタ・口座]→[勘定科目]の[インポート]から[汎用勘定科目インポート]を選びます。勘定科目コード・勘定科目名(必須)・ショートカット1・2のどの列を読むかを決めて、CSV の科目を freee の科目に当てます。「同じ勘定科目として扱う」は freee の既存の科目に読み替え、「勘定科目をコピーして新規作成」は当てた先の属性を写して CSV の名前で新しく作ります。「マッピング先が指定されていないものは、他流動資産に寄せる」に印を付けたまま当て先を選ばないと、「(仮)普通預金」のような科目が他流動資産に作られます(freee ヘルプ「その他の会計ソフトから勘定科目・補助科目を移行する」)。当てた結果は、そのまま科目の対応表に書き写します。
補助科目は[汎用補助科目インポート]で入れます。「タグの登録方法」で、補助科目コードをそのままタグのコードにするか、勘定科目コードを頭に付けて「100_A会社」の形にするかを選びます。「タグ口座」の列では、補助科目ごとに口座・品目・取引先・部門・セグメントのどれに当てるかを選びます。空欄にした補助科目は取り込まれません。
| MJS で補助科目を付けていたもの | freee で当てる先 | 例の会社では |
|---|---|---|
| 普通預金・当座預金などの銀行ごとの補助 | 口座(名前を補助科目と同じにして先に作る) | 普通預金の銀行ごと |
| 売掛金・買掛金・未払金などの相手ごとの補助 | 取引先(開始残高の内訳も取引先でしか持てない科目がある) | 売掛金の取引先ごと |
| 費用や売上の中身・案件を分ける補助 | 品目 | (例の会社は摘要の【】で案件を分けている) |
出典:freee ヘルプ「その他の会計ソフトから勘定科目・補助科目を移行する」、「その他の会計ソフトから開始残高を移行する」、「他社会計ソフトから仕訳データを移行する」
開始残高:MJS の財務報告書の「前月残高」を、前期末の残高として読む
MJS では、ACELINK NX-Pro 会計大将なら「2.印刷処理」→「1.月次管理表」→「01.財務報告書」を開きます。iCompassNX会計Plus なら「2.月次管理表」→「01.財務報告書」です。「月度」に期首月を選び、「前月残高」に前期からの繰越が出た状態で CSV に出します(マネーフォワード「ミロクの開始残高インポート」機能の使い方)。freee に入れるのは前期末(例の会社なら2026年3月31日)の残高なので、この前月残高の列を残高として読みます。
freee では、[その他設定]→[開始残高]の[開始残高インポート・エクスポート]→[インポート – 他社ソフト形式]で[その他会計ソフト]と[残高試算表]を選び、読む列と無視する行を指定します。残高が1列の形でも、借方残高・貸方残高の2列(片方に0)の形でも取り込めます。補助科目の残高は、その後に[補助残高一覧表]で入れます。入れるのは補助科目がある勘定科目の行だけで、合計が勘定科目の残高以下になるようにします。売掛金・未収入金・未収収益・買掛金・未払金・未払費用の内訳は、取引先でしか持てません。預金は、口座ごとの残高に入れ直します(freee ヘルプ「その他の会計ソフトから開始残高を移行する」)。合計が合わないときの「未確定勘定」や貸倒引当金の表記、期の途中で切り替えたときの未決済の取引の扱いは、弥生会計の記事の「開始残高」と「期の途中で切り替えると」の節と同じです。
仕訳の CSV:直すのは並びではなく、コードと金額の列
MJS では、ACELINK NX-Pro 会計大将なら「4.データ連動」→「3.汎用データ交換」→「21.エクスポート処理」で、「パターン」に「標準パターン」を選んで CSV を出します。MJSかんたん!シリーズなら、[ファイル(F)]→[エクスポート]→[仕訳データ(J)]で「UJT形式」のファイルを出します(マネーフォワード「ミロクの仕訳インポート」機能の使い方)。freee 側は、[取引入力]→[振替伝票]の[インポート]→[他社会計ソフト仕訳のインポート]で取り込みます。テンプレートは、Windows なら Shift-JIS 版、Mac や Google スプレッドシートなら UTF-8 版を使い、1ファイル 64MB・50,000行までです(freee ヘルプ「他社会計ソフトから仕訳データを移行する」)。
違いは行の並びではなく、列の中身にあります。freee のテンプレートは、1つの行に借方勘定科目と貸方勘定科目を並べ、伝票番号が同じ行を1つの仕訳として読みます。借方と貸方で行数が違う仕訳は、片方の勘定科目・補助科目・部門・税区分・金額を空欄にします。freee のヘルプが示す MJS 向けの「ミロク形式」も、1行に(借)科目コードと(貸)科目コードを並べ、金額は1列です。どちらも1行に借方と貸方を持つので、借方の行と貸方の行に縦に分ける作業は要りません。
下の表とコードの列名は、freee が MJS 向けに書き出すミロク形式から取っています。この形式では、伝票NO は「常に空欄」で、金額は税込です。消費税額の列は、項目表で「金額に消費税率をかけた数値(金額÷108×8)」と説明され、例の行も税率8%です。÷108×8 は税率8%のときの式で、10%の仕訳でどう出るかは、このヘルプには書かれていません。10%の仕訳を取り込むなら、取り込んだあとに税額が合っているかを確かめてください(freee ヘルプ「仕訳帳を出力してミロク情報サービス社の会計ソフトに取り込む」、2026年10月20日に確認)。自社の書き出しの見出しを見て、どの列がどれに当たるかを先に決めてください。
| freee のテンプレートの列 | ミロク形式の列 | 直し方 |
|---|---|---|
| [表題行] | (なし) | 1行目の見出しに「[表題行]」、2行目からの各行の先頭に「[明細行]」。[明細行] の無い行は取り込まれない |
| 日付 | 伝票日付 | YYYY/MM/DD の形にする |
| 伝票番号 | 伝票NO(freee が書き出すミロク形式では常に空欄) | 20文字以内の半角数字で必須。同じ番号の行が1つの仕訳になる。空なら1つの伝票ごとに番号を振る |
| 借方勘定科目・貸方勘定科目 | (借)科目コード・(貸)科目コード | 科目の対応表で freee の名前に置き換える。「複合」の科目の扱いは次の節 |
| 借方補助科目・取引先・品目(貸方も同じ) | (借)補助コード・(貸)補助コード | 補助の対応表の当て先の列に名前を入れる。普通預金の銀行は、補助科目の列に口座の名前を入れる |
| 借方部門・貸方部門 | (借)部門コード・(貸)部門コード | 部門の名前に置き換える。親部門と子部門を分けているときは、末端の部門だけ指定できる |
| 借方金額・貸方金額 | 金額(1列。ミロク形式では税込) | 借方・貸方の両方に科目がある行は、同じ金額を両方の金額の列に入れる。数字だけにし、マイナスは「-」 |
| 借方税区分・貸方税区分 | 消費税コード・消費税率 | 消費税の対応表で、名前の末尾に税率を付けた税区分に置き換える |
| 借方税額・貸方税額 | 消費税額 | 税抜経理なら必須。税込経理なら列を外し「全ての金額が内税(税込) ※税額自動計算あり」で自動計算もできる |
| 摘要 | 摘要 | freee の摘要は1つの仕訳に1つ(1,024文字以内)。借方と貸方で分けていた摘要は1つにまとめる |
出典:freee ヘルプ「他社会計ソフトから仕訳データを移行する」(テンプレートの項目表)、freee ヘルプ「仕訳帳を出力してミロク情報サービス社の会計ソフトに取り込む」(ミロク形式の列)、「乗り換え(データ移行)のトラブルシューティング」(「△1,000」の形はエラー)
複合仕訳:「複合」の科目を freee に持ち込まない
MJS の仕訳で気をつけるのは複合仕訳です。マネーフォワードから ACELINK NX-Pro に取り込む仕訳を書き出すとき、複合仕訳の相手科目には「複合」の科目コードが使われます。コードは MJS の科目体系で違い、法人基本型は「3999」、法人拡大型は「997」です(マネーフォワード「ACELINK NX-Proの仕訳エクスポート」機能の使い方)。MJS から書き出した仕訳にも同じ「複合」の科目が出ていたら、そのまま freee に入れないようにします。freee のテンプレートの説明では、勘定科目「複合」で取り込むと年度締めができないため、「諸口」などを使うよう案内しています(freee ヘルプ)。
直し方は2つです。案内どおり「諸口」などに置き換えるか、「複合」の側を空欄にするかです。空欄にする方法では、freee の2つの決まりを使います。同じ伝票番号の行が1つの仕訳になることと、借方と貸方で行数が違えば片側を空欄にできることです。これで、MJS の1つの伝票を freee の1つの仕訳にまとめます。どちらでも、伝票番号ごとに借方の合計と貸方の合計が合っていることが取り込みの条件です。
例の会社の複合仕訳(4月5日、伝票番号101)を、「複合」の側を空欄にして直す
架空の例。金額は税込
MJS の仕訳(3行)
相手科目が「複合」
- 旅費交通費 3,300 / 複合 3,300(タクシー代【販促A】)
- 会議費 2,200 / 複合 2,200(会議費【販促A】)
- 複合 5,500 / 普通預金(銀行の補助)5,500
「複合」:freee に持ち込むと年度締めができない
freee のテンプレート(同じ伝票番号101の3行)
「複合」の側を空欄
- 借方 旅費交通費 3,300・品目「販促A」/ 貸方 空欄
- 借方 会議費 2,200・品目「販促A」/ 貸方 空欄
- 借方 空欄 / 貸方 普通預金・補助科目に口座の名前 5,500
伝票の合計:借方 5,500 = 貸方 5,500 で1つの仕訳になる
出典:freee ヘルプ「他社会計ソフトから仕訳データを移行する」(伝票番号・片側の空欄・「複合」・普通預金の補助科目)、マネーフォワード「ACELINK NX-Proの仕訳エクスポート」機能の使い方(「複合」の科目コード)
変換の作例:対応表を読んで、テンプレートの形で書き出す
列の置き換えは、Excel でも Python でも組めます。Excel の Power Query で組む考え方と、ずれた工程を探す数え方は勘定奉行のデータ移行の記事に書いています。下は Python(pandas)の作例です。この記事のために書き、架空の5行の仕訳で動きを確かめました。「複合」の側を空欄にする方法を使い、対応表に無いコードや借方と貸方が合わない伝票があれば、ファイルを書き出さずに止めます。自社の書き出しの見出しに合わせて COL を、自社の科目体系に合わせて「複合」の科目コードを書き換えてください。
# MJS から書き出した仕訳の CSV を、freee の「他社会計ソフト仕訳のインポート」のテンプレートの形にする作例
# 列名は、自社の書き出しの見出しに合わせて書き換える(下は freee ヘルプの「ミロク形式」の項目名)
import sys
import pandas as pd
COL = {'日付': '伝票日付', '伝票': '伝票NO', '摘要': '摘要', '金額': '金額', '税額': '消費税額', '税コード': '消費税コード',
'借科目': '(借)科目コード', '借補助': '(借)補助コード', '借部門': '(借)部門コード',
'貸科目': '(貸)科目コード', '貸補助': '(貸)補助コード', '貸部門': '(貸)部門コード'}
FUKUGO = {'3999', '997'} # 「複合」の科目コード。自社の科目体系のコードに置き換える
def read(path):
return pd.read_csv(path, dtype=str, encoding='cp932').fillna('')
def num(s):
return s.replace('△', '-').replace(',', '').strip()
src = read('mjs_shiwake.csv')
km = read('対応表_科目.csv').set_index('MJS科目コード') # 列:freee勘定科目, 課税(1なら税区分を付ける側)
hj = read('対応表_補助.csv').set_index(['MJS科目コード', 'MJS補助コード']) # 列:当て先(口座・取引先・品目), freee名
zk = read('対応表_税.csv').set_index('MJS消費税コード') # 列:freee税区分(例:課対仕入10%)
bm = read('対応表_部門.csv').set_index('MJS部門コード') # 列:freee部門
SLOT = {'口座': '補助科目', '取引先': '取引先', '品目': '品目'}
miss, miss_zei = set(), set()
def side(r, p):
d = dict.fromkeys(['勘定科目', '補助科目', '取引先', '品目', '部門', '金額', '税区分', '税額'], '')
code = r[COL[p + '科目']].strip()
if code == '' or code in FUKUGO:
return d # 「複合」の側は空欄にする(同じ伝票番号の行で借方と貸方の合計を合わせる)
if code not in km.index:
miss.add(code)
return d
k = km.loc[code]
d['勘定科目'] = k['freee勘定科目']
key = (code, r[COL[p + '補助']].strip())
if key in hj.index:
h = hj.loc[key]
d[SLOT[h['当て先']]] = h['freee名']
dept = r[COL[p + '部門']].strip()
if dept in bm.index:
d['部門'] = bm.loc[dept, 'freee部門']
d['金額'] = num(r[COL['金額']])
if k['課税'] == '1':
zc = r[COL['税コード']].strip()
if zc not in zk.index:
miss_zei.add(zc)
return d
d['税区分'] = zk.loc[zc, 'freee税区分']
d['税額'] = num(r[COL['税額']])
tag = pd.Series([r[COL['摘要']]]).str.extract(r'【(.+?)】')[0][0]
if isinstance(tag, str) and not d['品目']:
d['品目'] = tag # 摘要の【】の中を、損益の科目の側の品目にする(使わないなら消す)
else:
d['税区分'] = '対象外'
return d
# 伝票番号が空の行には番号を振る。「複合」を使った行は同じ伝票の行を見分けられないので止める
used = [int(v) for v in src[COL['伝票']] if v.strip().isdigit()]
next_no = max(used, default=0) + 1
rows = []
for i, r in src.iterrows():
no = r[COL['伝票']].strip()
if no == '':
if r[COL['借科目']].strip() in FUKUGO or r[COL['貸科目']].strip() in FUKUGO:
sys.exit(f'{i + 2}行目:伝票番号が空の「複合」の行。同じ伝票の行に同じ番号を入れてから動かす')
no, next_no = str(next_no), next_no + 1
row = {'[表題行]': '[明細行]', '日付': pd.to_datetime(r[COL['日付']]).strftime('%Y/%m/%d'),
'伝票番号': no, '摘要': r[COL['摘要']]}
for p, name in (('借', '借方'), ('貸', '貸方')):
row.update({name + k: v for k, v in side(r, p).items()})
rows.append(row)
if miss or miss_zei:
sys.exit(f'対応表に無い科目コード:{sorted(miss)} / 対応表に無い消費税コード:{sorted(miss_zei)}')
out = pd.DataFrame(rows)
amt = lambda s: pd.to_numeric(s.replace('', '0'))
gap = out.groupby(['日付', '伝票番号']).apply(lambda g: amt(g['借方金額']).sum() - amt(g['貸方金額']).sum())
if (gap != 0).any():
sys.exit(f'借方と貸方が合わない伝票(日付, 伝票番号):{list(gap[gap != 0].index)}') # 合わない伝票があれば書き出さない
out.to_csv('freee_import.csv', index=False, encoding='cp932')
print('書き出した行数:', len(out))
摘要の【】の中を品目にする行は例の会社の書き方に合わせたもので、使わないなら消します。freee に無い品目は取り込むときに新しく登録されるので、【】の中の表記の揺れは先に直します。
取り込みと確かめ方:9月末の試算表を、MJS の残高試算表と比べる
[他社会計ソフト仕訳のインポート]では、ファイルを上げて「税額の扱い」と各列の項目を選びます。ミロク形式のように金額が税込なら、「税額の扱い」は「全ての金額が内税(税込)」です。新しく登録するタグを設定し、freee に無い勘定科目にはカテゴリーと決算書の表示名を設定して、[インポートを実行]を押します(freee ヘルプ)。
結果は[仕訳インポート履歴]と[登録された振替伝票]で確かめます。上げた CSV は1週間で消えます。履歴の[削除]を押すと、取り込んだデータも消えます。MJS の仕訳に減価償却や在庫棚卸の仕訳が入っていて、freee の[決算申告]からも入れるなら、重複しないようファイルから外します。50,000行を超えるなら、伝票が2つのファイルに分かれないよう月ごとに分けます。最後に、freee の9月末の試算表を、MJS の残高試算表と科目ごとに比べます。
仕訳の CSV を直してから取り込むまで(例の会社)
固定資産:MJS の台帳を、汎用のテンプレートの列に並べ替える
弥生会計には固定資産台帳の専用の取り込みがありますが、MJS からは、その他の会計ソフト向けのテンプレートを使います。MJS の固定資産台帳を CSV で出し、freee のヘルプのテンプレートの1行目に合わせて列を並べ替えます。取り込みは、[決算申告]→[固定資産台帳]の[インポート]→[固定資産のインポート]で行います。「事業供用開始日」は必須です。「数量」が0の行、平成24年4月1日以後の取得で「旧定額法」「旧定率法」を選んだ行、即時償却などに耐用年数を入れた行はエラーになります(freee ヘルプ「【法人】その他の会計ソフトから固定資産台帳を移行する」)。
減価償却費を二重に計上しないようにする点は、弥生会計から移す場合と同じです。汎用のテンプレートでは、台帳から減価償却費の仕訳を作るかどうかを「ステップ3:内容確認」で選びます。「計上しない(来年度から)」を選んでも、翌年度からは通常どおり作られます。
エラー:「複合」を直した行と、番号を振った伝票から確かめる
MJS から移すときに先に疑うのは、前の節の2つの直し方です。「複合」の行を空欄にしたり消したりしたときは伝票ごとの合計を、伝票番号を振ったときは同じ伝票の行がまとまっているかを確かめます。下の表は、freee のトラブルシューティングなどにある、その他の会計ソフトから移すときのエラーのうち、この作業で当たりやすいものです。
| 画面に出る文言(抜粋) | 起きていること | 直し方 |
|---|---|---|
| 伝票番号が同じ仕訳の借方金額と貸方金額が一致しません。 | 伝票ごとの借方と貸方の合計が合わない(「複合」の行を消しすぎた、など) | 伝票ごとに合計を合わせる。同じ行にプラスとマイナスの金額を書かない |
| 借方金額は数値で入力してください。(貸方・税額も同じ) | 「△1,000」のように数字以外が入っている | 数字だけにする。マイナスは「-1,000」の形 |
| インポートしようとしているファイル内に日付 ●●と伝票番号 ●● の組み合わせが同じ伝票があります。 | 同じ伝票の行が離れている、または重複している | 日付・伝票番号の順に並べ替える。重複は消す |
| 勘定科目「◯◯」が見つかりません、先に「◯◯」の登録を行ってください。 | 一度取り込んで削除し、そのとき新しく作った科目も消してから取り込み直した(2回目からは前回の対応づけを見るため) | [マスタ・口座]→[勘定科目]でその科目を登録してから取り込む |
| 1件のデータは期首日以前の日付が指定されているため登録されません。 | 会計年度の期首日より前の仕訳 | 前期の分も入れるなら、事業年度開始日を取り込む最も古い年度に合わせ、開始残高もその期首に直してから取り込み、年度締めを順に行う |
| ◯行目 ◯列 勘定科目△△ に紐付いた補助科目の残高の合計が開始残高を超えています | 補助残高の合計が勘定科目の開始残高より大きい(開始残高) | 補助側の合計か勘定科目の残高を直して、同じかそれ以下にする |
出典:freee ヘルプ「乗り換え(データ移行)のトラブルシューティング」、「事業年度開始日以前の仕訳をインポートする」、「その他の会計ソフトから開始残高を移行する」
エラーにならずに、意図と違う科目や補助科目に入ったときは、前回の対応づけが残っている可能性があります。freee は、過去に同じ勘定科目・補助科目・税区分を含むデータを取り込んでいると、そのときと同じ内容で取り込みます。[科目のインポート設定]で前回の内容を確かめ、消してから取り込み直します(freee ヘルプ「他ソフトから読み込んだ科目のインポート設定を管理する」、「意図した関連付けで仕訳のインポートがされません」)。自分で取り込むほかに、freee にデータ移行を代行してもらう方法もあります。法人は、freee の営業担当に問い合わせるよう案内されています(freee ヘルプ「サポートデスクにデータ移行を依頼する」)。
移した後:顧問の会計事務所が MJS のままなら、freee からミロク形式で出す
顧問の会計事務所が MJS の会計ソフトを使い続ける場合は、freee から MJS に取り込める形で仕訳を出せます。[会計帳簿]→[仕訳帳]で出す仕訳を絞り込み、[インポート・エクスポート]→「CSV・PDFエクスポート(旧)」で「エクスポート形式の選択」に[ミロク]を選びます。そのうえで、出力先の会計ソフトの勘定科目コードを見ながら、freee の科目にコードを設定します。会計ソフトの版によっては対応していない場合があります。ミロクかんたんクラウドの会計士版には、データのインポートの機能がありません。税抜経理でも、ミロク形式のデータには仮払消費税と仮受消費税は書かれません(freee ヘルプ「仕訳帳を出力してミロク情報サービス社の会計ソフトに取り込む」)。ここで設定する科目コードは、移すときに作った科目の対応表の逆向きなので、同じ表を使えます。
MJS に添付していた領収書や請求書のファイルは、freee の仕訳のテンプレートの項目に無いので、仕訳と一緒には移りません。法人は帳簿と書類を、確定申告書の提出期限の翌日から7年間(青色申告で欠損金が出た事業年度などは10年間)保存する決まりです(国税庁 No.5930「帳簿書類等の保存期間」)。MJS の契約を終える前に、過去の帳簿と証憑をどこにどの形で残すかを、顧問の税理士と決めておきます。
取り込んだ仕訳は、freee の振替伝票(仕訳の形)として入ります。freee は、特別な理由が無ければ、ふだんの記帳を「取引」の形で登録することを勧めています(freee ヘルプ「振替伝票を作成する(仕訳形式で記帳する)」)。切り替えた後の入力の決め方は、弥生会計の記事の「移した後の記帳」の節と同じです。
最初に作るのは、科目・補助・消費税の対応表
作業の最初に、切り替える日を決めて、freee の4つのパターンのどれに当たるかを確かめます。そのうえで、MJS の科目コード・補助コード・消費税コードと「複合」の科目のコードを、freee の名前に置き換える対応表を作ります。この表ができてから、最初のファイルを上げます。
移した後の請求・経費精算・支払の流れまで含めて組み直したい場合は、当社の経理DX支援で一緒に整理できます。開始残高と初期設定の細かな手順はfreee導入マニュアルの第2回(freee会計の初期設定)に書いています。
メニュー名・画面の文言・取り込みの条件は、2026年10月14日に freee ヘルプ、マネーフォワード クラウド会計のヘルプ、MJS の製品一覧、国税庁のインボイスQ&Aと「令和8年度税制改正特集」で確かめたものです。画面や条件は版によって変わることがあるので、作業の前に各社の最新の案内と自社の製品のマニュアルを確かめてください。
freee会計 導入支援
口座連携と自動仕訳ルールの整備、勘定科目と税区分の設計、他の会計ソフトから乗り換えるときの残高合わせ、請求・経費・労務との連携まで、freee会計の導入を支援します。





