発注CSVの必須列設計— 適用判定フラグを落とさない
公開: 2026年9月8日
発注データをCSVで出し入れすると、金額や取引先名は残っても適用判定フラグや受領日が落ちることがあります。
フラグが落ちると、書面必須判定・KPI・監査抽出が一気に壊れます。
本記事では、適用判定フラグを中核にした発注CSVの必須列設計と、インポート時の検証ルールを整理します。
トリカク(torikaku) では必須列欠落を検知し、適用フラグ付きで案件を管理できます。
CSV運用の監査観点は発注台帳CSVの監査、Excelからの移行はExcel台帳からSaaSへの移行も合わせて確認してください。
1. 必須列の原則
1-1. 「あれば便利」と「無いと判定不能」を分ける
備考や社内メモは任意、適用フラグ・発注番号・受領日・支払期日は必須、という二層にします。
任意列を必須に混ぜると、現場が空欄埋めのためにダミー値を入れ始めます。
1-2. 適用フラグは計算結果ではなく保存値
インポートのたびに資本金から再計算すると、判定時点が消えます。
フラグと判定日・根拠IDをセットで保存し、再計算は明示操作に限定します。
判定の考え方は資本金・従業員数での適用判定を正本にしてください。
1-3. 列名のゆれを禁止する
「適用」「取適フラグ」「適用有無」が混在するとマッピングが壊れます。
ヘッダ辞書を1つ持ち、未知ヘッダはインポート拒否にします。
2. 推奨必須列セット
2-1. 案件識別
発注番号、取引先ID、契約/注文書ID、部門コードを必須にします。
発注番号の一意性が弱いと、後段の重複検知も機能しません。
2-2. 適用・書面
適用判定フラグ、判定日、書面交付日、書面パス(または保管ID)を必須化します。
記載事項の点検は記載事項のテンプレート、書面の型は発注書面の3条明示と対応する列を用意します。
2-3. 期日・検収
受領日、支払期日、検収ステータス、支払ステータスを必須にします。
起算の定義は支払60日ルールの起算点と一致させ、受領日空欄のインポートはエラーまたは要確認キューへ回します。
2-4. 金額
契約額、税区分、通貨、支払済額(分かれば)を持ちます。
外貨混在がある場合は通貨必須を外さないでください。
3. インポート検証ルール
3-1. 適用フラグ欠落は即失敗
空欄・未知値(◯/×以外の自由記述など)は行単位で失敗させ、黙って非適用にしないでください。
黙って補完すると、監査時に「誰が非適用にしたか」が説明できません。
3-2. 適用=TRUEなのに書面列が空
警告ではなくエラーにし、是正後に再インポートさせます。
例外承認が必要な場合は、例外理由列を必須追加します。
3-3. 上書き時のフラグ保護
部分更新CSVで適用フラグ列が無いとき、既存フラグを消さないモードを既定にします。
「列が無い=クリア」は最も危険な実装です。
4. 現場シナリオ
4-1. 他社ツールからの移行CSV
移行元に適用フラグが無い場合は、一括で未判定にしてから再判定ウィークを回します。
「全部非適用で仮置き」は最悪の移行です。
4-2. 経理が金額だけ直したい
金額更新用の狭いテンプレを用意し、適用・書面列を含めない代わりに保護モードで取り込みます。
全列テンプレを使い回すと、誤クリアが起きます。
4-3. ダッシュボード数値が急変した
直近インポートのログを開き、適用フラグの分布変化を確認します。
KPI定義はダッシュボードKPI(60日)と突合し、CSV起因かを切り分けます。
5. FAQ
Q. 必須列は何列までが現実的か?
まずは識別・適用・期日・金額の12〜18列程度に抑え、運用が回ってから拡張します。
最初から40列必須にすると現場が拒否します。
Q. 自己点検との接続は?
月次でCSV必須列の欠落率を出し、自己点検チェックリストの記録項目と突き合わせます。
Q. エクスポートだけ整えても意味はあるか?
監査提出・他部門共有では意味がありますが、インポート検証が無いと再取り込みで壊れます。
出と入りの両方に同じ必須列定義を使ってください。
6. CSV辞書とサンプル行
6-1. ヘッダ辞書の運用
正式ヘッダ、別名、型、必須/任意、欠落時動作を1枚の辞書にまとめ、リポジトリか共有フォルダで版管理します。
現場が独自に列を増やす場合は、辞書更新レビューを通してからテンプレへ反映します。
辞書外ヘッダを黙って無視する実装は、適用フラグ落ちの原因になります。
6-2. 良いサンプル行/悪いサンプル行
良い行は適用フラグ・判定日・受領日・支払期日・書面パスが揃っています。
悪い行の典型は、適用フラグ空欄、判定日だけある、書面パスがローカル個人パス、受領日が未来日、です。
研修や引き継ぎでは、悪い行を見つけて修正する演習を15分入れると定着します。
6-3. 会話例:現場が「列が多い」と拒否するとき
「必須は識別・適用・期日・金額だけです。備考は任意なので空欄で構いません。適用フラグだけは空欄不可です」と切り分けます。
全部を同じ重要度で話すと、現場は本質でない列まで埋めようとして疲れます。
必須列を色分けしたテンプレを配布すると抵抗が減ります。
6-4. インポート失敗ログの残し方
行番号、欠落列名、元値、実行ユーザー、実行時刻をログに残し、再実行前に差分を見せます。
失敗をメール本文だけに書くと検索できず、再発分析ができません。
週次で失敗理由の上位を出し、テンプレか検証ルールを直します。
明日のインポート前に決めること
適用判定フラグ列の正式名と、欠落時に失敗させるルールを先に文書化してください。
列マッピングの美しさより、「落ちたら止まる」ことの方が台帳を守ります。
今週のCSVテンプレから、適用フラグと判定日を必須ヘッダに固定するところから始めてください。
7. エクスポート用途別テンプレ
7-1. 監査提出用
適用フラグ、判定日、受領日、支払期日、書面交付日、書面パスを必須列にした提出用テンプレを別ファイルにします。
社内メモ列は出さないか、マスキングしてから出します。
提出前に必須列の空欄件数を自動集計し、ゼロでなければ提出禁止にします。
7-2. 経理連携用
金額・支払ステータス中心の狭い列セットにし、適用フラグを誤ってクリアしない保護モードで再取込します。
経理が全列テンプレを使う運用は、フラグ落ち事故の典型です。
用途名をファイル名に入れ、取り違えを防ぎます。
7-3. 移行用
他システムからの移行では、適用フラグが無い行を未判定で取り込み、一括非適用にしないでください。
未判定件数を移行KPIにし、移行完了の定義に含めます。
未判定のまま通常運用へ入ると、書面交付漏れが静かに増えます。
7-4. 文字コードと改行の固定
UTF-8(必要ならBOM)と改行コードを辞書に固定し、環境差で列ずれが起きないようにします。
文字化けした適用フラグは未知値として失敗させ、黙って通さないでください。
受け側と送り側で同じ検証スクリプトを共有すると事故が減ります。
8. 運用開始チェック(初日)
初日は、必須列欠落の失敗テスト、部分更新でフラグが消えないテスト、未知ヘッダ拒否テストの3つを必ず通します。
どれかが落ちたまま本番インポートを始めると、静かなデータ破壊が起きます。
テスト結果はスクリーンショットではなく、入力CSVと結果ログをセットで保管してください。
合格後にだけ、現場向けテンプレ配布と短い手順動画を出します。
9. 現場への短い案内文
「適用フラグと判定日は必須です。空欄の行は取り込まれません。金額だけ直すときは金額用テンプレを使ってください」と案内します。
長いマニュアルより、失敗する条件を先に伝える方が事故が減ります。
10. よくある失敗の再発防止
Excelで列を削除して保存したCSV、適用フラグを「あり/なし」に変えたCSV、個人用メモ列を先頭に足したCSVが典型です。
いずれもヘッダ辞書と検証で止められます。
失敗例を社内FAQに載せ、同じミスを繰り返さないようにします。
必須列設計は一度決めて終わりではなく、四半期ごとに失敗ログ上位から見直します。
現場が避けている列は、本当に必須か、UIの問題かを切り分けてください。
注意
本記事は発注データ運用の一般的な整理であり、トリカク(torikaku) の機能説明を含みますが、法的助言ではありません。
適用判定や書面交付の要否は最新の法令・指針と専門家確認に従ってください。