生野さん 個別相談資料

Codexで作る 在庫・売上の自動更新

最新のファイルを入れて、ダブルクリック1回。中国に頼む商品が一覧で出てくる仕組みを、Codexに作らせます。

1 完成の姿

ファイルを入れて、ダブルクリック1回

今は手で写している4つの作業(倉庫のカートン数・7日の売上・30日の売上・補充の判定)を、1回でまとめて済ませます。

入れるもの
国内倉庫在庫.xlsxメーカーの在庫表
直近7日売上.csvAmazon
直近30日売上.csvAmazon
楽天の売上・RSL在庫楽天集計の中(「個数計算用」シートと各シートの在庫数)
更新する.batダブルクリック
約3分
できあがるもの
amazon集計カートン数・7日・30日が入る
楽天集計カートン数・7日・30日が入る
補充指示一覧30日分を切った商品と、補充カートン数。7日分を切ったものは赤

完成したあと、毎回やること

1倉庫の在庫表をダウンロード
2Amazonの売上CSVを7日・30日の2本ダウンロード
33つを「入力」フォルダに入れて、古いものと入れ替える
4楽天集計の売上(「個数計算用」シート)と在庫数(RSL)を最新にする
5集計表を閉じて、「更新する.bat」をダブルクリック

ファイル名の決まりや、結果の見方は「6 繰り返し使う」にまとめています。

2 Codexとの分担

作るのはCodex。どこを見るかを決めるのは人

Codexには、日本語で頼むだけです。プログラムは書けなくて大丈夫です。

生野さん
  • やりたいことを日本語で頼む
  • どの数字が正しいかを教える
  • できた数字を確かめる
Codex
  • ファイルを開いて中身を読む
  • プログラムを書いて動かす
  • 迷ったら質問してくる

AIは、どの数字が正しいかまでは知りません。 たとえば倉庫の在庫表なら「合計の列ではなく、在庫の行の最新の赤字が正しい」。これは業務を知っている人にしか分かりません。そこを伝えるのが生野さんの役目です。

3 準備

フォルダを1つ作って、ファイルのコピーを入れる

Codexは、このフォルダの中だけで作業します。

フォルダの形

在庫売上の自動更新/ 入力/ ← 倉庫在庫・売上CSV 2本 集計表/ ← amazon集計・楽天集計 出力/ ← 空のまま

始める前に確かめること

  • 集計表は、必ずコピーを入れる。本物は別の場所に残しておきます
  • Excelが入っているWindowsのパソコンで作業する
  • uv(Pythonを動かす道具)が入っているか。Zoomの最初に一緒に確かめます
  • Codexで、このフォルダを開いておく
4 作る手順

黒い枠の文を、上から順にCodexに貼るだけ

各枠の右上の「コピー」を押すと、そのまま貼れる形でコピーされます。1つ貼ったら、Codexの返事を読んでから次へ進みます。

Zoom 1回目:手順1〜4Zoom 2回目:手順5〜8
1
Codexに貼る

まず中身を読ませる(まだ書き換えさせない)

いきなり作らせず、最初にファイルの形を説明させます。ここで、人が気づいていない落とし穴をCodexが見つけることがあります。

コピーして貼る文
このフォルダの「入力」と「集計表」にあるファイルを開いて、それぞれのシート名・見出し・データの並び方を説明してください。まだファイルは一切書き換えないでください。
返事で見るところ
  • 倉庫の在庫表が「入庫・出庫・在庫」の3行1組になっている、と説明しているか
  • 売上CSVの「SKU」と集計表の「JSY品番」が同じ番号だと気づいているか
2
Codexに貼る

ルールを置く(AGENTS.md)

Codexがこのフォルダで毎回守る約束を、ファイルに書かせます。一度書けば、次から言わなくても守ります。

コピーして貼る文
このフォルダに AGENTS.md を作って、次のルールを書いてください。
・入力フォルダのファイルは読むだけで、書き換えない
・集計表を書き換える前に、必ず「バックアップ/日時」フォルダにコピーを取る
・集計表への書き込みは、Excel本体を動かして行う(xlwings を使う)。openpyxl で保存しない
・Pythonのライブラリ(xlwings・openpyxl など)は pip install で入れない。uv run --with xlwings --with openpyxl python ... の形で使う
・国内倉庫ファイルに品番が無い商品は、勝手に0にせず「国内倉庫カートン数」を空欄にする(日本仕入れの商品のため)
・売上CSV・楽天の売上シートに品番が無い商品は、売れていないので0にする
・作業を終えたら、何を変えたかを日本語で短く報告する
なぜ「Excel本体で書く」のか
楽天集計には「在庫反映」などのボタン(マクロ)が付いています。Excelの外から書き換える道具(openpyxl)で保存すると、このボタンが消えてしまいます。Excel本体に書かせれば残ります。
3
Codexに貼る

国内倉庫のカートン数を書き込む

いちばん大事な手順です。「どの数字を使うか」を、先にはっきり伝えます。

コピーして貼る文
国内倉庫在庫のファイルから、JSY品番ごとの最新のカートン数を取り出してください。
各シートは品番ごとに「入庫・出庫・在庫」の3行1組です。
使うのは「在庫」行の、2行目に見出しがあるいちばん右の列(最新の日付)の数字だけです。「合計」列と入庫・出庫の行は使わないでください。
同じ品番が複数のシートにあるときは足し合わせてください。日付の列がまだ無いシートは読み飛ばしてください。
取り出したカートン数を、amazon集計の「国内倉庫カートン数」と、楽天集計の「国内倉庫カートン数」に、JSY品番で照合して書き込んでください。
Codexが質問してきたら
「在庫 掃除用」シートでは、最新の日付の右に「訂正」という列があります。「どちらを使いますか?」と聞かれたら、いちばん右の「訂正」を選びます。メーカーが10/2のあとに直した、いちばん新しい数字だからです。
返事で見るところ
  • 品番10541が16カートンになっているか(在庫表の赤字と同じか)
  • 「バックアップ」フォルダができているか
4
ここで一区切り

Excelを開いて、数字を目で見る

amazon集計と楽天集計を開き、「国内倉庫カートン数」の列に数字が入ったことを確かめます。在庫表と見比べて、2〜3品番が合っていれば1回目は完了です。

空欄の行があっても大丈夫
倉庫の在庫表に無い商品(日本で仕入れている商品など)は、手順2のルールどおり空欄になります。
5
Codexに貼る

売上を書き込む

コピーして貼る文
入力フォルダの「直近7日売上.csv」と「直近30日売上.csv」から、SKUごとの「注文された商品点数」を読み取ってください。
amazon集計の「直近7日売上」「直近30日売上」に、JSY品番=SKUで照合して書き込んでください。CSVに無い品番は0にしてください。
楽天の売上は、楽天集計.xlsm の「個数計算用(30日)」「個数計算用(7日)」シートにあります(A列 SKU、C列 換算数)。
これを楽天集計の「30日販売個数」「7日販売個数」に、JSY品番=SKUで照合して書き込んでください。今ある壊れた数式(#REF!)は、値で上書きしてかまいません。
楽天集計には「楽天」シートのほかに、発注先ごとのシート(ジャパンギャルズ・リッツ・中国雑貨。品番の見出しは「SKU」)があります。これらのシートの「30日販売個数」「7日販売個数」にも同じように書き込んでください。
楽天の品番 10029・10030 は、Amazonでは 10029-new・10030-new です。同じ商品として扱ってください。
返事で見るところ
  • 楽天集計の「30日販売個数」「7日販売個数」の #REF! が消えて、数字になっているか
  • 売上CSVで1つ品番を選び、「注文された商品点数」と集計表の数字が同じか
6
Codexに貼る

補充指示一覧を作る

在庫(国内倉庫+FBA+RSL)が30日分を切った商品を、一覧に書き出させます。

コピーして貼る文
品番ごとに、Amazonと楽天の30日販売個数を足してください。楽天の販売個数は、楽天集計の「楽天」シートではなく「個数計算用(30日)」「個数計算用(7日)」シートから直接読んでください(「楽天」シートに行が無い商品も売れているため)。
国内在庫数は、倉庫ファイルのシートごとに「在庫のカートン数 × そのシートのカートン入数」を出して足してください。同じ品番でもシートによって1箱の入数が違うので、カートン数を先に足してから掛けないでください。入数は「24セット」のような文字で入っているので、数字だけを取り出してください。
楽天の注文はRSLから出荷しているので、RSLの在庫(楽天集計の各シートの「在庫数」)も数えます。
国内在庫数・FBA在庫(amazon集計の「FBA在庫残数」)・RSL在庫の合計が、30日販売個数の合計を下回る商品を、補充指示一覧として「出力」フォルダに新しいExcelで書き出してください。
列は、JSY品番・Amazon 30日・楽天 30日・30日合計・7日合計・国内カートン数・カートン入数・国内在庫数・FBA在庫・RSL在庫・在庫日数・補充カートン数(不足分÷カートン入数を切り上げ)にしてください。カートン入数は、倉庫ファイルでその品番が出てくるいちばん後ろのシートの入数を使ってください。
在庫日数の少ない順に並べ、7日分を切ったものは赤くしてください。
国内倉庫ファイルに無い商品は日本仕入れの商品なので、FBA在庫とRSL在庫だけで判定して、別のシート「国内仕入れ品(FBA+RSL)」に出してください。
在庫がマイナスの品番、複数シートを足し合わせた品番、倉庫ファイルと集計表(amazon集計「カートン」・楽天集計「セット数」)で入数が違う品番は、別のシート「要確認」に出してください。
判定の日数(30日)と、FBA在庫・RSL在庫を含めるかどうかは、プログラムの先頭で変えられるようにしてください。
返事で見るところ
  • 一覧のいちばん上の品番を1つ選び、在庫日数の計算が合っているか電卓で確かめる
  • 240g㎡ のように、1回目・2回目・3回目で入数が違う品番の国内在庫数が、シートごとに掛けた数になっているか
RSLの在庫も足して判定します
30日の販売個数には楽天の分も入っているので、楽天の分を出荷するRSLの在庫も足しています。RSLの在庫だけで足りている商品は、補充指示に載りません。
7
Codexに貼る

ボタン1回にする

コピーして貼る文
ここまでの処理を1本にまとめて、ダブルクリックで動く「更新する.bat」を作ってください。終わったら「中国から補充: ◯件/国内仕入れ品: ◯件」と表示して、画面を閉じずに止めてください。
できたら
フォルダに「更新する.bat」ができます。集計表のExcelを閉じてからダブルクリックし、黒い画面に件数が出て止まれば完成です(3分ほどかかります)。
8
Codexに貼る

来週も動くか確かめる

ファイル名を今日の名前で決め打ちしていると、来週の新しいファイルを入れたときに動きません。最後に聞いておきます。

コピーして貼る文
「入力」フォルダのファイルを、来週の最新ファイルに入れ替えても、更新する.bat はそのまま動きますか?ファイル名で決め打ちしているところがあれば教えてください。
最後に、手で3つだけ確かめる
  • 補充指示一覧のいちばん上の品番:倉庫の在庫表のカートン数と合っているか
  • 同じ品番:売上CSVの「注文された商品点数」と合っているか
  • 一覧に載っていない品番を1つ:本当に30日分の在庫があるか
全部を見る必要はありませんが、ゼロにはしないでください。
5 人が決めること

試しに作ってみて、実際に起きた3つのこと

事前に同じファイルで試したところ、どれも「どちらが正しいか」はAIではなく人が決める場面でした。

在庫表に「訂正」の列があった
Codexが「日付の列と訂正の列、どちらを使いますか?」と質問してきました。
人が決めたこと:いちばん右(訂正)がいちばん新しい数字
同じ品番でも、シートによって1箱の入数が違った
手順1で読ませたとき、Codexが自分から指摘しました。箱の数を先に足すと、在庫数がずれます。
人が決めたこと:シートごとに「箱×入数」を出してから足す
楽天の売上を、どのシートから読むか
「楽天」シートから読ませると、そこに行が無い商品が、売れているのに一覧から漏れました。
人が決めたこと:売上は「個数計算用」シートから直接読む

作らせる前に、必ず読ませる。質問されたら、業務を知っている人が答える。 この2つを守れば、Codexは頼んだとおりのものを作ります。

6 繰り返し使う

完成したあと、毎週の使い方

作るのは1回だけ。あとは毎週(売上を見たいとき)に、次の6つを繰り返します。Codexを開く必要はありません。

1 集める倉庫の在庫表と、Amazonの売上CSV(7日・30日)をダウンロード
2 入れ替える「入力」フォルダの古い3つを、新しい3つと入れ替える
3 楽天を最新に楽天集計の「個数計算用」シートの売上と、各シートの在庫数(RSL)を最新に
4 閉じる集計表のExcelを全部閉じる
5 押す「更新する.bat」をダブルクリック。黒い画面が止まるまで約3分待つ
6 見る「出力」フォルダの補充指示一覧を開く

ファイル名の決まり

いちばん安全なのは、毎回同じ名前で入れることです。ダウンロードしたら、前回と同じ名前に付け直して入れます。

  • 国内倉庫在庫.xlsx
  • 直近7日売上.csv
  • 直近30日売上.csv

手順8で「名前で決め打ちしていない」と確認できていれば、「国内倉庫在庫」「7日」「30日」の言葉が名前に残っていれば動きます。

変えてはいけないもの

  • フォルダの名前(入力・集計表・出力)
  • 楽天集計のシート名「個数計算用(30日)」「個数計算用(7日)」(「7」は全角)
  • 集計表の見出し(JSY品番・国内倉庫カートン数・30日販売個数など)。列の順番を入れ替えるのは大丈夫です
  • 「入力」に同じ種類のファイルを2つ置かない。古い方は入れ替えるか、別の場所へ

補充指示一覧の見方

補充指示(中国から)
国内倉庫を通る商品で、30日分を切ったもの。赤い行は7日分を切っていて急ぎ。補充カートン数は目安です
国内仕入れ品(FBA+RSL)
国内倉庫を通らない商品で、FBAとRSLの在庫が30日分を切ったもの
要確認
在庫がマイナス・複数シートを足した・入数が集計表と違う品番。おかしな数字が無いか目を通します

月に1回やること

  • 補充指示一覧から品番を1つ選び、倉庫の在庫表と売上CSVの数字が合っているか手で確かめる(手順8と同じ)
  • 「バックアップ」フォルダの古いものを消す(実行するたびに1つ増えます)

仕組みを変えたくなったら、Codexに頼む

Codexでこのフォルダを開いて、日本語で頼みます。よくある頼み方です。

判定の日数を変える
補充の判定の日数を、30日から45日に変えてください。変えたら、更新する.bat で一度動かして、件数を教えてください。
楽天集計に、発注先のシートが増えたとき
楽天集計に「◯◯」という発注先のシートを足しました。見出しはほかの発注先のシートと同じです。このシートの売上と在庫数も、判定に入れてください。
楽天とAmazonで品番がずれている商品が見つかったとき
楽天の品番 ◯◯◯◯ は、Amazonでは ◯◯◯◯-new です。10029・10030 と同じように、同じ商品として扱ってください。
エラーで止まったとき
更新する.bat を動かしたら、次のエラーで止まりました。原因を調べて直してください。集計表はバックアップから戻せる状態にしてから直してください。
(ここに黒い画面の文字を貼る)
7 困ったとき

よくあるつまずき

Codexが質問してきた

良いサインです。勝手に決めずに止まってくれています。業務の知識で答えてください。分からなければ「どちらを選ぶと、何が変わりますか?」と聞き返せば説明してくれます。

数字がおかしくなった・元に戻したい

「バックアップ」フォルダに、書き換える前の集計表が日時ごとに残っています。そこからコピーして戻せます。Codexに「バックアップの◯◯から集計表を戻して」と頼んでも大丈夫です。

「更新する.bat」がエラーで止まる

多いのは、集計表のExcelを開いたままにしているときです。Excelを閉じてから、もう一度ダブルクリックしてください。それでも止まるときは、黒い画面の文字をそのままCodexに貼って「このエラーを直して」と頼みます。

「バックアップ」フォルダがどんどん増える

実行するたびに1つ増えます。古いものは、ときどき消して大丈夫です。

判定を30日分ではなく45日分にしたい

Codexに「判定の日数を45日にして」と頼めば、プログラムの先頭の数字を変えてくれます(手順6で、変えられる形にしてあります)。