← Back to Case Studies
Automation Business Process

データドリブンな生産管理フローの自動化

The Challenge

受注から納品までの工程が複雑(特注、在庫あり、受注生産など)であり、現場の進捗管理をスプレッドシートで行っていたため、データ更新の漏れや整合性の不一致が発生しやすい状況でした。また、このデータを分析して生産能力を可視化するための仕組みが不足していました。

Analysis: 現場の習慣とシステム的な整合性の融合

スタッフが使い慣れた Google Sheets を UI として残しつつ、バックエンドに MySQL データベースを配置。GAS (Google Apps Script) による Webhook を介して、WooCommerce の注文データ → Sheets → DB という単方向・双方向の同期パイプラインを構築することで、「入力の手間」を最小限にしつつ「データの正確性」を担保することを目指しました。

Implementation: 複雑な状態遷移のコード化

単なる同期ではなく、注文ステータスや商品属性(カスタムオーダーか否か等)に基づき、「今どの工程にいるべきか」を動的に判定して進捗フラグ (progress) を割り当てるロジックの実装に注力しました。これにより、誰がいつ見ても現在の生産状況が一目でわかる体制を構築しました。

Woo-webhook-to-google-sheet.js (GAS) Logic Implementation
// Google Sheets API を介したデータ同期フロー (GAS)
function doPost(e) {
  let OrderData = JSON.parse(e.postData.contents);

  // 注文ステータスに応じた進捗(progress)の動的判定ロジック
  // 例: 在庫あり受注生産' の場合のみ、カット済みか制作完了かを判定し...
  if (stock_status == "instock" && custom_order != false) {
    if (order_status !== 'on-hold') {
      progress = "3_カット済";
    }
  }

  // スプレッドシートへの行挿入・更新処理
  sheet.getRange(i + 1, 11).setValue(progress);
}

Result & Outcome

受注から出荷までのリードタイムを正確に把握可能となり、ボトルネックの特定と解消に着手できる環境が整いました。また、スタッフが手動で行っていたデータ転記作業がゼロになり、本来の制作業務に集中できる体制を実現しました。