モバイル仕入れ [MB]
概要
スマートフォンで店舗仕入れを行うための専用画面です。カメラでJANバーコードをスキャンすると、Amazon上のASINに自動変換され、相場・出品制限・過去の仕入れ履歴を一画面で確認できます。仕入れ判断から仕入れ伝票(PO)登録まで、現場で完結します。
この画面でできること
- JANバーコードスキャン - カメラでバーコードを読み取り、SP-API経由でASINを自動解決
- ASIN直接入力 - バーコードがない場合はASINを直接入力可能
- 商品情報の即時表示 - タイトル・画像・ブランド名
- 相場確認 - SP-API Competitive Pricing でFBAの現在価格を表示
- 出品制限チェック - 出品制限がある場合は赤い警告を表示
- Transparency警告 - Transparency対象商品の場合はオレンジで警告
- 仕入れ・販売履歴参照 - 同じASINの過去の仕入れ値・売値・利益率をリスト表示
- 仕入れ登録 - 仕入値/コンディション/付属品/売値を入力し、PO+POIを作成(source_type='mobile')。デフォルトはSKU未発番(検品時に割当)。その場でSKU発番するオプションもあり
- 見送り記録 - 仕入れない場合も理由とともにログに記録(学習ループ用)
- 位置情報自動取得 - ブラウザの位置情報APIで現在地を記録
- 店舗名記憶 - 入力した店舗名はlocalStorageに保存され次回以降も維持
フロー
- 📷 カメラスキャンまたは手動入力でJAN/ASINを入力
- SP-APIで商品情報・相場・出品制限を一括取得(数秒)
- 過去の仕入れ履歴を確認
- 仕入れる場合: 仕入値・コンディション・付属品・売値を入力 → 「🛒 仕入れる」
- 見送る場合: 「見送る」→ 理由を選択 → ログに記録
画面要素リファレンス
ヘッダー
| 要素名 | ID | 説明 |
| 📱 モバイル仕入れ | MB-logo | ロゴ・トップへのリンク |
| 履歴リンク | MB-history-link | スキャン履歴画面へ遷移 |
| 在庫検索リンク | MB-inventory-link | 本サイトの在庫一覧(商品名・ASIN・SKU等で検索可能) |
スキャンエリア
| 要素名 | ID | 説明 |
| スキャンセクション | MB-scan-section | バーコード入力・カメラスキャンエリア |
| JANコード入力 | MB-jan-input | JANコードのテキスト入力欄。Enterキーで検索実行 |
| 検索ボタン | MB-search-btn | 入力したJANで商品検索を実行 |
| カメラスキャンボタン | MB-camera-btn | スマホカメラを起動してバーコードを読み取り |
| ASIN直接入力トグル | MB-asin-toggle | ASIN直接入力モードの表示/非表示 |
| ASIN入力欄 | MB-asin-input | ASINを直接入力するテキスト欄 |
商品情報エリア
| 要素名 | ID | 説明 |
| 検索結果セクション | MB-result-section | 商品が見つかった場合に表示される全体エリア |
| 商品タイトル | MB-product-title | Amazonカタログから取得した商品名 |
| Amazonリンク | MB-amazon-link | ASINをタップするとAmazon商品ページを新タブで開く |
| 警告エリア | MB-warnings | 出品制限・Transparency警告の表示エリア |
| 相場表示 | MB-prices | コンディション別のFBA最低価格一覧 |
| 仕入れ履歴 | MB-history | 同一ASINの過去仕入れ・販売実績 |
| 詳細履歴ボタン | MB-detail-history-btn | ASIN別の詳細な仕入れ・販売履歴テーブルを展開 |
| ASIN詳細履歴 | MB-asin-history-detail | SKU単位の仕入値・売値・利益・ステータス一覧 |
仕入れ入力フォーム
| 要素名 | ID | 説明 |
| 仕入れフォーム | MB-purchase-form | 仕入れ情報の入力フォーム全体 |
| 仕入値入力 | MB-cost-input | 仕入れ価格(必須) |
| 売値入力 | MB-price-input | 予定売価(任意)。入力すると見込み利益が即時計算される |
| コンディション選択 | MB-condition-select | 新品/中古-ほぼ新品/中古-非常に良い/中古-良い/中古-可 |
| 付属品・備考 | MB-accessories-input | 付属品の有無や状態メモ。テンプレートの{ACCESSORY_PHRASE}に使用 |
| 数量 | MB-quantity-input | 仕入れ数量(デフォルト1) |
| SKU発番トグル | MB-assign-sku-toggle | ONにすると店舗でその場でSKU発番(シール貼付用)。デフォルトOFF(検品時にSKU割当) |
| 店舗名 | MB-store-input | 仕入れ店舗名。localStorageに保存され次回以降も維持 |
| 仕入れるボタン | MB-purchase-btn | PO+POIを作成(source_type='mobile')。SKU発番ONならSKU+POIUも作成 |
| 荷姿写真エリア | MB-photo-area | 仕入れ登録後に表示。カメラで荷姿写真を撮影しstore_photo_1/2に保存(最大2枚)。FBA出品用のphoto_url_1〜6とは別枠 |
| 写真を撮るボタン | MB-photo-btn | スマホカメラで撮影、またはギャラリーから選択してS3にアップロード |
| 見送るボタン | MB-skip-btn | 見送りモーダルを表示 |
スキャン履歴画面
| 要素名 | ID | 説明 |
| スキャン履歴タイトル | MB-history-title | スキャン履歴画面の見出し |
データの流れ
- 仕入れ登録時(デフォルト):
PurchaseOrderNew(source_type='mobile') →
PurchaseOrderItem(sku_master_id=NULL) →
StorePurchaseLog(decision='purchased')
※ SKU・POIUは検品時に割当・生成
- 仕入れ登録時(SKU発番ON):
SkuMaster(created_reason='mobile_purchase') →
PurchaseOrderNew(source_type='mobile') →
PurchaseOrderItem →
PurchaseOrderItemUnit(自動生成) →
StorePurchaseLog(decision='purchased')
- 見送り時:
StorePurchaseLog(decision='skipped') のみ
API仕様
| エンドポイント | メソッド | 概要 |
/mobile-purchase/lookup | POST | JAN→ASIN解決 + 相場・制限・履歴を一括取得 |
/mobile-purchase/purchase | POST | 仕入れ登録(PO+POI+SKU作成) |
/mobile-purchase/skip | POST | 見送りログ保存 |
/mobile-purchase/asin-history/{asin} | GET | ASIN別詳細履歴 |