注文書係

freee販売への受注データCSVインポートでエラーが出る原因と対処(項目名の一致・UTF-8・受注と売上の紐付け)

公開:

freee販売に受注データをCSVでインポートしようとしたら、文字コードのエラーで弾かれた。あるいは取り込めたはずなのに、用意したはずの列がいくつか空のままだった——。CSVインポートでのつまずきは、たいてい「データの中身」ではなく「渡し方の作法」で起きています。

この記事では、freee販売への受注データCSVインポートでつまずくポイントを、項目名の一致・文字コード(UTF-8)・受注と売上の紐付け・マスタとの突き合わせの4つに分けて整理します。特に3つ目は、取り込んだ後では直せない性質のものなので、最初に決めておく必要があります。

なお、この記事で製品の仕様として書いているのは、freeeのヘルプセンター(support.freee.co.jp)で確認できる範囲に限っています。画面名や項目はプラン・契約内容によって変わることがあるため、実際の操作は必ずお使いのプランのヘルプで確認してください。

つまずき1: 項目名が違う列は、そもそも取り込まれない

いちばん多いのがここです。freeeのヘルプセンターでは、freee販売で使われている項目名と異なる列はインポートされないと案内されています。

つまり、列名の一致が要件になっているということです。ここで厄介なのは、ファイル全体がエラーで止まるとは限らないことです。ファイル自体は受理され、名前の合っている列だけが入って、合っていない列は静かに落ちます。「取り込めたのに数量が空だった」「備考が入っていない」という形で、後から気づくことになります。

  • 起きやすい原因: 自社の呼び方で列名を付けている(「品名」「数量」など、社内の帳票の言葉をそのまま使っている)
  • 見分け方: 取り込んだ1件を画面で開き、用意した列がすべて値として入っているかを目で確認する
  • 対策: 列名を推測で作らず、freeeからダウンロードできるサンプルファイルを雛型にする

さらに、1行目に書く名前そのものに制約があります。freeeのヘルプセンターでは、ファイルの1行目にあるセグメント名には一部の文言を使用できないと案内されています。「指定が必要な項目名」に記載のある項目名が対象で、使ってしまっている場合は名称を変更したうえで再度インポートする、という対処になります。

自社側でCSVを出力している場合、この「列名を1文字も変えずに出す」という作業が毎回の手作業になりがちです。一度決めた列名と列順は出力側で固定してしまい、以後は触らないのが安全です。

つまずき2: 「とりあえずShift_JIS」が通用しない

次に引っかかりやすいのが文字コードです。freeeのインポート機能はUTF-8に対応しており、Excelで作成したCSVファイルは通常この形式になっていないため、変換が必要になります。

国内の販売管理パッケージは、日本語を含むCSVをShift_JIS(ANSI)で受け渡す前提のものが少なくありません。受注業務が長い方ほど「日本語のCSVはShift_JISで出しておけば安全」という手が身についているため、その癖のまま渡すと弾かれます。

文字コードに問題がある場合は「CSVファイルの文字コードに問題があります。UTF-8に変換の上再度取り込んでください。」という表示が出ることがあり、freeeのヘルプセンターでは対処として、メモ帳で開いて「ファイル」→「名前を付けて保存」を選び、文字コードに「UTF-8(BOM付き)」を指定して保存し直す手順が案内されています。

ここで覚えておきたいのは、取込先ごとに正解が違うということです。

取込先の例想定される文字コード
国内の販売管理パッケージ(弥生販売・奉行・販売大臣など)Shift_JIS(ANSI)を前提としているものが多い
クラウド系(freee販売・キャムマックスなど)UTF-8を案内しているものがある

複数のシステムを併用しているなら、「自社の標準はこれ」と決め打ちせず、取込先ごとに文字コードを指定して出力できる状態にしておくのが安全です。同じくUTF-8前提のクラウドERPについてはキャムマックスへのCSV取込でつまずくポイント、Shift_JIS前提の国内パッケージ側の事情は弥生販売へのCSV取込でエラーが出る本当の原因でも扱っています。文字コードそのものの基本は基幹システムへのCSV取込でよくあるエラーと対処法にまとめました。

つまずき3: 「連携元番号」は最初に決める — 後から紐づけは変えられない

これは、エラーとしては出ないのに後で困る種類の話です。

freeeのヘルプセンターによると、受注のインポート時に、元のシステム等で使っていた受注を特定する番号を連携元番号として追加しておくことで、売上のインポート時に「受注の連携元番号」を指定すれば、受注と売上を関連付けることができます。

そして重要なのが、売上をインポートした後に、対象の売上について受注との紐づけを変更することはできないと案内されている点です。

受注と売上がつながっていないと、「この売上はどの注文から来たのか」を後から追えなくなります。締めた後に気づいても直せないため、次の順番を最初に決めておく必要があります。

  1. 注文書1枚(あるいは1明細)に対して、自社で一意の番号を決める
  2. その番号を連携元番号としてCSVに載せ、受注を先にインポートする
  3. 売上をインポートするときは「受注の連携元番号」で受注を指定する

FAXで届く注文書には、そもそも自社が管理できる注文番号が書かれていないことがよくあります。取引先が自社の発注番号を書いてくる場合もあれば、番号欄そのものが無い場合もあります。注文書側に番号が無いなら、受注する側で採番する——ここを決めずに走り出すと、後から紐づけ直せない形でデータが積み上がります。

番号の付け方は、取引先コードと受注日と連番を組み合わせるなど、重複しない規則であれば何でも構いません。大事なのは、同じ注文書を二度取り込んでも同じ番号になる規則にしておくことです。

つまずき4: マスタとの突き合わせと、静かな0落ち

最後は、どのソフトでも共通して起きるところです。

伝票を取り込むときの原則は**「マスタ(取引先・品目など)が先、伝票が後」**です。伝票側で指定したコードがマスタ側に無ければ、その行は成立しません。取り込む前に、注文書に出てくる取引先・商品がすべて登録されているかを確認してください。

  • よくある不一致: 取引先名の表記ゆれ(「株式会社」と「(株)」、全角と半角、前後のスペース)、新商品のマスタ未登録、コード体系を変えたときの更新漏れ
  • 人が見れば同じ取引先でも、1文字違えば別物として扱われます

もう1つ、Excelを経由すると起きるのが**先頭ゼロの脱落(0落ち)**です。Excelは数値の先頭にある「0」を自動的に削除する仕様のため、「012345」のようなコードが「12345」になります。得意先コード・商品コードで起きると、コードそのものが別物になり、そのままマスタ不一致に直結します。エラーではなく静かに値が変わるのが厄介な点です。

  • 対策: 取込用ファイルをExcelで編集するなら、編集する前にシート全体の書式を「文字列」にしておく
  • CSVとして保存した後は、確認のためであっても再度Excelで開かない(開いて保存し直すと元に戻ってしまうことがあります)。中身を見たいときはテキストエディタで開く

FAXで届く注文書には、自社のコードは書かれていないのが普通です。取引先は自分たちの呼び名・自分たちの品番で書いてくるため、「注文書に書かれた品名 → 自社の商品コード」への変換は、CSVを作る側で済ませておく必要があります。この突き合わせを特定の担当者の記憶に頼っていると、その人が休んだ日に受注が止まります。品目マスタ(品番と商品名・別名の対応表)を最新に保つことが、取込エラーを減らす一番効く準備です。

日付や単位の書き方が取引先ごとにバラバラな場合の整え方はFAX注文書をCSVにする前に整えたい「表記ゆれ」、属人化の解き方は「あの人しか読めないFAX」— 受注業務の属人化を解く順番で扱っています。

つまずきを減らす進め方

ここまでを、実際の作業順に並べると次のようになります。

手順やること
1freeeからサンプルファイルをダウンロードし、列名と列順の雛型にする(自社の呼び方で列名を付けない)
2注文書1件を特定する番号の付け方を決める。注文書側に番号が無ければ受注側で採番し、連携元番号として持たせる
3取引先・品目のマスタを先に整え、注文書の品名から自社コードへ変換できる状態にする
4Excelで編集するなら、開いた直後にシート全体の書式を「文字列」にする(0落ち防止)
5まず1件だけのファイルをUTF-8で保存して取り込み、用意した列がすべて値として入っているかを画面で確認する
6通ったら同じ形式でまとめて取り込む。以後、列名・列順・文字コードは変えない

手順5の「1件だけで通す」は遠回りに見えて、いちばん時間を節約します。数百行をいきなり投入すると、同じ原因のエラーが何十行も並んで根っこが見えにくくなるうえ、項目名の不一致のようにエラーにならず静かに落ちる種類の失敗は、件数が多いほど見つけにくくなります。

複数のシステムを併用している方は、「どのシステムに、どの文字コードで、どの列名・列順で渡すか」を1枚の表にして残しておくと、担当者が変わっても崩れません。共通する落とし穴は販売管理ソフトへのCSV取込でつまずくポイントにもまとめています。

手前味噌の紹介

この記事を書いているのは、注文書特化サービス注文書係(ちゅうもんしょがかり)の運営者です。FAX・手書きの注文書をアップロードするとAIが下書きを作り、担当者は自信のない項目だけを確認して確定します。転記にかかる時間を1/10程度に圧縮することを狙ったサービスです。

その先のCSV出力では、文字コード(UTF-8 / Shift_JIS)と列名・列順を取込先の形式に合わせて一度登録しておけば、次回から同じ形式で出力されます。この記事のつまずき1・2で挙げた「列名を1文字も変えずに出す」「取込先ごとに文字コードを使い分ける」は、出力設定として持っておけば毎回考えずに済みます。品目マスタとの突き合わせにも対応しているため、注文書に書かれた品名から自社の商品コードへの変換も、確定する前に画面で確認できます。

取込のたびに文字化けや0落ちと格闘している方は、無料トライアル(30枚または14日間、クレジットカード登録不要)で、実際にお使いの帳票との相性を確かめてみてください。

よくある質問

Q. エラーは出ていないのに、用意した列の一部がfreee販売に入っていません。なぜですか?
列名を疑ってください。freeeのヘルプセンターでは、freee販売で使われている項目名と異なる列はインポートされないと案内されています。つまり列名の一致が要件です。ここで厄介なのは、ファイル全体がエラーで止まるとは限らないことで、ファイル自体は受理され、名前の合っている列だけが入り、合っていない列は静かに落ちます。「取り込めたのに数量が空だった」という形で後から気づくことになります。起きやすいのは、自社の帳票の言葉をそのまま列名にしている場合です。対策は、列名を推測で作らずfreeeからダウンロードできるサンプルファイルを雛型にすること。さらに、1行目に書く名前そのものにも制約があり、ファイルの1行目にあるセグメント名には一部の文言を使用できない(「指定が必要な項目名」に記載のある項目名が対象)と案内されています。使ってしまっている場合は名称を変更したうえで再度インポートします。一度決めた列名と列順は出力側で固定し、以後は触らないのが安全です。
Q. freee販売に取り込むCSVは、文字コードを何にすればいいですか?
UTF-8です。freeeのインポート機能はUTF-8に対応しており、Excelで作成したCSVファイルは通常この形式になっていないため変換が必要になります。国内の販売管理パッケージは日本語を含むCSVをShift_JIS(ANSI)で受け渡す前提のものが少なくないため、受注業務が長い方ほど「日本語のCSVはShift_JISで出しておけば安全」という癖がついており、そのまま渡すと弾かれます。文字コードに問題がある場合は「CSVファイルの文字コードに問題があります。UTF-8に変換の上再度取り込んでください。」という表示が出ることがあり、freeeのヘルプセンターでは対処として、メモ帳で開いて「ファイル」→「名前を付けて保存」を選び、文字コードに「UTF-8(BOM付き)」を指定して保存し直す手順が案内されています。覚えておきたいのは取込先ごとに正解が違うことで、国内パッケージはShift_JIS前提のものが多い一方、freee販売やキャムマックスのようなクラウド系はUTF-8を案内しているものがあります。複数システムを併用しているなら、取込先ごとに文字コードを指定して出力できる状態にしておくのが安全です。
Q. 受注と売上を関連付けるには、何を準備しておけばよいですか?
連携元番号を最初に決めておく必要があります。freeeのヘルプセンターによると、受注のインポート時に、元のシステム等で使っていた受注を特定する番号を連携元番号として追加しておくことで、売上のインポート時に「受注の連携元番号」を指定すれば受注と売上を関連付けることができます。重要なのは、売上をインポートした後に、対象の売上について受注との紐づけを変更することはできないと案内されている点です。締めた後に気づいても直せないため、①注文書1枚(あるいは1明細)に対して自社で一意の番号を決める、②その番号を連携元番号としてCSVに載せ受注を先にインポートする、③売上は「受注の連携元番号」で受注を指定する、という順番を最初に決めてください。FAXで届く注文書には自社が管理できる注文番号が書かれていないことがよくあります。注文書側に番号が無いなら受注する側で採番します。番号の規則は重複しなければ何でも構いませんが、同じ注文書を二度取り込んでも同じ番号になる規則にしておくことが大事です。
Q. 商品コードの先頭の「0」が消えてしまいます。どう防げますか?
Excelを経由するときの扱いを変えてください。Excelは数値の先頭にある「0」を自動的に削除する仕様のため、「012345」のようなコードが「12345」になります。得意先コード・商品コードで起きるとコードそのものが別物になり、そのままマスタ不一致に直結します。エラーではなく静かに値が変わるのが厄介な点です。対策は2つで、1つは取込用ファイルをExcelで編集するなら編集する前にシート全体の書式を「文字列」にしておくこと。もう1つは、CSVとして保存した後は確認のためであっても再度Excelで開かないことです(開いて保存し直すと元に戻ってしまうことがあります)。中身を見たいときはテキストエディタで開いてください。あわせて、伝票を取り込むときの原則は「マスタ(取引先・品目など)が先、伝票が後」です。伝票側で指定したコードがマスタ側に無ければその行は成立しないため、注文書に出てくる取引先・商品がすべて登録されているかを先に確認してください。

← コラム一覧へ戻る