JAPAN CAMERA の シート台帳・業務の動き方・DB側の対応・モール別の取込状況 を1ページにまとめた正本。 数字はすべて6スプレッドシートを実物で開いた実測値。まだ決まっていない/食い違う点は 【要確認】 と明記している(鵜呑み厳禁)。 最初に覚える3つの土台 ― ① 注文は2段階で入る(仮INSERT→確定値でfinalize) ② 会計の実現日は区分で違う(海外・国内B2B=入金日/他=Transaction日) ③ 取込は読み取り専用(モールには一切書き込まない)。
| # | スプレッドシート | SID(Google fileId) | 全タブ数 | 仕入/売上 主タブ |
|---|---|---|---|---|
| 1 | 卸7.9 | 1QEzvyJVDSoFFfl3_3gBp-TVTw6iE-kI41_X45J37QiQ | 35 | JCFBA商品管理 / RSL商品管理 / 評価JC / 評価TP |
| 2 | Main9.8 | 1ZZIdeRAQieKp4pzZCxs-2WvI3AaOAJV9KEb-niPXp4M | 32 | 商品管理 / 紛失処理 / 返品・返送 / 仕入キャンセル |
| 3 | 海外0.7 | 1WZucys4zpcDQ5-lvFOeSimYVyyhi-5IrOeUNa3dSTaM | 29 | 商品管理 / 仕入キャンセル / 返品 |
| 4 | 国内B2B0.1 | 14bR_Oe4NJQgWgT8BRvGVzJYMG0H24_-VjVy8akeuPWU ★SID訂正 | 9 | 商品管理 |
| 5 | 評価0.3 | 1Hvl9tL3aMW9tQ43dUOVuyOjt8jxhcLC5to5lXkv9eBQ | 21 | 評価JC商品管理 / 評価TP商品管理 |
| 6 | 経理1.2 | 1plfLP5FV27bViJ_V4UqADc2hBlNZuPcJI6MuTmTub48 | 26 | 集計/会計系(商品台帳ではない・A-4参照) |
★国内B2B0.1 の正SID=末尾…NJQgWgT8…(指示書の …NJQWgT8… は404で存在しない)。
| シート | 主タブ | 実データ行数 | 支払日入り | 日付列(B列) |
|---|---|---|---|---|
| 卸7.9 | JCFBA商品管理 | 20,493 | 19,055 | 支払日 |
| 卸7.9 | RSL商品管理 | 6,546 | 3,540 | 支払日 |
| 卸7.9 | 評価JC商品管理 | 8,707 | 0 | 支払日(B列全空=未使用) |
| 卸7.9 | 評価TP商品管理 | 15,598 | 0 | 支払日(B列全空=未使用) |
| Main9.8 | 商品管理 | 15,914 | 15,374 | 支払日 |
| Main9.8 | 紛失処理 | 10 | 10 | 支払日 |
| Main9.8 | 返品・返送 | 1,076 | 1,074 | 購入日(支払日無) |
| Main9.8 | 仕入キャンセル | 1,290 | 1,084 | 購入日(支払日無) |
| 海外0.7 | 商品管理 | 5,694 | 5,587 | 支払日 |
| 海外0.7 | 仕入キャンセル | 193 | 151 | 購入日(支払日無) |
| 海外0.7 | 返品 | 15 | 10 | 支払日 |
| 国内B2B0.1 | 商品管理 | 23 | 23 | 購入日(支払日列は無し) |
| 評価0.3 | 評価JC商品管理 ★正本 | 8,707 | 8,707 | 支払日 |
| 評価0.3 | 評価TP商品管理 ★正本 | 15,598 | 15,099 | 支払日(499件未記入) |
| 評価0.3 | 評価JC商品管理_2024-10-04 | 1,760 | 1,826 | 購入日 |
| 評価0.3 | 評価JC商品管理_Backup | 1,759 | 1,825 | 購入日 |
| 列 | 1 | 2 | 4 | 6 | 7 | 10 | 11 | 24 | 25 | 27 | 28 | 32 | 39 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| JCFBA | 番号 | 支払日 | 商品名 | SKU(jc…fba) | JAN | 仕入税抜 | 仕入値 | 予定売値 | 販売先 | 売値 | 手数料 | 粗利 | 注文番号 |
| RSL | 番号 | 支払日 | 商品名 | SKU(=JAN) | ASIN | 仕入税抜 | 仕入値 | 予定売値 | 販売先 | 売値 | 手数料 | 粗利 | 注文番号 |
RSLはカテゴリー列(3)無し/6列=SKU(ヘッダー明記だが実データはJANバーコード)/7列=ASIN。他の主要列位置はJCFBAと同一。
| 列 | 1 | 2 | 3 | 4 | 6 | 7 | 11 | 24 | 25 | 27 | 28 | 32 | 39 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Main | 番号 | 支払日 | キット商品名 | 商品名 | SKU | T | 仕入値 | 予定売値 | 販売先 | 売値 | 手数料 | 粗利 | 注文番号 |
JAN列・仕入税抜列・保列は無し。「T」ヘッダーが7列目と23列目の2箇所。区分は corporation(JC/TP)でSKU判定。
| 列 | 1 | 2 | 3 | 4 | 5 | 8 | 9 | 11 | 22 | 24 | 25 | 26 | 30 | 34 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 海外 | 番号 | 支払日 | Product Name | amz(ASIN) | JAN | 仕入単価(税抜) | 仕入単価(税込) | 仕入合計(税込) | 確定日 | 取引先 | 入金日 | 販売単価 | 手数料 | Invoice No. |
| 国内B2B | 番号 | 購入日 | 商品名 | amz(ASIN) | JAN | 仕入単価(税抜) | 仕入単価(税込) | 仕入合計(税込) | 確定日 | 取引先 | 入金日 | 販売単価 | 手数料 | 請求書番号 |
海外・国内B2Bは仕入値=8列=仕入単価(税抜)(合計は11)。SKU列・注文日列・Transaction日付列は無し。海外の3日付軸=支払日(仕入)/確定日(コンファーム)/入金日(販売)。国内B2Bは支払日列が無く仕入確定基準列が未確定(【要確認】)。海外「番号」に小数枝番(4597.1等)があり DB未取込902件の主因。
| 列 | 1 | 2 | 3 | 4 | 6 | 7 | 10 | 11 | 24 | 27 | 28 | 32 | 39 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 評価JC/TP | 番号 | 支払日 | カテゴリー | JAPAN CAMERA / TOP PRICE | SKU | JAN | 仕入税抜 | 仕入値 | 予定売値 | 売値 | 手数料 | 粗利 | 注文番号 |
月次集計・経費・振込・取引先別集計が中心。末尾の各「◯◯商品管理」タブは他シートの参照コピーで一次台帳ではない。仕入取込に関係し得るタブのみ:
| タブ | 件数 | 性格 |
|---|---|---|
| 備品購入 | 155 | row2に「経費でなく仕入に入る」注記=仕入明細扱い。取込対象候補(【要確認】) |
| 取引先別仕入 | 284 | 業者名⇔インボイス番号⇔帳簿別仕入額の集計(累計・日付無)。マスタ/検算用 |
| 棚卸・売上・仕入 | 142 | 年月×モール/帳簿別の月次棚卸・売上・仕入集計。決算検算用 |
| 支出経費 | 1,587 | 30日周期6列ブロック×60の横展開。経費台帳 |
注文は「支払い完了」(=Pending以外=Unshipped/Shipped)になって初めて売上に入れる。Pending(支払い確認中)は入れない(生受信箱には残す)。会計の実現日は区分で分岐:海外・国内B2B=入金日/それ以外(Amazon系)=Transaction日。
orders.order_date には実は確定日が入る。
| 用語 | 何が起きるか | 起点 | 返金 | 物の動き |
|---|---|---|---|---|
| 返品 (return) | 客が商品を返してくる | 客(顧客)起点 | あり(→B-3) | 客→うち(MFN)/客→Amazon倉庫(FBA) |
| 返送 (send-back) | Amazon FBA倉庫が「再販不可」と判断した在庫をうちへ送り返す | Amazon倉庫起点 | (返品時に済) | Amazon倉庫 ─引き上げ→ うち |
返品は売った法人の在庫に戻す(ordersには入れず returns に記録)。状態機械 fn_ui_return_step:accept→receive(在庫戻し)→inspect→relist(再出品) / dispose(廃棄)。returns に行が入るとトリガー trg_returns_mark_order が該当 orders.status='returned' へ自動更新。
返金は「負の売上行」。計上日=返金日(posted_date)、区分は元注文を継承。売値=−refund_principal/粗利=−(refund_principal − fee_returned_commission)。半額返金は①売値を実入金額に修正②返送品を 仕入額0円/原価額=元簿価/仕入日=返送日 で新再販行にする(二重棚卸を回避)。
補填は手動運用。販売先=補填/注文日=返金日/注文番号=返金番号/売値=補填額/原価=そのまま/手数料・ポイント=0。補填額が原価より少なければ赤字表示で正しい。DBは transaction_type='補填'・mall_id=9。手渡し(112)・寄付/廃棄/社内消費(113)は補填から分離済み。
unit_cost_*)と実支払額(成績・給与用 eval_cost_*)。経理集計は原価額ベース/担当成績は仕入額ベース。purchase_date IS NOT NULL。移動平均(avg_cost)は値段調整専用で棚卸には使わない。| 列 | 中身 | DBカラム |
|---|---|---|
| ① 販売手数料 | Referral Fee(売値×カテゴリ別%) | channel_fee |
| ② 配送代行料 | FBA配送代行手数料(サイズ・重量別 固定額/個) | sales_shipping_cost |
| ③ その他 | 保管料・梱包資材・広告配分・返品リスク費用20円/個 等 | misc_cost |
時間原則(絶対ルール):売れたもの=売れた時点の手数料で固定/売れてないもの=fee_master の最新値で評価。未登録商品は「手数料未登録」警告(黙って0円計算で利益を過大に見せない)。海外の手数料は固定式 channel_fee = 40×個数。
SellerSKU=skus.sku_code AND active=true で照合。AFN=FBA→mall_id=7/MFN=自社発送→mall_id=10。区分は取込時に fn_derive_segment で即セット・確定保持。取込は読み取り専用(searchOrder等の参照APIのみ・出品/在庫/表示/価格の更新系は実装もテストもしない)。
SP-API push は前進型で起動前注文を遡らない。旧方式停止(2026-06-06)と新方式稼働(2026-06-07)の継ぎ目で落ちた注文を、既存パイプライン再利用で埋める。DISABLE TRIGGER → 投入 → fn_match → finalize → ENABLE TRIGGER。収録対象=Shippedのみ(Canceled/Pendingは除外)。source_number の照合キーが帳簿で違う:EC系=A列番号/海外・国内B2B=物理行番号(A列番号で照合すると全行ズレる)。
| 販売チャネル(orders側・5分類) | 意味 |
|---|---|
| JCFBA | JC法人のAmazon FBA |
| TPFBA | SQP(TP)法人のAmazon FBA |
| 自社出荷 | 自社倉庫出荷(旧RSL・SKU=JANそのまま) |
| 国内B2B | 国内事業者向け(受注仕入) |
| 海外 | 海外向け |
在庫帳簿側は9値(評価JC / 評価TP / RSL / JCFBA / MAIN / B2B_DOM / 旧TP / 旧JC / 海外)=別語彙で混同禁止。判別は帳簿ベース:JCFBA帳簿→JCFBA/RSL→自社出荷/海外→海外/国内B2B→国内B2B。Main帳簿のみ例外=SKUで分ける(TP→TPFBA/JC→自社出荷)。SellerSKU=JAN→自社出荷(RSL)。
| 業務 | 主テーブル | 入り方(関数) | トリガー/自動 | お金が動く |
|---|---|---|---|---|
| 仕入 | purchase_lots → inventory | シート取込(source_book+番号がキー) | — | はい |
| 取込(生着地) | mall_order_raw | fn_ingest_mall_order_raw(冪等・SECURITY DEFINER) | — | いいえ(読取) |
| 売上(突合) | orders(仮INSERT) | fn_match_amazon_orders(Pending除外) | — | はい |
| 売上(確定) | orders(売値・手数料・Tx日) | fn_finalize_order(SP-APIレポート) | fn_allocate_orderで在庫引当 | はい |
| 在庫引当 | order_allocations / inventory | fn_allocate_order(出品日順FIFO) | 自動生成行 source_book='auto:allocation' | はい |
| 返品 | returns | fn_ui_return_step(状態機械) | trg_returns_mark_order→orders.status='returned' | 在庫戻し |
| 返金 | sales_refund_adjustment | Finances RefundEventList(冪等キーorder_adjustment_item_id) | v_monthly_keiri にUNION ALLで減算 | はい(未本番) |
| 補填 | orders | 手動(transaction_type='補填'・mall_id=9) | — | はい |
| 棚卸 | v_tax_inventory(動的算出) | fn_tax_inventory(p_as_of) | taxinv_daily(launchd日次スナップ) | 算出のみ |
| 区分 | orders.management_category | fn_derive_segment(IMMUTABLE) | NULLの時だけセット(確定値は上書きしない) | いいえ |
全18テーブルに source_book(NOT NULL)+source_number を追加済み。UI操作行=source_book='UI'+操作者+TS。冪等の自然キー=(source_book, source_number, sku_id)、dedupキー=order_number。
お金・在庫・決算に関わる書き込みはデフォルト禁止・指示された範囲のみ。関数(RPC)等の心臓部を触る時は先に pg_get_functiondef をバックアップ→新版→空試験→COMMIT→本番1サイクル健全確認。中止条件(棚卸が想定外に動く・既存確定値が書き換わる・影響件数が桁違い・関数error)に触れたら COMMITせず中止して報告。
sales_refund_adjustment)は本番0件・未COMMIT。ローダにCOMMIT経路が無く launchd未登録、常駐runnerは RefundEventList を読まない。process_status 未設定(NULL)の滞留(取込済みだがマッチング未実行の穴)。| チャネル | 状態 | 取込方式 | DB設定(取込時) | 備考 |
|---|---|---|---|---|
| Amazon | 自動 稼働中 | SP-API PUSH(通知)→ 生受信箱 → 突合 | source_book='SPAPI_PUSH'/FBA=7・MFN=10 |
2026-06-07 17:17 UTC 稼働。Finances API で手数料・売値を確定上書き |
| Yahoo! | 申請中 / 接続確認 | OAuth接続成功(access+refresh保存済)。注文API権限を検証中 | mall_id=11・source_book='RSL商品管理'(SKU=SubCode優先→ItemId) |
ID非利用アプリで接続成功。orderList権限(開示先限定スコープ)の有無を検証中 |
| MakeShop(自社サイト) | 手動 → 要自動化 | 現状 手動。自動取込アダプタは未 | mall_id=12・source_book='RSL商品管理'・MFN(SKUキー=janCode) |
自動化が次の対象 |
| 海外B2B | 停止 = 要自動化 | 自動取込 停止中(海外0.7シートは手入力運用) | 注文 sales_channel_type=B2B・仮SKU NOSKU-OS-* |
海外「番号」の小数枝番で DB未取込902件。物理行番号で照合が必須 |
| 国内B2B | 手動 | 手動(受注仕入・件数少) | 注文 sales_channel_type=B2B・仮SKU NOSKU-B2B-* |
実データ23件。仕入確定基準列が未確定(【要確認】) |
| 楽天 | 廃止 | — | — | 経理式でも 0(リテラル)。Qoo10も廃止・auPAYは後回し |
| TP(SQP) | スコープ外 | — | — | 同一Amazon別会社リスク。今回やらない(JC完全成功後に分離コピーで別途) |
ENABLE_COMMIT=False ドライラン→ROLLBACK証明→Security Review→承認→COMMIT の順。