基幹システムへのCSV取込でよくあるエラーと対処法(文字コード・列順・0落ち)
公開:
基幹システムへのCSV取込でエラーが出ると、原因を探すのに製品マニュアルとにらめっこすることになりがちです。各ベンダーのFAQは自社製品限定の説明が中心で、「うちのシステムでは何が起きているのか」を製品名から探し当てるのは意外と手間がかかります。
この記事では、販売管理・仕入管理などの基幹システム全般で共通して起きやすいCSV取込エラーを、エラーメッセージや症状から原因を逆引きできる形で整理しました。特に見落とされがちな「0落ち」(先頭のゼロが消える現象)は、他の記事ではあまり詳しく扱われないため、この記事で重点的に取り上げます。
症状1: 「文字化けする」「?や□に置き換わる」→ 文字コードの不一致
原因: 国内の基幹システムの多くはShift_JIS(CP932)を前提にしていますが、ExcelやWebサービスで作ったCSVはUTF-8であることが増えています。この不一致が文字化けの主因です。
対処: CSVを保存し直す際、Excelなら「CSV(カンマ区切り)」形式(多くの環境でShift_JIS相当)を選ぶ。UTF-8前提のツールで作った場合は、テキストエディタで文字コードをShift_JISに変換してから取り込む。機種依存文字(①、㈱など)が品名・取引先名に含まれている場合は、変換時にエラーや欠落が起きやすいため事前に置き換えておく。
症状2: 「列がずれて取り込まれる」「違う項目に値が入る」→ 列順・列数の不一致
原因: 基幹システムごとに、CSVに期待する列の並び順・列数・ヘッダー行の有無が異なります。取引先が複数の基幹システムを使い分けている場合、1つの固定フォーマットでは対応しきれません。
対処: 取込先の仕様書(列順・列数・ヘッダー有無)を手元に置き、出力側もそれに合わせて列を並び替える。取引先(取込先システム)ごとに列の並びが違うなら、システムごとに出力テンプレートを分けて管理する。
症状3: 「エラーは出ないのに商品コードが変わっている」→ 0落ち(先頭ゼロの消失)
これが最も見落とされやすく、かつ発覚が遅れやすいエラーです。
原因: 商品コードや取引先コードが「0012345」のように先頭にゼロを含む場合、CSVをExcelで開いて保存し直すと、Excelがその列を「数値」と自動判定し、先頭のゼロを削って「12345」に変換してしまうことがあります。CSV自体はテキストファイルですが、Excelで一度開いて上書き保存すると、この変換が起きます。
- 症状が厄介な理由: 取込エラーにはならないことが多いのが特徴です。「12345」という別のコードとして解釈できてしまう場合、エラーメッセージが出ないまま、意図と違う商品・取引先として登録されてしまいます。誤出荷や誤請求につながって初めて気づく、というケースも起こり得ます
- 起きやすい場面: FAXの手書き注文書から品番・取引先コードを転記し、いったんExcelで整形してからCSVとして保存する、という一般的な運用フローの中で発生しやすい
対処:
- Excelで作業する場合、コード列のセル書式をあらかじめ「文字列」に設定してから入力・貼り付けする(数値として解釈されなくなる)
- 既に数値化してしまったコード列は、
="0012345"のような数式やTEXT関数で文字列として復元してから保存し直す - 取込前に、コードの桁数が本来の桁数と一致しているかを検算する(例: 本来7桁のコードが5桁になっていたら0落ちを疑う)
- Excelを経由せず、テキストエディタやCSV専用ツールで編集する運用に切り替えるのも有効な回避策
症状4: 「日付として認識されない」「日付が意図と違う」→ 日付形式の不一致
原因: 西暦/和暦、区切り文字(/か-か)、年の桁数(4桁か2桁か)、ゼロ埋めの有無など、日付の表記は基幹システムごとに期待する形式が異なります。
対処: 取込先が期待する日付形式をマニュアルで確認し、CSV側をその形式に統一する。手入力段階で担当者ごとに表記が揺れやすい(「7/23」「R8.7.23」など)ため、CSV化する前にまとめて確認・統一する工程を挟むとエラーを減らせます。
取込前チェックリスト
| チェック項目 | 確認内容 |
|---|---|
| 文字コード | Shift_JIS(CP932)で保存されているか |
| 列順・列数 | 取込先の仕様書と一致しているか |
| コード列の書式 | Excelでセル書式を「文字列」にしているか(0落ち対策) |
| 日付形式 | 西暦/和暦・区切り文字・桁数が取込先の期待どおりか |
| テスト取込 | 本番データの前に、数件だけで試し取込しているか |
エラーが出ない0落ちのようなケースもあるため、取込後に件数・桁数をざっと目視確認するひと手間が、結果的にいちばん確実な予防策になります。
手前味噌の紹介
この記事を書いているのは、注文書特化サービス注文書係(ちゅうもんしょがかり)の運営者です。品番・取引先コードは文字列として扱われるため、Excel経由での0落ちのような意図しない変換は起きません。CSVの文字コード(Shift_JIS/UTF-8)・列順は取引先や基幹システムごとに一度登録すれば、次回から自動で同じ形式で出力されます。
無料トライアル(30枚または14日間、クレジットカード登録不要)で、実際の注文書とお使いの基幹システムとの相性を確かめてみてください。