freee の請求書 CSV インポート機能、使ったことありますか。
プロフェッショナルプラン以上で利用できる機能で、CSV ファイルをアップロードすると請求書を一括作成できます。1件ずつ手入力するよりは圧倒的に速い。
ただし、この機能には見落とされがちな問題があります。
CSV を作る作業そのものが、けっこうしんどい。
freee の CSV インポート機能の概要
freee の請求書 CSV インポートは、所定のフォーマットに沿った CSV ファイルをアップロードすることで、複数の請求書をまとめて作成する機能です。
利用条件:
- freee 会計のプロフェッショナルプラン、またはエンタープライズプラン
- スタータープランやスタンダードプランでは使えない
つまり、この機能を使うためだけに上位プランに切り替える必要がある場合もあります。年間で数万円のコスト増です。
CSV インポートの実際のワークフロー
「CSV をインポートするだけ」と聞くと簡単そうですが、実際のワークフローはこうなります。
① 受発注システム(COREC等)から受注データをCSVエクスポート
② Excelやスプレッドシートで開く
③ freee のフォーマットに合わせて列を並び替える
④ 取引先コードを freee の ID に変換する
⑤ 税率や税区分を freee の仕様に合わせる
⑥ 日付のフォーマットを揃える
⑦ CSV として保存
⑧ freee にインポート
⑨ エラーが出たら修正して再インポート
①と⑧だけ見ると「データを出して入れるだけ」ですが、間の②〜⑦が地獄です。
CSV 整形の何がつらいのか
列の並び替えと項目の対応付け
COREC から出力される CSV と、freee が受け付ける CSV のフォーマットは当然違います。列の順番が違う。列名も違う。COREC にはあるけど freee には不要な列がある。逆に freee が必須としているのに COREC にはない項目もある。
毎回この「どの列をどこに持っていくか」のマッピングを手作業でやることになります。
取引先コードの変換
COREC での取引先名と、freee に登録されている取引先は別のマスターデータです。COREC では「株式会社ABC」と表示されていても、freee 側では取引先コード「P001」で登録されているかもしれない。
この変換テーブルを自分で管理して、CSV 上で一つずつ書き換える。取引先が20社なら20行。50社なら50行。手でやると必ずどこかでミスが入ります。
税率の設定
freee の CSV インポートでは、明細ごとに税率(10%、8%軽減税率)と税区分を指定する必要があります。COREC 側で設定されている税率と freee 側の税区分コードは表記が異なるため、これも変換が必要。
食品を扱っている会社だと、同じ請求書の中に10%と8%の商品が混在することがある。1行ずつ確認しながら税区分を入れていく作業は、地味に神経を使います。
フォーマットエラーとの戦い
ここまで頑張って CSV を整形しても、freee にインポートすると「○行目にエラーがあります」と弾かれることがある。
よくあるエラー:
- 日付のフォーマットが違う(YYYY/MM/DD と YYYY-MM-DD)
- 取引先コードが freee に存在しない
- 必須項目が空欄
- 数値に全角が混入している
- CSV のエンコーディングが UTF-8 ではなく Shift_JIS
1つのエラーを直して再インポートしたら、また別のエラー。この往復を何回かやって、ようやくインポートが通る。
そして毎月繰り返す
これが1回限りの作業なら、まだ耐えられます。
でも請求書は毎月発行するものです。月末になるたびに同じ作業を繰り返す。先月やったのと同じ列の並び替え、同じ取引先コードの変換、同じ税率の設定。
「先月の CSV をコピーして書き換えればいいじゃん」と思うかもしれません。実際、多くの人がそうしています。でもそれは「毎月のルーティンに CSV 整形作業が組み込まれている」ということであり、本質的には何も解決していません。
そもそも CSV を作る必要があるのか
ここで一歩引いて考えてみてください。
CSV インポートが解決しているのは「freee に1件ずつ手入力する手間」です。確かにそれは解決している。でも、CSV を作る手間が新たに発生している。
問題の構造はこうです。
【手入力の場合】
COREC の画面を見ながら → freee に1件ずつ入力
【CSV インポートの場合】
COREC からエクスポート → Excel で整形 → freee にインポート
入力先が「freee の画面」から「Excel」に変わっただけで、人間がデータを転記しているという点は同じです。
本当に必要なのは、COREC のデータを freee に「人間を介さずに」流し込む仕組みです。
API 連携という選択肢
freee は API を公開しています。プログラムから直接、請求書を作成できる。
API 連携の場合、ワークフローはこうなります。
① COREC の受注データを API で取得
② freee の取引先マスターと自動照合
③ freee の請求書を API で自動作成(税率・明細も自動設定)
CSV の整形作業が丸ごと消えます。
列の並び替えも、取引先コードの変換も、税率の手動設定も、フォーマットエラーとの格闘も、全部不要。データの形式変換はプログラムが正確にやってくれます。
しかも、freee のスタータープランでも API は使えます。CSV インポートのためにプロフェッショナルプランに上げる必要がない。
「API 連携って、エンジニアがいないとできないのでは」
はい、自社で API 連携を組むならエンジニアが必要です。
でも、すでに COREC → freee の API 連携を実装済みのツールがあれば、エンジニアは不要です。
Saturn は、COREC の受注データを freee の請求書に自動変換するツールです。
CSV インポートと Saturn の比較:
| CSV インポート | Saturn(API連携) | |
|---|---|---|
| 必要なプラン | プロフェッショナル以上 | スタータープランでOK |
| CSV 整形 | 毎月手作業 | 不要 |
| 取引先の照合 | 手動で変換 | 自動照合 |
| 税率の設定 | 手動で入力 | 自動設定 |
| エラー対応 | 修正→再インポート | 自動バリデーション |
| 所要時間 | 30分〜数時間 | 数分(確認のみ) |
CSV を作って整形してインポートしてエラーを直す、という一連の作業がゼロになります。
まとめ
freee の CSV インポートは、手入力よりはマシな機能です。でも「CSV を作る作業」が新たなボトルネックになっている。
特に COREC と freee を併用している会社では、毎月の CSV 整形が定常業務に組み込まれてしまっている。それを「仕方ない」と思って続けているなら、API 連携という選択肢を知ってほしい。
CSV を作る工程そのものをなくす。それが本当の自動化です。