業務正本
JAPAN CAMERA / これ1ページで全業務が分かる(実測ベース・捏造なし)

JAPAN CAMERA の シート台帳業務の動き方DB側の対応モール別の取込状況 を1ページにまとめた正本。 数字はすべて6スプレッドシートを実物で開いた実測値。まだ決まっていない/食い違う点は 【要確認】 と明記している(鵜呑み厳禁)。 最初に覚える3つの土台 ― ① 注文は2段階で入る(仮INSERT→確定値でfinalize) ② 会計の実現日は区分で違う(海外・国内B2B=入金日/他=Transaction日) ③ 取込は読み取り専用(モールには一切書き込まない)。

Aシート台帳 6スプレッドシート × 全タブ × 主要列位置 × 支払日入り件数(実測)

A-1. 6スプレッドシート サマリ

#スプレッドシートSID(Google fileId)全タブ数仕入/売上 主タブ
1卸7.91QEzvyJVDSoFFfl3_3gBp-TVTw6iE-kI41_X45J37QiQ35JCFBA商品管理 / RSL商品管理 / 評価JC / 評価TP
2Main9.81ZZIdeRAQieKp4pzZCxs-2WvI3AaOAJV9KEb-niPXp4M32商品管理 / 紛失処理 / 返品・返送 / 仕入キャンセル
3海外0.71WZucys4zpcDQ5-lvFOeSimYVyyhi-5IrOeUNa3dSTaM29商品管理 / 仕入キャンセル / 返品
4国内B2B0.114bR_Oe4NJQgWgT8BRvGVzJYMG0H24_-VjVy8akeuPWU ★SID訂正9商品管理
5評価0.31Hvl9tL3aMW9tQ43dUOVuyOjt8jxhcLC5to5lXkv9eBQ21評価JC商品管理 / 評価TP商品管理
6経理1.21plfLP5FV27bViJ_V4UqADc2hBlNZuPcJI6MuTmTub4826集計/会計系(商品台帳ではない・A-4参照)

★国内B2B0.1 の正SID=末尾…NJQgWgT8…(指示書の …NJQWgT8… は404で存在しない)。

A-2. 主タブ 支払日(仕入確定)入り行数 一覧(実測)

シート主タブ実データ行数支払日入り日付列(B列)
卸7.9JCFBA商品管理20,49319,055支払日
卸7.9RSL商品管理6,5463,540支払日
卸7.9評価JC商品管理8,7070支払日(B列全空=未使用)
卸7.9評価TP商品管理15,5980支払日(B列全空=未使用)
Main9.8商品管理15,91415,374支払日
Main9.8紛失処理1010支払日
Main9.8返品・返送1,0761,074購入日(支払日無)
Main9.8仕入キャンセル1,2901,084購入日(支払日無)
海外0.7商品管理5,6945,587支払日
海外0.7仕入キャンセル193151購入日(支払日無)
海外0.7返品1510支払日
国内B2B0.1商品管理2323購入日(支払日列は無し)
評価0.3評価JC商品管理 ★正本8,7078,707支払日
評価0.3評価TP商品管理 ★正本15,59815,099支払日(499件未記入)
評価0.3評価JC商品管理_2024-10-041,7601,826購入日
評価0.3評価JC商品管理_Backup1,7591,825購入日
★重要な発見
  • 評価データの仕入正本は「評価0.3」。卸7.9内の評価JC/評価TPタブは支払日B列が全行空(0件)=機能していない。評価の仕入取込元は卸7.9ではなく評価0.3を使う。
  • RSL商品管理のSKU列(F)はJANバーコード(「SellerSKU=JAN→自社出荷(RSL)」仕様と一致)。
  • 経理1.2は商品仕入の明細台帳ではない。月次集計・経費・振込・取引先別仕入など「集計/会計」シート(A-4)。

A-3. 主タブ 主要列位置(実測・シート別に列がズレる=共通スキーマ不可)

卸7.9「JCFBA商品管理」(40列)/「RSL商品管理」(40列)

124671011242527283239
JCFBA番号支払日商品名SKU(jc…fba)JAN仕入税抜仕入値予定売値販売先売値手数料粗利注文番号
RSL番号支払日商品名SKU(=JAN)ASIN仕入税抜仕入値予定売値販売先売値手数料粗利注文番号

RSLはカテゴリー列(3)無し/6列=SKU(ヘッダー明記だが実データはJANバーコード)/7列=ASIN。他の主要列位置はJCFBAと同一。

Main9.8「商品管理」(40列)

12346711242527283239
Main番号支払日キット商品名商品名SKUT仕入値予定売値販売先売値手数料粗利注文番号

JAN列・仕入税抜列・保列は無し。「T」ヘッダーが7列目と23列目の2箇所。区分は corporation(JC/TP)でSKU判定。

海外0.7「商品管理」(36列)/国内B2B0.1「商品管理」(35列)

123458911222425263034
海外番号支払日Product Nameamz(ASIN)JAN仕入単価(税抜)仕入単価(税込)仕入合計(税込)確定日取引先入金日販売単価手数料Invoice No.
国内B2B番号購入日商品名amz(ASIN)JAN仕入単価(税抜)仕入単価(税込)仕入合計(税込)確定日取引先入金日販売単価手数料請求書番号

海外・国内B2Bは仕入値=8列=仕入単価(税抜)(合計は11)。SKU列・注文日列・Transaction日付列は無し。海外の3日付軸=支払日(仕入)/確定日(コンファーム)/入金日(販売)。国内B2Bは支払日列が無く仕入確定基準列が未確定(【要確認】)。海外「番号」に小数枝番(4597.1等)があり DB未取込902件の主因。

評価0.3「評価JC商品管理」「評価TP商品管理」(各41列・同一構造)

12346710112427283239
評価JC/TP番号支払日カテゴリーJAPAN CAMERA / TOP PRICESKUJAN仕入税抜仕入値予定売値売値手数料粗利注文番号

A-4. 経理1.2 — 集計/会計シート(仕入明細台帳ではない)

月次集計・経費・振込・取引先別集計が中心。末尾の各「◯◯商品管理」タブは他シートの参照コピーで一次台帳ではない。仕入取込に関係し得るタブのみ:

タブ件数性格
備品購入155row2に「経費でなく仕入に入る」注記=仕入明細扱い。取込対象候補(【要確認】
取引先別仕入284業者名⇔インボイス番号⇔帳簿別仕入額の集計(累計・日付無)。マスタ/検算用
棚卸・売上・仕入142年月×モール/帳簿別の月次棚卸・売上・仕入集計。決算検算用
支出経費1,58730日周期6列ブロック×60の横展開。経費台帳
【要確認】A. シート台帳
  • 国内B2Bの仕入確定基準列(購入日/確定日/入金日のどれか)。
  • 卸7.9 JCFBAの商品名列(4)・SKU列(6)の正式定義。
  • 返品/仕入キャンセル/紛失処理タブ、経理1.2「備品購入」を仕入取込に含めるか。
  • 海外「番号」の小数枝番(4597.1等)のsource_number格納方式(DB未対応902件の主因)。
▲ 目次へ

B業務の動き方 いつ・何を・どうする+簡単な図

モール(Amazon等) ──注文通知──▶ mall_order_raw(生受信箱・全ステータス) │ fn_match_amazon_orders(Pending除外で突合) ▼ orders(売上行・仮) ──fn_finalize_order──▶ 確定値で埋める │ (売値・手数料・Transaction日) │ fn_allocate_order(在庫引当・原価確定) ▼ 粗利・棚卸・経理集計・ダッシュボード

B-1. 売上計上 ― いつ orders に売上が立つか

注文は「支払い完了」(=Pending以外=Unshipped/Shipped)になって初めて売上に入れる。Pending(支払い確認中)は入れない(生受信箱には残す)。会計の実現日は区分で分岐:海外・国内B2B=入金日それ以外(Amazon系)=Transaction日

粗利の式:粗利 = 売値 − 原価(引当した実ロット原価×数量) − 販売手数料 − 配送代行料 − その他費用 − ポイント − クーポン − 消費税。
※海外・国内B2Bは 支払日(仕入)/確定日(コンファーム)/入金日(販売) の3日付軸で見る。海外に「注文日」列は無く、DB orders.order_date には実は確定日が入る。

B-2. 返品・返送 ― ★違いを混同しない(最重要)

用語何が起きるか起点返金物の動き
返品
(return)
客が商品を返してくる客(顧客)起点あり(→B-3)客→うち(MFN)/客→Amazon倉庫(FBA)
返送
(send-back)
Amazon FBA倉庫が「再販不可」と判断した在庫をうちへ送り返すAmazon倉庫起点(返品時に済)Amazon倉庫 ─引き上げ→ うち
[返品] 客 ──返送+返金要求──▶ うち or Amazon ─▶ returns記録 ─▶ 在庫戻し ─▶ 検品 ─▶ 再出品/廃棄 [返送] Amazon倉庫 ─(再販不可と判断)─引き上げ──▶ うち ─▶ 検品 ─▶ 再出品/廃棄

返品は売った法人の在庫に戻す(ordersには入れず returns に記録)。状態機械 fn_ui_return_stepaccept→receive(在庫戻し)→inspect→relist(再出品) / dispose(廃棄)returns に行が入るとトリガー trg_returns_mark_order が該当 orders.status='returned' へ自動更新。

B-3. 返金 ― 「マイナス売上」で計上する

Amazon返金(Finances RefundEventList) ─▶ sales_refund_adjustment に記録(冪等キーで重複防止) ├ 元注文が紐付く(order_id有) ─▶ PL(v_monthly_keiri)からマイナス減算 └ 元注文が未マッチ(order_id=NULL) ─▶ 台帳には載せるがPL減算は保留(後で紐付いたら昇格)

返金は「負の売上行」。計上日=返金日(posted_date)、区分は元注文を継承。売値=−refund_principal/粗利=−(refund_principal − fee_returned_commission)。半額返金は①売値を実入金額に修正②返送品を 仕入額0円/原価額=元簿価/仕入日=返送日 で新再販行にする(二重棚卸を回避)。

B-4. 補填 ― Amazonの破損・紛失の補償

補填は手動運用販売先=補填/注文日=返金日/注文番号=返金番号/売値=補填額/原価=そのまま/手数料・ポイント=0。補填額が原価より少なければ赤字表示で正しい。DBは transaction_type='補填'・mall_id=9。手渡し(112)・寄付/廃棄/社内消費(113)は補填から分離済み。

B-5. 在庫・棚卸 ― 仕入額と原価額を分け、支払日ベースで棚卸

仕入 ─▶ purchase_lots(原価2種:帳簿価額/実支払額) ─▶ inventory(on-hand在庫) │ fn_allocate_order(出品日順FIFOで引当) ▼ 売上行の原価確定 棚卸: purchase_lots を「支払日<=月末 ×(実現日 空 or >月末)」で区分別に動的算出

B-6. 手数料 ― 3列に分け、確定値はFinances APIで上書き

注文 ─▶ 見込み手数料(3列)で計上, fee_confirmed=false ▼ SP-API Finances API(注文ごと) 確定値で3列を上書き ─▶ fee_confirmed=true
中身DBカラム
① 販売手数料Referral Fee(売値×カテゴリ別%)channel_fee
② 配送代行料FBA配送代行手数料(サイズ・重量別 固定額/個)sales_shipping_cost
③ その他保管料・梱包資材・広告配分・返品リスク費用20円/個 等misc_cost

時間原則(絶対ルール):売れたもの=売れた時点の手数料で固定/売れてないもの=fee_master の最新値で評価。未登録商品は「手数料未登録」警告(黙って0円計算で利益を過大に見せない)。海外の手数料は固定式 channel_fee = 40×個数

B-7. 取込 ― 生受信箱に着地→Pending除外で突合(読み取り専用)

モール通知 ─▶ fn_ingest_mall_order_raw(冪等landing) ─▶ mall_order_raw(jsonb原本・全ステータス) │ fn_match_amazon_orders │ ├ Pending ─▶ pending_skip(orders作らない) │ ├ Canceled ─▶ canceled_skip │ ├ SKU不明 ─▶ no_sku(弾く) │ └ 一致 ─▶ orders へ挿入(matched) ▼ orders

SellerSKU=skus.sku_code AND active=true で照合。AFN=FBA→mall_id=7MFN=自社発送→mall_id=10。区分は取込時に fn_derive_segment で即セット・確定保持。取込は読み取り専用(searchOrder等の参照APIのみ・出品/在庫/表示/価格の更新系は実装もテストもしない)。

B-8. 端境期バックフィル ― 新旧方式の継ぎ目の欠落を埋める

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列番号で照合すると全行ズレる)。

B-9. 区分(management_category)― 販売5分類 × 在庫帳簿9分類

注文 ─▶ fn_derive_segment(source_book, corp, mall_id, segment_detail) ├ JCFBA帳簿 ─▶ JCFBA ├ RSL ─▶ 自社出荷 / 海外 ─▶ 海外 / 国内B2B ─▶ 国内B2B ├ Main帳簿 ─▶ SKUで分岐(TP→TPFBA / JC→自社出荷) └ SellerSKU=JAN ─▶ 自社出荷(RSL)
販売チャネル(orders側・5分類)意味
JCFBAJC法人のAmazon FBA
TPFBASQP(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)。

【要確認】B. 業務(横断・最新authorityつき)
  • 税込 vs 税抜の最終計上基準が文書間で対立(最新=2026-06-27 税込照合)。
  • 端境期77件のうち返品3件(¥299,913)は計上不可・returns行き(最新=2026-06-30 hazakai_77_truth_audit)。分類=正常51件/返品3件/収録漏れ23件。
  • 棚卸評価の増分基準(ロット原価 vs avg_cost)・棚卸金額列がK列かL列か(実物確認はK列)未確定。
  • 返金パイプラインは本番0件・未COMMIT(ローダにCOMMIT経路無し)。3軸目「確定=コンファーム日」はダッシュボード未生成。
▲ 目次へ

CDB側の対応 各業務がどのテーブルにどう入るか・トリガー・承認ゲート

C-1. 業務 → テーブル / 関数 / トリガー 対応表

業務主テーブル入り方(関数)トリガー/自動お金が動く
仕入purchase_lotsinventoryシート取込(source_book+番号がキー)はい
取込(生着地)mall_order_rawfn_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 / inventoryfn_allocate_order(出品日順FIFO)自動生成行 source_book='auto:allocation'はい
返品returnsfn_ui_return_step(状態機械)trg_returns_mark_orderorders.status='returned'在庫戻し
返金sales_refund_adjustmentFinances RefundEventList(冪等キーorder_adjustment_item_idv_monthly_keiri にUNION ALLで減算はい(未本番)
補填orders手動(transaction_type='補填'・mall_id=9はい
棚卸v_tax_inventory(動的算出)fn_tax_inventory(p_as_of)taxinv_daily(launchd日次スナップ)算出のみ
区分orders.management_categoryfn_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

C-2. お金が動く時の承認ゲート(DB commit の5ステップ・厳守)

① ROLLBACK証明 BEGIN → 変更 → 影響件数/棚卸/区分をアサート → ROLLBACK(全緑を確認) ② Security Review 別ワーカーが6観点で機械チェック(下記) ③ ボス承認 承認が出るまでCOMMITしない ④ COMMIT 全緑 & 承認後にのみ ⑤ 事後検証 独立接続で実測(件数・棚卸・対象が想定どおりか)
Security Review 6観点
  1. 影響範囲が意図通り(対象行・件数)
  2. 結果数値の桁外れ無し(棚卸・金額・件数のサニティ)
  3. 冪等性(再実行で二重適用にならない)
  4. 副作用(他テーブル/PL・決算への波及が無い)
  5. 秘密情報・資格情報の露出無し
  6. 想定外行の混入無し(WHERE漏れ等)

お金・在庫・決算に関わる書き込みはデフォルト禁止・指示された範囲のみ。関数(RPC)等の心臓部を触る時は先に pg_get_functiondef をバックアップ→新版→空試験→COMMIT→本番1サイクル健全確認。中止条件(棚卸が想定外に動く・既存確定値が書き換わる・影響件数が桁違い・関数error)に触れたら COMMITせず中止して報告。

【要確認】C. DB側
  • 返金パイプライン(sales_refund_adjustment)は本番0件・未COMMIT。ローダにCOMMIT経路が無く launchd未登録、常駐runnerは RefundEventList を読まない。
  • FBA返品の restock(戻りユニットへ原価再付与)が常態で未処理。
  • process_status 未設定(NULL)の滞留(取込済みだがマッチング未実行の穴)。
▲ 目次へ

Dモール別 取込状況 いまどれが自動で、どれが手動か

チャネル状態取込方式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完全成功後に分離コピーで別途)
取込の絶対安全規約:取込(ingest)は読み取り専用。Yahoo/Amazon等への商品登録・非表示→表示・在庫書換・価格変更などモール掲載内容を変えるAPIは一切呼ばない(過去にYahooで非表示商品が表示化しストアが潰れかけた重大事故あり)。DB反映も ENABLE_COMMIT=False ドライラン→ROLLBACK証明→Security Review→承認→COMMIT の順。
【要確認】D. 取込
  • Yahoo! の注文API(orderList)権限が実際に叩けるか(検証中)。
  • MakeShop・海外B2B の自動化アダプタ着手(現状 手動/停止)。
▲ 目次へ