Kon's DX Lab - Case Study

Day 31|納品データから一発変換!出荷データと納品書PDFを自動生成

Published on 2025-05-02

🔬 Case Study Summary
Problem

(ここに課題を記述)

Result

(ここに具体的な成果を記述)


Tech & Process

(ここに採用技術とプロセスを記述) コードを詳しく見る »

こんにちは、こんです🦊

今日は昨日の「人時生産管理」とはガラッと変わって、 納品データから2種類の出力を自動生成する社内ツールのMVP(最小実行可能プロトタイプ)を完成させました!


🧪 今日の実験:1ファイルから2種類の成果物を自動生成

扱う元データはExcelの「納品データ」。 この1ファイルを元に、以下の2ファイルをワンクリックで生成するようにしました:

  • ✅ SagawaOms 出荷指示データ(Excel形式/列順・数量合算・HSCODE対応)

  • ✅ 納品書PDF(日本語/QRコード付き/SKU数・総数表示/ページ番号対応)


⚙️ 技術スタックと工夫

✅ ベース技術

  • Python(3.13)

  • Streamlit(WebUI化)

  • pandas / openpyxl / jinja2 / pdfkit / qrcode など

✅ UIの工夫

  • タブ構成で「出荷指示データ生成」「納品書PDF出力」を分けて操作可能に

  • 出荷情報(荷送人・荷受人)をマスタ選択式にしてミス削減

  • QRコード表示はON/OFF切替可能に(URLはダミー)

  • データ加工前/加工後のメタ情報を2カラム表示にし、概要把握をサポート

✅ PDF出力の工夫

  • jinja2テンプレートで納品書を生成

  • QRコードを納品書番号に紐付けて埋め込み(返品や照合を想定)

  • --footer-center オプションでページ番号(1/2, 2/2)も表示


📦 完成したMVPの構成

  • ✅ streamlit_app.py:2タブ式で納品所からの変換を一元管理

  • ✅ requirements.txt:Python依存環境を明示

  • ✅ README.md:導入手順・pipが動かないときの対処も含めて記載


💡 今日の学び

“Pythonツールは作るだけではダメ。誰でも確実に動かせる状態まで整えてこそMVP”。

Streamlitで作ったアプリは、社内共有に際して「環境依存」「実行場所の制限」にぶつかりやすい。そこを .bat や README で丁寧に補完することで、「一発変換」が本当に“使えるツール”になったと思います。


🚀 今後の展望

  • 英語・繁体字の納品書テンプレート作成(多言語対応)

  • Supabase連携による出荷ログ管理

  • React移植 or Electron化による配布ツール化


🧠 まとめ

今日はコードだけでなく、「使ってもらうための配慮」まで作り込めた1日でした。 納品データをアップするだけで全ての出荷準備が整う形へ。

#100日チャレンジ #Day31 #納品書自動化 #SagawaOms #Streamlit開発記録 #業務改善 #Pythonツール化 #社内展開 #ノンコーダーでも使えるDX